远创智控Y8000-FX 模块内部集成ModbusTCP 服务器,因此ModbusTCP 客户机,如支持ModbusTCP 的组态软件、OPC 服务器、PLC 以及实现ModbusTCP 客户机的高级语言开发的软件等,可以直接访问三菱FX 系列PLC 的内部数据区,Modbus 协议地址在Net 内部已经被默认映射到FX 系列PLC 的地址区,实现的功能号包括:FC1、FC2、FC3、FC5、FC6 和FC16。
1, ModbusTCP 协议帧格式:
事务处理标识 符 |
事 务处 理标 识 符 |
协议标识符 | 协 议 标识符 | 长度字段(高字节) |
长 度 字 段 (低字节) |
从站地址 | 功能号 |
数据地址 ( 高 字节) |
数 据 地址(低字节) | 指 令数(高字节) | 指 令数(低字节) |
0x0 | 0x0 | 0x0 | 0x0 | 0x0 |
后面的字节 数 |
地址映射表
Modbus从站地 址 |
FX系列PLC 内部软元件 |
数据 类型 |
计算公式 | 功能号 | 最大指令数 | |
000001~ | 输出线圈:Y0~ | 位 | Ym = 000001+DEC(m) | ① |
FC1(读线圈) FC5(写线圈) |
FC1:2000 FC5:1 |
005001~ | 特殊:M8000~ | M8m = 005001+m | ② | |||
006001~ | 定时器线圈:T0~ | Tm = 006001+m | ||||
007001~ | 计数器线圈:C0~ | Cm = 007001+m | ||||
010001~ | 线圈:M0~ | Mm = 010001+m | ||||
030001~ | 线圈:S0~ | Sm = 030001+m | ||||
100001~ | 输入:X0~ | 位 | Xm = 100001+DEC(m) | ③ | FC2(读输入) | 2000 |
400001~ | 定时器:T0~ | 字 | Tm = 400001+m |
FC3(读寄存器) FC16(写寄存器) FC6(写单一寄存器) |
FC3:125 FC16:125 FC6:1 | |
401001~ | 计数器:C0~ | Cm = 401001+m | ||||
401201~ | 计数器:C200~ | Cm=401201+(m-200)*2 | ④ | |||
401301~ | 特殊:D8000~ | D8m = 401301+m | ⑤ | |||
402001~ | 资料暂存器:D0~ | Dm = 402001+m | ||||
420001~ | 文件寄存器:R0~ | Rm=420001+m | ⑥ |
1, S7-1200 编程
本例中,S7-1200 作为ModbusTCP 主站(客户机),三菱FX3U 作为 ModbusTCP 从站(服务器)。读取从站400001~400008 的8 个寄存器(T0 到T7)到主站 MW100~MW114,以及将主站MW116~MW130 的 8 个字写入到从站 402101 至 402108 (D100 到D108)。
示例程序如下:
2, 新建DB 块
3, 编写ModbusTCP 客户机程序
数据验证
S7-1200 读取三菱FX3U 数据验证
4, 用三菱编程软件works2 监视并修改三菱FX3UT0 至T7 的数值
5, 西门子编程软件监视MW100 至MW114 的数值
S7-1200 写入三菱FX3U 数据验证
6, 用西门子编程软件修改西门子MW116 至MW130 的数值
7, 监视三菱FX3UD100 至D107 的数值
审核编辑:汤梓红
-
plc
+关注
关注
5010文章
13277浏览量
463111 -
西门子
+关注
关注
94文章
3035浏览量
115797 -
MODBUS
+关注
关注
28文章
1802浏览量
76965 -
TCP
+关注
关注
8文章
1353浏览量
79058
发布评论请先 登录
相关推荐
评论