AC500 Modbus RTU Slave, Issue
I am setting up an AC500 as a Modbus RTU slave to speak to an customer master PLC (non ABB).
The Master device want to reads analogues values in the Input register (for example from 30001 to 30200) and the alarms (digital) in the input status (for example from 10001 to 10200).
What I have to do to do this?
For example:
AC500 (Server)--> Test AT %MB0.0 : INT := 10;
Other (Master)--> 30001=10; but also 10010=1, 10012=1
Many thanks
BR
The Master device want to reads analogues values in the Input register (for example from 30001 to 30200) and the alarms (digital) in the input status (for example from 10001 to 10200).
What I have to do to do this?
For example:
AC500 (Server)--> Test AT %MB0.0 : INT := 10;
Other (Master)--> 30001=10; but also 10010=1, 10012=1
Many thanks
BR
Answers
Hi,
In AC500, all Modbus Registers are Holding registers. In other words, there are no separate memory areas defined for HR, IR,Coils and Input status.
The Modbus Master may either use FC3 or FC4 to read registers 30001-30200/40001-40200/%MW0.0-%MW0.200 of the AC500 RTU slave and FC6 to read the bit wise status of a particular register in the AC500 PLC.
Example:
HR:
%MW0.0=>40001=>Reg1 in AC500 PLC as RTU slave
%MW0.1=>40002=>Reg2 in AC500 PLC as RTU slave
.
.
.
.
%MW0.199=>40200=>Reg200 in AC500 PLC as RTU slave
Input Status:
Map the individual bit values to the 16 bit Modbus Holding register (%MW0.xxx) in the AC500 Codesys application. Use FC3 to read the encoded register and decode again to individual bit status in the Master PLC. This way you can avoid using FC6 for reading input status.
Please find attached a document which describes configuration of AC500 for Modbus RTU communication.
Kindly search the forum for any additional information, as AC500 Modbus communication is well discussed on this forum.
Regards
Rahil
In AC500, all Modbus Registers are Holding registers. In other words, there are no separate memory areas defined for HR, IR,Coils and Input status.
The Modbus Master may either use FC3 or FC4 to read registers 30001-30200/40001-40200/%MW0.0-%MW0.200 of the AC500 RTU slave and FC6 to read the bit wise status of a particular register in the AC500 PLC.
Example:
HR:
%MW0.0=>40001=>Reg1 in AC500 PLC as RTU slave
%MW0.1=>40002=>Reg2 in AC500 PLC as RTU slave
.
.
.
.
%MW0.199=>40200=>Reg200 in AC500 PLC as RTU slave
Input Status:
Map the individual bit values to the 16 bit Modbus Holding register (%MW0.xxx) in the AC500 Codesys application. Use FC3 to read the encoded register and decode again to individual bit status in the Master PLC. This way you can avoid using FC6 for reading input status.
Please find attached a document which describes configuration of AC500 for Modbus RTU communication.
Kindly search the forum for any additional information, as AC500 Modbus communication is well discussed on this forum.
Regards
Rahil
by alessandro.nigro Rank: 5776 on 7/25/2019 1:37:18 AM | Like (0) | Report
I would like to write only 30000 and not 10000.
Add new comment