This is topic Подключение c SMH2010 по Modbus in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


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

Posted by evaskin (Участник № / Member № 5749) on :
 
Здравствуйте, появилась такая проблемка.

Настраиваем соединение с контроллером SMH2010, все настройки добавил в виде картинок.

Если соединять через OPC (Lectus) то никаких проблем нет, данные принимаются и отображаются.

Подскажите пожалуйста, в чём проблема в этом случае. Спасибо.

 -

 -

 -

 -

 -

[ 02.08.2012, 10:12: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Релиз 6.08?
Надо полагать, что OPC-Lectus Вы запускаете на том же ПК и через тот же COM3.
Перед запуском профайлера OPC-Lectus выгружается.

1. Необходимо убедиться, что в протоколе профайлера и в tm6_log.txt нет сообщений об ошибках, что запросы от профайлера формируются (любым перехватчиком трафика COM-порта).

2. Необходимо изменить адрес контроллера в сети MODBUS и соответственно задать его в настройке "Источника" в проекте. По стандарту Modbus 0-й адрес устройства используется для широковещательных Modbus-посылок. На эти посылки не ожидаются ответы. Профайлер будет посылать запросы, но ответы принимать не будет.
 
Posted by Nico (Участник № / Member № 5342) on :
 
Адрес устройства 0 рассматривается как общийи(описание modbus) ответ не ожидается
 
Posted by evaskin (Участник № / Member № 5749) on :
 
Nico, возможно, сможете проконсультировать по ещё одному вопросу?

Насчёт адреса разобрался, спасибо, но теперь есть другая проблема:


При подключении входных каналов скада нормально читает только переменные класса int, переменные же класса bool/real/float читает как-то криво, значения не выводятся.

Каким-то образом это возможно исправить? Не хотелось бы оперировать только int'овыми переменными.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
"переменные класса bool/real/float " - где они имеют такие типы? У Modbus-Slave?
Для чтения битовых переменных (Coil или дискретных входов) в драйвере существуют функции Rout_Byte(1) и Rin_Byte(2) соответственно. Для этого используются каналы HEX16.
Для чтения переменных формата Float существуют функции Rout_Float(3) и Rin_Float(4). Чтение осуществляется в каналы Float. Считываются на каждую переменную 2 регистра. Соответственно надо осуществлять их адресацию. Кроме того, следует обратить внимание на возможные отклонения в порядке передачи байтов в 4-байтовом числе (см. описание файла modbus.set в разделе "Обмен с контроллерами/Обмен по встроенным протоколам/Обмен по Modbus").
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2