3.6.1 Modbus-TCP转IEC 104协议

1、测试工具

该协议转发所需测试工具如下:

  • 低代码控制器

  • Vinci Software(支持协议IEC 60870-101/103/104和Modbus TCP/RTU/ASC,从模式和主模式测试);

  • Modbus Poll(Modbus客户端)和Modbus Slave(Modbus服务端)。

2、主要流程

Modbus部分:控制器作为Modbus客户端,Modbus Slave作为Modbus服务端,Modbus Slave主动上传采集的数据至控制器;

数据处理:将Modbus采集到数据转存与IEC 104协议对应测点之中。

IEC 104部分:控制器作为IEC 104服务端,Vinci作为IEC 104客户端,控制器主动上传数据至Vinci或Vinci发送总召命令读取控制器中所有数据。

3、控制器配置文件

3.1、测点配置文件

序号点号名称别名是否离散是否计算点默认值备注
1100001测点1YX1TRUEFALSE0遥信1
2100002测点2YX2TRUEFALSE0遥信2
3100003测点3YX3TRUEFALSE0遥信3
4100004测点4YX4TRUEFALSE0遥信4
5100005测点5YX5TRUEFALSE0遥信5
6100006测点6YX6TRUEFALSE0遥信6
7100007测点7YX7TRUEFALSE0遥信7
8100008测点8YX8TRUEFALSE0遥信8
9100009测点9YX9TRUEFALSE0遥信9
10100010测点10YX10TRUEFALSE0遥信10
11100011测点11YC1FALSEFALSE0遥测1
12100012测点12YC2FALSEFALSE0遥测2
13100013测点13YC3FALSEFALSE0遥测3
14100014测点14YC4FALSEFALSE0遥测4
15100015测点15YC5FALSEFALSE0遥测5
16100016测点16YC6FALSEFALSE0遥测6
17100017测点17YC7FALSEFALSE0遥测7
18100018测点18YC8FALSEFALSE0遥测8
19100019测点19YC9FALSEFALSE0遥测9
20100020测点20YC10FALSEFALSE0遥测10

3.2、通信通道配置文件

Modbus通信通道配置文件

Modbus-TCP客户端的通信通道配置文件如下:

通道名称测试通道1序号寄存器类型起始地址数据类型新请求标志轮询周期点号
测点个数201COILS0BinaryFALSE5000100001
服务端ip127.0.0.12COILS1BinaryFALSE5000100002
服务端端口55023COILS2BinaryFALSE5000100003
slave id14COILS3BinaryFALSE5000100004
通信协议XA5COILS4BinaryFALSE5000100005
一次读寄存器数上限1256COILS5BinaryFALSE5000100006
一次读开关数上限20007COILS6BinaryFALSE5000100007
一次写寄存器数上限1208COILS7BinaryFALSE5000100008
一次写开关数上限19689COILS8BinaryFALSE5000100009
轮询周期(ms)500010COILS9BinaryFALSE5000100010
超时(ms)100011HOLDING10TwoByteIntSignedFALSE5000100011
状态测点号12HOLDING11TwoByteIntSignedFALSE5000100012
13HOLDING12TwoByteIntSignedFALSE5000100013
14HOLDING13TwoByteIntSignedFALSE5000100014
15HOLDING14TwoByteIntSignedFALSE5000100015
16HOLDING15TwoByteIntSignedFALSE5000100016
17HOLDING16TwoByteIntSignedFALSE5000100017
18HOLDING17TwoByteIntSignedFALSE5000100018
19HOLDING18TwoByteIntSignedFALSE5000100019
20HOLDING19TwoByteIntSignedFALSE5000100020

IEC 104通信通道配置文件

IEC 104服务端的通信通道配置文件如下:

通道名称iec104服务通道1连接名称104连接1序号起始地址点号是否遥信控制点地址
连接个数1测点个数2011100001TRUE6001
服务端端口2404客户端ip127.0.0.122100002TRUE6002
遥信数据类型1客户端端口999933100003TRUE6003
遥测数据类型13通道状态点号10002044100004TRUE6004
是否为客户端FALSE源发地址055100005TRUE6005
公共地址166100006TRUE
公共地址字节数277100007TRUE
传输原因字节数288100008TRUE
信息体地址字节数399100009TRUE
T1超时(ms)150001010100010TRUE
T2超时(ms)100001111100011FALSE6011
T3超时(ms)200001212100012FALSE6012
最大发送报文参数121313100013FALSE6013
最大接受报文参数81414100014FALSE6014
控制方向是否带时标FALSE1515100015FALSE6015
总召时间间隔(ms)100001616100016FALSE
是否为客户端FALSE1717100017FALSE
点度量总召时间间隔(ms)100001818100018FALSE
1919100019FALSE
2020100020FALSE

4、测试过程

4.1Modbus Slave配置

如下图所示,配置Modbus服务端的IP地址及端口号(根据实际情况变动);并完成线圈及保存寄存器的地址+数据配置,完成后点击connection。

Modbus Slave配置

4.2低代码控制器配置

控制器作为Modbus客户端以及IEC 104服务端,上传第三节中的各配置文件,注意其中IP地址及端口号需根据实际情况变动。

4.3Vinci配置

如下图所示,配置IEC 104客户端的IP地址及端口号(根据实际情况变动),设置公共地址、源发地址与低代码控制器IEC 104通信通道配置文件一致,完成后点击Start,即可得到如图的数据。

Vinci配置

由于控制器会主动上传数据至Vinci,所以能自动显示数据,同时Vinci可以发送总召命令读取控制器中公共地址相同的所有数据。

对比数据可知低代码控制器完成了Modbus-TCP至IEC 104协议转发任务。