12 063
правки
(Новая страница: «In this case, a paradoxical situation arises: we can not know the value of the speed, if we do not specify its value in advance when referring to the device! Ther…») |
|||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 4: | Строка 4: | ||
== RS-485 | == Registers of parameters of data exchange via RS-485 == | ||
In the factory configuration, all Wiren Board devices are supplied with the following RS-485 settings: 9600 bps, no parity bit (none), stop bit count — 2. However, the firmware of almost all modern Wiren Board devices supports additional registers, which set parameters of data exchange via RS-485: | In the factory configuration, all Wiren Board devices are supplied with the following RS-485 settings: 9600 bps, no parity bit (none), stop bit count — 2. However, the firmware of almost all modern Wiren Board devices supports additional registers, which set parameters of data exchange via RS-485: | ||
Строка 61: | Строка 61: | ||
done | done | ||
In this [[Media:Perebor.sh.tar.gz|script]] we refer to the 0x80 register, which stores the modbus address in all Wiren Board Modbus devices. The output of the script will contain lines like these: | |||
Speed:9600 Stop bits:1 Parity:none Modbus address:0x0001 | Speed:9600 Stop bits:1 Parity:none Modbus address:0x0001 | ||
Speed:9600 Stop bits:2 Parity:none Modbus address:0x0001 | Speed:9600 Stop bits:2 Parity:none Modbus address:0x0001 | ||
For stop bits, you will likely get two values: 1 and 2. You can refine the setting by reading the value from the register 112 with the already known address, speed, parity: | |||
modbus_client --debug -mrtu -b'''9600''' -p'''none''' -s'''2''' /dev/ttyAPP1 -a'''0x01''' -t0x03 -r112 | modbus_client --debug -mrtu -b'''9600''' -p'''none''' -s'''2''' /dev/ttyAPP1 -a'''0x01''' -t0x03 -r112 | ||
or | |||
modbus_client --debug -mrtu -b'''9600''' -p'''none''' -s'''1''' /dev/ttyAPP1 -a'''0x01''' -t0x03 -r112 | modbus_client --debug -mrtu -b'''9600''' -p'''none''' -s'''1''' /dev/ttyAPP1 -a'''0x01''' -t0x03 -r112 | ||
Строка 76: | Строка 76: | ||
Data: 0x0002 | Data: 0x0002 | ||
If you receive an error while reading from register 112, the device does not support setting communication parameters. In this case,the default value of 2 stop bits is used for communication. |
правки