利用PCC开发变频器串行通信协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用PCC开发变频器串行通信协议Ξ
张承慧 万军 李洪斌
山东大学
摘要:文章介绍了贝加莱可编程计算机控制器(PCC)的帧驱动器,利用PCC的帧驱动器可以方便地开发任意第三方产品的串行通信协议。
文章以西门子M icroM aster变频器的U SS通信协议为例,提出了PCC对多台变频器进行网络控制的实现方案,并且给出了用B&R A utom ati on Basic开发的串行通信程序。
利用该方法,可以方便地实现对多台变频器的协调控制和运行参数的在线监测。
实践表明,文章所给出的串行通信程序具有可靠性高,移植性强,灵活性好和清晰易读等特点,为项目开发人员带来极大的方便。
关键词:PCC 帧驱动器 串行通信 U SS协议 变频器
D evelop i ng Ser i a l Comm un ica tion Protocols of I nverter by PCC
Zhang Chenghu i W an Jun L i Hongb in
Abstract:T he paper introduces fram e driver of P rogramm able Computer Contro ller(PCC)of B&R Co., po intes out that serial comm unicati on p ro toco ls of th ird2party p roduct can be developed conveniently by fram e driver of PCC.T ak ing U SS comm unicati on p ro toco ls ofM icroM aster inverter of S IE M EN S Co.as examp le,the paper p ropo ses realizing schem e of netwo rk contro l upon m ulti2inverters and designes serial comm unicati on p ro2 gram by B&R A utom ati on Basic.It is convenient to realize coo rdinated contro l and online monito ring of running param eters by app lying the schem e.P ractice has show n that the serial comm unicati on developed in the paper has h igh reliability,strong transp lant p roperty,good flexibility and readability,p roviding great convenience fo r p ro2 ject develop ing personal.
Keywords:PCC fram e driver serial comm unicati on U SS p ro toco l inverter
1 引言
随着近年来工业的发展,对生产工艺水平和产品质量的要求不断提高,单单针对1台变频器的控制在许多场合已经不能满足生产的要求,必须对多台变频器进行协调控制,因此变频调速技术也逐渐朝着网络化的方向发展,并且已在许多行业(例如:造纸、印刷、纺织、轧钢等)中得到广泛的应用,极大地提高了这些行业产品的质量和成品率。
为适应这一发展方向的需要,各大公司相继推出了带有标准通讯接口的通用变频器,为用户设计满足工业现场需求的控制系统带来了极大的方便。
但是只有极少数公司的变频器支持标准的通信协议(例如:PRO F I BU S、CAN BU S等),实际控制系统有时会要求与不支持标准通信协议的变频器通信,普通的PL C也不具备与第三方产品通信的能力,造成系统集成的巨大困难。
让开发人员从底层开发通信协议是一项复杂且工作量相当大的工作,而且系统的可靠性也难以得到保证。
基于上述问题,贝加莱2000系列PCC产品除了支持标准的通信协议之外,还向用户提供了用于与第三方产品通信的协议开发工具——帧驱动器,用户只需要了解第三方产品的通信协议细节(包括信息帧格式的组成等),并用帧驱动器写出与第三方产品通信协议一样的通信规约,就可方便地实现PCC与第三方产品之间的通信。
本文利用PCC的帧驱动器,成功地实现了PCC对多台变频器的网络控制,并且PCC可以作为上层网络的一个节点,以实现全厂的网络化
8
Ξ山东省自然科学基金资助项目(编号:Y2001G01),山东省中青年学术骨干带头人培养基金资助项目(鲁教科字(1997)28号)
和自动化。
系统的串行通信程序是用B &R A u 2tom ati on B asic 来开发的,作为完整的任务模块可以添加到任何其它复杂项目中,不仅能提高系统的可靠性,而且可以提高代码的可重用性,缩短项目的开发周期,使项目开发人员能够方便进行系统集成。
2 系统的总体设计
系统的总体框图如图1所示,变频器采用西门子的M icroM aster 变频器,PCC 采用贝加莱的B &R 2005。
图中PCC 通过R S 2485网络与多个变
频器相连接,最多可达32台,波特率为10M b s 时,通信距离为15m ;波特率为100kb s 时,通信距离可达1200m 。
每台变频器被赋予各自独立的地址码用以识别身份,这样,PCC 便能通过R S 2485接口,对挂在总线的所有变频器进行控制操
作。
图1 系统总体方框图
3 利用PCC 控制多台变频器
311 变频器的串行通讯协议
西门子M icroM aster 变频器在远程通讯时,
遵循西门子的U SS 通信协议。
U SS 通信协议由一个双向信息表组成;接受来自远程主机发送的控制信息,并反馈信息给主机作为已接收信息后的应答。
其报文结构包含了参数数据和过程数据,前者用于改变变频器的参数,后者用于快速刷新变频器的过程数据,如启动停止、速度给定、力矩给定等。
U SS 协议的数据报文由14个字节组成。
每个字节采用2位16进制数形式,遵循UA R T 格式:1个起始位,8个数据位,1个偶校验位和1个停止位。
变频器接收数据的通信协议如下:
STX
L GE ADR
PKE
I ND
VAL
STW H S W
BCC
STX 为起始字符,02H ;L GE 为发送字节数,对于M icroM aster 为0CH (12个字节);ADR 为变频器的地址码,取值范围为0~31(b it 0~4
位),b it 5为1时为广播发送;PKE 为16位的字,用来控制变频器的运行参数设置。
各b it 的含义如下:
B it 15 14 13 12
11109876543210
控制位0
变频器的参数号
对于M icroM aster 变频器,控制位为0001时,读变频器的参数,控制位为0010时,写参数到变频器的RAM 和EEPROM ,B it 11未用,置为0;I ND 为16位的字,未用,置为0;VAL 为16位的变频器参数值,与PKE 一起将运行参数写入到变频器中;STW 为16位的字,用来控制变频器的运行动作;H S W 为16位的字,用来控制变频器的输出频率,满频时的值为16384(4000H )对应100%的输出频率,最大值为32767(8000H )对应200%的输出频率,当取值为32768~65535时,
表示反向的输出频率从0~200%变化,电机反转;BCC 为校验字节,是前面所有字节的异或和。
若将变频器1(地址码为01H )的输出频率设为满频的50%,则以上各参数的值设置如下:
STX L GE ADR PKE I ND VAL
STW H S W
BCC 02
0C
01
0000
0000
00000C 7F
2000
5C
若将变频器15(地址码为0FH )的参数12设为30.0H z ,则以上各参数的值设置如下:
STX L GE ADR PKE I ND
VAL
STW H S W BCC 02
0C
0F
200C
0000012C
0400
0000
04
同时,变频器也向PCC 回送数据报文,其通信协议如下:
STX
L GE ADR
PKE
I ND
VAL
ZS W
H I W
BCC
与PCC 向变频器发送的数据报文相比,变频器回送的数据报文只是以ZS W 代替了STW ,
H I W 代替了H S W ,其余字节的含义是一样的。
ZS W 是16位的状态字,用来表示变频器的当前
运行状态;H I W 也是16位的字,代表变频器的输出频率,其意义与H S W 是一样的。
312 PCC 帧驱动器的配置
PCC 是贝加莱公司于1994年推出的新一代
硬件平台,它是集计算机技术、通讯技术和控制技术(3C 技术)于一体的新型控制装置。
PCC 的一个显著特点是其具有强大的网络通信能力,除了标准的网络通信协议外,通过帧驱动器可以很容易地制作任意第三家的串行通信协议。
利用帧驱动器编写串行通信程序比传统的通信编程方法要
9
容易得多,它的命令包括如下。
FRM-xopen:初始化接口,为帧驱动器分配缓存,安装相关的中断处理程序。
FRM-read:读数据并将其放在读缓存区。
FRM-rbuf:释放读缓存区。
FRM-gbuf:申请写缓存区。
FRM-w rite:将数据写入写缓存区。
FRM-robuf:释放写缓存区。
FRM-clo se:接口通信结束。
FRM-ctrl:接口控制。
串口在使用前必须初始化,设置串口操作所需要的参数,这样在程序初始化部分需要使用FRM-xopen(enab le,adr(device),adr(m ode), adr(config),statu s,iden t)函数来初始化串口。
参数m ode是用来定义接口参数的字符串地址,其字符串格式为:
“[〈T YPE〉],[〈BAUD〉],[〈PA R IT Y〉], [〈DA TA B IT〉],[〈STO P B IT〉],[〈O PT I ON〉]”T YPE为通信接口的类型,BAUD为波特率, PA R IT Y为校验类型,DA TA B IT为数据位个数,STO P B IT为停止位个数,O PT I ON为可定义硬件握手。
313 程序实例
PCC的软件可分为系统软件和应用软件两大类。
PCC的操作系统是系统软件的核心,是一个分时多任务的操作系统。
一个完整的复杂项目可分成多个独立的任务来完成,每个任务都是独立的程序,有各自的循环时间,可以完成各种不同的功能,真正实现了软件的模块化设计。
此外PCC还提供了大量系统模块和应用函数,系统模块可以在需要的时候方便地加载至操作系统中,应用函数可以根据用户及应用程序的需要,模块式地添加到PCC的软件系统中。
应用软件是指用户的应用程序。
PCC以PC 机作为在线编程开发工具,其编程语言不仅可以采用常规PL C的梯形图(LAD)和指令表(STL),而且还可采用面向控制的结构化高级语言(例如B&R A u tom ati on B asic、C语言)。
本系统采用B&R A u tom ati on B asic作为编程语言,其通信程序作为完整的任务模块,可添加到任何其它的复杂项目中,而不影响项目中原有程序的运行。
系统采用2个任务层来完成通信功能。
负责通信的任务(任务1)工作在标准任务层TC#4,扫描周期为100m s,其流程图如图2所示;负责循环设置各变频器参数和频率的任务(任务2)工作在标准任务层TC#1,扫描周期为10 m s,优先级高于任务1,其流程图如图3所示。
图2 任务1
流程图
图3 任务2流程图
在运行程序之前,须将模块“dvfram e.b r”下载到PCC,以实现对帧驱动器的管理。
31311 初始化接口
串口初始化程序必须放在程序的初始化部分,即仅在首次扫描时运行初始化程序。
本例设置串口参数为:R S2485接口,波特率9600b s,1个
01
偶校验位,8个数据位,1个停止位。
程序如下: (3init p rogram3)
m yconfig.Idle=2;最大字节间隔时间
;设置串口初始化参数
FRM-xopen(1,"SS2.IF2","R S485,9600,E,8,1",adr(m y2 config),status,ident)
enable=1
31312 向变频器写数据
串口初始化成功后,就可以通过帧驱动器的写命令向串口写数据,以实现对变频器的控制和监测。
程序如下:
if(status=0)and(enable=1)then;串口初始化成功
FRM-gbuf(enable,ident,g-stat,buffer,buflng);获得写
缓冲区 if(g-stat=0)then
enable=0
w rite=1;允许写操作
endif
endif
outbuf access buffer;获得指向写缓冲区的指针
;向写缓冲区写数据,其中(ADR~H S W1)为全局变量
outbuf[0]=$02;起始字符
outbuf[1]=$0c;数据长度字符
outbuf[2]=ADR;变频器地址
outbuf[3]=PKEh;变频器参数
outbuf[4]=PKE1
outbuf[5]=$00
outbuf[6]=$00
outbuf[7]=VAL h;变频器参数值
outbuf[8]=VAL l
outbuf[9]=STW h;变频器运行参数
outbuf[10]=STW1
outbuf[11]=H S W h;变频器输出频率
outbuf[12]=H S W1
;计算校验和
bcc=02
loop j=1to12do
bcc=bcc xo r outbuf[j]
endloop
outbuf[13]=bcc
o lng=14;定义写缓冲区的长度
if(w rite=1)then
FRM-w rite(1,ident,adr(outbuf),o lng,w-stat);向串口
写数据 w rite=0
if(w-stat<>0)then
FRM-robuf(1,ident,adr(outbuf),o lng,ro stat);释放写
缓冲区 endif
endif
31313 从变频器读数据
由于U SS通信协议由一个双向信息表组成,在向变频器写完数据后,须通过帧驱动器的读指令来读取变频器的返回报文。
程序如下:
FRM-read(1,ident,r-stat,r-buf,rbuflng);从串口读数据if(r-stat=0)then
m em cpy(adr(m ybuf),r-buf,rbuflng);保存读缓冲区中的
数据
FRM-rbuf(1,ident,r-buf,rbuflng,rbstat);释放读缓冲
区endif
4 结论
本文利用PCC的帧驱动器和M icroM aster 变频器的串行通信功能,实现了PCC对多台变频器的网络控制,并能实时监测各变频器的运行状态。
采用B&R A u tom ati on B asic开发了串行通信程序,并在实践中取得良好的运行效果。
该程序具有通用性,针对不同的通信协议,只需做简单的修改,就可以模块式地添加到其它复杂项目中,既可提高系统的可靠性,又可缩短项目的开发周期。
将该方法与新型控制理论相结合,可实现高精度的同步传动和多电机协调控制。
参考文献
1 齐荣等1新一代可编程计算机控制器技术1西安:西北工业大学出版社,2000
2 陈立定1W indow s98下利用VB610控制多台变频器1电气传动,2001,31(2):35~38
收稿日期:2001206225
修改稿日期:2002203214
电气自动化新技术丛书
电气自动化新技术丛书现已出版38种,其中11#“通用变频器及其应用”34#“SP WM变频调速应用技术”各二种版本,全套书定价共72518元,邮购价850元,全套均有存书,欢迎选购。
全套购买可优惠。
代号书名与著作者定价邮寄价
02可编程序控制器技术与应用系统设计陈在平 赵相宾主编37元43元
311通用变频器及其应用 第3次印刷韩安荣等编28元33元
334SPWM变频调速应用技术 第二版张燕宾编著21元24元
40交流电机数字控制系统李永东主编25元28元
学术年会论文集
212第十一届全国电气自动化与电控系统年会论文集BA CS’200260元75元
购书请与自动化专委会联系
电话:(022)24962354 传真:(022)24391813 联系人:刘凤英
11。