基于Modbus协议的触摸屏-PLC-变频器通信控制系统
twido plc com1口和com2口之间可以配置相同的波特率、数据位、校验方式等参数,但是各自应配置不同且唯一的地址。
3.3 监控界面开发
整个系统的监控画面分为监测界面、操作界面和故障代码查询界面。监测界面如图3所示,完成对变频器运行状态和运行参数的监测。
图3 监测界面
操作界面如图4所示,主要完成变频器启动,停止,加减速运行、故障复位和运行频率的设定,同时连接故障代码查询界面,以备操作人员查询使用。
图4 操作界面
故障代码查询界面如图5所示,主要提供变频器常见故障代码索引。
图5 故障代码查询界面
4 plc通信程序开发
4.1 modbus功能码的选取
twido plc和ev2000都支持modbus协议,但是在具体细节上存在差异。因此取双方都支持的功能码进行程序的编写。ev2000支持的modbus功能码
twido plc支持的modbus功能码
4.2 comm通信宏与grafect步进编程方法
twido plc的comm通信宏指令是用一条宏指令代表一组列表语言指令来实现复杂的功能。plc通过通信方式控制变频器,需要编写大量的功能性程序块。采用一般的modbus通信字表的形式编写,程序冗长不易阅读。使用comm通信宏指令,编程时不需要编写通信交换用的字表,使用一条宏指令即可(例如:c_wrnw 0 2)。功能码0x10(改写多个内部字)的modbus通信字表[3]:
例如,启动5#变频器正转,转速设定30.00hz(内部表示为3000):功能码0x10的modbus通信字表与comm宏指令对比。
为了方便程序的调试,编程时采用twido plc的grafect步进编程语言。该语言是将控制分成了多个“步”和“步”与“步”之间的转换条件的一种语言。把每一“步”是看作是控制系统的工作状态,对于整个系统而言,工作状态分为稳态和瞬态。稳态即系统可以稳定存在的状态,瞬态即系统从一个稳态向另一个稳态转换时的过渡状态,瞬态可以是一个空白状态。变频器的运行是一个稳态,该状态下系统完成对运行参数的读取,同时扫描是否有使系统向其他稳态转换的输入信号。变频器的启动是一个瞬态,它是变频器由待机向运行转换时的过渡状态。因此,编程时将瞬态(功能性程序块)单独编写在一个“步”里面,将稳态下要完成的工作编写在另一个“步”里面。grafect步进语言的使用简化了系统的逻辑设计,方便了程序的调试,为系统功能的扩展奠定基础。一旦有需要即可按模块化的方法开发新功能,参见图6。
图6 变频器工作状态转换图(方框为稳态,椭圆为瞬态)
4.3 plc与变频器modbus通信程序
ev2000变频器的运行控制字(内部地址:0x3200)和运行状态字1、2(内部地址:0x3300,0x331f)的具体含义如表1所示:
表1 ev2000控制字和状态字1、2的具体含义
下面是twido plc 与ev2000的部分通信程序:
... 程序初始化
-*- 2 变频运行状态、停止状态、故障状态
ld %m10 实时读取各项参数。
mps
and %m0
r %m0
mpp
and [%mw241=0]
[c_rdnw 0 2]
...
-*- 3 变频启动和变频调速
ld %m0
[%mw46 :=16#01c7]
ldn %m0
[%mw46 :=16#01c0]
ld 1
[%mw47 :=%mw7]
ld [%mw47>0]
and [%mw47=16#1388]
[c_wrnw 0 2]
...
-*- 4 变频停止和故障复位
ld %m1
[%mw24 :=16#00c5]
ld %m2
[%mw24 :=16#0380]
ld %m1
or %m2
[c_wr1w 0]
...
5 结束语
本文介绍了一种集变频器实时控制和运行参数实时监测于一体的变频器通信控制技术。当plc与多台变频器组网时,可对modbus总线进行分时复用,以避免通信冲突。系统采用的plc与变频器来自不同厂商,因此也对来自不同厂商的智能设备进行通信组网有一定借鉴意义。系统采用通信控制方式,线路维护简单。
- 基于DSP和触摸屏的串行通信系统研究(07-05)
- 基于Modbus协议的智能压力传感器研发(12-20)
- Modbus协议概述(12-19)
- Modbus协议使用常见问题分析(12-19)
- MODBUS协议实现PLC“主或从通讯”的自我理解(12-19)
- Modbus协议的传输方式(12-19)