WBIO-AI-DV-12 через WB-MIO

Здравствуйте!
Я пытаюсь работать с WBIO-AI-DV-12 через WB-MIO посредством бокового подключения.
Читаю из WB-MIO следующие модбас регистры
|990 |holding |R |||Модуль выхода номер 1 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|991 |holding |R |||Модуль выхода номер 2 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|992 |holding |R |||Модуль выхода номер 3 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|993 |holding |R |||Модуль входа номер 4 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|994 |holding |R |||Модуль выхода номер 4 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|995 |holding |R |||Модуль входа номер 3 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|996 |holding |R |||Модуль входа номер 2 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|
|997 |holding |R |||Модуль входа номер 1 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)|

вот команда запроса: 74 04 03 DE 00 08 9A D7
вот ответ: 74 04 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C3 2B

То есть во всех регистрах нули. согласно карте это значит не подключен ни один модуль

Так и должно быть?

В вики https://wirenboard.com/wiki/WB-MIO-Modbus-Registers в самом низу табличка про аналоговые модули
Я предполагаю что проверять надо

19990	adc модуль 1 подключен

Спасибо за оперативный ответ.
Я пытаюсь считать информацию согласно вашей рекомендации с адреса 19990 четыре регистра

вот запрос 74 04 4E 16 00 04 0C 40
вот ответ 74 84 03 12 DB

в старшем бите байта функции выставляется флаг ошибки - что я делаю не так?

пробовал читать третьей функцией - то же самое

запрос 74 03 4E 16 00 04 B9 80
ответ 74 83 03 10 EB

Пробую читать по одному регистру
запрос: 74 04 4E 16 00 01 CC 43
ответ: 74 84 03 12 DB

запрос: 74 03 4E 16 00 01 79 83
ответ: 74 83 03 10 EB

Сейчас подключу - проверю.

У меня тоже не читаются регистры 1999x
Спросил у разработчиков.

Я невнимательно читал документацию.

Карта регистров флагов (**coil**) состояний модулей ввода/вывода

Именно “coil”

modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a157 -t0x01 -r19990
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[9D][01][4E][16][00][01][16][BA]
Waiting for a confirmation...
<9D><01><01><00><7F><D8>
SUCCESS: read 1 of elements:
	Data: 0x00 

Спасибо! Получилось считать
Но теперь не могу интерпретировать

Модуль WBIO-AI-DV-12 подключаю первым и вторым номером к WB-MIO
Но ответ всегда одинаковый
read ADC module 1 info
out : 74 01 4E 16 00 01 00 43
in : 74 01 01 00 4B 84
read ADC module 2 info
out : 74 01 4E 17 00 01 51 83
in : 74 01 01 01 8A 44
read ADC module 3 info
out : 74 01 4E 18 00 01 61 80
in : 74 01 01 00 4B 84
read ADC module 4 info
out : 74 01 4E 19 00 01 30 40
in : 74 01 01 00 4B 84

То есть всегда определяется модуль №2 (по алресу hex 4E 17, согласно карте - 19991 adc модуль 2 подключен)

Имеется ввиду:
первым номером - когда WBIO-AI-DV-12 втыкается непосредственно к WB-MIO
вторым номером - когда WBIO-AI-DV-12 втыкается в WB-MIO через другой модуль (в моем случае WBIO-DI-WD-14)

В вики https://wirenboard.com/wiki/index.php/WBIO-AI-DV-12_I/O_Module#.D0.9C.D0.BE.D0.BD.D1.82.D0.B0.D0.B6
Написано что он может

занимать первую, пятую или девятую позицию

Я могу проверить лишь первую и вторую позиции
В ОБЕИХ позициях модуль работает ОДИНАКОВО

Вот логи работы в первой позиции

read data module adc_unit1
out : 74 04 4E 20 00 12 6D 80
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 D8 01 16 00 F7 00 F7 FF C2 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 09 30
read data module adc_unit2
out : 74 04 52 08 00 12 EA 18
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 D8 01 16 00 F7 00 F7 FF C2 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 09 30
read data module adc_unit3
out : 74 04 55 F0 00 12 6A 9D
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 D8 01 16 00 F7 00 F7 FF C2 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 09 30
read data module adc_unit4
out : 74 04 59 D8 00 12 E9 C5
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 D8 01 16 00 F7 00 F7 FF C2 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 09 30

Вот логи работы во второй позиции


read data module adc_unit1
out : 74 04 4E 20 00 12 6D 80
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 F7 00 F7 00 F7 00 F7 00 00 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 E7 0B
read data module adc_unit2
out : 74 04 52 08 00 12 EA 18
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 F7 00 F7 00 F7 00 F7 00 00 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 E7 0B
read data module adc_unit3
out : 74 04 55 F0 00 12 6A 9D
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 F7 00 F7 00 F7 00 F7 00 00 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 E7 0B
read data module adc_unit4
out : 74 04 59 D8 00 12 E9 C5
in : 74 04 24 00 ED 01 05 01 05 00 ED FF E8 00 18 00 F7 00 F7 00 F7 00 F7 00 00 00 00 00 F7 00 F7 00 F7 00 F7 00 00 00 00 E7 0B

Вопросы остаются открытыми:

  1. Почему вне зависимости от позиции модуля 1 или 2 данные попадают в регистры соответствующие модулям 1, 2, 3, 4 ???
  2. Почему вне зависимости от позиции модуля 1 или 2 данные регистров состояния подключенных ADC модулей при ходят одинаковые (подключен модуль номер 2)

read ADC module 1 info
out : 74 01 4E 16 00 01 00 43
in : 74 01 01 00 4B 84
read ADC module 2 info
out : 74 01 4E 17 00 01 51 83
in : 74 01 01 01 8A 44
read ADC module 3 info
out : 74 01 4E 18 00 01 61 80
in : 74 01 01 00 4B 84
read ADC module 4 info
out : 74 01 4E 19 00 01 30 40
in : 74 01 01 00 4B 84

Ну, именно этот модуль не может быть вторым.
Воткнуть можно - но работать скорее не будет.

Это отдельные регистры именно для ADC модулей.

Собственно вопрос в том что регистр не изменяется? Или?

Вопросов много - давайте по порядку.

  1. Почему модуль WBIO-AI-DV-12 работает во второй позиции?
    Заявлено только 1, 5 и 9 позиции.

  2. Почему регистры состояния подключенных ADC модулей всегда одинаковые вне зависимости от позиции подключенного ADC модуля (у меня испытаны позиции 1 и 2)?

  3. Почему при чтении групп регистров 20000 - 20017, 21000 - 21017, 22000 - 22017, 23000 - 23017 приходят одинаковые данные от единственного подключенного ADC модуля?

Работа в остальных не гарантируеется. Может работать, но не в любой комбинации с остальными модулями.

Спасибо!
А остальные вопросы?

Напоминаю, что ждем ответ

Другие модули меняют адрес, в зависимости от позиции. WBIO-AI-DV-12, в отличие от них, это не делает. В любой позиции он выглядит для контроллера одинаково. Именно поэтому их нельзя подключать больше одного.

Насколько я понимаю, это отвечает на ваши вопросы про регистры.

Не могли бы вы всё-таки рассказать про задачу, для чего вам понадобилось так глубоко залезать в детали реализации?