Fidelix FX-RP multiDISPLAY
Programming manual
page 29 of 38
The number of Modbusdevices is not a fixed limit as such, but there is limited amount of memory reserved for
the definition of Modbus communication sockets. The available memory for defining communication sockets
(Modbusdevices) is 10240 bytes (4644 for V1 displays). Each Modbusdevice can have 99 registers maximum.
Each separate Modbusdevice takes up 40 bytes of 2 bytes per register in its definition.
So; a Modbusdevice that consists of 15 registers will use 70 bytes. Similarly, when defining Modbusdevices per
1 register, they will each use 42 bytes, making the maximum number of Modbusdevices you can define 243 (or
110 for V1 displays).
It thus depends on the setup how many registers or register ranges (Modbusdevices) you can read out on one
FX-RP multiDISPLAY. If, while using the “MODBUSDEVICES=AUTO” setting, the available memory is
insufficient, you can try to define the devices manually.
NOTE:
Copying registers from 1 slave to another always requires 2 independent Modbusdevices; 1 register
section that is being read and 1 register section that is being written. This needs to be considered when
calculating the available memory for Modbusdevices.
NOTE:
The converter doesn’t do any checking of the number of Modbus communication sockets defined, so
make sure that, when using a lot of Modbusdevices, you calculate the actual memory used.
The multiDISPLAY demo projects folder contains an example project folder named “Modbus master example”
which will help you on your way. Also, the folders “text editing example”, “basic example” and “time editing
example” contain example files for the master functionality.
An example of each of the features available in the “ModbusMasterSettings.txt” file and the correct syntax of
how to use them:
:: This is an example file to be used as reference to create your own custom file
:: Note that comment lines start with "::"
:: Comments are always a full line; comments behind parameters render this file invalid
:: == Set Modbus master baud rate
:: BAUD=9600
:: BAUD=19200
:: BAUD=38400
BAUD=57600
:: BAUD=115200
:: == Set bit count, parity and number of stop bits
BITS=8n1
:: BITS=8e1
:: BITS=8o1
:: BITS=8n2
:: BITS=8e2
:: BITS=8o2
:: == Set Modbus send delay in milliseconds (a delay before next Modbus message is sent)
:: == The delay timer starts running after a reply has been received
:: == or the timeout timer has ran out
SENDDELAY=500
:: == Select if modbusdevices (communication sockets) should be made automatically or manually
MODBUSDEVICES=AUTO
:: MODBUSDEVICES=MANUAL
:: == If MODBUSDEVICES=MANUAL is selected, these settings do not have any effect
:: == If MODBUSDEVICES=AUTO is selected, then you can select if Modbusdevices should be
:: == combined making one larger Modbusdevice with multiple registers
:: == set to FALSE if combining is not allowed, or enter the maximum number of registers that should
:: == be combined per query
:: COMBINE=FALSE
COMBINE=10