纺机中的微机远程多电机同步传动控制系统2

(整期优先)网络出版时间:2019-10-15
/ 1
纺机中的微机远程多电机同步传动控制系统



3.4 USS协议
USS协议是profibus的一个子集。USS通信协议有各种长度,视所要满足的功能多少而定,且因所用设备类型而有所不同。协议规定如表1所示;
200751782425291.gif

表1 USS协议的规定
(1) 下传的规定;
●STX(start of text);起始字符,为02H。
●LGE(telegram length);发送报文的字节数,可以变化。总报文的实际长度比LGE多两个字节,这是因为开始的2个字节(STX和LGE)不被计入LGE中。只有net字符、ADR字节和BCC字符计入LGE中。具体为;总报文最长256字节,总报文= STX+LGE+LGE=2+LGE,1d LGE d 254,LGE=ADR+n+BCC=1+n+1,nd254(设net字符数n)。
●ADR(address byte);变频器的地址码,取值范围为0~31(Bit;0~4位),第5位为1时为广播发送。
●net character(或称net data)段分为2个区;PKW区和 PZD区, 如表2所示。

表2 PKW区和 PZD区的规定
200751782425751.gif

a)PKW (parameter ID value);参数标识值,定义了处理2个通讯设备之间参数传递的机制。例参数的读和写,参数的定义等。包含PKE、IND、PKW elements3个内容。MM3的PKW长度为3个字,MM4的PKW长度为4个字, 如表3所示。

表3 MM4的PKW定义
200751782426657.gif


PKE;为一16位的字,用来控制变频器的运行参数设置,各Bit的含义如表4所示;

表4 PKE各Bit的含义
200751782426222.gif

控制位(15-12)0(11)变频器的参数值(10-0)
对于MMV变频器,控制位为0000时,无动作;控制位为0001时,读变频器的参数;控制位为0010时,写参数到变频器的RAM,控制位为1110时,写参数到变频器的EEPROM。
IND;为16位的字。用于读写参数说明,读写一维数组值,读写报文的信息内容。
PKW element(PKWE):信息,与任务或响应有关。假如在net data区只传送PZD data时,可以长度为0。
PKE与PKWE的使用举例。下传变频器参数PKE=(0001,0000,0101,1100)=105Ch(即要求上传P092(串口连接波特率)),PKWE =0000。若上传变频器参数为PKE=105Ch,PKWE=0006,又由于MMV变频器规定P092为3时是1200bit,为4时是2400bit,为5时是4800bit,为6时是9600bit,为7时是19200bit,则说明此时串口连接波特率为9600bit。
b) PZD (process data);过程数据,如表5所示。包含了自动操作所需的信号;从主机到从站的控制字和定位点,从从站到主机的状态字和实际值。最长16个字,最短0字。

表5 PZD的定义
200751782426490.gif

PZD1为控制字,PZD2为主要定位点,PZD3... PZD16为定位点或辅助控制字;
PZD1;为控制字,16位的字,用来控制变频器的运行动作;
PZD2;为主要定位点,16位的字,用来控制变频器的输出频率,满频的值为16384(4000H)对应100%的输出频率,最大值为32767,即200%的输出频率。当取值为32768~65535时,表示反向的输出频率从0%~200%变化,电机反转。
●BCC;校验字符,为前面所有字节的异或和。
上传规定与下传规定基本相同,只是上传的一般为实际值。

3.5 数据的处理
这里以发送数据中输出频率的处理为例,假设软件界面输出频率编辑框(对应变量m_strFreData)填写50,程序将“50”以字符形式取出,通过编写的函数String2Dec将字符“50”转换为十六进制字节数“32”即50D,由于USS发送协议中变频器的输出频率HSW为16位的字,所以 要将字节扩展成对应的字。50D通过扩展后对应的字为4000H。25D通过扩展后对应的字为2000H。以此类推运算。设输出频率50D,示范程序如下:
CByteArray hexdata;// hexdata为十六进制数组,m_strFreData为输出频率的十进制变量
int len=String2Dec(m_strFreData,hexdata);
// 输出频率m_strFreData=50D转换为十六进制的hexdata[0]= 0X32
LONG NUM1,NUM2;//实型精确一些
INT NUM3;
hexdata.SetSize(14);
NUM1=hexdata[0];//得到0X32(=50D)
NUM2=( NUM1*4*16)/50;//字节扩展成对应的字,得到字节50D对应的字4000H的高字节NUM2=0X40
NUM3=NUM2;//实型变整型
hexdata[11]=NUM3;
hexdata[12]=( NUM1*0X4000- NUM3*256*50)/50+1;
//得到字节50D对应的字4000H的低字节NUM3=0X00,

4 软件调试结果
软件主界面如图3所示。

200751782426253.gif
图3 软件主界面



运行中,遇到异常情况时,可进行紧急停车。电机在需要单独启动时,可以个别设置。需要同步启动时,可以以广播式启动全部电机。变频器参数可全部或部分上传,远程监控电机的运行情况。

5 结束语
本软件通过USS通讯协议,用VC6.0的通讯控件MSCOMM,实现了单台工控机远程串口控制多台变频器,并且对数据转换和数据输出算法进行了改进,有些地方进行了补偿,控制更准确,运行状况比较满意。

参考文献
[1] 张承慧,万 军,李洪斌. 利用PCC开发变频器串行通信协议[J].电气传动,2003,(1).
[2] 孙志刚,朱德森. USS协议和Modbus协议的实现.机械与电子[J]. 2001,(5).
[3] [美]Michael J.Young著,邱仲潘等译.Visual C++ 6 从入门到精通[M]. 北京:电子工业出版社,1999.
[4] SIEMENS.USS protocol (Universal Serial Interface Protocol), 1994(9)