Вот смотрю в примере есть функция StopPrg, но она нигде в коде не вызывается, а по идее по таймеру должна вызываться?
Вид для печати
Она вызывается по событию, см. документацию к примерам, п. 4.4:
https://ftp.owen.ru/CoDeSys23/10_Soc...ckets_v1.0.pdf
Добрый день!
Ничего не получается с примерами! Не могу понять в чем причина
Выложите, пожалуйста, рабочий пример для ПЛК110-30 МО2 с кодом приема и отправки данных.
И какой программной под Windows 7 можно проверить обмен с ПЛК?
Скачиваю TCP ПЛК110/160 М02 и открываю проект TcpServerPLCm02.pro:
Вложение 53139
1. В PLC_PRG по какому событию отлавливать прием от клиента?
2. В Hercules после отправки сообщения клиенту зарывается соединение - так и должно быть? Т.е. обмен по принципу: Соединились - Обмен - Закрыли соединение ?
День добрый.
Спасибо за пример.
Но по идее правильнее тогда
sPublic: ARRAY [0..1] OF STRING:='Test0', 'Test1';
Публиковать ведь нужно разные сообщения.
И дальше получается что данные с брокера, из топика на который подписаны, попадают по порядку сначала в asSubscriber[0], потом в asSubscriber[1] и так далее (если массивы расширить до большего числа элементов, то это более наглядно просматривается).
(*когда получаем сообщение от издателя xMess равна TRUE)
IF xMess THEN
iNumberSubTopic:=iNumberSubTopic+1;
xSub:=TRUE;
xMess:=FALSE;
END_IF
Но ведь при большом числе топиков, они не все обновляются по порядку, и соответственно в массив получения они будут попадать по порядку обновления а не по тем топикам где находятся. Попробуйте расширить количество топиков хотя бы до 10.
получается что необходимо доработать библиотеку и внести на выход еще одну переменную, чтоб при получении понимать в какой топик пришло новое значение.
В общем, запутался еще больше.