а ID посылки и подтверждения совпадают для закрытия соединения и подтверждения на закрытие, просто ACK может быть от чего угодно, я как бы про это и писал что необязательно последующая в ответ посылка уже подтверждение закрытия
Вид для печати
а ID посылки и подтверждения совпадают для закрытия соединения и подтверждения на закрытие, просто ACK может быть от чего угодно, я как бы про это и писал что необязательно последующая в ответ посылка уже подтверждение закрытия
Да все совпадает...
Библиотека виндовая, с другим ПЛК работает...
Есть еще один ПЛК - после обеда попробую забрать и протестировать.
Кстати из этой партии мы один ПЛК отправили по гарантии и тоже с проблемой сети. Там панель Weintek постоянно отваливалась. Заменили и больше такой проблемы не было.
ну так если вейнтек, тогда вобще проблем не должно быть :)панель перевожу в режим UDP, в контроллере вышеизложенный кодКод:IF mbus THEN
IF diRecvSocket = SOCKET_INVALID THEN
diRecvSocket := UdpOpenReceiveSocket(502);
ELSE
Reply := UdpReceiveData(diRecvSocket, ADR(byRecv),12);
byRecv[5]:=67;
byRecv[8]:=64;
ptr:=ADR(byRecv[9]);
ptr^:=visu;
IF byRecv[6]=1 AND byRecv[7]=3 THEN
result:=UdpSendData(diRecvSocket,ADR(byRecv), SIZEOF(byRecv),Reply.sa);
byRecv[6]:=0;
END_IF;
END_IF;
ELSE
IF diRecvSocket <> SOCKET_INVALID THEN
SysSockClose(diSocket:=diRecvSocket);
diRecvSocket := SOCKET_INVALID;
END_IF;
END_IF;
Из десятка панелей ни одна не сглючила за три года непрерывной круглосуточной работы. Вот модули прошивки теряли, ПЛК целиком перезаливал, а панелям пофиг. Причем они еще и как сервера работают - отдают данные в сеть. :)
В примере пока ничего не понял. :))
Пример бы рабочий. Тут нашел какой-то архив, но в нем не понятно что за ПЛК и не вижу конфигурации - пусто.
Спасибо, потом разберусь. :)
Взял другой ПЛК - все работает как нужно. Так что проблема была в ПЛК. Отправим по гарантии.
Веду вялотекущую переписку с техподдержкой по аналогичной проблеме. Видимо тоже придется менять по гарантии.
Да там походу аппаратная реализация TCP и попалась партия бракованных чипов. У нас два ПЛК из одного заказа - на одном вообще сдох TCP, второй глючный, благодаря которому и появилась эта ветка.
Техподдержка предложила откатиться на 2.14.0 - помогло.
У меня была 2.14.0 из коробки. Когда нарвался на глюк, то обновился на 2.15.0.