实现西门子S71200/1500与三菱FX系列PLC通讯

sw

一、需求介绍

西门子S71200/1500需要读取三菱FX2N的实时温度值(内存地址:D200)和实时压力值(内存地址:D201)。

二、需求分析

三菱FX2N自带的是RS422的串行接口,而西门子S71200/1500自带的是以太网口,由于物理接口的不同,两个PLC之间无法直接通讯;

三菱FX2N的通讯协议是编程口协议,是一种串行接口协议,而西门子S71200/1500的通讯协议是S7协议,或者是ModbusTCP协议,是一种网络接口协议,由于通讯协议的不同,两个PLC之间无法直接通讯;

这里为了实现两个PLC之间的数据交换,就必须要解决物理接口和通讯协议不一致的问题。

三、硬件连接

可以在三菱FX2N一侧加装硬件:NET30-FX,它能解决物理接口和通讯协议不一致的问题:

首先可以将三菱FX2N的RS422串行接口转成以太网口,解决了两个PLC物理接口不一致的问题;

其次可以将三菱FX2N的编程口协议转成ModbusTCP协议,解决了两个PLC通讯协议不一致的问题。

最终将NET30-FX、西门子S71200/1500,监控PC通过网线接到交换机。


四、软件设置

这里,西门子S71200/1500需要作ModbusTCP的客户端,而三菱FX2N需要作ModbusTCP的服务端。

三菱FX2N通过NET30-FX,已经实现了ModbusTCP的服务端的功能,ModbusTCP和三菱FX2N内部寄存器之间的对应关系如下:

MODBUS地址

PLC内部寄存器地址

数据类型

计算公式

modbus功能号

最大指令数

000001~

输出线圈:Y0~

Ym=000001+m①

FC1(读线圈)

FC5(写线圈)

FC1:512

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+m③

FC2(读输入)

512

400001~

定时器:T0~

Tm=400001+m

FC3(读寄存器)

FC16(写寄存器)

FC6(写单一寄存器)

FC3:127

FC16:127

FC6:1

401001~

计数器:C0~C199

Cm=401001+m

411001~

计数器:C200~C255

Cm=411001+(m-200)*2④

401301~

特殊:D8000~

D8m=401301+m⑤

402001~

资料暂存器:D0~

Dm=402001+m

420001~

文件寄存器:R0~

Rm=420001+m

通过公式计算得出:

实时温度值D200对应的Modbus地址是402201;

实时压力值D201对应的Modbus地址是402202;

西门子S71200/1500可以通过调用通讯库中的MB_CLIENT指令实现ModbusTCP的客户端的功能:


MB_CLIENT指令参数中设置的IP地址(192.168.1.208)是NET30-FX的IP地址(NET30-FX的IP可以任意设置),并设置读取了Modbus地址402201(三菱FX2N的D200)开始的2个字存入开始的2个字中。

五、数据展示

通过三菱FX2N的编程软件读取到的D200和D201的值如下:


通过西门子S71200/1500的编程软件读取到的和的值如下:


通过对比,数据完全一致,S71200/1500成功通过ModbusTCP的通讯方式读取了三菱FX2N的数据。

文章版权声明:除非注明,否则均为纵投光影网原创文章,转载或复制请以超链接形式并注明出处。

上一个 锐取信息:如何保养和清洗录播镜头

下一个 「图文+视频」C4D野教程:实景照片合成动画制作案例