| 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: 11 let
|
|||
0