USS通信协议..
- 格式:docx
- 大小:328.43 KB
- 文档页数:12
西门子S7-1200紧凑型PLC 在当前的市场中有着广泛的应用, 作为经常与SINAMICS G120 系列变频器共同使 用的PLC ,其USS 通信协议的使用一直在市场上有着非常广泛的应用。
本文将主要介绍如何使用 USS 通信协议来实现S7-1200与G120变频器的通信。
1.控制系统原理和接线图下图是本例中所使用的原理和接线图图1:控制系统原理和接线图2 •硬件需求S7-1200 PLC 目前有3种类型的CPU : 1) S7-1211C CPU 。
2) S7-1212C CPU 。
3) S7-1214C CPU 。
开关PECPU1214GCM1Z41RS4B5G120变硕我TPMi2BZL1 L2这三种类型的 CPU 都可以使用 USS 通信协议通过通信模块 CM1241 RS485 来实现S7-1200与G120变频器的通信。
本例中使用的PLC 硬件为:1) PM1207 电源(6EP1 332-1SH71 ) 2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 ) 3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 ) 4) 模拟器 (6ES7 274 -1XH30 -0XA0 )本例中使用的 G120变频器硬件为: 1) SINAMICS G120 PM240 ( 6SL3244-0BA20-1BA0 ) 2)SINAMICS G120 CU240S( 6SL3224-0BE13-7UA0 )3) SIEMENS MOTOR (1LA7060-4AB10) 4) 操作面板(XAU221-001469) 5) USS 通信电缆 (6XV1830-0EH10)3 .软件需求1)编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)4 .组态我们通过下述的实际操作来介绍如何在 Step7 Basic V10.5 中组态S7-1214C 和G120变频器的USS 通信。
4. 1 PLC 硬件组态首先在Step7 Basic V10.5 中建立一个项目,如图 1所示Project tree Devices 琲C IW riUSSG120Add new device图2 :新建S7 1200项目在硬件配置中,添加 CPU1214C 和通信模块 CM1241 RS485 模块,如图2所示Devices &■.■:-rrir^.:-h data.Lcinqij^qes & ResourcesI11图3 : S7 1200硬件配置在CPU的属性中,设置以太网的 IP地址,建立PG与PLC的连接,如下图所示。
图4 : S7 1200 IP 地址的设置4. 2 G120参数设置变频器的参数设置如下表所示。
序号功能参数设定值1 工厂设置复位P0010 30注意:表1中的17 , 18 , 19 , 20这四项参数值的设置必须使PLC的参数值与变频器的参数值相一致。
而19 , 20这两个参数值必须设置成如表1中的值,否则有可能变频器与S7-1200通信有如下问题:可能不能读出从变频器反馈回来的参数值。
5 . USS通信原理与编程的实现5. 1 S7 1200 PLC 与G120 通过USS通信的基本原理S7 1200提供了专用的 USS库进行USS通信,如下图所示:Libraries▼ Project library□5 1=1 All-Project libraiy心®电I 包21► LJJ Ml II Buttons & JV . 苗u L ®_^USS_DF. [I Li] _1lJS5_POkT [ I 0] U"」Fhl [丨 0]USS. '/PM [ I u)▼ Parts (Project library)r Hmv图5 : S7 1200 专用的USS 库USS_DRV 功能块是S7-1200 USS 通信的主体功能块,接受变频器的信息和控制变频器的指令都是通过这 个功能快来完成的。
必须在主 OB 中调用,不能在循环中断OB 中调用。
USS_PORT 功能块是S7-1200与变频器USS 通信的接口,主要设置通信的接口参数。
可在主OB 或中断OB 中调用。
USS_RPM 功能块是通过 USS 通信读取变频器的参数。
必须在主 OB 中调用,不能在循环中断 OB 中调用。
USS_WPM 功能块是通过USS 通信设置变频器的参数。
必须在主 OB 中调用,不能在循环中断 OB 中调用。
这些专用功能块与变频器之间的控制关系如下图所示:鬧-nltnlg uttinll#-财TeMrls'g -身 TAlcftlfLibFEUrit的pm frir图6 : USS 通信功能块与变频器的控制关系USS_DRV 功能块通过USS_DRV_DB 数据块实现与 USS_PORT 功能块的数据接收与传送,而 USS_PORT 功能块是 S7-1200 PLC CM1241 RS485 模块与变频器之间的通信接口。
USS_RPM 功能块和USS_WPM 功能块与变频器的通信与USS_DRV 功能块的通信方式是相同的。
每个S7-1200 CPU 最多可带3个通信模块,而每个 CM1241 RS485 通信模块最多支持 16个变频器。
因 此用户在一个S7-1200 CPU 中最多可建立3个USS 网络,而每个USS 网络最多支持16个变频器,总共最多 支持48个USS 变频器。
5. 2 S7 1200 PLC 进行USS 通信的编程1 . USS 通信接口参数功能块的编程USS 通信接口参数功能块的编程如下图所示。
IMRn Mr 乱 r i™—她 niu-antiWMH.K ・厂 rmPRil mu ■算』*网邮i H >iwjln™■ MJi!冲列.押 P ■-*T TWSJP_Lr WUi bb tt "州AJ viy Sn>~ L 1'I♦ WHIM - =4" iwm- U41AI ■ 1UIVI*廳、LfrWU 阳編HFW DB一t? 3 J F 4 y«910卅12 13 uIS1flthWtl 5-O"- 3pF>【TOJFrRK in*1 fcMIl%D02 DBW4 Daia_tlocfc_1- status图7 : USS 通信接口参数功能块的编程USS_PORT 功能块用来处理 USS 网络上的通信,它是S71200 CPU 与变频器的通信借口。
每个CM1241 RS485 模块有且必须有一个 USS_PORT 功能块。
PORT :指的是通过哪个通信模块进行 USS 通信。
BAUD :指的是和变频器进行通行的速率。
变频器的参数 P2010种进行设置。
USS_DB :指的是和变频器通信时的USS 数据块。
每个通信模块最多可以有16个USS 数据块,每个 CPU 最多可以有48个USS 数据块,具体的通信情况要和现场实际情况相联系。
每个变频器与 S7-1200进行通信的数据块是唯一的。
ERROR :输出错误。
STATUS :扫描或初始化的状态。
S7-1200 PLC 与变频器的通信是与它本身的扫描周期不同步的,在完成一次与变频器的通信事件之前, S7-1200通常完成了多个扫描。
USS_PORT 通信的时间间隔是 S7-1200与变频器通信所需要的时间,不同的通信波特率对应的不同的 USS_PORT 通信间隔时间。
下图列出了不同的波特率对应的USS_PORT 最小通信间隔时间。
图8 :不同的波特率对应的 USS_PORT 最小通信间隔时间USS_PORT 在发生通信错误时,通常进行 3次尝试来完成通信事件,那么 S7-1200与变频器通信的时间就是USS_PORT 发生通信超时的时间间隔。
例如:如果通信波特率是 57600,那么USS_PORT 与变频器通信的时间间隔应当大于最小的调用时间间隔,即大于36.1MS 而小于109MS 。
S7-1200 USS 协议库默认的通信错11HRS4S5_1[CM]" PORT57600 -BAUD ]VC107Q ■us5_ra KT'ENOERROR%DB2 DBX6 □ OBla_block_r errorW01STATU 5误超时尝试次数是 2次基于以上的USS_PORT通信时间的处理,我们建议在循环中断 0B块中调用USS_PORT通信功能块。
在建立循环中断 0B块时,我们可以设置循环中断 0B块的扫描时间,以满足通信的要求。
循环中断0B块的扫描时间的设置如下图所示:hlanneL cli■: int^rriprFunction(FOblockrrwrE 二图9 :循环中断 0B块的扫描时间的设置2. USS_DRV功能块的编程USS_DRV功能块的编程如下图所示。
Ficqr^irt . cle■ tmiipOrganc«tionblock(OB)Functionblockd*l\ int*rniptIC interru plIL・fi g u ^ge. LAD _NumburMenu«l* Automatic(^巴3/師制圧总o** Symibolic 起onlyDescriplian-■ ;hc kiitenupt1" OB will interrupt cyclicpf住gi Am 色・M uitr dtlih^d iM环allsThe inter, si can be defined in tlir Jialog or in til epropc rtie J c-l die OB[ %D01 'U5S DRV DB' "US5 DRV”血悒 blQCk_1"'SETTINGSPEED' J SPEED SP图10 : USS_DRV 功能块的编程USS_DRV 功能块用来与变频器进行交换数据,从而读取变频器的状态以及控制变频器的运行。
每个变频器使用 唯一的一个USS_DRV 功能块,但是同一个 CM1241 RS485 模块的USS 网络的所有变频器(最多 16个)都使 用同一个uss_ _DRV_DB 。
USS_DRV_DB :指定变频器进行 USS 通信的数据块。
RUN : 指定DB 块的变频器启动指令。
0FF2 : 紧急停止,自由停车。
该位为0时停车。
0FF3 : 快速停车,带制动停车。
该位为0时停车。
F_ACK : 变频器故障确认。
DIR : 变频器控制电机的转向。