USS协议通讯

更新时间:2024-04-12 20:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

S7-200控制Micromaster 变频器的标准的USS指令,采用RS485接口方式,通过PLC可以方便地控制和监测Microaster变频器的运行和状态。

在使用USS协议和西门子变频器通讯时,需注意以下几项: (1)USS协议是使用PLC的0端口和变频器通讯的,对于有两个端口的S7系列PLC要注意不要使用错误的端口号,而且当端口0用于USS协议通讯时,就不能再用于其它的目的了,包括与STEP7 Micro/win的通讯;

(2)在编程时,要注意使用的V存储器不要和给USS分配的冲突。若在USS协议中使用的是VW4725~VW5117之间的V存储器,建议在编写程序时,尽量不要使用这个区域附近的V存储器,以防出现不可预料的情况。

USS协议编程顺序如下:

(1)使用USS_INIT指令初始化变频器。包括指定端口0用于USS协议,通讯的波特率和激活的变频器号等。程序只能通过一次启动或改变USS参数。此程序段可以在程序初始化子程序中完成;

(2)使用DRV_CTRL激活变频器。每条DRV_CTRL只能激活一台变频器。而其它USS指令,如:READ_RPM(读变频器参数)、WRITE_RPM(写变频器参数)可以任意添加;

(3)配置变频器参数,以便和USS指令中指定的波特率和地址相对应。

(4)连接PLC和变频器间的通讯电缆。需要注意的是,因为是通讯,所以连线时一定要注意动力线和通讯线分开布线,并且通讯线要使用短而粗的屏蔽电缆,且屏蔽层要接到和变频器相同的接地点,否则会给通讯造成干扰,导致变频器不能正常运行。

通讯电缆的连线:PLC端“D”型头,1接屏蔽电缆的屏蔽层,3和8接变频器的两个通讯端子。在干扰比较大的场合,接偏置电阻。如图所示:

S7系列的USS协议指令是成型的,我们在编程时不必理会USS方面

通过USS协议实现变频调速器与PLC的通讯控制

来源:现代电子技术 作者:薛小龙 时间:2007-07-12 发布人:卢春妙

1 引 言

在某卫星地球站控制系统中,天线控制系统与监控系统的距离有1 000 m。要求监控系统能实时读取和设置变频调的参数。在天线控制系统中安装了西门子S7-200可编程控制器和西门子变频器调速器。通过西门子S7-200的自由通讯口0与下挂的4台变频进行数字化的信息传递,采用USS协议。通过USS协议,S7-200 PLC可以实时读取和设置变频调的相关参数。通讯速率可达187~kb/s,通信介质采用RS 485屏蔽双绞线。利用S7-200的自由通讯口1与上位监控机通过RS 485方式通讯,将变频器的信息通过S7-200实时传送到上位工控机中。

通过这样的方式可以有效地实现远程监控、减少电缆的数量,提高了系统的自动化水平及运行的可靠性。本文介绍如何使用USS协议以及使用UISS协议要注意的问题。 2 使用USS协议的要求

(1)初始化USS协议将专用作USS通讯;

(2)USS指令影响所有的与PORT0自由口通讯相关的SM区; (3)USS指令使用14个子程序和3个中断程序;

(4)USS指令使得用户程序对存储空间的需求最多可增加3 450 B;

(5)USS指令的变量需要400 B的V存储区。该区域的起始地址由用户指定并保留给USS变量; (6)USS指令还要求16 B的通讯缓存区;

(7)在执行计算时,USS指令使用累加器AC0~AC3 (8)USS指令不能用在中断程序中。 3 如何使用USS协议以及使用中要注意问题 3.1 USS协议提供的4个功能

(1)USS-INIT

在自由可编程通讯模式下,对与S7-200接口进行的USS通讯进行初始化。只有传输速率与通讯口需要定义所需的子程序、中断和符号标签自动生成。 (2)DRV CTRL 为控制和监视变频器:

在设定的旋转方向和速度上的启动/停止; 快速停止;

以最大额定速度的百分比表示的驱动器速率(一200%~+200%); 驱动器故障的确认; 当前驱动器状态的询问。 (3)READ PM

用于从变频器读取参数。 (4)WRITE PM

用于将参数写主变频器。 3.2 USS协议编程顺序

(1)使用USS INIT指令初始化变频器,指定端口0

用于LJSS协议,设置通讯的波特率指定哪个变频器激活等。程序只能通过一次启动或改变USS参数。此程序段 可以在程序初始化子程序中完成。

(2)使用DRV CTRL激活变频器。每条DRVCTRL只能激活一台变频器。而其他 USS指令,如:REAl)RPM(读变频器参数)、WRITE RPM(写变频器参数)可以任意添加。 (3)配置变频器参数,以便和USS指令中指定的波特率和地址相对应。

(4)连接PLC和变频器间的通讯电缆。需要注意的是,因为是通讯,所以连线时一定要注意动力

线和通讯线分开布线,并且通讯线要使用短而粗的屏蔽电缆,且屏蔽层要接到和变频器相同的接地点,否则会给通讯造成干扰,导致变频器不能正常运行。 3.3需注意的问题

(1)USS协议使用PLC的O端口和变频器通讯,对于有两个端口的S7系列PLC要注意不要使用错误的端口号,而且当端口O用于USS协议通讯时,就不能再用于其他的目的了,包括与STEP7 Micro/win的通讯;

(2)在编程时,要注意使用的V存储器不要和给USS分配的存储器冲突。若在USS协议中使用的是VW4725~'VW5117之间的V存储器,在编写程序时,不要使用这个区域附近的V存储器,以防出现不可预料的情况。 3.4使用USS协议程序举例

4 连接和设置4系列变频器 4.1连接

连接4系列变频器,将485电缆的两端插人为USS操作提供的两个卡式接线端。在S7-200上可使用标准PROFIBUS电缆和接头。 4.2 设置M4系列变频器 (1)将驱动恢复为出厂设置: P0010=30 P0970=1

(2)使能对所有参数的读/写访问:P0003=3; (3)检查驱动的电机设置: P0304一额定电机电压 P0305=额定电机电流 P0306一额定电机功率 P0307一额定电机频率 P0308=额定电机速度

(4)设置本/远程控制模式:P0700 INDEX0=5; (5)在COM链接中设置到USS的频率设定值: P1000 INDEX0=5:

(6)斜坡上升时间:P1120=0∽650 S;

(7)斜坡下降时间:P1121=0∽650 S; (8)设置串行链接参考频率:P2000=1~650 Hm (9)设置USS标准化:P2009 INDEX0=0; (10)设置RS 485串口波特率;

(11)输入从站地址:P2011 INDEX 0=O~31; (12)设置串行链接超时: P2014INDEX 0=0~65 535 ms

(13)P0971=1(启动传送)将参数设置的改变存入E2PROM。 5 结 语

在调速控制系统中,通讯技术的采用已经成为一种发展趋势。USS协议作为一种小型自动化系统的解决方案,已多次成功地在现场运用。

USS 协议简介

USS 协议(Universal Serial Interface Protocol 通用串行接口协议)是SIEMENS 公司所有传动产品的通用通讯协议,它是一种基于串行总线进行数据通讯的协议。USS协议是主-从结构的协议,规定了在USS 总线上可以有一个主站和最多30 个从站;总线上的每个从站都有一个站地址(在从站参数中设定),主站依靠它识别每个从站;每个从站也只对主站发来的报文做出响应并回送报文,从站之间不能直接进行数据通讯。另外,还有一种广播通讯方式,主站可以同时给所有从站发送报文,从站在接收道报文并做出相应的响应后可不回送报文。

使用USS 协议的优点

1. 对硬件设备要求低,减少了设备之间的布线, 2. 无需重新连线就可以改变控制功能,

3. 可通过串行接口设置或改变传动装置的参数, 4. 可实时的监控传动系统

常用USS 主站的性能对比:

USS 通讯硬件连接

1. 条件许可的情况下,USS 主站尽量选用直流型的CPU(针对S7-200 系列)

2. 一般情况下,USS 通讯电缆采用双绞线即可(如常用的以太网电缆),如果干扰比较大,可采用屏蔽双绞线。

3. 在采用屏蔽双绞线作为通讯电缆时,把具有不同电位参考点的设备互连会在互连电缆中产生不应有的电流,从而造成通讯口的损坏。要确保通讯电缆连接的所有设备,或是共用一个公共电路参考点,或是相互隔离的,以防止不应有的电流产生。屏蔽线必须连接到机箱接地点或9 针连接的插针1。建议将传动装置上的0V 端子连接到机箱接地点

4. 尽量采用较高的波特率,通讯速率只与通讯距离有关,与干扰没有直接关系。

5. 终端电阻的作用是用来防止信号反射的,并不用来抗干扰。如果在通讯距离很近,波特率较低或点对点的通讯的情况下,可不用终端电阻。多点通讯的情况下,一般也只需在USS 主站上加终端电阻就可以取得较好的通讯效果。

6. 当使用交流型的CPU22X 和单相变频器进行USS 通讯时,CPU22X 和变频器的电源必须接成同相位的。

7. 建议使用CPU226(或CPU224+EM277)来调试USS 通讯程序。

8. 不要带电插拔USS 通讯电缆,尤其是正在通讯过程中,这样极易损坏传动装置和PLC 的通讯端

口。如果使用大功传动装置,即使传动装置掉电后,也要等几分钟,让电容放电后,再去插拔通讯电缆。

USS 通讯的编程

USS 协议是以字符信息为基本单元的协议,而CPU22X 的自由口通讯功能和CPU31XC-PTP 的RS422/485 串行口正好也是以ASCII 码的形式来发送接收信息的。

利用这些CPU 的RS485 串行口的通讯功能,由用户程序完成USS 协议功能,可实现与SIEMENS 传动装置简单而可靠的通讯连接。

1. USS 点对点通讯的编程要点:

a) USS 主站(PLC)与USS 从站(传动装置)之间的通讯是异步方式的,负责与传动装置通讯的工作程序应采用后台工作方式,如何发送接收数据应与控制逻辑无关。用户程序通过改变USS 报文中的STW 及HSW 的值,来控制变频器的启停及改变设定频率值。

b) 利用发送指令(如XMT,P_SEND,P_SND_RK)发送USS 报文至传动装置,利用接收指令(如RCV,P_RCV,P_RCV_RK)接收变频器返回的USS 报文。同一时刻,只能有一个发送指令或接收指令被激活。

c) USS 通讯程序包括通讯端口初始化子程序、 BCC 校验码计算子程序、数据发送子程序、数据接收子程序、通讯超时响应子程序、通讯流程控制子程序等。可采用中断响应的方式,也可用查询相应标志位的方式来实现。

d) 设立发送接收数据缓存区与映像区,用户应通过改变映像区的USS 发送报文值来控制传动装置,或通过读取映像区USS 接收报文中的状态值来判断传动装置的当前状态。以防止因干扰而接收到错误数据而使PLC 做出错误的判断和控制

2. USS 多点通讯的编程要点

a) 控制通讯的基本流程同上述点对点通讯方式

b) 对各从站的控制应采取轮询方式,轮询程序同样也是后台工作方式工作的。

c) 根据对各台传动装置控制任务的轻重,在PLC 数据区内建立一个从站地址表,按该地址表轮询各传动装置。采用间接寻址的编程方式,可大大节省CPU 的程序空间。

d) 轮询地址表示例虽然,USS 协议的实际物理地址只有30 个,但轮询地址表的大小无限制,其有效站地址可以在表中根据实际应用需要反复出现。实际轮询站点数越多,其轮询的间隔时间也越大,而表中站地址重复次数越多,其轮询的间隔时间越小,因此必须为每个传动装置设定适当的通讯超时时间以适应这种轮询间隔。

e) 不同USS 从站可以有不同的USS 报文结构,如3 PKW + 2 PZD;4 PKW + 4 PZD;0 PKW + 6 PZD 等组合。但整个系统要支持广播方式,则USS 网络中的所有从站都必须有相同的PKW 区才行。

f) 传动装置对以广播方式发送的指令做出响应后,不再回送报文,因此PLC可以不再进入数据接收状态。

USS在S7-200与变频器的通信中实现自由口通信

http://www.iianews.com 2008年08月05日

1 引言

计算机及通讯技术已成为工业环境中大部分解决方案的核心部分,其在系统中的比重正在迅速增加。在一个自动化系统中,交、直流调速器不仅仅作为一

个单独的执行机构,而是随着其不断的智能化,它们相互之间及同控制系统之间可以通过各种通讯方式结合成一个有机的整体。西门子变频器USS自由口通信以其通信质量高、成本低廉在自动化系统得到了广泛的应用。本文以USS自由口通信在石油钻机电气传动系统中的实际应用为例,对自由口使用的地址分配,通信程序实现进行了较详细的分析,该思路不仅用于PLC来保证通信质量,对于用高级语言在PC实现的通信程序编制、提高通信的可靠性都具有一定的借鉴意义。 2 USS通信 2.1 USS概况

西门子交、直流调速器采用的USS通讯协议是西门子公司为传动系统开发的通讯协议,可支持交直流驱动器同PC或PLC之间建立通讯联接,适用于规模较小的自动化系统。有以下特点:

(1) 用单一的、完全集成的系统来解决自动化问题。所有的西门子交、直流驱动器都可采用USS协议作为通信链路,原先的驱动器间是孤立的,仅有极少量通过硬件电路反馈信号。

(2) 数字化的信息传递,提高了系统的自动化水平及运行的可靠性,解决了模拟信号传输所引起的干扰及漂移问题。

(3) 其通信介质采用RS-485屏蔽双绞线,最远可达1000m,因此可有效地减少控制电缆的数量,原系统中需要20芯控制电缆一般在4根以上,现在只需工作电源就可以,从而可以大大减少开发和工程费用,提高可靠性。

(4) 通讯速率较高,可达187.5kbps。对于有5个变频器,每个调速器有六个过程数据需刷新的系统,PLC的典型扫描周期为几百毫秒。

(5) 它采用与PROFIBUS相似的操作模式,总线结构为单主站、主从存取方式。报文结构具有参数数据与过程数据,前者用于改变调速器的参数,后者用于快速刷新调速器的过程数据,如启动停止、逻辑锁定、速度给定、力矩给定等。具有极高的快速性与可靠性。 2.2 西门子USS通信协议 [1> (1) 协议概况

●Siemens驱动器所定义的USS协议,是Profibus通信协议的简化,通过其总

线可以连接31个节点,传输速率可以达到19.2k比特率,通过主站(PC、PLC)进行控制。

●USS总线上的每个传动装置都有一个站号,主站通过它识别每个传动装置。 ●USS可以是主从结构:从站回应主站发来的报文并发送报文。也可以是广播通讯方式:报文同时发送给所有的传动装置。 (2) 协议说明

所有数据报文都由14个字节组成,是标准的异步报文格式:1个起始位,8个数据位,一个偶校验位和一个停止位。数据报文的结构如下: 主站到从站的报文格式:

从站到主站的报文格式:

(3) USS协议报文描述

●STX STX是单字节的ASCⅡ STX字符(值为02),表示报文的开始。 ●LGE LAE是单字节区域,表示报文中LAE区域后的字节数。 ●ADR ADR是单字节区域,包含从站传动装置的地址::

其中位5是广播位。选择是否将这报文以广播方式发送给总线上的所有驱动器,位0~4是驱动器总线地址。

●BCC BCC是单字节区域,对报文中该区域以前所有的字节进行异或校验。

●IND IND是16位的区域,通用传动装置应设为0。

●PKE PKE是16位的区域,用来控制传动装置的参数读写,定义如下:位0~10为参数号,位12~15为参数读写控制,如2038H,2代表读参数,38H表示十进制ID为56的参数。

●VAL VAL是16位的区域,通过读写参数命令将参数值写到对应的参数ID中。

USS协议:

西门子传动装置的通用串行通信协议,公开 详情请参考相应传动装置的手册 USS 通信协议简介:

USS (Universal Serial Interface, 即通用串行通信接口) 是西门子专为驱动装置开发的通信协议,多年来也经历了一个不断发展、完善的过程。最初 USS 用于对驱动装置进行参数化操作,即更多地面向参数设置。在驱动装置和操作面板、调试软件(如 DriveES/STARTER)的连接中得到广泛的应用。近来 USS 因其协议简单、硬件要求较低,也越来越多地用于和控制器(如 PLC)的通信,实现一般水平的通信控制。

注意: USS 提供了一种低成本的,比较简易的通信控制途径,由于其本身的设计,USS 不能用在对通信速率和数据传输量有较高要求的场合。在这些对通信要求高的场合,应当选择实时性更好的通信方式,如 PROFIBUS-DP 等。在进行系统设计时,必须考虑到 USS 的这一局限性。

例如,如果在一些速度同步要求比较高的应用场合(如造纸生产线),对十几甚至数十台变频器采用 USS 通信控制,其效果可想而知。

USS 协议的基本特点如下:

支持多点通信(因而可以应用在 RS 485 等网络上) 采用单主站的“主-从”访问机制

一个网络上最多可以有 32 个节点(最多 31 个从站) 简单可靠的报文格式,使数据传输灵活高效 容易实现,成本较低

USS 的工作机制是,通信总是由主站发起,USS 主站不断循环轮询各个从站,从站根据收到的指令,决定是否、以及如何响应。从站永远不会主动发送数据。从站在以下条件满足时应答:

接收到的主站报文没有错误,并且 本从站在接收到主站报文中被寻址

上述条件不满足,或者主站发出的是广播报文,从站不会做任何响应。

对于主站来说,从站必须在接收到主站报文之后的一定时间内发回响应。否则主站将视为出错。

USS 字符帧格式

USS 的字符传输格式符合 UART 规范,即使用串行异步传输方式。USS 在串行数据总线上的字符传输帧为 11 位长度,包括:

起始位 数据位 校验位 停止位 1 0

LSB 1 2 3 4 5 6 7 MSB 偶 x 1 1

连续的字符帧组成 USS 报文。 在一条报文中,字符帧之间的间隔延时要小于两个字符帧的传输时间(当然这个时间取决于传输速率)。

S7-200 CPU 的自由口通信模式正好能够支持上述字符帧格式。把 S7-200 的自由口定义为以上字符传输模式,就能通过编程,实现 USS 协议报文的发送和接收。主站控制器的所支持的通信模式必须和所要控制的驱动装置所要求的一致,这是实现 S7-200 和西门子驱动装置通信的基础。

USS 报文帧格式

USS 协议的报文简洁可靠,高效灵活。报文由一连串的字符组成,协议中定义了它们的特定功能:

STX LGE ADR 净数据区 BCC 1. 2. 3. ... n

以上每小格代表一个字符(字节)。其中:

STX: 起始字符,总是 02 h LGE: 报文长度

ADR:从站地址及报文类型 BCC: BCC 校验符

在 ADR 和 BCC 之间的数据字节,称为 USS 的净数据。主站和从站交换的数据都包括在每条报文的净数据区域内。

净数据区由 PKW 区和 PZD 区组成:

PKW 区 PZD 区

PKE IND PWE1 PWE2 ... PWEm PZD1 PZD2 ... PZDn

以上每小格代表一个字(两个字节)。

PKW: 此区域用于读写参数值、参数定义或参数描述文本,并可修改和报告参数的改变 。其中:

PKE: 参数 ID。包括代表主站指令和从站响应的信息,以及参数号等

IND: 参数索引,主要用于与 PKE 配合定位参数 PWEm:参数值数据

PZD: 此区域用于在主站和从站之间传递控制和过程数据。控制参数按设定好的固定格式在主、从站之间对应往返。如:

PZD1:主站发给从站的控制字/从站返回主站的状态字 PZD2: 主站发给从站的给定/从站返回主站的实际反馈 PZDn: ……

根据传输的数据类型和驱动装置的不同,PKW 和 PZD 区的数据长度都不是固定的,它们可以灵活改变以适应具体的需要。但是,在用于与控制器通信的自动控制任务时,网络上的所有节点都要按相同的设定工作,并且在整个工作过程中不能随意改变。

注意:

对于不同的驱动装置和工作模式,PKW 和 PZD 的长度可以按一定规律定义。 一旦确定就不能在运行中随意改变 PKW 可以访问所有对 USS 通信开放的参数;而 PZD 仅能访问特定的控制和过程数据 PKW 在许多驱动装置中是作为后台任务处理,因此 PZD 的实时性要比 PKW 好

以上仅是对 USS 协议的简单介绍,以帮助读者更好地理解控制任务和选择对策。如需要了解详细的信息,请参考相应驱动产品的手册。

USS 的复杂性和 S7-200 作为主站的对策

USS 通信的复杂性体现在它在不同的应用场合不是固定不变的。这是因为:

USS 经过长期的发展,存在一些子集和变种 驱动装置可能不支持 USS 通信协议中的部分功能 不同的驱动装置的参数定义可能有很大区别

这些原因导致一个实用的 USS 主站必须针对不同的驱动装置做出改动。使用 USS 调试驱动装置的软件就要做到这一点。这就给在 S7-200 上做一个通用的 USS 程序带来了实质的困难。

一个驱动产品,只要它支持 USS 通信,S7-200 就可以通过自由口编程对其控制。通过其手册能够了解它支持 USS 通信的特点,从而编出适合的程序。这种任务往往比较复杂而且耗费时间。西门子为解决这一问题,针对应用比较广泛,产品线比较相配的驱动产品,开发了 S7-200 的 USS 指令库。

S7-200 的 USS 指令库

S7-200 的 USS 指令库最初是针对 MicroMaster 3 系列产品的,经过一段时间的发展,现在以及能够完全支

持 MicroMaster 3 系列和 MicroMaster 4 (MM4)系列产品,以及 SINAMICS G110 系列产品;目前此 USS 指令库还能对 MasterDrive 等产品提供有限的支持,这些产品包括 6SE70/6RA70 等。

本章中将用 MM440 变频器与 S7-200 之间的 USS 通信为例。

--------------------------------------------------------------------------------

S7-200 通过 USS 指令库控制变频器 S7-200 与西门子驱动装置的连接形式 S7-200 与 MM 440 USS 通信的接线

中、英文资料、软件本地下载

http://www.ad.siemens.com.cn/download

基于USS协议实现可编程控制器对变频器的控制研究

返回文章列表

作者: 时间:05-10 来源: 字体:【大 中 小】

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所示。

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通信协议对变频器进行控制的方法,大大 减少了系统布线,可以避免现场可能的各种电磁干扰对控制设备的影响,有效地提高系统的抗干扰能力。

图1 主控程序流程

4 结束语

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

图1 主控程序流程

本文来源:https://www.bwwdw.com/article/1k0p.html

Top