Page 1 of 1

Promotic - system rozproszony

PostPosted: Wed 06. Nov 2019 11:57:50
by tomek
Witam,
projektuje rozproszony system wizualizacji, w którym miałby być:
- serwer centralny z pełną aplikacją, do niego podłączone wszystkie urządzenia (komunikacja Modbus RTU, Modbus TCP oraz serwer OPC),
- 3 stanowiska z Promotic, które wymieniałyby dane z serwerem (w różnych częściach zakładu),
- kilku klientów web.

Mam w związku z tym pytanie odnośnie wymiany danych pomiędzy aplikacjami Promotic (klient-serwer). Robiłem już takie połączenie z wykorzystaniem XML, ale zawsze miałem komunikację jednokierunkową, tzn stacja kliencka tylko odczytywała dane z serwera. Teraz będę potrzebował odczyt-zapis ze względu na dużą ilość sygnałów sterujących.

Jak w najbardziej optymalny sposób zrealizować wymianę danych między aplikacjami Promotic na stacjach klienckich a Promotic na serwerze ?
Jak zorganizować wymianę danych, żeby nie wywołać konfliktów pomiędzy aplikacjami przy zapisie danych do serwera ?
Z jakich ewentualnie innych mechanizmów niż XML skorzystać, żeby cały system działał prawidłowo i stabilnie ?

Re: Promotic - system rozproszony

PostPosted: Fri 06. Dec 2019 12:11:37
by Kazimierz Heczko
Witam,
z punktu widzenia sposobu komunikacji idealnym sposobem jest zastosowanie komunikacji XML.
Z punktu widzenia aplikacji tu raczej bym zalecał wytworzenie na serwerze jednego (czy kilku) obiektów PmData udostępnionych do WEB-u. Te można by odczytywać na stacjach klienckich.
Domyślam się, że w poprzednich Pana aplikacjach to właśnie Pan zastosował.
Natomiast co do zapisu to zalecałbym wytworzenie jednego specjalnego obiektu PmData, który zawierałby "jedną zmienną", a dokładniej informacje dotyczące w którym obiekcie PmData ta zmienna występuje (ścieżka do obiektu PmData), o jaką zmienną w danym obiekcie chodzi (nazwa zmiennej) i nowa wartość tej zmiennej.
I stacje klienckie ustawiałyby te informacje na serwerze, który z kolei wykonałby zapis danej wartości do sterownika tak, że by zapisał nową wartość do odpowiedniego obiektu PmData na serwerze.
W ten sposób może Pan zrealizować odczyt zmiennych, który nie będzie zależny od zapisu. Na zapis natomiast nie będzie wpływać odczyt wartości.