找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[电源技术] 使用通信协议宏实现PLC对变频器的监控

[复制链接]
admin 发表于 2014-4-16 14:50:36 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
1 引言
       在啤酒的酿造过程中,糖化醪与糊化醪的制取是非常重要工序,直接关系到啤酒的质量与产量。某啤酒厂的糖化与糊化设备是20世纪80年代的产品,自动化水平较低,麦芽粉碎机与大米粉碎机的粉碎辊电动机,糖化锅与糊化锅的搅拌器电动机都没有调速功能。为了满足生产工艺的要求进行技术改造,各个电动机都使用变频器调速。控制器选用OMRONPLC,PLC与变频器分别安装在两个相距较远的控制室内。PLC使用通信协议宏功能与多台变频器通信,控制它们的运行。
   2 系统组成
       系统组成如图1所示,上位计算机运行组态软件,与OMRON的C200HE-CPU42型PLC通信,实时监控系统的运行。PLC的CPU单元安装C200HW-COM06-V1通信板,支持通信协议宏功能。6台不同功率的OMRON 3G3MV通用变频器,分别驱动麦芽粉碎辊、大米粉碎辊、两台醪液输送泵、糖化锅和糊化锅搅拌器电动机。3G3MV变频器支持MODBUS通信协议,可与PLC进行RS-422A/485串行通信。PLC为主站,变频器为从站,PLC与变频器之间采用RS-485总线连接。
   
   3  MODBUS通信协议
       MODBUS是应用于控制设备的一种通用串行通信协议,规定了一个控制设备能够识别的信息结构。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
       MODBUS通信使用主从技术,即主设备首先发出命令,从设备根据主设备提供的命令做出响应。从站不能主动发送数据,只有主站发出命令时,从站才能给出响应。主站可以向某一个从站发出命令,也可以向所有从站广播信息。从站只响应单独发给它的命令信息,而不响应广播信息。协议规定每个从站都需要设置其设备地址,识别主站发来的信息。3G3MV变频器的MODBUS协议的信息帧结构如下所示。
   (1)从站地址。变频器地址00~31,如果设定为00,则为广播发送,变频器不给响应。
(2)命令代码。命令代码有3种:
    2008071810104054075I201106101557062892.jpg
       03H─读取;
     08H─回路反馈测试;
     10H─写入;
(3)数据。由寄存器编号(回路反馈测试时为测试编号)与其数据组合构成的一串数据。
(4)校验码。CRC16循环冗余校验。
       PLC以通信方式读取3G3MV的状态数据或控制其运行,实际上是读取或修改3G3MV中对应寄存器的数据。
   4  创建通信协议宏
       糖化醪与糊化醪的制取工序较为复杂,各个变频器按照规定的频率曲线工作,而且变频器的动作在顺序上有一定要求。限于篇幅,本文不讨论复杂的控制策略,仅讨论PLC与变频器之间的协议宏通信。
       下面以向6台变频器发送运行指令、查询状态参数为例,介绍通信协议宏的创建过程。
       在协议宏软件CX-Protocol软件上创建工程,选择正确的设备名称、设备型号及网络类型。然后创建通信序列和接收阵列,并下载到PLC的通信板中。在PLC中编写程序,用PMCR指令调用指定的通信序列[5],实现与变频器的通信。
   4.1  创建通信序列
       将通信序列号设为“000”,在通信序列中要设置PLC与通信板链接字、传输控制参数、响应接收方式、数据接收监控时间、数据接收完成监控时间、数据发送完成监控时间等内容。
   (1)  创建通信步
       在通信序列“000”中创建2个通信步:STEP00和STEP01。STEP00用于控制变频器运行,STEP01用于查询运行状态,如图2所示。在每一个通信步中包括步号(Step)、重复计数器(Repeat)、命令(Command)、重试次数(Retry)、发送信息(Send Message)、接收信息(Recv Message)、是否响应(Response)、出错处理方式(Erorr)等内容。
       其中,重复计数器设定为“RSET/R(1)”。“RSET”表示在开始执行通信步时,重复计数器变量N清零。通信步执行一次,N自动加1。“R(1)”设定通信步执行次数,其数值存放在PMCR指令的第二操作数(S)指定的数据区“S+1”中,本例的具体数值为“0006”,即每个通信步执行6次,在通信步的重复执行过程中,变量N对应地从0递加到5。图2示出通信步设置。
    2008071810121239743G201106101557062893.jpg
图2  通信步设置
    200807181013027328415201106101557062894.jpg
    20080718101336374478201106101557062895.jpg
   (2) 创建发送和接收信息
       发送信息与接收信息必须严格按照MODBUS协议格式编写,如图3、图4所示。需要设置校验码(Check Code)、数据长度(Length)、地址(Address)、数据(Data)等信息。
       校验码为CRC16校验,占用两个字节,65535为校验算法初始值。
       系统中使用的变频器较多,这里不用常量作为从站地址,而用重复计数器变量N指定从站地址,来完成数据的发送和接收工作。地址“~(R(3N+2),1)”在通信步的6次重复执行过程中,分别从PMCR指令的第二个操作数指定的“S+2”、“S+5”、“S+8”、“S+11”、“S+14”和“S+17”存储单元中读取低字节的数据,作为变频器的地址。
       在发送信息的数据设置中,[1000010002]表示向变频器的“0001”和“0002”两个寄存器写入数据。其中,[10]为MODBUS写入指令,[0001]为变频器寄存器开始编号,[0002]为寄存器的个数。 “0001” 寄存器保存变频器运行操作信号,指定变频器运行或停止、正转或反转;“0002” 寄存器保存变频器频率值,指定运行频率。只要改变以上两个寄存器的值,就可以改变变频器的运行状态和运行频率。每一个变频器的具体写入值由(R(3N+3),4)指定。[03002C0001] 表示读取变频器“002C” 寄存器的值,即读取状态参数。
       在接收信息的数据设置中,“RUN RIGHT”为向变频器发送运行指令的正确响应信息;“READ RIGHT”为向变频器发送查询指令的正确响应信息,使用“(W(N+1),2)”将查询指令的响应数据(2个字节),即变频器的状态参数,写入PMCR指令第三操作数指定的PLC存储单元;“ERROR”为错误响应信息,使用“(W(N+1),2)”将错误代码写入PMCR指令第三操作数指定的PLC存储单元。
   4.2  创建接收阵列
       PLC向变频器发送指令时,变频器可能返回正确或错误的响应信息,在接收数据时,应使用阵列的形式加以区分。创建了3种可能的接收信息“RUN RIGHT”、“READ RIGHT”和“ERROR”,并针对每一种接收情况设定了不同的处理方法(Next Process) ,用于可能出现的各种响应信息的处理,如图5所示。
       如果00通信步执行正常,接收到“RUN RIGHT”信息,则转到01通信步。在执行01通信步时,如果接收到“READ RIGHT”信息,则通信协议宏执行完毕。无论执行哪一个通信步,如果接收到“ERROR”信息,则通信错误,终止协议宏的执行。对于其他不可预见的情况(OTHER),如通信超时接收不到响应信息时,终止协议宏的执行。
   5   通信实现
   5.1   通信设置
   (1) 变频器设置
       使用RS-485方式通信时,将终端变频器的外部设定开关SW2设置为ON,接入120Ω的终端电阻。将S+与R+,S-与R-连接。
       每台变频器使用前要设定与通信相关的参数,将运行控制方式、频率控制方式均设定为“通信”,频率单位设为0.1Hz,还要设定从站地址,通信参数设为1位启动位,8位数据位,1位停止位,偶校验,9600bps波特率。
   (2) 通信板设置
       对通信板上的开关作调整,将SW1置于2侧,使用RS-485方式;SW2设定为ON,接入120Ω的终端电阻。
       设定通信板端口A为通信协议宏方式。PLC的通信参数设定必须与变频器的参数一致。
   5.2  编写通信程序
       通信协议宏的调用程序段如图6所示。其中,28908为通信板端口A操作标志。28908为OFF,表示可以使用端口A进行通信。通信过程中28908置ON,通信结束后,28908置为OFF状态。当23201由OFF变为ON、且28908为OFF时,调用通信板上的通信序列,通过端口A发送和接收数据。
    2008071810145965889B201106101557062896.jpg
    2008071810153528607T201106101557062897.jpg
       通信序列号、发送和接收数据的存放区由PMCR指令的三个操作数指定。
       PMCR指令的第一个操作数“#1000”为控制字,第一位的“1”表示使用通信板的端口A;后3位“000”表示通信序列号。
       DM0000为PMCR第二操作数(S),设置发送信息的有效通道数为“0020”,即设定了DM0000~DM0019共20个有效通道。DM0001中存放变频器台数。DM0002中存放1号变频器的地址,DM0003中存放1号变频器运行指令,DM0004中存放变频器的运行频率。第2台至第6台变频器的数据依次设置于DM0005~DM0019中。
       DM0020为PMCR第三操作数(D),设置接收信息的有效通道数“0007”,即设定了DM0020~DM0026共7个有效通道。DM0021中存储1号变频器的运行状态数据,DM0022中存储2号变频器的运行状态数据,以此类推。
   6  结束语
       根据糖化工艺的要求,通过上位机组态软件,制定变频器的运行曲线,实时改变变频器的运行频率与运行方向,并在计算机上获得变频器的实际工作状态信息和主要运行参数,生成数据报表和运行曲线。
       通信协议宏的编写与调用简单,编程量小。使用通信协议宏实现控制多台变频器,简化了现场布线,达到了设计要求,取得了很好的效果。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-22 18:49 , Processed in 0.063313 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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