How to use the Modbus Addon in the CMe3100
The CMe3100 do support the use of Modbus TCP/IP.
This means that the device will be able to read Mbus meters and translate the data into Modbus registers, which is reachable trough an network TCP/IP connection.
It is available when purchasing the Modbus License.
It could be added from the start or later on if you want.
It requires that you have meters installed and that they have been read properly.
To Be able to use the Addon, make sure you have the license installed. You find this under system->license
And also make sure that the addon is activated under configuration->services->ModBus
Now enter the Modbus addon by pressing the text "Modbus" marked in yellow above.
--------------------------------------------------------------------------------------------------------------------
You will Now see this menu.
TCP port number = The port which the modbus communication will use in your network. 502 is default.
Simultaneous connections = decides how many systems that can read the CMe3100 simultaniously. A maximum of 10 is allowed.
Modbus slave address = This is the slave address that the CMe3100 will use.
Respond on invalid addresses = Since the CMe3100 can use 64bit numbers it needs to be able to combine 4 registers at a time. For example 40001, 40002, 40003, and 40004. That is why you wont be able to chose from all these register IDs in the map.
When your master system asks for data on for example 40001, the CMe3100 will sumerize the total data in all 4 registers if you have this checkbox checked. If not, the CMe3100 will answer with the part of the data available only in 40001, which probably will give you incorrect data.
This function is by default set to off, but it is recommended to allow it directly from the start.
Default data type = Here you can chose from different types of data formats.
- unsigned integer = will give you a positivte number from 0 and upwards
- signed integer = will give you a negative number from - 50% of the size of the amount of bits to +50% . Example; 16 bit signed will give you a number from -32767 to + 32767
- two byte (16 bits) data = a maximum numbersize of 65535
- four byte (32 bits) data = a maximum numbersize of 4 294 967 295
- eight byte (64 bits) data = a maximum numbersize of 18 446 744 073 709 551 615
- swapped = change the number sequence of the data words
- float = give you the possibility to get a decimal
Default constant = will move/increase the size of your number by one decimal unit for each e^1
Make sure to set these settings as you want before you start to work with your modbusmap. Since it will make your life easier if you have your main config set correctly.
--------------------------------------------------------------------------------------------------------------------
Now head to Measurement series -> modbusmap
Here you can activate the measurement series that you are interested in. They will be given an holding register (03) automatically. The registernumber is possible to change in the option settings for each register.
TIP: Use the function button to administrate all devices, or some of them simultaniously.
If you deactivate a register, then activate it again, it will recieve your default settings that you configured under the general modbus settings above.
If you want to change the constant, register number or data type, you can press the pen icon to the right and access the settings for that specific register.
If you want to edit the value in your modbusmap, or maybe remove some decimals, you need to do this in that specific measurementserie. Or edit your measurement series template.
By edit the template you will be able to affect more devices at once instead of doing one by one.
--------------------------------------------------------------------------------------------------------------------
When reading modbus it is important that you are aware of how both systems work, your modbus master, and your modbus slave (CMe3100). You will need to use the same data type in both ends, and you could also be forced to adjust the constants in both ends to get the numbers that you want.
The decimals will add upp to your total data size in numbers. So this you must take into account. Or remove the decimals from the measurementserie itself.
It could also be required that you use the "swapped" data type if your master reads the data in the other order.
If you are missing values in your modbus map, take a look at this guide in how to add more data.
https://support.elvaco.com/hc/en-us/articles/360019996938-How-to-add-a-missing-value-into-the-CMe3100-modbus-map
For more information about the measurementseries look at this guide.
https://support.elvaco.com/hc/en-us/articles/7876673564317-How-to-use-the-measurementseries-in-the-CMe3100
Comments (0 comments)