某项目在设计某自动控制系统时,需对多台伦茨公司的lenze 4900直流调速装置(以下简称:lenze 4900)进行实时监控。伦茨直流调速装置提供了多种通信方式,通过配接不同的通信模块可实现如:profibus、can、interbus、lecom等多种通信协议。
该直流调速装置则使用lecom串口通信协议,该协议主要用于多台伦茨直流调速装置与主站之间以主从方式进行通信。笔者在搜寻lecom协议相关资料时,从电气传动自动化杂志2002年12月第24卷第6期的文章《伦茨变频器lecom通信的实现》中得到很大启发。该篇文章主要介绍伦茨变频器通过lecom协议与上位机通信的实现方法,而伦茨直流调速装置通过lecom协议与上位机实现通信时,其硬件实现方式与伦茨变频器类似,而通信协议则有一些差别。
下面详细讲述本自动控制系统的系统构成和伦茨直流调速装置lecom通信的通信协议、设计思路,以及lecom通信在本控制系统中的实现方法。
2 控制系统的构成及通讯协议
在本自动控制系统中,要求将6台lenze 4900的参数、数据等通过cp440通讯模块读取到plc中,参与连锁控制,图1为具体的网络结构示意图。
图1 网络结构示意图
lenze 4900与plc之间采用lecom协议通讯,双方以9600bps的通讯速率进行通讯,以下为cp440模块和lenze 4900及lecom通讯协议的简单介绍:
2.1 cp440模块
(1) cp440通讯处理器
cp440通讯处理器是siemens公司提供的串行通讯的低成本解决方案,它可以在simatic s7-400中使用,该通讯模块提供了三种不同形式的传输接口:
●rs-232c(v.24);
●20ma(tty);
●rs-422/rs-485(x.27)。
(2) cp440参数设置
该模块可以实现ascii码、3964(r)和打印机驱动三种通讯协议,通过集成在step7中的参数化工具可进行简单的参数化,其设置主要包括通讯方式(波特率、数据位数、停止位数和奇偶校验)、接收帧结束方式、接口方式(485 or 422)等。本设计中使用ascii码通讯协议来实现lecom协议。本设计中cp440的参数设置为:
●接收帧结束方式:接收到固定的36个字节的数据;
●通讯方式:波特率9600,1位起始位,8位数据位,1位停止位,1位校验位(偶校验);
●接口方式:rs-485,其余的设置为默认方式。
2.2 lecom通讯协议
(1) lecom通讯协议原理简介及其硬件结构。lecom协议是伦茨公司lenze 4900系列直流调速装置之间通讯所使用的一种ascii码串口通讯协议。伦茨直流调速装置通过配用外接模块2102ib,将其插在直流调速装置的xi口上,该模块提供一个rs-485接口,将多台直流调速装置及主站按图2所示连接,可构成lecom通信网络。接入网络中的直流调速装置数量最大可达到31台。
图2 lecom网络连接示意图
网络上每台直流调速装置都必须正确设置与通信相关的参数,例如各直流调速装置均需使用相同的波特率,各不相同的站地址。直流调速装置的参数c009用于设置站地址,参数c125用于设置波特率。lecom通讯协议帧结构。lecom协议中,通信指令主要分为读数据命令和写数据命令两部分。
(2) 读直流调速装置参数的数据帧结构。读直流调速装置数据时,由主站向直流调速装置传送的数据帧格式见表1:
表1 主站向直流调速装置发送读参数指令的数据帧格式
表1中:
●eot为控制字符,表示前一帧数据传送结束,新一帧数据传送开始;
●ad1和ad2为ascii码表示的从站(直流调速装置)地址,例如:主站向地址为2的直流调速装置发数据,则:ad1=“0”=30h,ad2=“2”=32h
●ch1和ch2为ascii码表示的直流调速装置参数代码,例如:主站要读取参数代码
c11,则:ch1=“1”=31h,ch2=“1”=31h;如果主站要读取参数代码c111,
则:ch1=“11”=3bh,ch2=“1”=31h;
●enq为控制字符,表示请求从站数据。
(3) 向主站回应的数据帧结构。当相应的从站直流调速装置接收到如表1中的主站读取参数命令后,如果该从站能识别接收到的数据,则向主站回应如表2所示的数据帧。
表2 从站能识别接收到的数据时回应数据帧格式
如果该从站不能识别接收到的数据(校验和错误),则向主站回应数据帧格式见表3。
表3 从站不能识别接收到的数据时回应数据帧格式
如果所访问的参数代码不存在,该从站则向主站回应如表4所示的数据帧。
表4 主站访问的参数代码不存在时从站回应的数据帧格式
表2、3、4中的字符具体含义如下:
●stx为控制字符,表示传送文本开始;
●etx为扩展字符,表示传送文本结束;
●v1…vn为n个ascii字符表示的参数值;
●bcc为块校验字符,其计算方法为:
bcc=(ch1)xor(ch2)xor(stx)xor……xor(etx)
(4) 写直流调速装置数据
写直流调速装置数据时,主站向从站直流调速装置发送的数据帧格式见表5。当从站接受到如表5所示数据后,如果校验无误,则向主站回应控制字符ack;如果校验不通过则向主站回应控制字符nak。
表5 主站向直流调速装置发送的写参数指令数据帧格式
3 软件实现
要通过cp440通信模块同其他设备以lecom协议通信,plc程序的设计也是一个比较重要的环节,而从以上的lecom协议通信帧格式可以看出,利用cp440模块实现lecom协议需要完成的工作就是用plc程序来构造lecom协议的信息帧结构。
结合cp440硬件及软件功能块,按模块化程序设计方法,可设计通信子程序、plc主站读取直流调速装置参数的程序、plc主站写直流调速装置参数的程序、plc主站接受直流调速装置返回参数的程序。
3.1 plc主站读取直流调速装置参数的子程序设计
考虑到plc需要与6台4900设备进行通信,plc主站采用轮询的方式访问每种设备,cp440作为lecom主站每隔50ms给所有从站设备发送主站命令,读取从站直流调速装置的运行状态信号和控制信号。发送数据处理子程序需要将要下传的数据转换成ascii码,加上控制字符(eot、stx、etx)并计算块校验字符,形成完整的发送数据帧,再调用cp440模块的发送数据标准功能块,将数据发送给从站。而接收数据处理子程序则调用cp440模块的接受数据标准功能块,将接收到的数据(ascii码字符)转换成所需的数据。
3.2 plc主站写直流调速装置参数的子程序设计
该子程序的设计与前者类似,只是在构造发送数据协议帧结构时有所不同。并且由plc主程序控制,在特定的控制连锁逻辑的情况下调用本子程序来控制直流调速装置。
4 结束语
自本通讯系统运行以来,cp440与lenze 4900间的通讯一直正常,从未出现过任何软、硬件故障以及其它干扰现象,有效地保证了自动控制系统的正常运行。可见,使用串行通讯模块cp440与lenze 4900通过lecom协议进行通讯是一种行之有效的方法。
伦茨公司的直流调速装置和变频器大部分都支持lecom通信协议,只是不同系列的产品在通信协议的帧结构及硬件实现上有一定差别,但总体上其通信的硬件及软件协议遵循一定的规律。由于lecom通信协议规范的资料十分难找,笔者希望本文能给从事传动控制系统设计及开发的同行在实现lecom通信协议通信方面一些借鉴和帮助。