Witam,
Jestem automatykiem więc z góry przepraszam za używanie niepoprawnych webmasterowych pojęć.
Mam sterownik przemysłowy (takie urządzenie do sterowania w przemyśle) siemensa serii s7-1200.
Sterownik ten posiada wbudowany server www.
Działa to tak że tworzę strone w HTML i wgrywam ją na sterownik.
Następnie poprzez wpisanie w przegladarce numeru IP tego sterownika dostaję się na tą stronę.
Na takiej stronie mam możliwość sterowania urządzeniami podłączonymi do tego sterownika - np pompami, zaworami itp. oraz odczytywania ich stanów.
Wszystko działa jeśli stronę mam zrobioną w HTML'u.
Jednak takie rozwiązanie powoduje wolne ładowanie się strony przy wyświetlaniu większej ilości danych ze sterownika na stronie.
Dzieje się tak dlatego że każda dana jest pobierana osobno.
Dla wyświetlania stanu na przykład lampy używam takiej konstrukcji (PIE_O_SCH_KIN_ST jest to nazwa zmiennej w sterowniku; strona wyświetla obrazek lampa00.jpg lub lampa01.jpg w zależności od wartości zmiennej)
<td align="left" WIDTH="100px" HEIGHT="72px" VALIGN="middle">
<img src="Images/lampa0:="PIE_O_SCH_KIN_ST":.jpg"/> <cr>
</td>
Wedle producenta mogę na mojej stronie stosować skrypty java script.
Chciałbym więc zakodować stany 16'tu urządzeń w jednej zmiennej 16 bitowej i następnie w skrypcie "wyciągać" te stany i wyświetlać na stronie obrazki je ilustrujące.
I tutaj mam problem gdyż nie wiem w jaki sposób odwołać się do zmiennej ze sterownika.
Próbowałem tak:
var wynik;
var PIE_O_OPTI; // zmienna 16'to bitowa ze sterownika
wynik = PIE_O_OPTI & 1; // iloczyn bitowy, maska nałożona na pierwszy bit w zmiennej ze sterownika
if (wynik == 0)
document.getElementById('PIE_O_SCH_PKT').src = "Images/lampa00.jpg";
else
document.getElementById('PIE_O_SCH_PKT').src = "Images/lampa01.jpg";
wynik = PIE_O_OPTI & 2; // iloczyn bitowy, maska nałożona na pierwszy bit w zmiennej ze sterownika
if (wynik == 0)
document.getElementById('PIE_O_SCH_KIN').src = "Images/lampa00.jpg";
else
document.getElementById('PIE_O_SCH_KIN').src = "Images/lampa01.jpg";
i niestety to nie działa.
Wydaje mi się że moja zmienna PIE_O_OPTI nie jest poprawnie wczytywania do skryptu (w sterowniku jest ona ustawiana prawidłowo i poprzez HTML mogę wyświetlić jej wartość bez problemu).
Prosiłbym o jakieś pomysły co może być źle i jak to powinno wyglądać.
Dziękuję z góry i pozdrawiam
tomek