主要内容:
S7-200 PLC USS 通讯概述
S7-200 PLC USS通讯指令
S7-200 PLC USS通讯常见问题
S7-200 PLC的USS通讯主要用于PLC与西门子系列变频器之间的通讯:
PLC与驱动装置连接配合。主要任务是:
控制驱动装置的启动、停止等运行状态
驱动装置的速度等控制参数
获取驱动器的状态和参数
USS协议的基本特征如下:
支持多点通讯(因此可以应用于RS 485等网络)
网络上最多可以有32 个节点(最多31 个从站)
获取驱动器的状态和参数
目前USS支持的通信对象包括:
微大师3/微大师4系列
SINAMICS G110
MaterDrive 6SE70/6RA70
S7-200 的USS 通信
USS字符帧格式:
字符帧格式包括1个起始位、8个数据位、1个偶校验位和1个停止位。
USS消息帧格式:
报文帧格式中起始字符固定为02H,报文长度为1字节,后面是数据区,最后是一字节的BCC校验。
上表中间的净数据区由PKW区和PZD区组成:
PKW:该区域用于读写参数值、参数定义或参数描述文本,并可以修改和报告参数变化。
PZD:该区域用于在主从机之间传输控制和处理数据。控制参数按照设定的固定格式对应主从站之间的往返。
通常USS有一个主站和多个从站,即一台PLC控制多台变频器。在轮询过程中,首先变频器的从站地址会被赋予不同的值,从0到n,中间可以不连续。轮询过程是PLC向0号站发送数据,0号站响应。然后发送数据到1号站,1号站再次响应,直到发送到n号站,n号站响应。对于特定的站,如果PLC发送数据后无法收到该站的响应,则会再发送一包数据。如果仍然无法接收数据,则放弃该站并开始发送下一个站号。
上表反映了传输波特率与主站轮询从站的时间间隔之间的关系。例如,当传输波特率为2400bit/s时,访问单个从站大约需要130ms。如果波特率越来越大,主站轮询从站所需的时间间隔也会相应减少。
在使用USS库之前,我们首先需要为Micro WIN软件安装一个名为Toolbox_V32-STEP 7-Micro WIN的软件包。软件包解压安装后即可在Micro WIN下查看并使用。有两个文件夹,分别是USS Port0库指令和USS Port1库指令。
打开这些库指令,直接将里面的指令拖到程序中即可完成对USS库指令的调用。
使用这个库的时候,记得给库分配一个库存储区。具体方法是:右键单击库,选择库存储区域,在推荐地址栏中输入一个地址范围。该地址范围将用作USS命令库。后台数据区,切记该数据区不能与程序中其他地址区冲突,否则会导致USS库文件使用异常。
1) USS_INIT 命令
上图中的指令称为USS_INIT,即USS从机初始化指令。调用时,应使用边缘启动。一旦触发,PLC 立即开始轮询驱动器。 USS_INIT引脚定义如下图所示:
当Mode=1时启动USS; Baud为波特率设置; Active表示参与通讯的从站地址。准确的说,它代表了所有参与通信的从站的地址。它是如何定义的?看一下下表:
首先,Active变量的数据类型是双整数,即32位。这里我们把这32位从低到高列出来,那么它对应的从站地址就是0号站地址,1号站对应的是1号站的站地址,以此类推,就是很容易识别。从机激活标志只有两种状态:0 和1。0 表示不活动,1 表示激活。表中第三行的例子中,表示1、2位被激活,其他位都为0。没有被激活,那么此时实际上是Active=16#00 00 00 06。这个number 表示1 号站和2 号站将被激活,因此USS 轮询从站时,会轮询1 号站和2 号站。停止2。
引脚定义中的Done位和Error位分别是初始化完成标志和错误代码。
2)USS_CTRL命令
USS_CTRL功能块是我们实际用来控制各个从站的指令。该指令的引脚定义如上图右表所示。当RUN=1时,表示运行,即让电机转动。 0表示停止电机; OFF2表示以OFF2方式停止,OFF3表示以OFF3方式停止。这是什么意思?西门子变频器通常有三种停车模式,即OFF1、OFF2、OFF3。 OFF1就是我们通常所说的正常停车。其停车时间由变频器中的参数设定。 OFF2被称为免费。停止或滑行停止。当收到OFF2停止命令时,电机会以自然惯性方式自由停止。 OFF3通常称为快速停止。也可以通过改变变频器中的参数来改变其停止时间。设定的话,通常OFF3的停车时间会小于OFF1的停车时间,所以我们称之为快速停车。对于我们这样的USS_CTRL功能块来说,OFF2和OFF3分别由这两个引脚控制,而OFF1即当RUN=0时为OFF1停止; F_ACK为故障确认; DIR为方向选择,电机正转还是反转; Drive 代表受控电机的站号。上一个例子中,一个数字是1。2号是我们要控制的电机,那么这条USS_CTRL指令是控制哪个电机呢?然后通过Drive进行设置; Type 选择驱动器类型,0 为MM3 系列变频器,1 为其他系列变频器; Speed_SP 为速度设定值,可以是百分比的形式,也可以是0-50Hz 频率的形式设置范围,具体是‘%’还是‘Hz’,可以通过变频器中的参数来选择。功能块右侧的这些引脚是变频器反馈回来的一些数据,包括从站响应确认信号、通讯错误代码、状态字等。
3)参数读写指令
参数读写指令共有6条,如上表所示。前三个是读指令,后三个是写指令。每条指令的最后一位表示读或写的数据类型,W表示字或整数。 D 代表双整型,R 代表浮点型。在变频器的说明书中,通常以U16、U32、Float的形式表示。
上图中的指令是USS_RPM_R指令,该指令是读取实数类型参数的指令。其引脚定义如下表所示:
XMT_REQ是读请求,必须由边沿触发; Drive表示驱动设备的站地址; Param表示要读取的参数号。我们知道,变频器中的参数都有自己的参数号;索引代表参数组的标识,变频器里面的参数往往是分组的,有的分两组,有的分四组。这时候我们需要在Index中指定我们这次修改或者读取的是哪组参数; DB Ptr是Read参数,读取的数据会放在本地; Done、Error 和Value 分别是读命令完成位、错误代码和读数据值。
在使用PLC与变频器进行USS通讯之前,我们首先需要对变频器进行一些设置。如上图所示,列出了一些基本参数。我们的示例基于MM440。首先看P700=5,代表控制源。从通信线路上的USS通信; P1000=5表示设定源来自USS通讯; P2009表示USS通讯设定值标准化,即设定值为绝对频率值; P2010=6 表示设置通讯线上的USS通讯速率为9600波特率; P2011=3 表示驱动设备USS 通讯口在网络上的从机地址。同一USS上的不同逆变器必须设置不同的站地址;最后通过P971=1将以上设置的参数保存到MM440的EEPROM中。
Q1:USS可以与第三方变频设备通讯吗?
A1:不可以,USS协议是专为西门子变频器设计的通信协议,只能支持特定产品。常见的有MicroMaster系列标准变频驱动器、MasterDrive系列高性能驱动器以及新产品SINAMICS系列。
Q2:为什么项目编译后出现很多错误?
A2:使用指令库后,如果编译后出现很多错误,通常是因为没有指定库指令数据存储区域。
Q3:查看USS通讯主站的轮询时间表,访问一个从站只需要几十毫秒。为什么发出运行命令后,感觉电机过了几百毫秒才转动?这是正常的吗?
A3:从用户发出运行控制信号到人眼可见的电机转动,中间有很多步骤。控制信号进入PLC数字输入端子,经过主站中程序运行、通讯周期、从站中程序处理。特别是驱动装置的启动需要很多准备步骤,如电容预充电、建立磁场、建立磁场等。扭矩等。需要一段时间才能看到电机的旋转。这个是正常的。