Intro To MiRModbusTCP
Intro To MiRModbusTCP
Potentially an unlimited amount of masters could retrieve and send data from/to the robot. Each client/server communication is threaded.
The data is cached to avoid a high-frequency load of requests on the API while providing with a response to any request.
In the MiR robot, the content of Coil and Discrete input are match with each other, so as the Input register and Holding register. So you can get
the same data from them. But only Coil and Holding register can be send information to.
In the representation of the address, some PLC would use the full 5 digits address while others will only use the last 4 digits since it knows the
object type already.
Address allocation
Integer register
MiR robot saves the integer in 32 bits but the modbus communications are 16 bits encoded. So in modbus, two addresses are combined to
represent one integer value in the robot. And MiR modbus uses big endian encoding as standard configuration. This method is applied to all of
the integer registers and integer values of robot's information.
Floating register
MiR modbus use IEEE 754 ISO standard to encode floating point values.
Address offset
Due to some historical reason, the address received in the server would be the number minus 1. For example if you are writing to address 41001,
the address received in the server would be 41000.
"A workaround has been implemented to deal with this situation BUT if another PLC sends the addresses differently we can face an offset of 1
FOR ALL of the Modbus communications."
Modbus Poll is a modbus master simulator and it is a licensed software with a 30 days free trial. Within the trial period, there is a 10 minutes from
connection limit. After 10 minutes the connection is disconnected. Re-starting the application will initiate another 10-minutes demonstration period.
A single-user license would cause $129.
Then you can setup the connection by choosing Modbus TCP/IP in the connection drop menu, then input the IP of the robot at the bottom, make
sure the Server Port is 502, then click OK to connect the robot. The data in the form should be updated to your robot now.
And you can check the connection from the robot interface. Just go to Monitoring > Hardware health > Modbus.
The function is been set to Read Coils 0x, and the PLC Addresses (Base 1) is been checked to compensate the address offset. The form reads 5
objects from the address 1, which is from 00001 to 00005.
You can double-click a value cell to change its value. For example you can double click the cell at address 2 to change the robot's status to
Pause. The robot will perform the command and set the value back to 0.
After you've done the triggers setting, you can call up the mission from Modbus Poll.