The Inovance InoProShop software is used for programming its AM500 series PLCs. The communication configuration steps for the AM500 series PLC as a Modbus TCP server (slave) are straightforward, as it integrates standard Modbus TCP function blocks.
Below are the detailed steps, divided into server (slave) configuration and client (master) configuration. Typically, the AM500 acts as a slave, accessed by a master device (such as HMI, SCADA, or another PLC).
Part One: Configuration Steps for AM500 as a Modbus TCP Server (Slave)
This step is completed in InoProShop, aiming to set the PLC’s IP address and write a program to map data to the Modbus address space for the master device to read and write.
Step 1: Create a Project and Set Network Parameters
Open InoProShop, create a new project, and select the corresponding AM500 series CPU model.
In the left project tree, right-click on “Devices”, select “Add Device”, and ensure the correct CPU has been added.
Double-click on “Module Configuration” or “Device Configuration” under the CPU to enter the hardware configuration interface.
Locate the integrated Ethernet port of the CPU, double-click to open its properties.
In the “IP Address” tab, set a fixed IP address, subnet mask, and default gateway for the PLC. This is the foundation for network communication.
For example: IP address 192.168.1.10, subnet mask 255.255.255.0
Step 2: Understand the Modbus TCP Protocol of AM500
When the AM500 series PLC acts as a Modbus TCP server, it uses standard Modbus function codes, with the address mapping as follows:
Modbus Type Function Code (Master) Corresponding PLC Storage Area Address Range (Decimal)
Coils 01 (Read), 05 (Write Single), 15 (Write Multiple) M (Auxiliary Relay) 000001 ~ 065536
Discrete Inputs 02 (Read) I (Input Relay) 100001 ~ 165536
Input Registers 04 (Read) AIW (Analog Input) 300001 ~ 365536
Holding Registers 03 (Read), MW (Word) / MD (Double Word) 400001 ~ 465536 06 (Write Single), 16 (Write Multiple)
Important Note: The addresses in the Modbus protocol are typically based on 1 (i.e., counting starts from 1), but in actual communication, the master may use 0-based addresses (counting starts from 0) or 1-based addresses. Please adjust according to the configuration method of the master device.
For example:
If the master wants to read MW100 from the AM500, the corresponding Modbus Holding Register address is 400101 (based on 1).
Some master software may require entering 400100 (if it internally processes as a 0-based offset) or 4100 (6-digit address, removing the leading 4). Please ensure you confirm the address format used by your master software.
Step 3: Write the Server-side Program (Data Mapping)
Programming the AM500 as a server is very simple, requiring no special communication function blocks. You only need to use variables from the M area, I area, AIW area, MW area, etc., in the program as usual.
When the master initiates a request, the PLC’s Modbus TCP protocol stack will automatically handle these requests and access the corresponding storage areas.
Example:
Assuming you want the master to read and write the following data:
The master can read an analog input AIW0.
The master can read and write a holding register MW100.
The master can read and write a coil M0.0.
You only need to use these variables normally in the InoProShop program, for example:
// In the main program or subroutine, use these variables as usual
PROGRAM MAIN
VAR
// Program logic can operate these variables normally
END_VAR
// For example, transfer the value of AIW0 to MW100
LD AIW0
ST MW100
// For example, when M0.0 is True, perform an action
LD M0.0
OUT Y0.0
No additional code is required. The PLC’s protocol stack will automatically map the values of these variables to the corresponding Modbus addresses.
Step 4: Compile, Download, and Run
Compile the project, ensuring there are no errors.
Connect the PC and AM500 PLC via Ethernet cable.
Download the program to the PLC.
Switch the PLC to run mode.
At this point, the server-side setup of the AM500 PLC is complete.
Part Two: Client (Master) Configuration Steps (Conceptual Explanation)
This step is performed on the master device communicating with the AM500, such as debugging software on a computer, HMI, SCADA system, or another PLC acting as a client.
Step 1: Set Master Network Parameters
Ensure the master device and AM500 PLC are on the same subnet.
For example: If the PLC IP is 192.168.1.10, the master IP should be set to 192.168.1.xxx (xxx cannot be 10).
Step 2: Configure Connection in Master Software
Add a new Modbus TCP driver or device.
Set the connection parameters:
IP Address: Enter the IP address of the AM500 PLC, for example, 192.168.1.10.
Port Number: The standard port for Modbus TCP is 502. The AM500 uses this port by default and usually does not require changes.
Slave ID/Unit Number: In standard Modbus TCP, this field is often ignored or used for connecting multiple serial devices behind a gateway. For the AM500, if there is no gateway in the network, it is usually set to 1 or ignored. Please refer to the AM500 manual, but in most cases, just fill in 1.
Step 3: Configure Data Tags in Master Software
Create corresponding data tags in the master software based on the variables you mapped in the AM500.
Requirement AM Variable Modbus Address Type Example Master Address (Based on 1) Example Master Address (Based on 0) Function Code Read Analog Input AIW0 AIW0 Input Registers 300001 300000 04
Read/Write Holding Register MW100 MW100 Holding Registers 400101 400100 03/06/16
Read/Write Coil M0.0 M0.0 Coils 000001 000000 01/05/15
Note: The address format used by the master software is crucial. If communication fails, first check if the address format is correct. You can use Modbus debugging software (such as ModScan) for testing.
Troubleshooting
Physical Connection: Ensure the Ethernet cable is properly connected, and the network indicators on the PLC and master are normal.
Ping Test: On the master computer, open the command prompt and ping 192.168.1.10 (the PLC’s IP) to confirm the network is operational.
Firewall: Ensure the firewall on the master computer is not blocking port 502.
Address Errors: This is the most common issue. Be sure to confirm the Modbus address format used by the master software (0-based or 1-based) and whether the address type is correct.
Use Debugging Tools: It is highly recommended to use software like ModScan (master simulation) and ModSim (slave simulation) for testing, which can quickly identify whether the issue lies with the AM500 side or the master side.
Summary Flowchart
InoProShop Configuration for AM500 (Server/Slave):
1. Set PLC Fixed IP -> 2. Use M, I, MW, AIW variables normally in the program -> 3. Download the program to PLC and run
Master Device (Client) Configuration:
1. Set IP to the same subnet as PLC -> 2. Add Modbus TCP device, point IP to PLC, port 502 -> 3. Create data tags based on mapping table -> 4. Start communication
The above steps establish communication between the AM500 series PLC and the Modbus TCP master device.