Здравствуйте,
Через Modbus конфигурирую модуль для датчиков PT1000
HEX DEC+1
1400 5120+1 – 1 канал диф режим код датчика 4611
2400 9217+1 – 2 канал диф режим код датчика 4611
3400 13313+1 – 3 канал код датчика 4355
… и т.д.
В двухпроводном режиме работает, а в диф. режиме нули, подключение проверял, что могу делать не так?
Здравствуйте.
Недостаточно информации для диагностики причины некорректной работы (настройки) измерения.
Для большего понимания проблемы опишите свой вопрос следующим образом.
Далее по MOdbus в регистр 5121 (адрес со смещением +1) с ПЛК EVCO записываю код датчика 4611 (код с WIKI для измерения PT1000 в диф режиме).
С регистра 5381 (значение датчика 1) читаю 0.
Если меняю код с 4621 на 4355 (код для измерения в двухпроводном режиме, не меняя схемы подключения), то в регистре 5381 читаю текущую температуру.
Шильдик:
Addr: 146
HW:V1.2C
FW:2.0.2
117148
Здравствуйте.
У вас есть возможность сконфигурировать модуль WB-MAI6 через modbus_client?
Покажите какие команды вводите, что получаете и для двухпроводной схемы и для трехпроводной.
Точно ли исправен датчик? Если настроить по двухпроводной схеме и считать показания, а затем поменять местами жилы с “N” и “GND”, то показания такие же?
Modbus-client только linux или ваш контроллер?, у меня нет…
Попробовал в программе modscan на второй вход, все аналогично, скриншоты прилагаю, по двухпроводной схеме читает, по трех - нет.
Местами провода менял, показания такие же. У меня по четырем входам одинаковая проблема.
Вы сами можете попробовать трехпроводную схему и прислать скриншоты команд?
К сожалению, не знаком с приложением, которое вы используете для связи по Modbus. Если у вас в доступности подключение через Windows к устройству, то попробуйте по данной инструкции.
Настройка канала IN1P для измерения по двухпроводной схеме Pt1000. Затем считываю показания для данного канала. У меня стоит резистор на 1к Ом, поэтому показывает -5,9.
root@wirenboard-AVIUBE7W:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a43 -t0x06 -r0x1400 0x1103
Data to write: 0x1103
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[2B][06][14][00][11][03][C7][A1]
Waiting for a confirmation...
<2B><06><14><00><11><03><C7><A1>
SUCCESS: written 1 elements!
root@wirenboard-AVIUBE7W:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a43 -t0x03 -r0x1504
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[2B][03][15][04][00][01][C6][0D]
Waiting for a confirmation...
<2B><03><02><FF><C5><20><21>
SUCCESS: read 1 of elements:
Data: 0xffc5
root@wirenboard-AVIUBE7W:~#
Настройка канала IN1P для измерения по трехпроводной схеме Pt1000. Затем считываю показания для данного канала. У меня стоит резистор на 1к Ом, поэтому показывает снова -5,9.
root@wirenboard-AVIUBE7W:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a43 -t0x06 -r0x1400 0x1203
Data to write: 0x1203
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[2B][06][14][00][12][03][C7][51]
Waiting for a confirmation...
<2B><06><14><00><12><03><C7><51>
SUCCESS: written 1 elements!
root@wirenboard-AVIUBE7W:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a43 -t0x03 -r0x1504
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[2B][03][15][04][00][01][C6][0D]
Waiting for a confirmation...
<2B><03><02><FF><C5><20><21>
SUCCESS: read 1 of elements:
Data: 0xffc5
root@wirenboard-AVIUBE7W:~#
Резистор в обоих случаях подключен по сути по трехпроводной схеме.
Извините, был в отпуске, вернулся к проблеме. Канал с сырым значением как показать в обоих случаях? установил вместо кода датчика 4355 для измерения сопротивления 2, 258 - в обоих случаях читает ноль, вернул 4355 читает норм. температуру.