企业简介

西门子自动化与驱动集团(A&D)是西门子股份公司中最大的集团之一,是西门子工业领域的重要组成部分。作为自动化和驱动领域的世界先驱,A&D 目前拥有 70,500 多名雇员,遍布 193 个国家,在2005/06财政年度(截止到2006年9月30日)销售业绩高达128亿欧元, 接受订单达141亿欧元。我们始终致力于给您带来新理念和新技术,为您在全世界,特别是在中国的发展助一臂之力。

  • 公司类型:供应商

联系方式
  • 西门子自动化与驱动集团自动化系统部
  • 地址:北京市朝阳区望京中环南路7号邮政信箱: 8543
  • 邮编:100102
  • 电话:010-64768888
  • 传真:010-64764915
  • 网址:http://www.ad.siemens.com.cn/
  • Email:adweb@siemens.com
  • 联系人:
案例详细
标题基于USS协议实现可编程控制器对变频器的控制研究
技术领域PLC&PAC
行业
简介
内容


1  引言

    计算机及通讯技术已成为工业环境中大部分解决方案的核心部分,其在系统中的比重正在迅速增加。在工业控制中,交流电机的拖动越来越多的采用变频器完成,不仅作为一个单独的执行机构,而是随着不断的智能化,同远程计算机之间可以通过各种通讯方式结合成一个有机的整体。在实际工程实施时,变频器的启动、停止、方向、告警、故障指示以及故障复位等控制通常为端子排开关信号控制方式,速度控制采用模拟量给定值控制方式来完成。由于变频器的输出端会产生强烈的干扰信号,控制器有时会造成误动作的情况。当控制距离遥远时,还存在敷线工程量过大的问题。随着现场总线的底层控制网络的发展,变频器生产厂家推出了具有数据通信功能的产品,采用RS-485通信接口用于系统配置和监控是一种低成本的连接方案。

2  西门子变频器的USS控制协议
2.1  USS协议的特点
    USS是西门子公司为变频器开发的通信协议,可以支持变频器同PC或PLC之间建立通信连接,常适合于规模较小的自动化系统。它以主从方式构成工业监控网站,在网络内有一个主站,1~31个从站,各站点有唯一的标识码识别。
    这种结构的特点是:用单一的、完全集成的系统来解决自动化问题。所有的西门子变频器都可以采用USS协议作为通信链路。数字化的信息传递,提高了系统的自动化水平及运行的可靠性,解决了模拟信号传输所引起的干扰及漂移问题。通信介质采用RS-485屏蔽双绞线,最远可达1000m,因此可有效地减少电缆的数量,从而可以大大减少开发和工程费用,并极大地降低客户的启动和维护成本;通信效率较高,可达187.5kbit/s。对于有10个调速器,每个调速器有6个过程数据需刷新的系统,PLC的典型扫描周期为几百毫秒,采用与PROFIBUS相似的操作模式,总线结构为单位站、主从存取方式,报文结构具有参数数据与过程数据,前者用于改变调速器的参数,后者用于快速刷新调速器的过程数据,如启动停止、速度给定、力矩给定等。具有极高的快速性和可靠性。利用西门子变频器的主机上提供的USS接口,仅在终端机中插入一RS-485通信板,就可实现变频器的全部远程控制。

2.2  USS协议的通信数据格式
    USS协议的通信字符格式为一位起始位、一位停止位、一位偶校验位和八位数据位。数据报文最大长度位256个字节,包括3字节的头部、1字节的校验码和主数据块,数据块按照字的方式组织,高字节在前。通信数据报文格式如表1所示。
表1     USS协议的通信数据报文格式


    表中:STX—起始字符,为02Hex;LGE—报文长度,为n+2,3≤n≤254;ADR—从站地址码,其中bit0~bit4表示从站地址,bit5为1表示广播发送,bit6为1表示镜像发送,用于网络测试,bit7为1表示特殊报文;BCC—校验字符,为从STX开始所有字节的异或和。
    在一帧内完成过程控制数据的同时,可以通过指定参数号完成设备控制参数的读写。数据快由参数值域(PKW)和过程数据域(PZD)组成,二者均为变长数据,其格式如表2所示。    
表2     数据快的格式


    表中:PKW域—参数值域,由参数识别码、子参数号和参数值构成,参数个数可根据设备的定义值最大可有124个字;PZD域—过程控制数据域,包括控制字/状态字,设定值/实际值,最多16个字;PKE参数识别码;IND用来指定某些数组型设备参数的子参数号。   
    对于SIEMENS的MMV/MDV变频器,协议有所简化:
    IND固定为0;PKW为3字格式,即只有PWE1;PZD域的PZD1是控制字/状态字,用来设置和监测变频器的工作状态;PZD域的PZD2设定频率。

3  PLC控制变频器的程序设计
    PLC通讯程序采用子程序方式编制,主控程序对变频器的控制通过调用有关子程序发送命令完成。数据接受由后台中断程序完成。发送命令子程序将变频器目标速度值和命令参数加工为USS协议格式,发送出去,并设置发送标志,复位接受完成标志,并开允许接受中断和定时中断。
当变频器发送响应报文时,激活后台中断程序接受变频器的状态值和当前速度值,存入接受缓冲区,并复位发送标志,设置接受完成标志。
3.1  主控程序
    按照采样时间间隔,主控程序根据发送标志和接受完成标志,检查变频器接受缓冲区内容,并进行相应的处理。通讯程序由通信口初始化、运行、停止、速度设定等5个子程序和一系列中断服务子程序构成,主控程序的流程如图1所示。

图1     主控程序流程

3.2  通讯子程序
    通讯子程序如下:
    SBR0  
    //通讯初始化程序
    MOVB 16#49,SMB30
    //初始化P0为9600kb,8bit,偶校验
    MOVB 14,“P0-ST-LEN” 
    //设置发送缓冲区,发送字符数
    MOVB 16#2,“P0-ST-STX”    //STX
    MOVB 12,“P0-ST-LGE” //LGE
    MOVB 0,“P0-ST-ADR” //主站地址
    MOVB 255,“TO”
    ENI
    ATCH 4,25
    ATCH 6,11
    RET
    SBR2     
    //电机启动子程序
    MOVB BPADR,,“P0-ST-ADR”  
    //取主控缓冲区的从机地址
    MOVW 16#0C7F,“P0-ST-PZD0”
    //设定停止电机启动、正转
    CALL “Send-BP”    
    //调用发送程序
    RET
    SBR 4   
    //设定电机速度电机运行子程序
    MOVB“BPADR”,“P0-ST-ADRS”    
    //取主控缓冲区的从机地址
    MOVW 16#0C7F,“P0-ST-PZD0”
    //设定电机启动、正转
    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 &VB3500,ACO     
    //计算BCC
    MOVB 14,AC1   
    //循环计算BCC,存入“P0-ST-BCCS”置位重发次数计数器
    XMT “P0-ST-LEN”,0   
    //发送
    ATCH 0,9    
    //发送结束中断的中断服务程序号
    MOVB 100,“h”   
    //定时时间100ms
    ATCH 1,10  
    //定时中断处理,未接受倒数据,重发数据
    RET
3.3  中断接收子程序
    中断接收子程序由一系列服务程序组成,包括3种情况。
    (1) 判断中断接收的起始3个字符是否为制定字符,是将接收中断指针指向下一个中断程序,复位定时器,同时异或计算BCC值;否则将关闭接收中断,等待定时中断进行错误处理。
    (2) 对于数据块的接收,采用计数方式控制,当计数为零时,计算的BCC值应为0,否则关闭接收中断。
    (3) 定时中断激活时表示接收超时,重发次数值减1,如果不为0,则自动将发送缓冲区的内容重新发送;为0,置位错误标志。

4  结束语
    在变频拖动工程应用中,传统的方法是采用开关量和模拟量信号对变频器进行控制,信号容易受到干扰,出现控制上的错误。采用基于RS-485接口的USS通信协议对变频器进行控制的方法,大大 减少了系统布线,可以避免现场可能的各种电磁干扰对控制设备的影响,有效地提高系统的抗干扰能力。