详细介绍
西门子S7-1500总代理功能块通过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通信接口参数功能块的编程如下图所示。
图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 协议库默认的通信错误超时尝试次数是2次。
基于以上的USS_PORT通信时间的处理,我们建议在循环中断OB块中调用USS_PORT通信功能块。在建立循环中断OB块时,我们可以设置循环中断OB块的扫描时间,以满足通信的要求。循环中断OB块的扫描时间的设置如下图所示:
图9:循环中断OB块的扫描时间的设置2.USS_DRV功能块的编程
USS_DRV功能块的编程如下图所示。西门子S7-1500总代理
图10: USS_DRV功能块的编程USS_DRV功能块用来与变频器进行交换数据,从而读取变频器的状态以及控制变频器的运行。每个变频器使用的一个USS_DRV功能块,但是同一个CM1241 RS485模块的USS网络的所有变频器(多16个)都使用同一个USS_DRV_DB。
USS_DRV_DB:变频器进行USS通信的数据块。
RUN: DB块的变频器启动指令。
OFF2: 紧急停止,自由停车。 该位为0时停车。
OFF3: 快速停车,带制动停车。 该位为0时停车。
F_ACK: 变频器故障确认。
DIR : 变频器控制电机的转向。
SPEED_SP: 变频器的速度设定值。ERROR: 程序输出错误。
RUN_EN: 变频器运行状态指示。
D_DIR: 变频器运行方向状态指示。
INHIBIT: 变频器是否被禁止的状态指示。
FAULT: 变频器故障。
SPEED: 变频器的反馈的实际速度值。DRIVE: 变频器的USS站地址。变频器参数P2011设置。
PZD_LEN: 变频器的循环过程字。 变频器参数P2012设置。注意:变频器的PKW的长度在这里是特殊需要注意的,在使用USS通信时必须是4,如果改成3或者127都将不能读取反馈回来的过程值。
3.USS_RPM功能块的编程USS_RPM功能块的编程 如下图所示。
图11:USS_RPM功能块的编程USS_RPM功能块用于通过USS通信从变频器读取参数。
REQ: 读取参数请求。
DRIVE: 变频器的USS站地址。
PARAM: 变频器的参数代码。
INDEX: 变频器的参数索引代码
USS_DB: 变频器进行USS通信的数据块。DONE: 读取参数完成。
ERROR: 读取参数错误。
STATUS: 读取参数状态代码。
VALUE: 所读取的参数的值。注意:进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量读取参数时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
4.USS_WPM功能块的编程USS_WPM功能块的编程如下图所示。
图12:USS_WPM功能块的编程USS_WPM 功能块用于通过USS通信设置变频器的参数。
REQ: 读取参数请求。
DRIVE: 变频器的USS站地址。
PARAM: 变频器的参数代码。
INDEX: 变频器的参数索引代码。
EEPROM:把参数存储到变频器的EEPROM。
VALUE: 设置参数的值。
USS_DB: 变频器进行USS通信的数据块。DONE: 读取参数完成。
ERROR: 读取参数错误状态。
STATUS: 读取参数状态代码。注意:对写入参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量进行写入参数值时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
5. 3 S7 1200 PLC进行USS通信的调试S7-1200 PLC 通过CM1241 RS485模块与变频器进行USS通信时,需要注意如下几点:
- 当同一个CM1241 RS485 模块带有多个(多16个)USS变频器时,这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次,每个USS_DRV功能块调用时,相对应的USS站地址与实际的变频器要*,而其它的控制参数也要*。
- 当同一个S7-1200 PLC 带有多个CM1241 RS485模块(多3个)时,这个时候通信的USS_DB相对应的是3个,每个CM1241 RS485模块的USS网络使用相同的USS_DB,不同的USS网络使用不同的USS_DB。
- 当对变频器的参数进行读写操作时,注意不能同时进行USS_RPM和USS_WPM的操作,并且同一时间只能进行一个参数的读或者写操作,而不能进行多个参数的读或者写操作。
在S7-1200 PLC 与变频器的USS通信的实际使用过程中,需要根据网络的现场情况,对问题进行具体的解决。
2产品分类编辑
可编程控制器是由现代化生产的需要而产生的,可编程序控制器的分
西门子PLCS7-200系列
类也必然要符合现代化生产的需求。
一般来说可以从三个角度对可编程序控制器进行分类。其一是从可编程序控制器的控制规模大小去分