1.USS协议简介
USS(Universal Serial Interface Protocol,通用串行接口协议)是西门子公司为其变频器所开发的通用通信协议,可以支持变频器与PC或PLC之间的通信连接,是一种基于串行总线进行数据通信的协议。S7-1200 PLC可以将其通信端口设置为自由口模式的USS协议,以便实现PLC对变频器的控制。
USS协议是主-从结构协议,规定了在USS总线上可以有一个主站(PLC)和最多31个从站(变频器);总线上的每个从站都有唯一的标识码(即站地址,在从站参数中设定),主站依靠标识码识别各个从站;每个从站也只对主站发来的报文做出响应并回送报文,从站之间不能直接进行数据通信。另外,还有一种广播通信方式,主站可以同时给所有从站发送报文,从站在接收到报文并做出相应的响应后可不回送报文。
USS协议的波特率最高可达187.5kbps,通信字符格式为1位起始位、1位停止位、1位偶校验位和8位数据位。
USS通信的刷新周期与PLC的扫描周期是不同步的,一般完成一次USS通信需要几个PLC扫描周期,通信时间和链路上变频器的台数、波特率和扫描周期有关。例如,如果通信的波特率设定为19.2kbps,3台变频器,经实际调试检测通信时间大约为50ms。
2.USS指令
S7-1200 PLC提供的USS协议库包含变频器通信的指令USS_DRV、USS_PORT、USS_RPM和USS_WPM,可以通过这些指令来控制变频器、读写变频器的参数。USS协议只能用于CM1241 RS485通信模块,不能用于CMI241 R232通信模块。每个CM1241 RS485通信模块最多只能与16个变频器通信。
(1)USS_DRV指令。
通过创建消息请求和解释从变频器的响应信息来与变频器交换数据。每个变频器要使用一个单独的功能块,但在同一USS网络中必须使用同一个背景数据块。背景数据块中包含一个USS网络中所有变频器的临时存储区和缓冲区。USS_DRV功能块的输入对应变频器的状态,输出对应对变频器的控制。USS_DRV指令的参数含义如表10.6所示。
表10.6 USS_DRV指令的参数含义
(2)USS_PORT指令。
USS_PORT指令用于处理USS网络上的通信。在程序中每个USS网络仅使用一个USS_PORT指令。每次执行USS_PORT指令仅处理与一个变频器的数据交换,所以必须频繁执行USS_PORT指令以防止变频器通信超时。USS_PORT通常在一个延时中断OB中调用以防止变频器通信超时,并给USS_DRV提供新的USS数据。USS_PORT指令的参数含义如表10.7所示。
表10.7 USS_PORTV指令的参数含义
(3)USS_RPM指令。
USS_RPM指令从变频器读取一个参数的值,必须在OB1中调用。USS_RPM指令的参数含义如表10.8所示。
表10.8 USS_RPM指令的参数含义(www.daowen.com)
(4)USS_WPM指令。
USS_WPM指令从更改变频器某一个参数的值,必须在OB1中调用。USS_WPM指令的参数含义如表10.9所示。
表10.9 USS_WPM指令的参数含义
3.应用举例
通过USS电缆连接MM440变频器和S7-1200 PLC,实现二者的USS通信。
(1)MM440参数设置。
假定已完成了变频器的基本参数设置和调试(如电动机参数辨识等),下面只涉及与USS通信相关的参数。与S7-1200 PLC实现USS通信时,需要设置的主要有“控制源”和“设定源”两组参数。要设置此类参数,需要“专家”级参数访问级别,即要将P003设置为3,将控制源参数P0700设置为5,表示变频器从端子(COM Link)的USS接口接受控制信号。此参数有分组,此处仅设置第一组,即P0700.0=5。设定源参数P1000O=5,表示变频器从端子(COM Link)的USS接口接受设定值。P2009参数决定是否对COM Link上的USS通信设定值规格化,即设定值是以运转频率的百分比形式表示还是绝对频率值。若设定P2009=0,则对USS通信设定值进行不规格化,即设定为MM440中的频率设定范围的百分比形式;若设定P2009=1,则对USS通信设定值进行规格化,即设定值为绝对的频率数值。
P2010参数用于设置COM Link上的USS波特率,P2010=6表示波特率为9600。
P2012设置为2,即USSPZD区长度为2B。
P2013设置为127,即USSPKW区的长度可变。
P2014参数设置COM Link上的USS通信控制信号中断超时时间,单位为ms,如设置为0,则不进行此端口上的超时检查。
P0971=1将上述参数保存,如MM440的EEPROM中。
(2)编写程序。
在S7-1200 PLC的OB1中编写程序如图10.17所示。其中,程序段1用来与MM440进行交换数据,从而读取M440的状态以及控制MM44的运行;程序段2用于通过US通信从MM4读取参数;程序段3用于通过USS通信设置MM440的参数。需要注意的是,对读、写参数指令块编程时,各个数据的数据类型一定要正确对应。
图10.17 S7-1200 PLC与MM 440变频器的USS通信程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。