欧姆龙plc与西门子plc通讯如何交换数据 点击:361 | 回复:1



远创智控

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:183帖 | 0回
  • 年度积分:183
  • 历史总积分:330
  • 注册:2021年1月15日
发表于:2023-07-24 19:30:14
楼主

远创智控 Y8000-FX 模块内部集成 ModbusTCP 服务器,因此 ModbusTCP 客户机,如支持

ModbusTCP 的组态软件、OPC 服务器、PLC 以及实现 ModbusTCP 客户机的高级语言开发的软件等,可以直接访问三菱 FX 系列PLC 的内部数据区,Modbus 协议地址在Net 内部已经被默认映射到 FX 系列 PLC 的地址区,实现的功能号包括:FC1FC2FC3FC5FC6 FC16。

image1.png

 

 

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~4000088 个寄存器(T0T7)到主站 MW100~MW114,以及将主站 MW116~MW130 的 8 个字写入到从站 402101 至 402108  D100 D108)。

示例程序如下:

2, 新建 DB

image2.png

3, 编写 Modbus TCP 客户机程序


 




 

 


 

 

 

2.  数据验证

 

2.1     S7-1200 读取三菱FX3U 数据验证

 

4, 用三菱编程软件works2 监视并修改三菱 FX3U T0T7 的数值


 

image8.jpeg

5, 西门子编程软件监视 MW100MW114 的数值

image9.jpeg

 

2.2     S7-1200 写入三菱FX3U 数据验证

 

6, 用西门子编程软件修改西门子 MW116MW130 的数值



7, 监视三菱 FX3U D100D107 的数值




楼主最近还看过



陳先生

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 49回
  • 年度积分:3
  • 历史总积分:63
  • 注册:2020年3月28日
发表于:2023-07-24 20:03:41
1楼

很好,很好,很好,非常好


热门招聘
相关主题

官方公众号

智造工程师