基于MBRTU的变频器通讯功能检测
来源:用户上传
作者: 赵永瑞 刘万虎 管阳春
摘要:淄博某塑料管材生产线中应用了由PCC和变频器组成的自动化控制系统,其中变频器的通信协议为Modbus RTU协议,系统的初步设计中PCC与变频器的通讯出现故障,通过应用MBRTU软件,检测出故障所在,修改后系统正常运行。
关键词:PCC, Modbus RTU协议,变频器,通讯故障
0引言:
随着工业的发展,以PLC或PCC为主的自动化仪表系统应用越来越广泛,这些系统中应用到了各种通信协议,在系统设计中,可能会出现各种通信故障,通讯故障的来源可能是硬件或者软件,排除时要一一隔离检测。本文介绍的是一种基于软件测试硬件的方法。
淄博一家企业的复合管材生产线采用了先进的自动化仪表系统,主要由触摸屏,PCC和变频器组成。其中变频器的通信协议为MODBUS RTU协议。在系统初步设计中,变频器与PCC的通讯出现故障,变频器不能执行来自PCC的指令。通过应用MBRTU软件,发现了故障根源所在,解决了通讯问题。
1MODBUS RTU协议与MBRTU:
1.1 Modbus 协议
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
当在Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用 Modbus 协议发出。在其它网络上,包含了 Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
MODBUS 协议又可以分为MODBUS RTU协议和MODBUS ASCII协议。在MODBUS RTU协议中,最常用的是4个功能码,依次是:01读线圈,03读寄存器,05写线圈和06写寄存器。
1.2MBRTU
MBRTU是由ICPDAS公司编写的、为测试MODBUS RTU协议中的从站的一个小型软件。
图1.1 MBRTU 界面
软件面板分为几部分:串口状态(COM status),协议说明(Protocol Description),查询模式(Polling mode),计时模式(Timer mode),数据统计(Statistics),命令窗口(Command)以及消息帧窗口(Commands Responses)。
串口状态用于打开通信串口,在此可以选择合适的串口,波特率,校验方式(N:无校验,E:偶校验,O:奇校验),数据位(8:数据位8位,7:数据位7位)和停止位(1:停止位1位,2:停止位2位)。查询模式打开后,软件以零等待时间向从机发送消息帧,而计时模式打开后,软件以固定时间间隔向从机发送消息帧,数据统计用以统计查询和回应的字节数以及时间等。通讯口打开后在命令窗口输入查询指令,点击“Send Command”按钮,软件即可向从机发送指令,打开查询模式,或者计时模式软件将不间断的向从机发送指令,反之点击一次飞“Send Command”仅向从机发送一次指令。点击“Clear Lists”可以将消息窗口的数据显示清除,点击“Exit Program”可以退出软件。
2调试过程
2.1 故障现象
将PCC与变频器联接后,在PCC上写入频率25.0Hz,输入启动命令后,电机没有运转,PLC数据显示发送消息帧和接收数据帧时出错。
2.2调试过程
(1)将变频器的通信参数设置为波特率9600,校验方式为偶校验,停止位为1位,网络地址为1,同时将变频器的频率指令源和运行指令源都设为Modbus网络输入。
MBRTU的通信参数设定为与变频器相同,即9600,E,8,1,通信口选择COM1。用RS485-232转换器和RS485通信线将变频器和电脑联接起来。
(2)在MBRTU的Command指令中输入“01 06 00 23 01 F4”,点击“Send Command”发送该指令。按照协议说明,01表示变频器的网络地址,06为写单个寄存器的功能码,00 23表示变频器的频率寄存器,地址为0x0023, 01 F4转化成十进制为500,即输入频率为50Hz。变频器返回数据位“01 86 22 C2 79”,其中22 表示变频器不支持此功能。
在Command指令中输入“01 05 00 01 FF 00”,即给变频器写入运行命令,此时变频的RUN指示灯亮,但电机仍不运转。变频器的RUN灯亮,基本上排除了变频器和通讯线存在故障的可能。
在不断的试验中发现,写入功能码01、03和05时,变频器都能按照期望值给与回复,但写入06功能码时,总是返回数据变频器不支持此功能。用03指令查询变频器的输出频率(地址为0x000A),结果显示为0。
初步总结为变频器的频率输入出现错误。
2.2故障排除
再次查看变频器的说明书发现,该变频器在网络通信中,频率来源有两个:一个是功能代码,其寄存器地址为0x0023,另一个是网络频率输入,其寄存器地址为0x0001。由于先前在设定变频器参数时,将其频率源指令设为Modbus网络输入,应该在写入频率时,将寄存器地址写为0x0001。
(1)在Command指令中依次输入以下三条指令:“01 05 00 01 FF 00”(运行),“01 05 00 02 FF 00”(正转)和“01 06 00 01 01 F4”输入频率50Hz),电机顺时针运转,测得转速为1440rpm,和预期值相同。改变输入的转向和频率时,电机转向和转速都随之变化。
(2)将变频器的频率指令源设为功能代码,在Command指令中依次输入以下三条指令:“01 05 00 01 FF 00”(运行),“01 05 00 02 FF 00”(正转)和“01 06 00 23 01 F4”(输入频率50Hz)。电机顺时针运转,转速为1440rpm,和预期值相同。改变输入的转向和频率时,电机转向和转速都随之变化。
3.结语:
(1)不同的频率源指令下,变频器写频率的寄存器地址不同,频率源为功能代码时,既可以在变频器的操作器上通过调功能代码来改变变频器的输出频率,又可以通过在网络中改变功能码的寄存器中的数值来调节频率。但是在频率源为Modbus网络输入时,只能通过调节对应的寄存器的数值来调节频率。
(2)运用MBRTU可以迅速快捷的找出或排除MODBUS网络中从机的通信故障。选择正确的工具软件可以有效缩短故障检测和排除时间。
参考文献
[1]姚福强,高正中,姚福安.基于PLC和变频器串行通讯的变频恒压供水系统[J]. 控制系统,2004,(8):9-10.
[2]孙永民.变频器结合PLC在供热系统中的应用[J]. 工程技术,2010,16:70-70.
作者简介
赵永瑞(1961-),男,现任中国石油大学(华东)教授,硕士研究生导师。第五届全国煤炭标准化技术委员会委员兼煤炭分析方法专业委员会副主任委员、国家自然科学基金委员会项目评审专家、青岛经济技术开发区制造业信息化专家组组长,青岛市制造业信息化专家组成员。
转载注明来源:https://www.xzbu.com/2/view-424191.htm