Please check the link below.
xMasterSlave supports Master and Slave End protocols of DNP3, DNP3 TCP/IP, Modbus, Modbus TCP/IP, Modbus Plus, etc.
- xMasterSlave provides process monitoring, visualization and control, data logging and graphic display, historical trending, alarming, recipe handling, data archiving and much, much more in one complete package.
Protocol over Serial or Modbus Plus or TCP/IP communication link: DNP3, Modbus, PLC Hostlink, etc. Bridging DNP3 commands to Modbus 4xxx Registers -- i.e. a DO Pulse \w Duration On-Time/Off-Time to Modbus Register.
xMasterSlave is a very good diagnosis/troubleshooting tool and simulator of DNP3 and Modbus.
xMasterSlave – xRTU18 Applications: (Data Concentrator / RTU, Protocol Converter / Gateway)
Main Features:
•MS Windows Embedded/Industrial platform.
•Master and Slave applications of DNP3, MB, L&G, etc.
•Up to 256 Master/Slave Applications.
•Up to 32 Data Collection Sessions per Application.
•Up to 8192 Points/Tagnames per Application.
•Up to 8192 Points (raw data) in shared RTU database.
•Events Polling interval: 250ms – 1000ms.
•DNP3 to Modbus controls.
•Dual LAN Configurations- Auto Switch in 1s – 10s.
•Local HMI (Display Graphic Editor and Runtime).
•Diagnose/Troubleshoot & Log Interface.
•Text-Based Configuration files – with Graphic User I/F.
•Offline & Online Configuring/Programming.
xSlave offers you Hand-free commissioning, Controls(DO&AO)-Details/Action/scripts, Auto/Manual Data Presetting, Log/Protocol Message and Raw Rx/Tx bytes, TCP/IP connections monitoring, RTU functioning, etc.
Here is the list of DNP Obj Var that supported by DNP_Slave.
Object=01 Variations=0,2 Qualifier=0x01,0x06
Object=02 Variations=0,1,2 Qualifier=0x01,0x06
Object=10 Variations=0,2 Qualifier=0x01,0x06
Object=12 Variations=1,2,3 Qualifier=0x01,0x28,0x07,0x17,0x08
Object=20 Variations=0,1,2 Qualifier=0x01,0x06
Object=21 Variations=0,1,2 Qualifier=0x01,0x06
Object=22 Variations=0,1,2,5,6 Qualifier=0x01,0x06
Object=22 Variations=0,1,2,5,6 Qualifier=0x01,0x06
Object=30 Variations=0,1,2,5 Qualifier=0x01,0x06
Object=32 Variations=0,1,2,3,4,5 Qualifier=0x01,0x06
Object=40 Variations=0,1,2,3 Qualifier=0x01,0x06
Object=41 Variations=1,2,3 Qualifier=0x01,0x17,0x28
Object=50 Variations=0,2 Qualifier=0x01,0x06
Object=60 Variations=1,2,3,4 Qualifier=0x06
xSlave application control scripts that can bridge DNP3 controls to xMaster Applications (i.e. Modbus and DNP3):
Sample1: P:D12=T if the current control is DO-Pulse, send SBO Trip on point:DO#12, ON_Time from Ctrl_Time.
Sample2: P:D12=C if the current control is DO-Pulse, send SBO Close on point:DO#12, ON_Time from Ctrl_Time.
Sample3: T:D12=P~D13=P if the current control is SBO Trip, send DO-Pulse on Point DO#12, else if is SBO Close send DO-Pulse on point:DO#13, ON_Time from Ctrl_Time.
Sample4: C:D12=P~D13=P if the current control is SBO Close, send DO-Pulse on Point DO#12, else if is SBO Trip send DO-Pulse t on point:DO#13, ON_Time from Ctrl_Time.
Sample5: >:0>D12=P~D13=P if the current AO Setpoint value>0, send DO-Pulse on Point DO#12, else if is SBO Trip send DO-Pulse on point:DO#13, ON_Time from Ctrl_Time.
Sample6: T:A12=xxxx~A12=yyyy if the current control is SBO Trip, send AO Setpoint AO#12 value=xxxx, else if is SBO Close send AO Setpoint AO#12 value=yyyy.
Sample7: T:A12=T~A12=* if the current control is SBO Trip, send AO Setpoint AO#12 value=ON-Time(Ctrl_Time), else if is SBO Close send AO Setpoint AO#12 value=OFF-Time(Control_DWord).
Sample8: =:0>D12=P if the current AO Setpoint value is 0, send DO-Pulse on Point DO#12, else do nothing.
Sample9: >:1234>D12=T~D12=C if the current AO Setpoint value > 1234, send SBO Trip on Point DO#12, else (<=1234) send SBO Close on Point DO#12.
Sample10: *:A12=4321|D12=p Any command (i.e an AO Setpoint) is received, send an AO Setpoint AO#12 value=4321 and send Pulse-output (500ms-fixed) to DO#12.
Sample11: P:A12=T~A12=0 if the current control is DO-Pulse, send AO Setpoint AO#12 value=Pulse Duration-Time (ON_Time/Ctrl_Time), else send AO Setpoint AO#12 value=0.