PDA

Просмотр полной версии : ПЛК323 Modbus TCP Master



murdemon
10.10.2014, 12:51
Проблема ПЛК323 не всасывает данные которые уме передал Modbus TCP клиент (как оказалось RTU over TCP не поддерживается в Codesys 3.5, только обычный Modbus TCP).
В тесте использовался ModbusTool Slave emulator (6.0.2) ... Есть у кого какие идеи? (Кроме той что это баг ПЛК рантайма)

Николаев Андрей
11.10.2014, 10:53
Это не проблема. И не баг. Это не заявленная в ПЛК функция, это нормальная, стандартная работа прибора.
ModBus TCP работает. ModBus over TCP мы и не поддерживали, так как не видели его массового применения. Надо понимать что это не одно и тоже.
А с какой целью Вы хотите применять именно его?
Для всех сложных и не поддержаных протоколов мы внедрили возможность работа напрямую с портом и с сокетами.

murdemon
11.10.2014, 15:56
Для подключения модулей ADAM от Advantech.. Если Modbus TCP на ПЛК323 работает.. Почему у меня не меняються значения переменных? У вас есть лог обмена по между плк323 и другим устройством по протоколу Modbus TCP.. Бывают некоторые разночтения протокол между производителями. А вообще ПЛК все уже давно на ethernet сидят... Да и скороть обмена для большого количества от 50-100 входов выходов будет сопоставима с временем цикла < 500мс.

Николаев Андрей
11.10.2014, 16:38
Так ModBus TCP он как бы и есть по Ethernet... И он поддержан. ModBus TCP и ModBus ocer TCP - это похожие протоколы, но не одно и то же.
Все примеры есть тут:
http://www.owen.ru/catalog/programmiruemij_logicheskij_kontroller_oven_plk323/40365395
Если каких то не хватает - пишите нам, и мы все найдем и объясним.
support@owen.ru

capzap
11.10.2014, 17:15
попробовал найти какой же модуль поддерживает RTU over TCP, так и не нашел. С каких пор производители контроллеров должны широко поддерживать жутко специфичные протоколы, ТСР и так контролирует ошибки, зачем через него проверять ртушную контрольную сумму?

murdemon
11.10.2014, 18:20
не я просто про Modbus TCP ... не про over Ethernet... разобрался... проблемма была в том что если мы обьявлем переменную и привязываем ее в драйвере к модбасу слеву к определенному каналу... мы можем ее мониторить, форсировать в онлайне.... но только когда в програме делаем присвоение или считывание этой переменно только догда она подхватывается драйвером модбас :) те пустой проект переменную привязал форсирую значение 22 везде показывает 22 даже на странице модбас слева в кодезисе а по Ethernet летит 0 :) в програме прописываю Reg1 := 22; Везде 22 и летит 22 .... и наоборот при считывании Reg2 = 0, даже когда по сети летит 22, а вот Reg3 := Reg2; то уже работает... фича.

ASo
11.10.2014, 18:29
А почитать инструкцию?
Поставьте нужную галку - и считаются все.

murdemon
11.10.2014, 18:33
Все нашел... Установки ПЛК. Обновлять I/O во время простоя. Теперь я шаман... А там нет каконить галки - читать мысли программиста ..