三菱plc串口通信协议与串口初始化

1、系统硬件构成

三菱fx系列plc自带的编程口是rs-422接口,而pc机的串行通信口则是rs-232c接口,两者之间需要通过sc-09适配电缆才能通信。不同设备上相同类型的通信接口的引脚定义可能存在差异。pc机与三菱fx系列plc上的通信接口引脚定义如图1所示。

图2 sc-09电缆内部电路

2、通信协议

pc机与plc之间有两种通信方式:一种是pc机具有优先权而plc始终被动响应pc机发来的命令;另一种则是plc具有优先权,将命令发送给pc机,并接收来自pc机的响应。本文采用的是前一种通信方式。

为实现pc机与fx系列plc编程口之间的通信,系统采用的是编程口专用通信协议。

2.1 控制字符

在pc机与fx系列plc的串行通信中,数据是以帧为单位发送和接收的。

其中,控制字符enq(05h)、ack(06h)和nak(15h)可以构成单字符帧心1,其余的字符帧在发送或接收时都必须用控制字符stx(02h)和etx(03h)分别作为该帧的起始标志和结束标志。

各控制字符的意义如表1所示。

表1 控制字符意义

2.2 命令代码

pc机对plc相应软元件的操作是通过"0"、"1"、"7"、"8"四个命令符来实现的,各命令符的含义如表2所示。

表2 命令字符含义

2.3 命令帧

一个完整的命令帧由控制字符stx(02h)、命令码(cmd)、数据段、控制字符etx(03h)以及和校验码五部分组成。

其中,和校验码是从命令码到控制字符etx的所有字符的ascii码(十六进制)相加所得结果的最低两位数。

①pc机"读"命令帧

"读"命令帧由报文开始标志、命令码、软元件首地址、软元件数据长度(字节数)、报文结束标志以及和校验码组成。来自:电工技术之家

当通信正确时,plc返回的应答帧由报文开始标志、数据段、报文结束标志以及和校验码组成;通信出错时,plc应答"nak"。

②pc机"强制on"命令帧

pc机"强制on"命令帧由报文开始标志、命令码(37h)、软元件地址、报文结束标志以及和校验码组成。接收命令正常时,plc应答"ack";接收出错时,plc应答"nak"。

③pc机"强制off"命令帧

pc机"强制off"命令帧由报文开始标志、命令码(38h)、软元件地址、报文结束标志以及和校验码组成。接收命令正常时,plc应答"ack";接收出错时,plc应答"nak"。

④pc机"写"命令帧

pc机"写"命令帧由报文开始标志、命令码、软元件首地址、软元件数据长度(字节数)、待写入软元件的数据、报文结束标志以及和校验码组成,如图3所示。写入正常时,plc应答"ack";写入出错时,plc应答"nak"。

图4 串行通信程序流程图

3.1 串口初始化

串口按照fx系列plc的标准通信参数进行配置:①波特率为9 600 bit/s;②数据比特为7位;③奇偶校验方式采用偶校验;④停止位为1位。

3.2 请求通信

开始通信时,pc机发送"enq"指令查询plc是否准备好,同时也检查pc机到plc的连接是否正确。(www.dgjs123.com)当接收到字符后,若plc处在run状态,则要等到本次扫描周期结束时才应答;若plc处在stop状态,则马上应答。通信正常时,plc应答"ack";通信出错时,应答"nak"。

3.3 读取plc软元件状态

程序首先通过visa写入节点发送命令字符"0"读取plc相应软元件的状态,然后visa读取节点获得plc返回数据。写入和读取的字符串都是十六进制形式的。通过对读取的字符串的拆分可获得相应软元件每一位的状态,从而起到监视plc的作用。

3.4 数据写入plc软元件

程序首先通过visa写入节点发送命令字符"1"对相应的软元件进行写入操作,然后visa读取节点获得plc返回的应答帧,若写入正确,plc应答"ack";若写入错误,plc应答"nak"。将写入数据传送至plc软元件所对应的地址,即可对软元件的任意位进行实时操作。数据写入plc的程序框图如图5所示。

图5 数据写入plc的程序框图

3.5 关闭串口

通信结束后,需使用visa关闭节点关闭串口设备,否则程序会一直占用串口资源,导致其他程序无法访问。

三菱plc串口通讯c语言,三菱plc串口通信协议与串口初始化相关推荐

  1. c#rs232与三菱通讯_C#对三菱PLC的以太网和串口通讯以及台达PLC的以太网通讯

    [实例简介] C#对三菱PLC的以太网和串口通讯以及台达PLC的以太网通讯 [实例截图] [核心代码] Conn └── Conn ├── Conn.sln └── ConnTest ├── bin ...

  2. 三菱PLC串口通讯设备如何通过PLC网关实现远程上下载程序?

    物通博联设备远程维护系统是一套实现对分散式设备远程维护和运营的软硬件系统,为工程师搭建一条通往远端设备现场的安全数据通道,实现对现场设备(PLC)的远程配置.远程诊断.远程调试和远程升级程序.物通博联 ...

  3. plc和pc串口通讯接线_三菱FX系列PLC与电脑之间串口RS232通讯协议简易解析

    本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线.电缆的 9 芯 D 形插头连接在计算机 ...

  4. vb与三菱plc以太网通讯_实战演练|三菱触摸屏GOT2000与三菱Q系列以太网通讯

    1. Q02UCUP加QJ71E71-100与两个GT2310-VTBA通讯 在GX Works2中新建工程,选择Q02U CPU,在参数中的网络参数的以太网等等,选择模块1,具体设置如下图: 因为我 ...

  5. C#与产电PLC以太网通讯,C# For LS PLC Ethernet Communication,产电PLC以太网通讯,上位机与PLC通讯C#,LG PLC以太网通讯

    C# 与 产电PLC以太网通讯,产电PLC为韩国PLC C# For LS PLC Ethernet Communication 以封装为通讯库,直接通过引用实例化即可调用方法,非常简单,软件工程师以 ...

  6. 51单片机串口通讯c语言程序,如何使用51单片机实现串口通信

    描述 STC51单片机一般带有1个串口,有的带有2个串口,串口一般用于下载程序和串口通信.串口通信特别适合控制设备,所以工控机的电脑上一般都带有串口. 51单片机的串口引脚为P3.0引脚与P3.1引脚 ...

  7. plc通信程序 c语言,三菱PLC编程口通信C语言源代码(3)

    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa); if((unsigned char)uTmp!=uReceive[number*4+3])return(F ...

  8. plc和pc串口通讯接线_PC与PLC的串口通信及编程实现

    35 PC 与 PLC 的串口通信及编程实现 黄植功 (广西师范大学物理与电子工程学院,广西  桂林  541004) 摘  要: 在自由口模式下,通信协议由用户自己的梯形图程序控制.用户可以使用梯形 ...

  9. plc梯形图的c语言写法,PLC梯形图讲解.ppt

    PLC梯形图讲解 第七章 IEC 语言 : 梯形图 概览 梯形图语言的结构与继电器控制回路相似. 电源母线位于LD编辑器的左边.左电源母线对应环路的相线 (L 梯形). 对于 LD 编程, 只有当 L ...

  10. avr模拟串口通讯c语言,AVR简单的串口通信程序

    本例子是学习AVR的串口通信时候编写的一个简单的串口通信的程序,运行的时候先向串口发送一个数据0x12,然后等待接收,当PC机发送一个数据到单片机,单片机就对这个数据进行加1处理,然后发回到PC机显示 ...

最新文章

  1. mysql 查询字段语句_mysql查询语句常用字段操作函数
  2. bat脚本注释多行_cmd批处理常用符号详解
  3. 快速入门:使用 Docker 运行 SQL Server 容器映像
  4. “锤死挣扎”的骁龙845+128GB旗舰机暴降1500元 仍冷清!
  5. 【问答集锦】减少专家依赖,自动化机器学习如何实现AI普惠?
  6. tomcat https 启用8443加证书
  7. 递归算法设计 —— 选择排序和冒泡排序
  8. [tensorflow]tensorflow2.0的优化理论
  9. flutter去掉输入框最大字数显示
  10. Mac效率工具:Mosaic 1.3.3
  11. 探秘中国网购的数据迷城
  12. java p2p实例_java文件p2p传输
  13. 解密QQ的MsgEx.db消息文件格式
  14. mysql 外文翻译5000字_MySQL数据库管理外文翻译.doc
  15. html5 pattern属性的使用
  16. 白骨精写给孙悟空的信
  17. java mysql 语句中 大于 小于 等于 的写法
  18. 学人工智能有前途吗?AI发展前景怎么样?
  19. html5立体照片墙效果,jQuery超酷3D网格照片墙动画特效 -HTML5功能
  20. 无人驾驶11:行为规划

热门文章

  1. ORACLE 锁解释
  2. 盘点五款好用的项目管理软件
  3. 考PRINCE2有用么?
  4. 哈勃分析系统解密:中招敲诈木马不用交赎金
  5. 用于黑客渗透测试的 21 个最佳 Kali Linux 工具
  6. javaweb--请求转发
  7. 使用tkinter+爬虫实现网易云音乐下载器
  8. Cadence学习之路:寻找优秀的封装资源以及3D封装设置
  9. GIF动画录制工具(写教程时用的比较小巧的gif工具)
  10. 无约束多元函数求极值