Здравствуйте. На одном объекте потребовалось реализовать обмен данными между двумя контроллерами. Конечно на форуме, да и на диске (Пример обмена по протоколу Modbus TCP через порт Ethernet), нашел пример как это сделать. Взял 2 контроллера ПЛК150 и попробовал реализовать обмен данными через Modbus TCP. Один контроллер- мастер, второй слейв. Мастер постоянно показывает ошибку 85. Попробовал в качестве слева использовать ПК, на котором запустил TCP сервер. В результате выяснил, что мастер даже не пытается подключаться. Отличие от примера - другой контроллер
PLCInfo
PLC model MODEL PLC 150
Binary VERSION 2.14.0
Need Target version 2.10
Compiled: 10:35:48 May 16 2011
MAC 6A:77:00:00:A0:AF
IP 192.168.1.13
GATE 192.168.1.1
MASK 255.255.255.0
PIC upper version is 07
Licence unlimited
Current DAC
PIC lower version is 0f
Что я делаю не так?
Попробовал реализовать обмен при помощи SysLibSockets. Результат лучше. Происходит подключение, хотя результат функции SysSockConnect() = FALSE (SysSockBind() = TRUE), а при передаче данных результат = SOCKET_INVALID, хотя данные на ПК приходят. Сервер на ПК шлет обратно полученные данные и функция SysSockRecv() показывает принятые данные.
Получается не совсем корректная работа библиотеки. Стоит ли ей вообще пользоваться?