Modbus - brak danych

Zaczęty przez asdcq, Luty 04, 2019, 09:17:48

Poprzedni wątek - Następny wątek

asdcq

Witam
Pobieram sobie z centrali wartości temperatur do wykresów przez modbusa co 5 minut.

W regularnych odstępach czasu co 6 godzin tj: 6:40-7:05, 12:40-13:05, 18:40-19:05, 0:40-1:05 mam brak danych.
Gdzie szukać przyczyny?

Centrala Optima soft 3.5, Ap-IP soft 1.8

RobertH

A co się dzieje na centrali, jakieś restarty zasilania, restarty AP-IP?
Co jest w pamięci zdarzeń centrali, logu systemowym (LuCI)?

asdcq

W logach wygląda dobrze. Spróbuje zrzucić do pliku co dokładnie odsyła centrala.

Feb  4 12:46:11 Ap-Ip osb[27960]: src/modbus_server.c - modbus TCP accepted connection 0
Feb  4 12:46:11 Ap-Ip osb[27960]: src/modbus_server.c - modbus client quit  131

asdcq

Rozwiązaniem okazało się skorzystanie z innych funkcji w komunikacji z centralą.
Problem stwarzały fwrite() i fread(). Zdarzało się, że nie zamykały socketa.
Po zastąpieniu ich przez socket_write() i socket_read() przerwy w odczytach ustały.