32-канальный модуль modbus с выходами транзисторов Дарлингтона с AliExpress.
Ссылка на модуль
Производитель Electhsup R4D1C32
Прекрасно работает на WB7 на отдельном канале RS-485
В оригинале работает на 9600, максимум 19200
проверка скорости:
modbus_client --debug -mrtu -b9600 -s1 -d8 -pnone -r0x00FE /dev/ttyRS485-2 -t03 -a0x01 0001
Ответ должен быть Data: 0x0003 - это скорость 9600
Изменить скорость:
modbus_client --debug -mrtu -b9600 -s1 -d8 -pnone -r0x00FE /dev/ttyRS485-2 -t06 -a0x01 0004
потом проверяем еще раз
modbus_client --debug -mrtu -b9600 -s1 -d8 -pnone -r0x00FE /dev/ttyRS485-2 -t03 -a0x01 0001
Ответ должен быть Data: 0x0004 - это скорость 19200
скорость работает после снятия питания
шаблон для работы:
{
"device_type": "R4D1C32 32 output Controller",
"group": "g-relay",
"device":
{
"name": "Electhsup R4D1C32",
"id": "r4d1c32",
"frame_timeout_ms": 3,
"channels":
[
{
"address" : "0x0001",
"enabled" : true,
"format" : "s16",
"name" : "01",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0002",
"format" : "s16",
"name" : "02",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0003",
"format" : "s16",
"name" : "03",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0004",
"format" : "s16",
"name" : "04",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0005",
"format" : "s16",
"name" : "05",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0006",
"format" : "s16",
"name" : "06",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0007",
"format" : "s16",
"name" : "07",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0008",
"format" : "s16",
"name" : "08",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0009",
"format" : "s16",
"name" : "09",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x000A",
"format" : "s16",
"name" : "10",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x000B",
"format" : "s16",
"name" : "11",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x000C",
"format" : "s16",
"name" : "12",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x000D",
"format" : "s16",
"name" : "13",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x000E",
"format" : "s16",
"name" : "14",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x000F",
"format" : "s16",
"name" : "15",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0010",
"format" : "s16",
"name" : "16",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0011",
"format" : "s16",
"name" : "17",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0012",
"format" : "s16",
"name" : "18",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0013",
"format" : "s16",
"name" : "19",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0014",
"format" : "s16",
"name" : "20",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0015",
"format" : "s16",
"name" : "21",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0016",
"format" : "s16",
"name" : "22",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0017",
"format" : "s16",
"name" : "23",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0018",
"format" : "s16",
"name" : "24",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0019",
"format" : "s16",
"name" : "25",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x001A",
"format" : "s16",
"name" : "26",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x001B",
"format" : "s16",
"name" : "27",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x001C",
"format" : "s16",
"name" : "28",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x001D",
"format" : "s16",
"name" : "29",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x001E",
"format" : "s16",
"name" : "30",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x001F",
"format" : "s16",
"name" : "31",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0020",
"format" : "s16",
"name" : "32",
"off_value" : "1000",
"offset" : 0,
"on_value" : "0400",
"reg_type" : "holding",
"scale" : 1,
"type" : "switch"
},
{
"address" : "0x0000",
"format" : "s16",
"name" : "All OFF",
"offset" : 0,
"on_value" : "1100",
"reg_type" : "holding",
"scale" : 1,
"type" : "pushbutton"
},
{
"address" : "0x0000",
"format" : "s16",
"name" : "All ON",
"offset" : 0,
"on_value" : "1800",
"reg_type" : "holding",
"scale" : 1,
"type" : "pushbutton"
}
]
}
}