欧姆龙PMCR样例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用通信协议宏实现PLC对变频器的监控
1引言
在啤酒的酿造过程中,糖化醪与糊化醪的制取是非常重要工序,直接关系到啤酒的质量与产量。
某啤酒厂的糖化与糊化设备是20世纪80年代的产品,自动化水平较低,麦芽粉碎机与大米粉碎机的粉碎辊电动机,糖化锅与糊化锅的搅拌器电动机都没有调速功能。
为了满足生产工艺的要求进行技术改造,各个电动机都使用变频器调速。
控制器选用OMRON的PLC,PLC与变频器分别安装在两个相距较远的控制室内。
PLC使用通信协议宏功能与多台变频器通信,控制它们的运行。
2系统组成
系统组成如图1所示,上位计算机运行组态软件,与OMRON的C200HE-CPU42型PLC 通信,实时监控系统的运行。
PLC的CPU单元安装C200HW-COM06-V1通信板,支持通信协议宏功能。
6台不同功率的OMRON3G3MV通用变频器,分别驱动麦芽粉碎辊、大米粉碎辊、两台醪液输送泵、糖化锅和糊化锅搅拌器电动机。
3G3MV变频器支持MODBUS 通信协议,可与PLC进行RS-422A/485串行通信。
PLC为主站,变频器为从站,PLC与变频器之间采用RS-485总线连接。
3MODBUS通信协议
MODBUS是应用于控制设备的一种通用串行通信协议,规定了一个控制设备能够识别的信息结构。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
MODBUS通信使用主从技术,即主设备首先发出命令,从设备根据主设备提供的命令做出响应。
从站不能主动发送数据,只有主站发出命令时,从站才能给出响应。
主站可以向某一个从站发出命令,也可以向所有从站广播信息。
从站只响应单独发给它的命令信息,而不响应广播信息。
协议规定每个从站都需要设置其设备地址,识别主站发来的信息。
3G3MV变频器的MODBUS协议的信息帧结构如下所示。
(1)从站地址。
变频器地址00~31,如果设定为00,则为广播发送,变频器不给响应。
(2)命令代码。
命令代码有3种:
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)指定的数据区“S1”中,本例的具体数值为“0006”,即每个通
信步执行6次,在通信步的重复执行过程中,变量N对应地从0递加到5。
图2示出通信步设置。
图2通信步设置
(2)创建发送和接收信息
发送信息与接收信息必须严格按照MODBUS协议格式编写,如图3、图4所示。
需要设置校验码(Check Code)、数据长度(Length)、地址(Address)、数据(Data)等信息。
校验码为CRC16校验,占用两个字节,65535为校验算法初始值。
系统中使用的变频器较多,这里不用常量作为从站地址,而用重复计数器变量N指定从站地址,来完成数据的发送和接收工作。
地址“~(R(3N2),1)”在通信步的6次重复执行过程中,分别从PMCR指令的第二个操作数指定的“S2”、“S5”、“S8”、“S11”、“S14”和“S 17”存储单元中读取低字节的数据,作为变频器的地址。
在发送信息的数据设置中,[1000010002]表示向变频器的“0001”和“0002”两个寄存器写入数据。
其中,[10]为MODBUS写入指令,[0001]为变频器寄存器开始编号,[0002]为寄存器的个数。
“0001”寄存器保存变频器运行操作信号,指定变频器运行或停止、正转或反转;“0002”寄存器保存变频器频率值,指定运行频率。
只要改变以上两个寄存器的值,就可以改变变频器的运行状态和运行频率。
每一个变频器的具体写入值由(R(3N3),4)指定。
[03002C0001]表示读取变频器“002C”寄存器的值,即读取状态参数。
在接收信息的数据设置中,“RUN RIGHT”为向变频器发送运行指令的正确响应信息;“READ RIGHT”为向变频器发送查询指令的正确响应信息,使用“(W(N1),2)”将查询指令的响应数据(2个字节),即变频器的状态参数,写入PMCR指令第三操作数指定的PLC存储单元;“ERROR”为错误响应信息,使用“(W(N1),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发送和接收数据。
通信序列号、发送和接收数据的存放区由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结束语
根据糖化工艺的要求,通过上位机组态软件,制定变频器的运行曲线,实时改变变频器的运行频率与运行方向,并在计算机上获得变频器的实际工作状态信息和主要运行参数,生成数据报表和运行曲线。
通信协议宏的编写与调用简单,编程量小。
使用通信协议宏实现控制多台变频器,简化了现场布线,达到了设计要求,取得了很好的效果。
浅谈PLC控制中通信协议宏的应用
收藏此信息打印该信息添加:用户发布来源:未知
[摘要]
文章详细介绍了PLC控制中一种新颖、高效的通信方式——通信协议宏的原理和实现方法,并将该方法成功地应用于港口门机的电气传动部分的改造,取得了令人满意的效果,最后对通信协议宏实际应用中一些应注意冯问题予以总结。
[关键词]
变频调速器可编程逻辑控制器通信协议宏
1引言
随着微机控制技术、电力电子技术和电气传动技术的飞速发展,交流变频调速技术正以其优异的控制性能日益为工业界所接受,而可编程逻辑控制器(PLC)作为一种高可靠性的控制部件,也正以前所未有的速度在工业自动化领域迅速普及。
在我国传统的钢铁冶金、交通运输、机械化工等各产业中,存在着大量的以继电器、接触器和直流调速为主的电气传动系统,这些系统存在硬件线路复杂、可靠性低、能耗大、生产维修量大等许多缺点,因此如何将PLC与交流变频调速技术相结合,对传统产业进行改造,是企业界正着力解决的问题。
本文就某港务局与浙江大学合作,对其下属的煤运码头门机电气传动部分的改造进行了介绍。
原有的门机传动部分分为3块,即门机抓斗的3个自由度,起升、变幅和旋转,均采用交流绕线式电机进串电阻调速,根据以往运行情况,主要缺点在于:能耗大,运行时机械、电气冲击大,故障频繁,维修任务繁重等,故决定将系统改造为PLC控制的交流变频调速系统。
2系统构成
根据系统特点和生产工艺要求,选用适合小型应用场合的OMRON-C200HE型PLC,变频器采用英国CT公司的高性能通用变频器,为了显示系统工作情况及故
障情况,系统还包括一块OMRON-NT620S型触摸屏。
遵循以前的生产操作习惯,仍采用手柄操作,触摸屏仅用来显示相关信息,为系统维修提供支持。
整个系统中PLC是控制核心——根据操作指令和内部逻辑向变频器发送指令,从变频器读回各种信息,并将这些信息送给触摸屏显示等。
C200HE是OMRON系列PLC中较新的型号,具有很强的通信功能,而CT系列变频器也具有可选的通信模块。
为了充分利用PLC和变频器的功能,最大限度地减少硬件连线,系统采用PLC与变频器之间以串行通信方式进行控制,硬件上采用适合工业场合的RS485连接,整个系统结构如图1所示。
由于系统生产工艺并不复杂,所以如何实现PLC与变频器之间的通信是整个工作的重点。
C200HE型PLC除了通常用于RS232通信方式的TXD,RXD指令外,还提供了一种新颖、高效的通信方式,PMCR指令——通信协议宏功能。
这种通信方式不仅适用于RS232通信方式,也适用于抗干扰能力强,传输距离远的RS485方式,而且其最大优点在于允许用户定义单独的数据传送序列和传送信息,用户可以用OMRON通信协议宏支持软件很容易地修改通信序列,从而大大简化编程,增加编程的灵活性,本文将对此进详细的讨论。
3PLC控制中通信协议宏的实现
3.1OMRON通信协议宏
通信协议宏功能是把同连接在RS232或RS422/485通用组件等各种通信机器
之间的数据送收信息顺序,通过通信协议宏支持软件,让用户自由编制,以PMCR 指令就能够实现的用户原始通信协议。
要实现通信协议宏功能,必须有相应的硬件支持,即通信单元,C200HE包括COM01~COM066种可选单元,其中COM04~COM06支持通信协议宏功能。
对于本文的工作,需要一个RS485的通信端口去控制变频器,所以选择COM06单元,其A口(RS485)与CT变频器通信。
B口(RS232)与触摸屏进行通信,在选定连接好硬件之后,就可以进行通信协议宏的工作了。
首先必须对通信单元作设定,根据变频器的设定,使用ASCII协议,数据通信连接:1位起始位,7位数据位,1位停止位,偶校验,RS485两线制,波特率为9600,故对COM06要将切换开关SW1调整到“2”侧,终端电阻开关SW2设定为ON。
另外,PLC的数据区DM6555、DM6556要设置成支持协议宏,并且通信连接的格式要与变频器设定一致,在设置完成之后,可以编写协议。
用通信协议支持软件可以建立多达1 000个通信序列,即000~999,每个通信序列最多由16步组成,通信序列每一步的结构及各参数的含义如表1所示。
参数功能参数设置
Repeat设置重复步的次数
常数,IR/SR,LR,HR,AR,
DM和EM区域
Command设置通信命令发送,接收或发送与接收
Retry
设置在执行发送和接收命令发生错误时,重新
执行次数
0~9
Send Wait设置在发送期间等候发送数据的时间单位0.01,0.1s,1s和1min
Send Message 设置用于接收命令或发送和接收命令的发送数
据
识别码,地址,长度,数据,错
误检查码和终止符
Receive Message 设置用于接收命令或接收和发送命令的期望接
受数据
识别码,地址,长度,数据,错
误检查码和终止符
Array 设置用于接收命令或接收和发送命令的期望接
受数据(最多15种类型),并按数据类型调整
处理
识别码,地址,长度,数据,错
误检查码,终止符和下一步处理
Response设置是否写接收数据是/否
Next设置当前步顺利结束时转往的下一步END,GOTO,NEXT,ABORT Error设置当前步出现错误时转往的下一步END,GOTO,NEXT,ABORT
在通行序列各项参数的设置中,Send message和Receive Message是最重要的,因为它们不仅决定发送和接受信息的具体内容,而且其格式的设置要与具体的控制对象的通信协议相结合来确定,下文将对此进行详细讨论。
3.2CT变频器的通信协议
根据系统要求,给每台Unidrive变频器配备了CT公司提供的UD-71插入式通信模块,该模块内含1片32位RISC处理芯片,对外提供RS232和RS485两个完全光隔的通信接口,可以方便地将变频器连如RS485网络。
Unidrive变频器与上位机之间的通信采用的命令和数据都是字符串,它具有特定的通信协议,该协议由CT公司提供,包括两大类命令,即读数据命令和写数据命令,这两类命令的格式介绍如下。
3.2.1写命令
当上位机(PLC)想设定网络上某一台变频器的某一个参数时,上位机就发送下列格式的命令:
控制地址控制参数数据控制校验EOT GA GA UA UA STX M1M2P1P2D1……DN ETX BCC EOT——复位码,STX——命令开始码,ETX——命令结束码,GA——组号,UA ——单元号,M1、M2——参数号,P1、P2——参数在组内的序号,D1…DN——参数的值(D1为符号位),BCC——块校验和。
由于写命令可直接改变电机的运行状态,为防止发生意外,写命令的格式要求很严格,变频器地址、参数、数据缺一不可。
如果该命令能被变频器识别,则变频器返回ACK(成功),否则NAK(不成功)。
例1要将第1组的第2个变频器的参数“1.15”写为“1”,则传送的信息如下。
控制地址控制参数数据控制校验EOT
(04)31313232STX(02)30323235
+(2B)
31
ETX
(03)
BCC
(3C)
3.2.2读命令
当上位机(PLC)想读取网络上某一台变频器的某一个参数时,上位机就发送下列格式的命令。
控制地址参数控制
EOT GA GA UA UA M1M2P1P2ENQ
如果该命令能被变频器识别,则变频器将返回如下结构的信息。
如果该命令能被变频器识别,则变频器将返回如下结构的信息。
控制参数数据控制校验
STX M1M2P1P2D1……DN ETX BCC
上述格式中的符号ENQ为查询码,其余符号含义与写命令相同。
例2要读取第1组第2个变频器的有功电值“4.02”参数,则传送的信息如下。
控制地址参数控制
EOT(04)3131323230343032ENQ(05)
返回信息为
控制参数数据控制校验
STX(02)30343032XXXXX ETX(03)BCC
这里值得一提的是BCC校验和,为保证由变频器出入的信息在传输的过程中的准确无误,数据响应以块校验和数BCC字符结尾。
BCC实际上是该命令中从STX 控制码之后开始的所有字符的ASCII码的异或弛,若运算结果小于32,则加上2 0H,最终以ASCII码对应的字符加到读写指令中,上位机可以用该值来校验前面收到的数据的准确性。
因此,例1中的BCC值为3C。
3.3通信协议宏在本系统控制中的实现
前文已述及,在通信协议宏的编制中,发送信息和接收信息是最重要的,而发送信息和接收信息的编制是根据PLC通信协议宏的格式要求,以CT变频器的通信协议为基础来进行的。
对变频器的控制,不管是写命令,还是读命令,都包括发送和
接收两个信息(Send Message/Receive Message)。
对于写命令,发送的信息是某个变频器的某个参数,接收的信息仅是1个位,即通信成功与否(ACK/NAK);对于读命令,发送的信息是某个变频器的某个参数,接受的信息是该参数的相关内容。
因此,写命令和读命令的通信协议序列中,都包括发送信息和接收信息,即协议中Command参数应设为Send&Receive,确定通信协议序列之后,就可以编制具体的发送信息和接收信息。
Send Message和Receive Message结构如下
*Message Name Header(h)Terminator(t)Check Code(c)Length(l) Address(a)Data(d)其中(h)、(t)、(c)表示信息可开始位、结束位、校验位,它们是由通信控制设备的协议所决定的,当设置(t)时,(l)自动附加,(a)是指信息送往目标的标志符,(d)用于设置信息内容。
这里结合PMCR指令,对Address(a)和Data(d)作进一步解释。
通信协议宏在程序中是以PMCR指令来实现的,它的格式如下。
PMCR
C
S
D
其中C为控制字,第1位用于指定端口,1:A口,2:B口,后3位表示通信序列,S表示发送数据首字,D表示接收数据首字。
下面以本系统为例来说明通信协议宏的实现过程。
要用PLC将其控制的3台变频器的参数读回来,必须先将地址号和参数号发给相应的变频器,变频器识别后,再将返回的信息写到PLC指定的区域内。
实现过程分两步,第一步编写通信协议,关键的问题在于Send Messang和R eceive Message中Address和Data的编写。
首先需设置它们的属性——读(R)或写(W),对本例而言,Send Message中发送的地址号和参数号是从PLC的D M区中读出后发送的,所以其属性设为R;而Receive Message中接收到的信息是要写入DM区的,所以其属性设为W。
设置了属性,就可以进行第2步:从指定字中读写地址或数据。
有几种方法可以指定该字,一种通用的方法是用包括变量N 的一阶方程用于地址或数据的引入,每当通信序列步中指定的重复计数器重复一步时,变量N加1,使用带N变量的方程计算地址或数据可实现地址和数据的动态传输。
根据CT变频器通信协议,读变频器参数信息时,每次先发送长度为8个字节的地址号和参数号,返回的信息长度不定,不妨每16个字节存放1条信息,数据长度由(t)确定后自动附加,Data中以通配符*表示。
由此编制Send message和Receive message如下。
*Message
Name Header Terminator
CheckCode
Length
Address Data
Send1EOT ENQ略(R(8N),4)
(h)+(a)+(R
(8N+4),4)+(t)
Recv1STX EXT略
(W(16N),
4)
(h)+(a)+(W(16N),*)+(t)
以上面的通信协议(序列号设为1),假设发送信息存在DM300开始的单元,接收信息存入DM800开始的单元内,则用下面的一条PMCR指令就可连续读取3台变频器的指定参数。
PMCR
#1001
DM0300
DM0800
4总结
通信协议宏,可以用一条指令实现遵循同一个协议的多条信息传送,大大简化了编程,增加了编程的灵活性,这一功能被成功地应用于本系统中,不仅提高了程序的运行效果,而且在实际运行中取得了令人满意的效果。
目前该系统已在现场正常工作了两个多月,整个系统的维修量和耗电量都大为降低。
实践证明,通信协议宏在系统中的应用是成功、有效的。
在本系统的调试中,笔者体会到在使用通信协议宏时,一些细节的问题必须予以充分的考虑,否则,就不能充分发挥通信协议宏的功能,甚至会造成通信失败,这里列举几个调试中遇到的问题。
(1)在程序中,有多条PMCR指令时,尽量使用@PMCR——上升沿有效指令,否则可能引起各条指令之间的冲突,从而造成通信失败。
(2)当通信失败时,通信忙位28908(内部继电器)始终保持ON,必须在程序中有相应的复位手段,例如当28908保持ON超过一定时间时,可置通信复位继电器28911为ON,使通信复位。
(3)通信复位时,虽然可恢复通信,但此时,往往会失去通信所需的上升沿条件,必须在复位的同时,补发一个上升沿,可采用28911的常开触点予以解决。
总之,通信协议宏作为一种新颖的PLC通信手段,与传统的方法相比,具有简
单、高效的优点。
但实际应用中必须在理解基本原理的基础上,充分考虑各种情况,才能真正发挥通信协议宏的优势。