Добрый день,
Добавил в конфигурацию ПЛК110 одно Modbus TCP slave устройство с одним инпут регистром, но при попытке опроса появляется ошибка 84 (NO_SOCKET).
Какое существует ограничение по количеству сокетов и где его можно посмотреть и изменить?
Добрый день,
Добавил в конфигурацию ПЛК110 одно Modbus TCP slave устройство с одним инпут регистром, но при попытке опроса появляется ошибка 84 (NO_SOCKET).
Какое существует ограничение по количеству сокетов и где его можно посмотреть и изменить?
Номер слэйва, скорость, адресация регистров...
Ограничение в руководстве должно быть прописано.
Номер слейва в Modbus TCP не имеет значения (только IP и порт), но пробовал ModuleSlaveAddress на всякий случай ставить и 1 и 255. Скорости у TCP тоже нет. Пробую читать инпут регистр, поэтому поставил функцию чтения 4. Адрес регистра указывал и в виде 0, 1 и т.д. (как он идет в пакете) и 30001, 30002 и пр (как описано в стандарте) - не помогает. Получается собственно до чтения дело не доходит т.к. ошибка NO_SOCKET. Получается контроллер не может создать даже один сокет?
Устройство в сети пингуется и читается другими программами (Modbus Poll).
Имеет или не имеет значение номер устройства в модбас-tcp - это решать серверу/слейву, а не клиенту/мастеру.
А у ТС на картинке имеют значение буковы "empty"
ps
что положили, на то и ответил
Про то что ниже проще стандартно :
Проблема? Выкладываем проект
Последний раз редактировалось Валенок; 16.09.2023 в 12:43.
Перезагрузите оба устройства, очистите и откомпилируйте заново проект. Проверьте правильность ввода IP ( через двоеточие), адрес слейва и номер порта, см скрин 1 ТСР чтение.jpg
А так же убедитесь, что слейв поддерживает чтение функцией 0х04 и проверьте адрес регистра.
Последний раз редактировалось kondor3000; 16.09.2023 в 12:43.
Там где empty стоит там можно выбрать только сериальный порт, поэтому поставил empty. У устройства которое читаю нет поля для указания номера. У Modbus Poll по TCP номер слейва тоже не где указать, при это читается все нормально. У ПЛК пробовал разные варианты.