利用USS通讯协议完成S7—200对MM420变频器的控制
2013-02-26杨胜利
杨胜利
摘要: 本文通过对USS通信协议的介绍,利用PLC通过USS协议完成对西门子变频器MM420的启动与停止,也可以通过相应的指令完成对变频器参数的写入与读取。
Abstract: Based on the introduction of USS communication protocol, using PLC and through the USS protocol to complete the start and stop of Siemens inverter MM420, complete the write and read of frequency inverter parameter through the corresponding instructions.
关键词: USS通信协议;PLC指令库;变频器参数;编程
Key words: USS communication agreement;PLC instruction library;frequency inverter parameter;programming
中图分类号:TN773 文献标识码:A 文章编号:1006-4311(2013)03-0023-02
1 USS通讯协议(Universal Serial Interface Protocol)
通用串行接口协议,该协议是由西门子公司专为变频器通信而开发出来的通用通行协议,它可以支持变频器与PLC之间的通信连接,利用串行总线进行数据交换的一种协议。
S7—200PLC可以将其通信端口设置为自由口模式的USS协议,可以实现PLC对变频器的控制,USS协议是主—从结构协议,规定了USS总线上可以有一个主站(PLC)和最多31个从站(变频器),总站上的每一个从站都有唯一的标识码(即站地址,在从站参数中设定),主站依靠标识码识别各个从站,每个从站也可以对主站发来的信息报文做出响应并回应报文,从站与从站之间不能直接进行数据通信,另外还有一种广播通信方式,主站可以同时给所有的从站发送报文,从站在接受报文并做出相应的响应后不必会送报文。
2 使用USS通信协议有很多的优势
在利用PLC对变频器进行控制时,多采用面板和端子进行控制,PLC输出数字量来控制变频器的启动和停止,也可以依靠PLC的模拟量输出来控制变频器的速度,但是这样做有很多的弊端:①在设计控制电路时需要很多的硬件,设计成本提高。②在现场布线时比较复杂,线和线之间容易引起相互的干扰和影响。③PLC与变频器之间由于受到硬件的限制,彼此之间交换的信息量很少。④在控制变频器的启动与停止时,由于存在硬件动作时间延时的影响,如交流接触器的主、辅触点的动作延时,会影响控制的精度。⑤如果变频器出现故障时,变频器只能从一个输出点输出,PLC能得到变频器的故障状态,但是不能准确判断当发生故障时,变频器是处在何种状态。
为了能够准确地控制变频器,减少布线的压力和降低成本,我们可以使用USS通讯协议方式来控制变频器,西门子变频器都可以利用网络的方式与PLC进行信息交换,进行数字化的信息传送,这样做能够克服以上缺点,极大提高系统的自动化控制水平和运行的可靠性。
另外USS通信时的刷新周期与PLC的扫描周期是不同步的,一般要完成一次USS通信需要几个扫描周期,通信时间与链路上的变频器的台数有关系,还与波特率和扫描周期有关。如果PLC的通信波特率设定在19.2Kbps,有三台变频器挂在总线上,经过实际测试检测通信时间大约是50ms左右。
3 如何利用S7—200对MM440变频器进行控制
3.1 硬件连接:一般情况下,USS通信电缆采用双绞线即可,如果干扰比较严重,可以采用屏蔽双绞线,也可以采用Profibus-DP电缆,在采用屏蔽双绞线作为通信电缆时,把具有不同电位参考点的设备连接在一起,在互连电缆中会产生不应有的电流,从而造成通信口的损坏。所以为了保护通信电缆上的设备,可以采用的方法一是采用共用的电路参考点,另外也可以采用相互隔离的方法,以防止电路中产生不应有的电流产生,屏蔽线必须连接到机箱接地点或9芯D型插头的插针1,而且建议将变频器的0V端子连接到机箱接地点上。从PLC下载端口引出下载线,把3号端子的引线接到MM420变频器14端子上,把8号端子的引线接到MM420变频器15端子上。如果使用DP接线头,那么终端电阻要打在关闭状态,终端电阻的作用是用来防止信号反射的,并不是用来抗干扰的,如果通讯距离很近,波特率较低或点对点通信的情况下,可不用终端电阻。在多点通信的情况下,一般只需要在USS主站上首尾端家终端电阻就可以取得良好的通信效果。为了保护好被通信的设备,不要带电插拔USS通信电缆,尤其是正在通信的过程中,这样很容易损坏变频器和PLC的通讯端口,如果是大功率的变频器,即使变频器断电也要等到变频器的电容彻底放电后,再去插拔通信电缆。
3.2 PLC的编程:在PLC编程软件的界面上,我们找不到USS协议,所以在使用USS协议之前,需要安装西门子的指令库,可以在网站上下载和安装后才可以使用。
3.3 USS协议需要占用PLC的通信端口0或1,使用USS_INIT指令可以选择PLC的端口是使用USS协议还是PPI协议,选择USS协议后PLC的相应端口不能再做其他用途,包括与STEP7-Wicro/WIN的通信,只有通过执行另外一条指令或将PLC的模式开关拨到STOP状态后,才能重新再进行PPI通信。当PLC与变频器的通信中断时,变频器将自动停止运行,建议使用PLC226,因为它有两个通信端口,当第一个端口用于USS通信时,第二个端口可以用于程序的检测。
3.4 程序的编写:
初始化调用:
Mode:1表示将端口0分配给USS通信协议,并启用该协议。输入值0将端口0分配给PPI,并禁止USS协议;Baud:通讯的波特率选择9600;Active:链路中的变频器的通信地址为0;Done:当该指令完成后,该位变为1;Error:把错误信息放置在VB100地址里。
Uss_ctrl指令用于控制MicroMaster驱动器的激活:
利用SM0.0把USS__Ctrl激活,i0.6为1时启动变频器运行;i0.5为1时按减速模式停机;i0.4为1时按快速停车模式停机;i0.3为故障确认信息,当i0.3从0转为1时,驱动器清除故障;i0.2为变频器的方向,1为正转,0为反转;要控制的是地址为0的变频器;变频器的型号为MM440;速度设定值100.0;m10.1为收到应答,每次S7-200从驱动器收到应答时,Resp_R位均会打开,进行一次扫描,所有以下数值均被更新;VW200为来自变频器的状态字,表示当时的实际运行状态;VD400为变频器的返回的实际运行速度;m10.2为变频器返回的的运行状态信号,1表示为正在运行,0表示为已停止;m10.2为变频器返回的运行方向,1表示为正转,0表示为反转;m10.4为变频器返回的禁止状态信号,1表示为禁止,0表示为开放;m10.5为故障指示位,0-无故障,1-故障。
USS协议读取指令的调用:
利用i0.1的上升沿来读取变频器的实际运行频率,变频器的地址为0,读取的变频器参数为3,变频器参数的下标为0,把这些命令存放在VD120存储空间里;m10.6为完成位,VB100表示错误,变频器返回的参数值存放在VW130空间里。
USS协议写入指令的调用:
利用i0.0的上升沿来写入控制变频器的命令,控制变频器的地址为0,控制变频器的参数为10,变频器参数10的下标为0,写入到变频器的参数值为30,把这些命令存放在VD150存储空间里;m10.7为完成位,VB100表示错误,当变频器关断后,信息存储在EEPROM中。
3.5 设置变频器的参数:
①参数复位:P0010=30 P0970=1
②快速调试:P0010=1 P0304=额定电压 P0305=额定电流P0307=额定功率 P0310=电机的额定频率 P0311=电机的额定转速
③设置参数:
P2012.2=2(USS协议的PZD长度,即过程数据的长度)
P2013.0=127(USS协议的PKW长度,等于127表示PKW长度是可变的) P0003=3(访问等级)
P0700=5(选择命令源,=5 COM链路的USS设置)
P1000=5(频率设定值的选择 =5 通过COM链路的USS设定)
P1120=5(斜坡上升时间5S) P1121=4(斜坡下降时间4S)
P2000=25(基准频率) P2009.0=0(USS规格化)
P2010.0=6(USS协议波特率 =6是9600波特)
P2011.0=0(USS地址,为变频器指定一个唯一的串行通讯地址)
P2014.0=0(USS协议的停止传输时间)
P0971=1(从RAM向EEPROM传输时间)
4 总结
通过这样的连线、PLC的编程、变频器的参数设置之后,在i0.5和i0.4为低电平时,按下i0.6按钮,地址为0的变频器开始启动,启动的速度为100%,方向为当i0.2为低电平时为反转,当i0.2为高电平时为正转。
如果想改变变频器的参数,以改变P0010为例,如果原来的参数为0,现在想改变为10时,采用USS协议写入指令完成对变频器0的控制,如果想读取变频器的参数时,采用USS协议读取指令完成对变频器的参数监控。
参考文献:
[1]陶权.变频器应用技术.华南理工大学出版社,2007.
[2]李自先.变频器实用技术与维修精要.人民邮电出版社,2009.
[3]胡建.西门子S7-200PLC与工业网络应用技术.化学工业出版社,2010.