3.6.2 IEC 104转Modbus-TCP协议
1、测试工具
该协议转发所需测试工具如下:
-
低代码控制器;
-
Vinci Software(支持协议IEC 60870-101/103/104和Modbus TCP/RTU/ASC,从模式和主模式测试);
-
Modbus Poll(Modbus客户端)和Modbus Slave(Modbus服务端)。
2、主要流程
IEC 104部分:控制器作为IEC 104客户端,Vinci作为IEC 104服务端,控制器读取Vinci上传的数据;
数据处理:将IEC 104采集到数据转存与Modbus协议对应测点之中。
Modbus部分:控制器作为Modbus服务端,Modbus Poll作为Modbus客户端,控制器将数据写入Modbus Poll中。
3、控制器配置文件
3.1、测点配置文件
序号 | 点号 | 名称 | 别名 | 是否离散 | 是否计算点 | 默认值 | 备注 |
---|---|---|---|---|---|---|---|
1 | 100001 | 测点1 | YX1 | TRUE | FALSE | 0 | 遥信1 |
2 | 100002 | 测点2 | YX2 | TRUE | FALSE | 0 | 遥信2 |
3 | 100003 | 测点3 | YX3 | TRUE | FALSE | 0 | 遥信3 |
4 | 100004 | 测点4 | YX4 | TRUE | FALSE | 0 | 遥信4 |
5 | 100005 | 测点5 | YX5 | TRUE | FALSE | 0 | 遥信5 |
6 | 100006 | 测点6 | YX6 | TRUE | FALSE | 0 | 遥信6 |
7 | 100007 | 测点7 | YX7 | TRUE | FALSE | 0 | 遥信7 |
8 | 100008 | 测点8 | YX8 | TRUE | FALSE | 0 | 遥信8 |
9 | 100009 | 测点9 | YX9 | TRUE | FALSE | 0 | 遥信9 |
10 | 100010 | 测点10 | YX10 | TRUE | FALSE | 0 | 遥信10 |
11 | 100011 | 测点11 | YC1 | FALSE | FALSE | 0 | 遥测1 |
12 | 100012 | 测点12 | YC2 | FALSE | FALSE | 0 | 遥测2 |
13 | 100013 | 测点13 | YC3 | FALSE | FALSE | 0 | 遥测3 |
14 | 100014 | 测点14 | YC4 | FALSE | FALSE | 0 | 遥测4 |
15 | 100015 | 测点15 | YC5 | FALSE | FALSE | 0 | 遥测5 |
16 | 100016 | 测点16 | YC6 | FALSE | FALSE | 0 | 遥测6 |
17 | 100017 | 测点17 | YC7 | FALSE | FALSE | 0 | 遥测7 |
18 | 100018 | 测点18 | YC8 | FALSE | FALSE | 0 | 遥测8 |
19 | 100019 | 测点19 | YC9 | FALSE | FALSE | 0 | 遥测9 |
20 | 100020 | 测点20 | YC10 | FALSE | FALSE | 0 | 遥测10 |
3.2、通信通道配置文件
IEC 104通信通道配置文件
IEC 104客户端的通信通道配置文件如下:
通道名称 | iec104服务通道1 | 序号 | 起始地址 | 点号 | 是否遥信 | 控制点地址 |
---|---|---|---|---|---|---|
测点个数 | 20 | 1 | 1 | 100001 | TRUE | 6001 |
服务端ip | 127.0.0.1 | 2 | 2 | 100002 | TRUE | 6002 |
服务端端口 | 2404 | 3 | 3 | 100003 | TRUE | 6003 |
通道状态点号 | 4 | 4 | 100004 | TRUE | 6004 | |
源发地址 | 0 | 5 | 5 | 100005 | TRUE | 6005 |
公共地址 | 1 | 6 | 6 | 100006 | TRUE | |
公共地址字节数 | 2 | 7 | 7 | 100007 | TRUE | |
传输原因字节数 | 2 | 8 | 8 | 100008 | TRUE | |
信息体地址字节数 | 3 | 9 | 9 | 100009 | TRUE | |
T2超时(ms) | 15000 | 10 | 10 | 100010 | TRUE | |
T2超时(ms) | 10000 | 11 | 11 | 100011 | FALSE | 6011 |
T3超时(ms) | 20000 | 12 | 12 | 100012 | FALSE | 6012 |
最大发送报文参数 | 12 | 13 | 13 | 100013 | FALSE | 6013 |
最大接收报文参数 | 8 | 14 | 14 | 100014 | FALSE | 6014 |
控制方向是否带时标 | FALSE | 15 | 15 | 100015 | FALSE | 6015 |
总召时间间隔(ms) | 10000 | 16 | 16 | 100016 | FALSE | |
是否为客户端(必须是TRUE) | TRUE | 17 | 17 | 100017 | FALSE | |
点度量总召时间间隔(ms) | 10000 | 18 | 18 | 100018 | FALSE | |
19 | 19 | 100019 | FALSE | |||
20 | 20 | 100020 | FALSE |
Modbus通信通道配置文件
Modbus-TCP服务端的通信通道配置文件如下:
通道名称 | server测试通道 | 通道名称 | 测试通道1 | 序号 | 寄存器类型 | 起始地址 | 数据类型 | 新请求标志 | 轮询周期 | 点号 | |
---|---|---|---|---|---|---|---|---|---|---|---|
连接个数 | 1 | 测点个数 | 20 | 1 | COILS | 0 | Binary | FALSE | 5000 | 100001 | |
服务端口 | 502 | 服务端ip | 127.0.0.1 | 2 | COILS | 1 | Binary | FALSE | 5000 | 100002 | |
服务端端口 | 5502 | 3 | COILS | 2 | Binary | FALSE | 5000 | 100003 | |||
slave id | 1 | 4 | COILS | 3 | Binary | FALSE | 5000 | 100004 | |||
通信协议 | XA | 5 | COILS | 4 | Binary | FALSE | 5000 | 100005 | |||
一次读寄存器数上限 | 125 | 6 | COILS | 5 | Binary | FALSE | 5000 | 100006 | |||
一次读开关数上限 | 2000 | 7 | COILS | 6 | Binary | FALSE | 5000 | 100007 | |||
一次写寄存器数上限 | 120 | 8 | COILS | 7 | Binary | FALSE | 5000 | 100008 | |||
一次写开关数上限 | 1968 | 9 | COILS | 8 | Binary | FALSE | 5000 | 100009 | |||
轮询周期(ms) | 5000 | 10 | COILS | 9 | Binary | FALSE | 5000 | 100010 | |||
超时(ms) | 1000 | 11 | HOLDING | 10 | TwoByteIntSigned | FALSE | 5000 | 100011 | |||
状态测点号 | 12 | HOLDING | 11 | TwoByteIntSigned | FALSE | 5000 | 100012 | ||||
13 | HOLDING | 12 | TwoByteIntSigned | FALSE | 5000 | 100013 | |||||
14 | HOLDING | 13 | TwoByteIntSigned | FALSE | 5000 | 100014 | |||||
15 | HOLDING | 14 | TwoByteIntSigned | FALSE | 5000 | 100015 | |||||
16 | HOLDING | 15 | TwoByteIntSigned | FALSE | 5000 | 100016 | |||||
17 | HOLDING | 16 | TwoByteIntSigned | FALSE | 5000 | 100017 | |||||
18 | HOLDING | 17 | TwoByteIntSigned | FALSE | 5000 | 100018 | |||||
19 | HOLDING | 18 | TwoByteIntSigned | FALSE | 5000 | 100019 | |||||
20 | HOLDING | 19 | TwoByteIntSigned | FALSE | 5000 | 100020 |
4、测试过程
4.1Vinci配置
如下图所示,配置IEC 104服务端的IP地址及端口号(根据实际情况变动),设置公共地址、源发地址与低代码控制器IEC 104通信通道配置文件一致,并完成遥信、遥测的地址+数据配置以及控制点地址配置,完成后点击Start,即可得到如图的数据。
4.2低代码控制器配置
控制器作为IEC 104客户端以及Modbus服务端,上传第三节中的各配置文件,注意其中IP地址及端口号需根据实际情况变动。
4.3Modbus Poll配置
如下图所示,配置Modbus服务端的IP地址及端口号(根据实际情况变动),完成后点击connection。
由于控制器会主动上传数据至Modbus Poll,所以能自动显示数据。对比数据可知低代码控制器完成了IEC 104至Modbus-TCP协议转发任务。