42 lines
1.8 KiB
Plaintext
42 lines
1.8 KiB
Plaintext
This is a simplified version of Modbus TCP that allows PICS to simulate the equipment:
|
|
|
|
- All you need to do to get this running is going into the spiffs folder and open Objects.csv
|
|
|
|
- You wil create your Modbus Register Map, this will based on the equipment or UDTs
|
|
|
|
- For Input Coil & Input Registers, you will need to create a Output Coil & Holding Register to edit the value
|
|
|
|
- Once you modify the Objects.csv file, build and flash the program into the ESP32 board
|
|
|
|
- Go to TOP Server and add the Modbus TCP/IP device
|
|
|
|
|
|
For PICS:
|
|
|
|
- Create an I/O Connection, Set it as OPC Client, choose TOPServer
|
|
|
|
- To add the Modbus Device (ESP32), create an I/O Variable, Name the I/O
|
|
|
|
- Under Address, you will follow how Ignition UDT works.
|
|
|
|
- Device Channel . Device . Tag Name (Address)
|
|
|
|
- EX: DFW2_DC3_COD_A11_CH.DFW2_DC3_COD_A11.30001
|
|
|
|
- You will be able to view the data or edit the value
|
|
|
|
|
|
Objects.csv Template / Example:
|
|
type: Can be an Input Coil (Input), Output Coil (Output), Input Holding Register (Input_Holding), or Output Holding Register (Holding_Reg)
|
|
address: Modbus Register, Inputs: 1 - 9999, Outputs: 10000 - 19999, Input_Holding: 30000 - 39999, Holding_Reg: 40000 - 49999 (They can be 6 digits long as well)
|
|
name: Name of Modbus Register
|
|
data_type: bool, uint16, float, uint32, double
|
|
control_address: Address of Ouput or Holding_Reg that will control this Input; if it's an output leave it blank
|
|
notes: Any text that will help you identify it
|
|
|
|
|
|
type,address,name,data_type,control_address,notes
|
|
Coil,1,DI1,bool,10005,Digital Input 1
|
|
Discrete_Input,10005,DO1,bool,,Digital Output 2
|
|
Input_Register,320315,AI1,uint16,465921,Analog Input 1
|
|
Holding_Register,465921,AO1,uint16,,Analog Output 1 |