ArduinoGeneral

URM04 Communication protocol

userHead maria.noronha.costa 2019-09-04 15:44:13 1917 Views1 Replies
Hi!
I need to configure a Freeport communication protocol in a Siemens RS485 communication module to connect the RS485 bus to a PLC (I need the communication module to recognize the data structure used by the sensors).
In the user guide (communication protocols section) it is explained how to change the sensors addresses to have multiple devices sharing the same RS485 bus. Does a sensor return to its default address after losing power? Or does it remember the previously set address?
Also, what does the SUM mean?
Thank you in advance!
2019-09-05 11:30:38 Hey Maria,
Please refer to the user manual for the URM04 sensor to understand its communication protocol. In this manual you can get a full understanding of the communication protocol. It can be found here: http://image.dfrobot.com/image/data/SEN ... ual1.1.pdf And it will remember the address after being restarted. SUM refers to the checksum value for the sent data. The sum will take the lower two bits for the sum of all the pervious hex data values. For example, if you send the following command :
0x55 0xaa 0x11 0x00 0x03 SUM (which reads temp BTW)
You will add 0x55+ 0xaa+ 0x11+ 0x00+ 0x03 , which equals 0x113. Then you take the lower 2 bits of this sum, which is 13 and this is your SUM value
Therefore your final command is
0x55 0xaa 0x11 0x00 0x03 0x13

As for your first question, there is no abstract data structure being sent. Instead you are merely reading direct hex values whose position corresponds to the communication protocol established. Therefore any system that you set up that can interpret RS485 communication (using your Siemens module) just needs to read the hex output. To send a command you simply send the corresponding hex command as well. You do not have to worry about abstract data structures.
userHeadPic robert