Autor | Zpráva | ||
---|---|---|---|
Teodor Profil |
#1 · Zasláno: 26. 8. 2015, 15:04:38
Zdravim,
v JavaScriptu jsem začátečník a potřeboval bych poradit s problémem. Z PLC automatu si načítám dva stringy 'porucha' a 'ok'; potřebuji změnu barvy z černé na červenou na www stránkách automatu. našel jsem tu nějaký kód, který jsem se snažil upravit: </body> <html> <head> <title>JavaScript</title> <style> h1 {color: black;} </style> </head> <body> <script> function zmena(id) { var x = document.getElementById(id); x.style.color = "red"; } </script> <th>HLADINA:</th><th><i> :="Data_block_1".HLADINA:</i></th> </body> </html> |
||
bestik_63 Profil |
#2 · Zasláno: 26. 8. 2015, 18:53:28
ahoj,
pošli část kódu, do kterého to chceš aplikovat a my ti pomůžeme. Pokud nechápeš jak aplikovat ten příklad co jsi napsal, tak to bude určitě rychlejší :-) |
||
mimochodec Profil |
#3 · Zasláno: 27. 8. 2015, 06:20:50
Teodor:
1. Úvodní </body> tam nemá co dělat. 2. Proč se snažíš použít javascript? Nevím, jakým přesně způsobem tu informaci z PLC promítáš do html, ale myslím, že bez JS se to obejde. |
||
Teodor Profil |
#4 · Zasláno: 27. 8. 2015, 08:42:36
mimochodec:
Jestli to jde bez JS tak tím lépe. Jde o to, že Siemens má vlastní html tagy, který čte informace ze softwareu v PLC. takto je zápis: <table style="float: right;" border="2" style="border-collapse: collapse"> <tr><th>HLADINA OLEJE K-1</th><th><i> :="Data_block_1".OLEJ_HLADINA_K1:</i></th></tr> HLADINA OLEJE K-1 je Booleovská operace, která čte string (porucha,ok). Chtěl jsem JS aby se mi změnila barva z černé(ok) na červenou(porucha)... |
||
juriad Profil |
#5 · Zasláno: 27. 8. 2015, 09:02:28
Teodor:
Takže ten software nahradí na stránce :="Data_block_1".OLEJ_HLADINA_K1: za slovo porucha nebo ok ?
Pokud ano, stačilo by použít příslušné třídy pro nastylování v CSS: <tr class="olej"> <th>HLADINA OLEJE K-1</th> <td class=":="Data_block_1".OLEJ_HLADINA_K1:">:="Data_block_1".OLEJ_HLADINA_K1:</td> </tr> Toto by snad mělo způsobit, že na stránce bude buď: <tr class="olej"> <th>HLADINA OLEJE K-1</th> <td class="ok">ok</td> </tr> <tr class="olej"> <th>HLADINA OLEJE K-1</th> <td class="porucha">porucha</td> </tr> Pak kus CSS, který přidáš na stránku jako: <style> /* aplikuje na buňku class="ok" uvnitř řádku class="olej" */ .olej .ok { color: green; } .olej .porucha { color: red; } </style> Ale je možné, že ten program funguje jinak. Je někde online dostupná dokumentace, jak pro to tvořit webové stránky? |
||
Teodor Profil |
#6 · Zasláno: 27. 8. 2015, 09:28:07
juriad:
Díky :) jj, je pro to příručka na: https://cache.industry.siemens.com Jedná se o automat Siemens s7-1200 user manual |
||
juriad Profil |
#7 · Zasláno: 27. 8. 2015, 09:48:32
Tak to by mohlo fungovat, tak jak jsem naznačil. Zkusil jsi to?
Pokud by se mu nelíbily ty uvozovky, mohl by sys vytvořit alias (někde poblíž, třeba hned za <tr class="olej"> )
<!-- AWP_Out_Variable Name='olej_hladina' Use="Data_block_1".OLEJ_HLADINA_K1' --> <td class=":=olej_hladina:">:=olej_hladina:</td> Po ostatní: jedná se o system manual a popis je od stránky 521 dále. |
||
Teodor Profil |
#8 · Zasláno: 27. 8. 2015, 09:56:07 · Upravil/a: Teodor
juriad:
Děkuji!!! jdu se na to vrhnout. juriad: Špatná zpráva... Siemens tohle nezkousl, takže to nechám tak jak to bylo původně, jen černou barvu. Děkuji za snahu:) |
||
anonymníí Profil * |
#9 · Zasláno: 27. 8. 2015, 10:34:53
juriad:
Ať to Siemens schroupá nebo ne (manuál jsem nestudoval), v kódu #5 musejí být apostrofy, ne uvozovky. <td class=':="Data_block_1".OLEJ_HLADINA_K1:'> |
||
juriad Profil |
#10 · Zasláno: 27. 8. 2015, 11:57:05
anonymníí:
Ono jde o to, že my nevíme, jak ten Siemens funguje. Třeba hledá regex :=([^:]*): , a podle něj nahrazuje proměnné.
Je možné, že nahrazuje pouze v obsazích elementů, nikoli v jejich tazích (pokud si staví nějaký syntaktický strom z HTML). Teodor: Zkus ještě radu od anonymníí. Když se podíváš do zdrojáku stránku (v prohlížeči Ctrl+U), vidíš, že tu proměnnou nahradil? Jak se to vlastně chová? Musíš být sdílnější, pokud chceš pomoct (my si ten Siemens pořizovat nebudeme :-)). Ještě je možnost to zkusit pomocí toho JS: Živá ukázka Dáš třídu color věcem, které chceš obarvit a pak řekneš, jakou třídu takový element má dostat podle svého obsahu. |
||
Časová prodleva: 10 let
|
0