GX Works3 (四):FX5U作为服务端的以太网MC协议梯形图通信编程

一、通过通信协议进行通信

1、先根据操作文档进行基本操作

 2、打开通讯协议支持功能并设置

 

 

 3、Request\Normal response\Error response 全部可输入选项,输入D2进行设置

 

 

 4、再次操作“模块写入”

二、连接设备的方式

1、连接方式的区别与选择

对象设备名内容内容
Active连接设备在通过CPU模块对对象设备进行打开处理(Active打开)、通过TCP/IP通信的情况下选择。
Unpassive连接设备在接收来自于不确定的对象设备的打开处理(Unpassive打开)、通过TCP/IP通信的情况下选择。
Fullpassive连接设备在接收来自于确定的对象设备的打开处理(Fullpassive打开)、通过TCP/IP通信的情况下选择。

如果外部设备非三菱设备(或没有CPU模块的设备),应该选择Unpassive或Fullpassive(后者需要确定设备的端口),因此这里应该选择Unpassive方式,设置方式如下:

 

 2、烧录程序到CPU后,使用TCP&UDP工具进行模拟连接

如图,根据上述PLC设备的设置,连接FX5U成功

三、Unpassive开放方式socket编程

1、以太网端口配置

2、先了解相关指令与回路符号

 

 

 3、梯形图程序

通过程序编写,确实已经通讯上了,并且能够接收数据,只是PLC上亮起了ERR灯。调试时,貌似运行挺正常的,先暂时放放,不用管他。

 

4、先分析一下程序

SD10680.0  开放完成信号之一,指的是关闭/开放未完成

MOVP H0 D200 数据传输指令,即将H0数据(16进制的0)传给D200

SP.SOCOPEN "U0" K1 D200 M500  其中,"U0"为虚拟,K1为连接编号(1~8),D200的值不同则含义不同(0:执行型/结束型,1:结束状态,7~9:禁止使用,2:通信协议的使用用途 ...),M500完成时会被标记成ON状态

 5、小实验:将上述程序直接将socket通信替换成通信协议的配置

 四、MC-3E协议的梯形图编程

1、需求描述

(1)设置PLC为MC协议的主站,所有未知的设备可通过MC协议连接该主站

(2)未知的设备可以通过TCP模拟工具发送请求,并捕获报文

(3)MC协议采用3E帧的方式

2、设置以太网端口

如图,依旧采取Unpassive的方式连接设备,通信手段为通信协议,协议为TCP,这样可以满足PLC的主站需求。

3、实验一:不写任何程序,直接烧录

(1)如图,使用TCP测试工具能连接

(2)因为没有写任何协议,因此只能连接

 4、实验二:编写简单的通信协议

(1)实现步骤

 (2)协议字段解释

 (3)自定义协议

我们要做的是测试工具发送16进制的12,PLC返回34。

①新建

 ②请求

 ③响应

 (4)不写PLC程序,直接跑PLC

依旧是能连接,且在发送12后不返回数据

(5)尝试写程序,未能实现自定义程序

(6)直接使用FX5U以太网MC协议,并进行直接监控

①使得FX5U作为服务端,这样就不用写MC协议的通信协议了,下面的SLMP就是兼容MC协议的,请求端发送报文如果是3E帧,那么返回的也会是3E帧响应数据。

 ②监控PLC数据的梯形图程序

③发送报文进行验证

请求报文:50 00 00 FF FF 03 00 0E 00 10 00 01 14 00 00 58 1B 00 A8 01 00 0D 00

响应报文:d0 00 00 ff ff 03 00 02 00 00 00

如图,监视写入模式下,能够捕获到请求的数值 0D 00,就是58 1B 写入了 13。

备注,0D00是低位在前,高位在后,因此16进制数值是 000D(13),同理58 1B就是D7000。

 

相关分析(只要看红色部分,其他部分是我司的对应字段,无需了解)如下:

至此,我们调通了PLC作为服务端的MC协议3E帧,客户端的还在研究,暂不处理。

  • 2
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lion King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值