This is topic Диагностика по Modbus TCP in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000200.html

Posted by ALcron (Участник № / Member № 1859) on :
 
Добрый день.

Посмотрел ваше видео: "Канал CALL.ChGroupReq для расширенной диагностики обмена по MODBUS TCP".

Попробовал сделать тоже самое, но не получается как в примере, данные в аргументах канала CALL.ChGroupReq не корректны.

Как провести диагностику переменной @e_TCP_ModBus двух и более соединений? В справочной системе мало информации.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
В релизе 6.10.2, механизм @e_TCP_ModBus изменился и теперь настройка Параметр=65535 не поддерживается. e_TCP_ModBus работает с одним устройством, в Параметре системной переменной необходимо указывать номер устройства, а не 65535. Номер устройства в реальном времени «сидит» в 94м атрибуте С0, его можно менять в реальном времени, диагностируя разные устройства. В атрибут С5 пишется число 9 - это номер протокола (модбас )

Можно привязать к этой переменной канал CALL аналогично как показано в видео, но только тут одно устройство, в отличие от видео, поэтому всего 12 аргументов. Аргументы:
Первые 4 - общая инфа.
0-общее число устройств Модбас
1-общее число устройств, которому не удается подключиться
2-общее число устройств с ошибками обмена
3-общее число устройств с ошибками обмена, выявленных в результате ответа устройства.
Следующие 4 не используются.
Последние 4 - по юниту.
8-статус соединения
9-время последнего обмена
10-код ошибки WinSoc
11-время последней попытки подключения к устройству.

Создаются и работают аргументы по логике, описанной в видео (т.е. 10й и 12й формат DATE_N_TIME, остальные – UINT). Получаемые значения расшифровываются как показано в видео. 1-При этом 254 атрибут RST показывает краткий статус обмена.

Если привязку осуществлять к числовому каналу, в реальном значении этого канала индицируется статус обмена в числовом виде (аналогично значению 9го аргумента при привязке к CALL). В атрибут 80й - CODE пишется адрес и порт. В атрибут 81 – COMMNT пишется текущий статус в текстовом виде, описание и номер ошибки.
 
Posted by ALcron (Участник № / Member № 1859) on :
 
Спасибо.

Тогда второй вопрос. Как формируются номера устройств в ModbusTCP.
Первое устройство (номер 1, свой IP). Если выставить 2 (второе устройств, другой IP), диагностики нет, т.е. менять С0.

В узле проекта формируется файл tcp_modbus с адресами. Если выставить эти номера (UNIT), то диагностика идет. Первый 1, следующий 257, следующий 513. Причем присваивается по уменьшению IP адреса.

Верно ли будет говорить, что вот этот номер присваивается к каждому уникальному IP в диапазоне 256 как бы подключенных устройств?
 
Posted by ALcron (Участник № / Member № 1859) on :
 
Дополнение к предыдущему.

При этом адрес выставляю в атрибуте L0, т.к. C0 8 битный (0-255).
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Номера устройств формируются со стороны Modbus-устройств. Каким образом они были заданы Trace Mode не важно.

Однако, я ряде случаев, при наличии нескольких однотипных устройств их нумерация в сети modbus не изменяется и остается одинаковой на всех устройствах (заводские настройки).

По этому, в рамках проекта, TM изменяет адресацию устройства modbus.

Вы можете использовать эти номера (из файла tcp_modbus) или на опрашиваемых устройствах задать уникальные номера устройств.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2