Witam,
Czy ktoś z forumowiczów ma doświadczenie z uruchomieniem komunikacji Modbus TCP (Klient) w PLCNEXT ENGINEER ?
Mam pewein problem.
Zasada działania komunikacji podzieloną mam na 3 stany. W pierwszym stanie wykonuję blok inicjalizujący modbusa TCP, następnie w drugim stanie gdy inicjalizacja się powiedzie wykonuję blok do odczytu jednego Holding Register i przechodzę do stanu trzeciego oczekiwania. Założyłem że skoro w bloku do odczytu rejestru podaje się interwał odczytu to nie muszę go uruchamiać zgodnie z założonym interwałem odczytu. Więc przechodzę do stanu oczekiwania w którym sprawdzam tylko ewentualne błędy wygenerowane przez jeden albo drugi wywołany wyżej blok, w zależności od błędu potwierdzam błąd i w razie potrzeby przechodzę powyższe kroki ponownie w celu utrzymania komunikacji.
Niestety po czasie pojawia się błąd klienta 16#C020 -> Timeout error.
Co więcej oczekiwany rejest jest odczytywany, pytanie skąd ten timeout ?
Poniżej automat stanu:
Czy ktoś z forumowiczów ma doświadczenie z uruchomieniem komunikacji Modbus TCP (Klient) w PLCNEXT ENGINEER ?
Mam pewein problem.
Zasada działania komunikacji podzieloną mam na 3 stany. W pierwszym stanie wykonuję blok inicjalizujący modbusa TCP, następnie w drugim stanie gdy inicjalizacja się powiedzie wykonuję blok do odczytu jednego Holding Register i przechodzę do stanu trzeciego oczekiwania. Założyłem że skoro w bloku do odczytu rejestru podaje się interwał odczytu to nie muszę go uruchamiać zgodnie z założonym interwałem odczytu. Więc przechodzę do stanu oczekiwania w którym sprawdzam tylko ewentualne błędy wygenerowane przez jeden albo drugi wywołany wyżej blok, w zależności od błędu potwierdzam błąd i w razie potrzeby przechodzę powyższe kroki ponownie w celu utrzymania komunikacji.
Niestety po czasie pojawia się błąd klienta 16#C020 -> Timeout error.
Co więcej oczekiwany rejest jest odczytywany, pytanie skąd ten timeout ?
Poniżej automat stanu:
Kod: C / C++