您现在的位置是:首页 > PLC技术 > PLC技术

用USS通信协议进行数据通信的示例

来源:艾特贸易2017-06-04

简介① USS 通信协议 a . USS 通信协议的特点。 USS 通信协议是西门子公司定义的简单串行数据通信协议。图 4-25 是 USS 通信协议的主站和从站的串行连接图。该通信协议具有下列特点。 图

    USS通信协议    aUSS通信协议的特点。USS通信协议是西门子公司定义的简单串行数据通信协议。图4-25USS通信协议的主站和从站的串行连接图。该通信协议具有下列特点。
USS通信协议的主从串行通信结构
    4-25    USS通信协议的主从串行通信结构    i.支持多点链接。例如,与RS-485。也可点对点链接。例如,与RS-232    ii.采用主一从存取方式,是单主站通信系统。    iii.最多32站,其中,一个主站,31个子站。    iv.可变和固定的报文长度传送。采用周期报文通信,不同的报文长度不需要进行分割后再传送。    V.报文结构简单可靠。    vi.采用与Profibus相似的总线通信模式。使用USS协议时,信息传送到传动装置的方式与Profibus DP的传送方式相同。    vii.在特定系统中容易实现。    bUSS通信协议。USS通信协议规定的报文结构见图4-26
USS通信协议的报文结构
    4-26    USS通信协议的报文结构    STX:报文开始,采用ASCII02H    LGE:报文长度。1字节,包括长度在内的所有信息字节数。为n+23n254    ADR:地址。1字节,包括从站地址和报文形式(二进制码)。见图4-27
地址字节的定义
    4-27    地址字节的定义    地址第7位是特殊报文设置。其值为1表示特殊报文,为0表示标准报文。    地址第6位是镜像报文设置。其值为1表示镜像报文,用于网络测试。为0表示无镜像报文。    地址第5位是发送选择。其值为1表示广播发送,且不对地址位4N0进行判别。为0表示不发送。    地址第4位到第0位,共5位,用于表示从站地址030    净数据:不同长度。每个字节为独立的工作内容。数据中的字数据(16位),先发送高字节,后发送低字节。同样,数据中的双字,先发送高位字,后发送低位字。它被分为2个区域:PKWPZD    PKW数据标志区:用于处理两个通信部件(例如,PLC与变频器)之间参数传送的机构。它包括参数的读写、读取参数注释及相关报文、进行操作控制、观测、维护和诊断等操作。由PKEINDPKW元素组成。第一字PKE是参数标志,第二字是标识号IND,第三字是PWE1参数值1。第三字可以是双字,即组成PWE1PWE2。也可以是多字,例如,m字组成可变字长的PKW区。m的值可以是1108(当PZD16字)或1124(PZD)。图4-28PKW的结构。
PKW的结构
    4-28    PKW的结构    图中,第一个字PKE参数标志字,16位。其中,位10~位0是参数号PNU,位11是参数变更报告处理的触发位SPM,位15~位12是任务或应答辨识AK。表4-33是参数号PNUPKE位的关系。表4-34是位15~位12任务标志的含义。表4-35是应答标志的含义。    4-33    参数号与PKE位的关系
参数号与PKE位的关系
    4-34    任务标志的含义
任务标志的含义
    4-35    应答标志的含义
应答标志的含义
    【例4-7 ON/OFF1(控制字1,位0)指令的源。P554 (22AH)改变参数值(数组,字)并存入E²PROM    要改变参数值(数组,字)并存入E²PROM,因此,根据表4-34,任务标志是12(表示为二进制的1100)。SPM0PNU11位,十进制的554(22AH表示为010 0010 1010),因此,PKW可表示为1100 0010 0010 1010,或表示为十六进制的C22A    【例4-8 ON/OFF1(控制字1,位0)指令的源。更改标识号1的参数值为0    根据图4-28,第2字用于标识号的描述。位7—位0表示标识号,因此,标识号1表示为0000 0001。其值为0,表示为0000 0000。因此,第2字可表示为十六进制的0001H    PKE用于控制变频器的参数读写。定义010位是参数号,1215位是参数读写控制。例如,2038H中,2表示读参数,38H表示十进制ID=56的参数。    SIEMENSMMV/MDV变频器,协议简化,IND标识号固定为0    PZD过程数据区:包括自动化系统所需信号。例如,主站给予从站的控制字及给定值;子站送主站的状态字及实际值。由PZD1PZD16组成。PZD区最多16字,最少0字。    BCC:块校验码。1字节。它是从STX开始的所有字节的异或和。    ②硬件接口。USS通信协议适用于SIMOVERT MASTERDRIVES MC/VC的接口。硬件由SC2接口板、T100工艺板和CUMC/CUVC控制电子板(基本单元)组成。    aCUMC/CUVC控制电子板。表4-36CUMC/CUVC控制电子板的性能。    4-36    CUMC/CUVC控制电子板的性能
CUMC/CUVC控制电子板的性能
    注:CUMC用于运动控制;CUVC用于矢量控制。    bSCB2板。该板有一个USS通信协议接口,2线RS-485在端子X128    cT100工艺板。是扩展板,有2个浮地的RS-485接口,1个用于装置对装置的通信,另1个用于USS    d.总线终端电阻。在现场总线的两个远端应连接总线终端电阻。可使用总线终端开关来连接已经安装在基本单元和PLC中的终端电阻。    USS协议的启动和数据通信    a.初始化。    授权:设置P060 =1(设置为参数菜单);    参数化接口:设置P696SCB协议、P700P701P702P703P704参数值。    【例4-9 Scoml口设置波特率19200bps3PKW2PZDUSS协议。    Scoml的设置数据见表4-37P696=2表示用2线USS连接。    4-37    Scoml的设置数据
Scoml的设置数据
    【例4-10 Scom2口设置波特率38400bps4PKW6PZDUSS协议。    Scom2的设置数据见表4-38    4-38    Scom2的设置数据
Scom2的设置数据
    b.参数化参数使能和过程数据相互连接。    选定接口通过USS设置参数使能:设置P053参数。P053 =4表示串口( Scom/Scoml)    设置过程数据的相互连接:设置状态字和实际值;设置控制字和给定值。    【例4-11】给定值的相互连接。给定源的连接由参数P443(主给定源Scoml)和P433(附加给定源SCB2)给出。P443参数用于选择读入主给定连接量的BICO参数;P433参数用于选择读入附加给定1连接量的BICO参数。    接口配置:Scoml: 20xxSCB2: 45xx    给定值(16位)在PZD的位置:第2字送02,第3字送03等。xx=0203040516    因此,主给定源Scoml设置P4431001=2002;附加给定源SCB2设置P4331001= 4502等。    CBP通信板。CBP通信板是采用Profibus DP通信协议,将SIMOVERT MASTERDRIVES连接到上位机,例如PLC等设备的通信部件。图4-29CBP板外形图。其中,9孔连接器X448用于连接Profibus系统。CBP板的特点如下。
CBP通信板外形
    4-29    CBP通信板外形    ·可根据ProfiDrive规程,与主站进行数据交换。    ·采用非周期通信,用于与SIMATIC S7CPU传输数据,传输长度可达101字。    ·非周期通信通道可用于连接基于PCSIMOVIS启动和服务工具。    ·自动接收定义在主站的可用数据结构。    ·监视总线接口。    ·支持波特率从9600bps12Mbps。并适用于通过光缆连接件与光缆连接。    CBP板的数据采用PPO参数过程对象。周期MSCY_C1通道也称为标准通道。    4-30PPO5种类型。其中,可用数据无参数区(PP03PP04)有两个字或六个字的过程数据,或可用数据有参数区(PP01PP02PP05)有两个、六个或十个字的过程数据。    使用过程数据区PZD,可实现主站(例如PLC)送主变频器的控制字和设定值数据的传送,或变频器到主站的应答,实现状态字和实际值的传送。    a.主站向变频器基本单元发送的过程数据。图4-31是主站向变频器发送设定值的报文结构。    图中,HSW是设定电动机转速的16位区域。例如,4000H对应的额定转速是100%HIW是读取电动机转速的16位区域,例如,当前转速一(HIW*额定转速)/4000H    b.变频器向主站发送应答的实际数据。图4-32是变频器向主站应答时发送实际数据的报文结构。    cPKW任务的处理过程。PKW任务的处理过程如下。    i.采用DDLM_Write,在具有索引号100的数据块中,一个PKW任务被传送到CBP
PPO的5种类型
    4-30    PPO5种类型
主站向变频器发送数据的报文结构
    4-31    主站向变频器发送数据的报文结构
变频器向主站应答时发送数据的报文结构
    4-32    变频器向主站应答时发送数据的报文结构    ii.等待一个DDLM_Write上升沿的确认。    iii.采用DDLM_Read功能,在具有索引号100的数据块中,CBP请求一个PKW的应答。    iv.对该任务PKW的应答包含在DDLM_Read上升沿的确认中。    周期型数据传送的PKW报文结构见图4-33。数据块的最大长度是206字节。    d.与可编程控制器的数据对应关系。在SIMATIC S7可编程控制器中,索引号100的数据块对应S7中的数据DS100。用SFC58 (WR-REC)SFC59 (RD-REC)进行数据交换。    当该系统功能被调用时,参数RECNUM被设定为100。如果CBP的逻辑地址由SFC5(GADR-LGC)确定,则参数根据下列数据确定。    SUBNETID=按硬件配置所设计的DP主站系统IO
周期型数据传送中PKW的报文结构    4-33    周期型数据传送中PKW的报文结构    RACK-节点/CBP总线地址    SLOT=2    SUBSLOT=0    SUBADDR=0    ⑤主站设置。上位机主站可用多种方式与CBP板通信。CBP板的特性被综合在它的电子数据表GSD文件。主站文件为SIEM8045. GSD,类型说明文件为S18045AX. 200S18045TD200    被称为标识字节的那些数据被传送到主站的组态文件,对可用数据报文,这些字节决定PPO类型。表4-39PPO类型和标识字节的值。    4-39    PPO类型和标识字节的值
PPO类型和标识字节的值
    ⑥通信程序。PLC的通信程序采用子程序方式进行控制。主控程序对变频器的控制通过调用有关子程序发送命令完成。由后台中断程序完成数据接收。发送命令子程序将变频器设定速度值和命令参数转换为USS协议格式后发送,并设置发送标志,复位接受完成标志,    变频器发送响应报文时,激活后台中断程序,接收变频器状态值和当前速度实际值,存入接收缓冲区,并复位发送标志,设置接收完成标志。    主控程序根据采样间隔,发送标志和接收完成标志,检查变频器接收缓冲区,并进行相应的处理。通信程序由通信口初始化、运行、停止、速度设定等5个子程序和一系列中断服务子程序构成。图4-34是主控程序框图。
主控程序框图
    4-34    主控程序框图    通信子程序由通信初始化程序SBR0、电机启动子程序SBR2、设定电机速度和电机运行子程序SBR 4、发送程序SBR5等子程序组成。程序清单如下。    SBR0    //通信初始化程序    MOVB 16# 49, SMB30    //初始化P09600Kbps8位,偶校验    MOVB 14, "PO-ST-LEN"    //设置发送缓冲区,发送字符数    MOVB 16#2,",0ST-STX" //STX    MOVB 12, "P0-ST-LGE" //LGE    MOVB 0"P0-ST-ADR//主站地址    MOVB 255, "TO"    ENI    ATCH 425    ATCH 611    RET    SBR2    //电机启动子程序    MOVB BPADR, "P0-ST-ADR"    //取主控缓冲区的从站地址    MOVW 16# OC7F, "P0-ST-PZD0"    //设定停止电机启动、正转    CALL "Send-BP"    //调用发送程序    RET    SBR 4    //设定电机速度和电机运行子程序    MOVB "BPADR" "P0-ST-ADRS"并开启允许接受中断和定时中断功能。    //取主控缓冲区的从站地址    MOVW 16# OC7F,“P0-ST-PZDO”    //设定电机启动、正转    MOVW“BIT/SP”,“P0-ST-PZD1”    //读取主控缓冲区的速度值    LDW>=“P0-ST-PZD1",16# 4000    //判断是否超过最大速度    MOVW 16# 4000,“P0-ST-PZD1”    CALL“Send-BP"    //调用发送程序    RET    SBR5    //发送程序Send-BP    MOVD&VB3500ACO    //计算BCC    MOVB 14AC1    //循环计算BCC,存入“P0-ST-BCCS”,重发次数计数器置位    XMTP0-ST-LEN"0    //发送    ATCH 09    //发送结束中断的中断服务程序号    MOVB 100,“h"    //定时时间100ms    ATCH 110    //定时中断处理,未接收到数据,重发数据    RET    中断接收子程序由一系列服务程序组成。    a.判断中断接收的起始三个字符是否为指定字符。如果是,将接收中断指针指向下一个中断程序,复位定时器,同时异或计算BCC值。否则将关闭接收中断,等待定时中断进行错误处理。    b.对于数据块的接收,采用计数方式控制。当计数为零时,计算的BCC值应为0,否则关闭接收中断,    c.定时中断。激活(1)时表示接收超时,重发次数值减1,如果不为0,则自动将发送缓冲区的内容重新发送;如果重发次数减为0,则错误标志被置位。