(1)USS协议简介USS协议(UniversalSerialInterfaceProtocol,通用串行接口协议)是SIEMENS公司所有传动产品的通用通信协议,它是一种基于串行总线进行数据通信的协议。USS协议是主从结构的协议,规定了在USS总线上可以有一个主站和最多31个从站;总线上的每个从站都有一个站地址(在从站参数中设定),主站依靠它识别每个从站;每个从站也只对主站发来的报文作出响应并回送报文,从站之间不能直接进行数据通信。另外,还有一种广播通信方式,主站可以同时给所有从站发送报文,从站在接收到报文并作出相应的响应后,可不回送报文。 使用USS协议的优点。 a。对硬件设备要求低,减少了设备之间的布线。 b。无需重新连线就可以改变控制功能。 c。可通过串行接口设置或改变传动装置的参数。 d。可实时监控传动系统。 USS通信硬件连接注意要点。 a。条件许可的情况下,USS主站尽量选用直流型的CPU(针对S7200系列)。 b。一般情况下,USS通信电缆采用双绞线即可(如常用的以太网电缆),如果干扰比较大,可采用屏蔽双绞线。 c。在采用屏蔽双绞线作为通信电缆时,把具有不同电位参考点的设备互连,会造成在互连电缆中产生不应有的电流,从而造成通信口的损坏。所以要确保通信电缆连接的所有设备共用一个公共电路参考点,或设备是相互隔离的,以防止不应有的电流产生。屏蔽线必须连接到机箱接地点或9针连接插头的插针1。建议将传动装置上的0V端子连接到机箱接地点。 d。尽量采用较高的波特率,通信速率只与通信距离有关,与干扰没有直接关系。 e。终端电阻的作用是用来防止信号反射的,并不用来抗干扰。如果在通信距离很近、波特率较低或点对点的通信的情况下,可不用终端电阻。多点通信的情况下,一般也只需在USS主站上加终端电阻就可以取得较好的通信效果。 f。当使用交流型的CPU22X和单相变频器进行USS通信时,CPU22X和变频器的电源必须接成同相位。 g。建议使用CPU226(或CPU224EM277)来调试USS通信程序。 h。不要带电插拔USS通信电缆,尤其是正在通信过程中,这样极易损坏传动装置和PLC的通信端口。如果使用大功率传动装置,即使传动装置掉电后,也要等几分钟,让电容放电后,再去插拔通信电缆。S7200利用USS通信速度给定,STEP7MicroWINV4。0软件中必须另外安装指令库,因为指令库不是STEP7MicroWINV4。0的标准配置,需要购买,随着STEP7MicroWINV4。0软件的升级,指令库自动升级,并不需要单独升级指令库。 (2)USS通信的应用以下用一个例子介绍USS通信的应用。 【例】用一台CPU226CN对变频器进行USS无级速度给定,已知电动机的技术参数,功率为0。06kW,额定转速为1440rmin,额定电压为380V,额定电流为0。35A,额定频率为50Hz。请制订解决方案。 解:软硬件配置。 a。1套STEP7MicroWINV4。0(含指令库)。b。1台MM440变频器。 c。1台CPU226CN。 d。1台电动机。 e。1根编程电缆(或者CP5611卡)。 f。1根屏蔽双绞线。硬件配置如图41所示。 【关键点】图41中,串口的第3脚与变频器的29脚相连,串口的第8脚与变频器的30脚相连,并不需要占用PLC的输出点。图416的USS通信连接是要求不严格时的做法,一般的工业现场不宜采用,工业现场的PLC端应使用专用的网络连接器,且终端电阻要接通,如图42所示,变频器端的连接图如图42所示,在购买变频器时附带有所需的电阻,并不需要另外购置。还有一点必须指出:如果有多台变频器,则只有最末端的变频器需要接入如图43所示的电阻。 相关指令介绍。 a。初始化指令。USSINIT指令被用于启用和初始化或禁止驱动器通信。在使用任何其他USS协议指令之前,必须执行USSINIT指令,且无错。一旦该指令完成,立即设置完成位,才能继续执行下一条指令。EN输入打开时,在每次扫描时执行该指令。仅限为通信状态的每次改动执行一次USSINIT指令。使用边缘检测指令,以脉冲方式打开EN输入。欲改动初始化参数,执行一条新USSINIT指令。USS输入数值选择通信协议:输入值1将端口0分配给USS协议,并启用该协议;输入值0将端口0分配给PPI,并禁止USS协议。Baud(波特率)将波特率设为1200bits、2400bits、4800bits、9600bits、19200bits、38400bits、57600bits或115200bits。Active(激活)表示激活驱动器。当USSINIT指令完成时,DONE(完成)输出打开。错误输出字节包含执行指令的结果。USSINIT指令格式见表43。站点号具体计算如下: D0~D31代表32台变频器,要激活某一台变频器,就将该位置1,上面的表格将18号变频器激活,其16进制表示为:1600040000。若要将所有32台变频器都激活,则Active为16FFFFFFFF。如果只要激活第0台变频器,那么设置为1600000001,而不是想当然设置为1600000000,初学者容易犯此错误。 b。控制指令。USSCTRL指令被用于控制Active(激活)驱动器。USSCTRL指令将选择的命令放在通信缓冲区中,然后送至编址的驱动器Drive(驱动器)参数,条件是已在USSINIT指令的Activ(e激活)参数中选择该驱动器。仅限为每台驱动器指定一条USSCTRL指令。USSCTRL指令格式见表44。 具体描述如下。EN位必须打开,才能启用USSCTRL指令。该指令应当始终启用。RUN(运行)RUNSTOP(运行停止)表示驱动器是打开(1)还是关闭(0)。当RUN(运行)位打开时,驱动器收到一条命令,按指定的速度和方向开始运行。为了使驱动器运行,必须符合三个条件,分别是Drive(驱动器)在USSINIT中必须被选为Active(激活);OFF2和OFF3必须被设为0;Fault(故障)和Inhibit(禁止)必须为0。当RUN(运行)关闭时,会向驱动器发出一条命令,将速度降低,直至电动机停止。OFF2位被用于允许驱动器滑行至停止。OFF3位被用于命令驱动器迅速停止。RespR(收到应答)位确认从驱动器收到应答。对所有的激活驱动器进行轮询,查找最新驱动器状态信息。每次S7200从驱动器收到应答时,RespR位均会打开,进行一次扫描,所有以下数值均被更新。FACK(故障确认)位被用于确认驱动器中的故障。当FACK从0转为1时,驱动器清除故障。DIR(方向)位表示驱动器应当移动的方向。驱动器(驱动器地址)输入是驱动器的地址,向该地址发送USSCTRL命令。有效地址:0~31。类型(驱动器类型)输入选择驱动器的类型。将3(或更早版本)驱动器的类型设为0。将4驱动器的类型设为1。SpeedSP(速度设定值)是作为全速百分比的驱动器速度。SpeedSP的负值会使驱动器反向旋转。范围:200。0~200。0。Error是一个包含对驱动器最新通信请求结果的错误字节。USS指令执行错误标题定义可能是因执行指令而导致的错误条件。Status是驱动器返回的状态字原始数值。Speed(反馈值)是作为全速百分比的驱动器速度。范围:200。0~200。0。RunEN(运行启用)表示驱动器是运行(1)还是停止(0)。DDir表示驱动器的旋转方向。Inhibit表示驱动器上的禁止位状态(0不禁止,1禁止)。欲清除禁止位,故障位必须关闭,RUN(运行)、OFF2和OFF3输入也必须关闭。Fault表示故障位状态(0无故障,1故障)。驱动器显示故障代码。欲清除故障位,应纠正引起故障的原因,并打开FACK位。设置变频器的参数。先查询MM440变频器的说明书,再依次在变频器中设定表44中的参数。 【关键点】P2011设定值为18,与程序中的地址一致,正确设置变频器的参数是USS通信成功的前提。此外,要选用USS通信的指令,只要双击在如图45所示的库中对应的指令即可。 编写程序。程序如图46所示。 USS通信