Fidelix FX-RP multiDISPLAY
Programming manual
page 30 of 38
:: == Set Modbus timeout in milliseconds (only for autogenerated Modbusdevices)
TIMEOUT=250
:: == If MODBUSDEVICES=MANUAL selected Modbusdevices have to be defined manually
:: MODBUSDEVICE=ADDRESS:5, STARTREG:0, COUNT:1, TYPE:HOLDING, TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:9, STARTREG:2, COUNT:10, TYPE:HOLDING, TIMEOUT:120
:: MODBUSDEVICE=ADDRESS:33, STARTREG:0, COUNT:1, TYPE:INPUT, TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:12, STARTREG:0, COUNT:1, TYPE:DISCRETE, TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:1, STARTREG:2, COUNT:1, TYPE:COIL, TIMEOUT:100
:: == Use this to make an element that shows the value of register 33, but writes into register 4
:: == this will generate a Modbusdevice for register 33,
:: == so don't forget to make sure you then have the "write" register also defined as Modbusdevice
:: MODBUSDEVICE=ADDRESS:10, READREG:33, WRITEREG:4, COUNT:1, TYPE:HOLDING, TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:10, STARTREG:4, COUNT:1, TYPE:HOLDING, TIMEOUT:120
:: == Send a fixed value to a slave register
:: SENDREGISTERS=ADDRESS:10, WRITEREG:29, COUNT:1, FIXEDVALUE:1, TIMEOUT:100,
:: SENDREGISTERS=ADDRESS:1, WRITEREG:6, COUNT:SINGLE, FIXEDVALUE:2048, TIMEOUT:200
:: == Send a fixed value to a slave register,
:: == based on the value of an internal time schedule of the master display
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:3, TIMEOUT:100, SENDIF:TIMESCH1=0
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:6, TIMEOUT:100, SENDIF:TIMESCH1=1
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:9, TIMEOUT:100, SENDIF:TIMESCH1=2
:: ...
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:45, TIMEOUT:100, SENDIF:TIMESCH1=14
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:48, TIMEOUT:100, SENDIF:TIMESCH1=15
:: == Send internal registers (such as time schedules, temperature, …) to slave(s)
:: == local TE
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1002, COUNT:1, SOURCEREG:3000, TIMEOUT:150
:: SENDREGISTERS=ADDRESS:10, WRITEREG:2, COUNT:1, SOURCEREG:3001, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:10, WRITEREG:5, COUNT:1, SOURCEREG:3002, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:10, WRITEREG:8, COUNT:1, SOURCEREG:3003, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:11, WRITEREG:2000, COUNT:1, SOURCEREG:3004, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:29, WRITEREG:456, COUNT:5, SOURCEREG:3007, TIMEOUT:300
:: == local minute (0-59)
:: SENDREGISTERS=ADDRESS:12, WRITEREG:1044, COUNT:1, SOURCEREG:3005, TIMEOUT:300
:: == local Time Schedule 1 value
:: SENDREGISTERS=ADDRESS:13, WRITEREG:1044, COUNT:1, SOURCEREG:3007, TIMEOUT:300
:: == local Time Schedule 2 value
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1008, COUNT:1, SOURCEREG:3008, TIMEOUT:150
:: using “COUNT:SINGLE” will use Modbus function code 06 instead of 16 for writing to the slave
:: SENDREGISTERS=ADDRESS:2, WRITEREG:12, COUNT:SINGLE, SOURCEREG:3000, TIMEOUT:200
:: == Send the value of a register from one slave to another.
:: == Remember to add the read-registers to the Modbusdevice list
:: == (even when you are using the MODBUSDEVICES=AUTO setting)
:: == if you don't have those registers visible on the display.
:: == Only the write-registers are automatically created as Modbusdevice.
:: == When using the MODBUSDEVICES=MANUAL parameter,
:: == remember to create both the read and write registers as Modbusdevices.
:: == writing can only be done into Holding registers.
:: == If no type is specified, Holding register is assumed.
:: SENDREGISTERS=ADDRESS:20, WRITEREG:17, COUNT:1, SOURCEREG:1.2.COIL, TIMEOUT:250
:: SENDREGISTERS=ADDRESS:20, WRITEREG:480, COUNT:7, SOURCEREG:3.20480.HOLDING, TIMEOUT:250
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1017, COUNT:1, SOURCEREG:11.1017, TIMEOUT:150
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1020, COUNT:1, SOURCEREG:11.1020.DISCRETE, TIMEOUT:150
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1023, COUNT:1, SOURCEREG:11.1023.INPUT, TIMEOUT:150
:: SENDREGISTERS=ADDRESS:11, WRITEREG:2, COUNT:SINGLE, SOURCEREG:2.0, TIMEOUT:200
Note that the FX-RP multiDISPLAY -obviously- cannot operate as a Modbus master and slave at the same time.
However,
a display acting as a Modbus master can be changed to be a Modbus slave by inserting a μSD
-Card
containing a slave project and rebooting the display (= taking power off).