三菱FX系列PLC实现ModbusTCP通讯

1.实现方案

        采用ComeMeal-FX模块实现ModbusTCP通讯,用于MES、SCADA、DCS等上位机系统以太网通讯三菱FX系列PLC,ComeMeal-FX模块适用于三菱FX1S、FX1N、FX2N、FX3U、FX3G、FX3S系列PLC的以太网扩展;ComeMeal-FX模块采用三通设计,不占用PLC通讯口,不对原系统做任何硬件和软件修改,即可通过本模块网口对PLC进行数据监控、操作和PLC编程等,同时原系统串口触摸屏通过模块扩展通讯口继续和PLC进行通讯,非常方便构建生产管理系统

        支持ModbusTCP服务器,支持FC1、FC2、FC3、FC5、FC15、FC6、FC16,网关内部将Modbus数据区自动映射至FX数据区,无需PCL额外配置和编程操作;

2.ModbusTCP通讯

ComeMeal-FX模块内部集成ModbusTCP通讯服务器,因此ModbusTCP客户机,如支持ModbusTCP的组态软件、OPC服务器、PLC以及实现ModbusTCP客户机的高级语言开发的软件等,可以直接访问三菱FX系列PLC的内部数据区,Modbus协议地址在模块内部已经被默认映射到FX系列PLC的地址区,实现的功能号包括:FC1、FC2、FC3、FC5、FC6和FC16。

ModbusTCP协议帧格式:

事务处理标识符

事务处理标识符

协议标识符

协议标识符

长度字段(高字节)

长度字段(低字节)

从站地址

功能号

数据地址(高字节)

数据地址(低字节)

指令数(高字节)

指令数(低字节)

0x0

0x0

0x0

0x0

0x0

后面的字节数

2.1地址映射表    

Modbus从站地址

FX系列PLC内部软元件

数据类型

计算公式

功能号

最大指令数

000001~

输出线圈:Y0~

Ym = 000001+DEC(m)    ①

FC1(读线圈)

FC5(写单个线圈)

FC15(写多个线圈)

FC1:2000

FC5:1

FC15:32

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           ⑥

说明:

  • Y点采用八进制编码方式,将点数值转换成十进制后,计算Modbus地址,如Y47,47(八进制)换成39(十进制),对应地址是000001+39=000040;

②、其中m表示M线圈标识号去掉8000的剩余数,如M8212时m=212;

    ③、X点采用八进制编码方式,将点数值转换成十进制后,计算Modbus地址,如X110,110(八进制)换成72(十进制),对应地址是100001+72=100073;

④、C200之后的计算器当前值为32位,故映射需要两个Modbus空间,例如C210,其m=210,对应的Modbus地址为401201+(210-200)*2=401221;

⑤、其中m表示特殊功能寄存器D标识号去掉8000的剩余数,如M8120时m=120;

⑥、此R寄存器,仅当FX3U机型(存在R寄存器的PLC机型)时可用,注意Modubs地址映射成6位;

2.2用ModScan32测试

1运行ModScan32软件。

2选择菜单Connection/Connect,选择Remote TCP/IP Server,输入ComMeal-FX的IP地址,Service端口为502;点击[OK]按钮,如图1所示。

图1

3在子窗口“ModSca1”中设置Device IDPLC的站地址(如1),功能号选择03:HOLDING REGISTERAddress = 1301Length = 100。

4子窗口数据区显示40130140140016进制数据,其对应于三菱FX系列PLC的特殊寄存器D8000到D8100的数值,如图2所示。

图2

5双击子窗口数据区的数据可以修改数值。

2.3 WinCC通过ModbusTCP驱动连接ComeMeal-FX

1、打开Wincc软件,新建一个项目,右击“变量管理”,选择“添加新的驱动连接”,在弹出的对话框中选择“Modbus TCPIP.chn”,点击“确定”。

2、右击“Modbus TCPIP/IP 单元#1”选择“新驱动程序的连接”,新建一个名称,点击“属性”,弹出属性的对话框,在“CPU类型”选择“984”,在“服务器”中填入ComeMeal-FX的IP地址,点击确定。

3、右击“变量名称”,新建变量,这里我们新建一个D0变量,对应地址的设定请点击“选择”,弹出对话框,“区域”中选择“4x保持寄存器”,“4x”中填入“402001”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值