基于MODBUS 通讯的电机控制方法探析
2024-03-10冯小雷王学慧崔忠信
冯小雷,王学慧,崔忠信
(河钢材料技术研究院,河北 石家庄 050000)
1 前言
随着智能制造技术的高速发展,PLC 自动化控制技术的作用越来越重要,在线材拉拔生产过程中,使用可编程控制器,对多台收卷机进行集中控制,通过上位机操控界面对各个收卷机的转速进行分别控制。需要采用基于MODBUS 协议的通讯连接,实现PLC 对多台收券机速度的控制,不但节约了硬件成本,又具有集成化程度高、控制能力强、硬件连接简单、容易操作等特点。结合操控界面,使用PLC 与收券机之间的通讯,实现对多台收卷机的远程控制和集中控制,同时增强了收券机控制系统的数据处理能力,实现故障报警等功能。
2 MODBUS 通信协议
MODBUS 通信协议是由美国MODICON 公司推出的基于RS485 总线的通讯协议。该协议是一种串行半双工通信协议,广泛采用在工业控制领域,能够实现不同控制设备之间、控制设备与其他功能设备之间的数据通信。通过该协议,可以将不同厂家的控制设备和智能仪表连成一个工业互联网,通过上位机对生产设备进行集中控制。
一台主机设备,可以通过MODBUS 通信协议连接多台从机设备,并且顺序读取各个从站设备的数据。另外,主机设备还可以直接向从机发送指令,修改数据,实现对从机设备的完全控制。
本文使用的Modbus RTU 通信模式,2 个十六进制字符组成一条消息报文由。在RTU 通信方式下,消息报文以字符形式进行连续传输,报文中2 个十六进制字符组成1 个字节,单个字节包含有1 个起始位、1 个校验位、8 个数据位和1 个停止位。
3 可编程控制器对多台收卷机的控制
在拉拔线材生产车间,拥有多台收卷机,实现对不同规格的拉拔线材产品的收集。对于不同规格参数,不同材质的成品线材,需要给收卷机匹配不同的转速,这就需要用变频器来控制每台收卷机的运转。通过人机界面对变频器的输出进行控制和监测,从而直观有效的控制收卷电机的转速。基于Modbus 通讯协议,构建可编程控制器对多台电机变频器的控制,从而实现收卷机速度调节的自动化。
3.1 收卷机控制系统的构建
首先,对于多台收卷机的操控,采用集散控制的方式,即使用一个安装在收卷机附近的触摸屏,对多台收卷机进行分别控制,给不同的收卷机设定不同的转动速度;HMI 是操作人员与机器之间的画面接口,HMI 操控界面选用西门子WinCC flexible 组态软件进行组态,用于组态用户界面,方便操作和监视设备。通过可视化界面,监控收卷电机的运行状态,并且通过对变频器参数进行修改进而控制收卷机的旋转速度。HMI 控制系统主要承担以下任务:(1)过程可视化;(2)报警并显示;(3)归档报警值和过程值;(4)过程和设备的参数管理。
采用西门子S7-200 Smart PLC 作为控制系统核心;配有高速处理芯片,拥有较强的数据运算和数据处理功能,满足控制系统对数据处理速度的要求。S7-200 SMART CPU 模块本身集成1 个RS485 接口和1 个以太网接口,满足小型自动化系统设备连接触摸屏、变频器第设备的众多需求。
为了调整收卷机的速度,需要使用变频器对收卷电机进行速度控制。变频器采用汇川技术公司生产的MD200 系列变频器,采用书型结构设计的MD200 系列变频器,该系列变频器内置了输入滤波器,提高了抗干扰能力。
该系列变频器配有485 通讯接口,可与Smart PLC直接链接,利用MODBUS 通信协议对变频器参数进行读取和控制。控制系统组成为:HMI 人机界面、可编程控制器、MD200 变频器(多台)、收卷电机(多台)。
3.2 PLC 对多台变频器实现系统控制
可编程控制器,对多台变频器实现系统控制,使用屏蔽双绞线连接多个变频器的485 通讯接口,防止环境中的电磁干扰对信号的传递造成影响。
将变频器的运行模式设置为外部控制,即PLC 使能,通信波特率设置为9600bps。主站程序初始化如图1 所示,在控制程序上调用MBUS_CTRL库文件,将Mode置为1,将CPU 端口分配给Modbus 协议并启用该协议,EN 使能端SM0.0 需要一直保持为1 状态,保证主站在每一个扫描周期都能被使能;奇偶校验参数(Parity)设置与Modbus 从站设备的奇偶校验匹配,使用一个起始位和一个停止位,将该参数设置为0(无奇偶校验);由于使用S7-200 Smart PLC 本体集成RS485 通信端口,所以将通信端口Port 设置为0;参数(Timeout)设为等待从站做出响应的时间,Timeout 值可以为1 ~32767ms 之间。典型值为1000ms,Timeout 参数应设置得合理,以便从站设备有足够的时间在所选的波特率下传输数据;Done为完成标志位,完成初始化其自动置为1;Error 为错误代码,存放在MB1 中,若为0 则代表无错误。
另外,PLC 主站程序初始化时,Modbus 地址、站地址、波特率、功能码、校验方式、通信数据长度等参数必须和从站通信协议一致,否则主从站之间无法建立通信。
在变频器上,设置电机参数,包括电机的额定电流、额定功率,转速等。由于存在多台变频器,在变频器上设定变频器的编号,根据此编号在控制程序上设定变频器的通讯地址,需要对不同编号的变频器使用Modbus协议分别进行参数读取和指令控制,从站控制程序段如图2 从站变频器Modbus 通讯程序所示。
图2 从站变频器Modbus 通讯程序
调用MBUS_MSG 库文件。在程序块中,Slave 为不同变频器的编号,最多可以有32 台设备;当EN 端和First 端输入同时为正电平时,MBUS_MSG 指令会向主站发出请求。程序在处理请求、等待响应和处理响应的过程时间需要多个PLC 扫描周期,所以EN 输入必须保持在接通状态,直到指令为Done 置1。
由于某个时间内只能有一条MBUS_MSG 或MB_MSG2指令处于激活状态,采集多个从站需要循环扫描,这就需要通过控制First 端口的电平来实现。有新请求发送时,将参数First 设置为高电平,并保持一个扫描周期。First 输入以脉冲上升沿检测为控制条件,当有上升沿信号触发的时候,程序发送一次扫描请求,在程序段中,通过一个定时器程序控制V200.1 的接通,进而得到了触发First 端口的上升沿信号。
通过控制VB10 的数值,控制该程序段是读取还是写入数据,RW 为1 时,通过PLC 给定变频器控制参数,RW 为0 时,读取变频器的状态参数;参数DataPtr 为间接地址指针,指向CPU 中与相关的数据的存储器。对于读请求,控制程序将DataPtr 值以间接地址指针的形式从Modbus 从站读取的数据的第一个存储单元。对于写请求,将DataPtr 设置成为要发送到Modbus 从站数据的第一个存储单元。通过其他程序段的控制,PLC 读取多台变频器的参数状态或者对多台变频器发出不同的控制指令,控制变频器的输出。而变频器的输出直接作用于收卷电机,达到了对收卷速度的分别控制。
3.3 收卷电机速度给定
为了控制电机的速度,要精准的控制变频器的输出。为了实现对变频器的控制,需要传送一个控制命令给变频器地址Add 40001,若要实现变频器不同输出,就需在变频器Modbus 地址4001 中输入不同的控制命令,以便于实现不同的性能。例如,变频器的准备/停止命令符16#047E,正转启动命令符16#047F,反转启动命令符16#0C7F。
变频器的准备停止命令、正向反向点动、故障确认等控制点,都需传送不同的命令符,以控制变频器的输出,变频器的输出接到收卷电机上,从而使得收卷电机处于不同的工作状态。
电机的速度给定,也即是变频器的频率给定。需要给Modbus 从站写入频率设定值,查阅MD200 变频器的运行手册,变频器的速度给定通讯地址为1007,MD200 变频器频率上限为50Hz,通过计算得每1Hz 为327.68。若以设定频率运行,设定值通过HMI 传输到实数变量VD300,设定值乘以327.68 即为当前设定频率的十进制实数值,将此数值传送到累加器AC0 中。运用转换模块将AC0 数值转换为整数,存放到VW500,将VW500 中的数值传送给变频器Modbus 速度设定值地址1007 中,完成速度值设定,设计的控制程序如图3所示。
图3 速度给定程序设计
同样,可利用类似的程序段,读取变频器的其他状态值。如电压值、电流值等,实现不同运行状态设定和监控。当需要调用多个指令读取变频器参数时,或给的变频器参数时,各个从站程序同一个扫描周期只能有一个导通,需要轮回读取和设定,此时,可利用前一个扫描周期读写指令的完成标志位,作为使能信号,使能下一个扫描周期的读写指令,依次执行各个变频器控制程序段。
4 结语
上文阐述了基于 MODBUS 通信方式下 PLC 控制多台电机变频器的设计和控制方法。在工业控制领域使用该通信协议可以方便地将可编程控制器与变频器组合成工业通信网络。由于 MODBUS 通讯协议在硬件上只需2根导线,简化了设备的硬件连接。基于该通讯协议,通过操作界面对多台收卷机采取集中控制分散管理,简化了控制流程,提高了生产效率。