三菱MC-1E驱动的开发

一、项目背景

        公司接的一个第三方公司工业互联网数据化改造项目采用三菱mc-1e协议进行设备对接。驱动需要实现读取指定的一批地址值,并根据读取的值进行一定的数据转换和统计,最后上传scada平台。

二、协议解析

1、MC协议简介

        MC协议的目的是开放PLC内部寄存器给外部设备,实现外部设备和PLC的数据交互。简单说就是允许外部设备通过MC协议来读/写PLC里面的寄存器。

        通讯方式有485(串口)和TCP、UDP(网口),本文只介绍TCP/IP下的配置和通讯方法。采用一发一收模式,外部设备主动发起通讯,发送特定网络帧给PLC;PLC在接收后返回一帧,如果接收的帧格式错误,则返回帧中会提示错误类型,如果接收帧格式正确,则返回写入成功帧或返回对应数据帧。

        通讯内容分为二进制和ASCII文本,两者传输内容一致,只是形式不同,因为二进制相对于ASCII码形式一帧的数据长度更短,且数据不需要转换,所以通讯效率更高,推荐使用二进制方式。

       在串口通信中,共有以下几种帧:

       4C帧,QnA系列串行通信模块专用协议(Qna扩展帧)

       3C帧,QnA系列串行通信模块专用协议(Qna帧)

       2C帧,QnA系列串行通信模块专用协议(Qna简易帧)

       1C帧,A系列计算机链接模块专用协议

        在以太网通信中,共有以下几种帧,每种帧支持二进制和ASCII格式。A-1E为较早的通信版本,对地址的操作范围有限(数据寄存器区的D0~D6143、D9000~D9255),Qna-3E可访问D0~D12287数据

     4E帧,是3E帧上附加了“序列号”。

     3E帧,QnA系列以太网接口模块的报文格式,兼容SLMP的报文格式

     1E帧,A系列以太网接口模块的报文格式

  2、MC-1E(MC协议帧,A-1E帧)

https://img-blog.csdnimg.cn/20200915085435962.png

 1)通信内容为二进制码时的格式(内容低位在前,高位在后)

        A)读取

        请求示例指令 :00 FF 0A 00 64 00 00 00 20 4D 08 00

        <1>副标题: 00  -》 功能码

        <2>PC号: FF  -》 PC号固定为FF

        <3>监视定时器: 0A 00  -》  等待时间

                这是用于设置在以太网适配器向可编程控制器发出读出/写入要求后到返回结果之间等待时间的定时器。

                i) 设置值可以如下指定。

                0000H(0): 无限等待(一直等到可编程控制器返回响应。 )

                0001~FFFFH(1~65535): 等待时间(单位250ms)

                ii) 要进行正常的数据通信, 建议根据通信对象, 在1~40(0.25~10秒)的设置范围内使用。

        <4>地址: 64 00 00 00

        <5>软元件(类型): 20 4D

        <6>软元件点数: 08  à 此示例为8个辅助继电器值

        <7>结束代码: 00 

        00: 正常结束,00以外是异常结束。(5060H) 异常结束时, 请根据下文对应的故障排除,确认内容并采取措施。当结束代码为5BH/线须“5B”时, 后面会紧跟着异常代码(1018H)的数据和00H/“00”

回复示例指令:

     成功:80 00 10 10 01 10

  1. 副标题:80
  2. 结束代码:00
  3. 应答数据:10 10 01 10 需要根据读取数据类型解析

        B)写入

        请求示例指令 :02 FF 0A 00 32 00 00 00 20 4D 0C 00 01 11 01 00 00 01

        <1>指令:02,即为批量写入

        <2>蓝色部分:FF 0A 00 32 00 00 00 20 4D 0C (同读取一样)

        <3>写入数据:01 11 01 00 00 01 (根据发送数据类型解析)

        回复示例指令:

        成功:8200

        <1>副标题:82

        <2>结束代码:00

2)通信内容为ASCII时的格式(内容高位在前,低位在后)

        此处只以读取为例,进行说明。

        A)读取

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zouzh

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

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

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

打赏作者

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

抵扣说明:

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

余额充值