Вход

Просмотр полной версии : ПЛК110-30. Ошибка 84 NO_SOCKET



Alex-F
17.06.2016, 16:23
Добрый день!
При проведении ПНР на объекте я столкнулся с проблемой у ПЛК110.
Данный ПЛК по Modbus-TCP опрашивает 22 модуля аналоговых вводов.
Однако, на ПЛК поступают данные только с 14 модулей. Отображается ошибка Last error = 84 (Нет свободного сокета для устройства TCP/IP).
Пробовал удалить первые четыре модуля, начинают работать четыре следующих.
В протоколе Modbus-TCP такого ограничения нет. Значит оно в ПЛК?

Как снимается данное ограничение по сокетам?

capzap
17.06.2016, 16:57
ОС контроллера поддерживает только 15 открытий сокетов, переходите на библиотеку и там придется продумывать организацию обмена, чтоб закрывать сокет после приема данных от одного слейва

Alex-F
17.06.2016, 17:31
Capzap, спасибо за ответ!
Но, на мой взгляд, не совсем корректно заявлять поддержку протокола Modbus-TCP (http://www.owen.ru/catalog/plc110_old/77017211), а когда клиент нарывается на недокументированное ограничение отправлять его к самостоятельному программированию протокола.
С учетом сжатых сроков ПНР прошу Техподдержку проконсультировать по тому, как можно увеличить количество открытых сокетов.

capzap
17.06.2016, 17:46
да Вы наверное первый кто подключил аж 22 слейва по ТСР, видимо поэтому в описании сей факт не прописан. В теории, ядро плк держит соединение в режиме тишины не более 12 секунд, поэтому возможно поставив опрос не по времени а по команде ситуация Ваша улучшится, вдруг после опроса при таком способе сокет закрывается, давая возможность сделать запрос на другой слейв.