找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3831

积分

0

好友

541

主题
发表于 昨天 21:51 | 查看: 4| 回复: 0

在汇川PLC的多个硬件系列中,串口通讯是一项基础且重要的功能,例如Easy300/321系列、500/511系列等都支持。本文将详细介绍几种常用的串口通讯协议及其在汇川编程软件中的配置方法。

串口通讯主要包含以下几种协议:

  • 自由协议:配合SerialSR指令,实现数据的自由发送与接收。这种方式灵活性高,常用于对接非标准协议的第三方设备。
  • Modbus-RTU主站:采用标准的Modbus-RTU协议,作为主站读取其他从站设备(如仪表)的数据。
  • Modbus-RTU从站:将PLC配置为从站,允许其他主站(如HMI或上位机)来读取其数据。
  • Modbus-ASCII:以ASCII码格式进行通讯,可配置为主站或从站模式。

硬件接口通常就是我们所说的COM口,PLC本体自带的串口一般标记为COM0,部分型号同时支持RS232和RS485。配置参数则包括常见的波特率、数据位、停止位、校验位等。

下面,我们重点看看在汇川编程软件中如何一步步配置串口通讯。

一、自由协议配置

  1. 新建一个项目,在“工程管理”窗口下,依次展开“配置” -> “COM0”,双击COM0即可打开配置界面。
    汇川PLC编程软件工程管理界面

  2. 在配置界面中,从“协议选择”下拉菜单中选取“自由协议”。在“协议配置”区域,设置通讯参数,例如波特率9600、数据位8位、无校验、停止位1位。
    COM0自由协议参数配置界面

  3. 配置完成后,即可在程序中使用SerialSR指令进行数据收发。
    SerialSend功能块参数界面

    提示:系统变量表中有一个名为_SerialSR.abort的变量,用于终止自由协议的数据收发,修改后立即生效。
    系统变量表中串口相关变量

二、Modbus-RTU主站配置(指令方式)

  1. 在COM0配置界面,将“协议选择”设置为“Modbus-RTU主站”。通讯参数中的通讯超时默认为500ms,重发次数范围为0-255次。
    COM0 Modbus-RTU主站协议选择界面

    提示:若要单独设置超时时间和使能控制,可在“工程管理”中右键点击“COM0”,选择“添加Modbus配置”进行设定。
    添加Modbus配置对话框

  2. 在程序中使用MB_Master指令。这种方式在与仪表通讯时非常常见。
    MB_Master指令参数界面

  3. MB_Master指令的参数说明如下表所示:
    MB_Master指令操作数详细说明表

三、Modbus-RTU主站配置(自动映射方式)

除了使用指令,还可以通过配置界面实现自动化的数据映射。

  1. 在“工程管理”中,双击“COM0”打开设置界面,将协议选择为“Modbus-RTU主站”。
    COM0通讯参数配置窗口

  2. 右键点击“COM0”,选择“添加Modbus配置”。在弹出的对话框中,设定超时时间和“使能控制元件”。
    Modbus配置超时与使能设置
    提示:如果不设定使能控制,Modbus主站将默认处于使能状态(持续读取从站数据)。

  3. 点击“确定”后,在COM0目录下会自动生成一个“COM0 Modbus Config”项。
    工程管理中生成的COM0 Modbus配置项

  4. 双击该配置项,打开“COM0 Modbus配置”窗口。
    COM0 Modbus配置主界面

  5. 在此窗口中进行主从站地址映射。点击“新增”按钮添加一条配置。
    Modbus从站映射详细配置界面

    • 名称:该条映射配置的名称。
    • 从站站号:要读取的从站设备地址。
    • 触发方式:可选择“循环”或“触发”。
    • 触发条件:若为循环方式,则设置读取周期时间(ms);若为触发方式,则指定触发地址(通讯结束后条件自动复位)。
    • 功能码:选择Modbus功能码,如读寄存器、写线圈等。
      Modbus常用功能码列表
    • 从站寄存器地址:要读取的从站寄存器地址,支持16进制或10进制格式。
    • 数量:要连续读取的数据个数。
    • 映射地址:读取到的数据存放在PLC中的地址。
      完成所有设置后,点击“确定”保存并关闭窗口。

四、实战测试:Easy521与串口调试助手

我们以汇川Easy521 PLC为例,结合串口调试助手进行实际测试。

硬件准备

  • 汇川Easy521 PLC一台
  • USB转RS485通讯线一根
  • 串口调试助手软件(任意一款即可)
    USB转485连接线与PLC接线端子

连接与配置

  1. 使用USB转485线连接PLC与电脑,同时用网线连接PLC以便在线监控数据。

  2. 在PLC中编写一个简单的测试程序,使用SerialSR指令。程序中需要设定一个较长的通讯超时时间,以免在手动测试时因未及时收到反馈而报错。
    SerialSR指令测试程序梯形图
    提示:在实际编程中,可以通过系统变量_SerialSR.abort在不需要通讯时终止串口操作,以降低系统负载。

  3. 打开串口调试助手,设置与PLC一致的串口参数(COM口、波特率9600、8位数据位、无校验、1位停止位)。
    串口调试助手参数设置与数据接收界面

  4. 在编程软件的“写入元件”中,为发送数据缓冲区(例如D100-D103)赋值。
    设置D100-D103寄存器值

测试流程

  1. 在编程软件中强制触发发送信号(如TEMP_bSendCmd)。
    强制触发发送信号操作界面
  2. 观察串口调试助手,会接收到来自PLC的数据(十六进制格式)。
    调试助手接收到的PLC发送数据
  3. 在调试助手的发送区输入响应数据,点击发送给PLC。
  4. 若通讯成功,PLC程序中的SerialSR指令的Done输出会变为ON,表示一次完整的收发过程结束。

通过以上步骤,我们完成了一个基本的串口通讯测试。无论是自由协议还是Modbus-RTU,理解其配置逻辑和参数含义是关键。在实际的工业自动化项目中,灵活运用这些通讯方式可以有效地连接PLC与各种外围设备。如果你在配置过程中遇到其他问题,也可以在云栈社区与更多工控开发者交流探讨。




上一篇:挑战35G庞大知识库 深入学习C++基础与深度解析 全面掌握C++核心语法与高级特性实战
下一篇:Linux“一切皆文件”设计与缓冲区机制详解:从内核VFS到实战编程
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-5 05:45 , Processed in 0.440109 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表