以下用一个例子介绍USS通信的应用。
【例8-9】用一台CPU ST40对变频器进行USS无级调速,已知电动机的功率为0.06kW,额定转速为1440r/min,额定电压为380V,额定电流为0.35A,额定频率为50Hz。请制定解决方案。
【解】
1.软硬件配置
1)1套STEP7-Micro/WIN SMART V1.0(含指令库)。
2)1台MM440变频器。
3)1台CPU ST40。
4)1台电动机。
5)1根编程电缆。
6)1根屏蔽双绞线。硬件配置如图8-24所示。
图8-24 硬件配置图
【关键点】图8-24中,串口的第3脚与变频器的29脚相连,串口的第8脚与变频器的30脚相连,并不需要占用PLC的输出点。图8-24的USS通信连接是要求不严格时的做法,一般的工业现场不宜采用,工业现场的PLC端应使用专用的网络连接器,且终端电阻要接通,如图8-25所示,变频器端的连接图如图8-26所示,在购买变频器是附带有所需的电阻,并不需要另外购置。还有一点必须指出:如果有多台变频器,则只有最末端的变频器需要接入如图8-26的电阻。
图8-25 网络连接器图(PLC端)
图8-26 连接图(变频器端)
2.相关指令介绍
(1)初始化指令USS_INIT指令被用于启用和初始化或禁止驱动器通信。在使用任何其他USS协议指令之前,必须执行USS_INIT指令,且无错。一旦该指令完成,立即设置“完成”位,才能继续执行下一条指令。
EN输入打开时,在每次扫描时执行该指令。仅限为通信状态的每次改动执行一次USS_INIT指令。使用边缘检测指令,以脉冲方式打开EN输入。欲改动初始化参数,执行一条新USS_INIT指令。USS输入数值选择通信协议:输入值1将端口0分配给USS协议,并启用该协议;输入值0将端口0分配给PPI,并禁止USS协议。BAUD(波特率)将波特率设为1200bit/s、2400bit/s、4800bit/s、9600bit/s、19200bit/s、38400bit/s、57600bit/s或115200bit/s。
ACTIVE(激活)表示激活驱动器。当USS_INIT指令完成时,DONE(完成)输出打开。“错误”输出字节包含执行指令的结果。USS_INIT指令格式见表8-13。
表8-13 USS_INIT指令格式
站点号具体计算如下:
D0~D31代表32台变频器,要激活某一台变频器,就将该位置1,上面的表格将18号变频器激活,其十六进制表示为16#00040000。若要将所有32台变频器都激活,则ACTIVE为16#FFFFFFFF。
(2)控制指令
USS_CTRL指令被用于控制ACTIVE(激活)驱动器。USS_CTRL指令将选择的命令放在通信缓冲区中,然后送至编址的驱动器(DRIVE(驱动器)参数),条件是已在USS_INIT指令的ACTIVE(激活)参数中选择该驱动器。每台驱动器仅限指定一条USS_CTRL指令。USS_CTRL指令格式见表8-14。
表8-14 USS_CTRL指令格式(www.daowen.com)
USS_CTRL指令具体描述如下。
EN位必须打开,才能启用USS_CTRL指令。该指令应当始终启用。RUN/STOP(运行/停止)表示驱动器是打开(1)还是关闭(0)。当RUN(运行)位打开时,驱动器收到一条命令,按指定的速度和方向开始运行。为了使驱动器运行,必须符合三个条件,分别是DRIVE(驱动器)在USS_INIT中必须被选为ACTIVE(激活);OFF2和OFF3必须被设为0;FAULT(故障)和INHIBIT(禁止)必须为0。
当RUN(运行)关闭时,会向驱动器发出一条命令,将速度降低,直至电动机停止。OFF2位被用于允许驱动器滑行至停止。OFF3位被用于命令驱动器迅速停止。Resp_R(收到应答)位确认从驱动器收到应答。对所有的激活驱动器进行轮询,查找最新驱动器状态信息。每次S7-200 SMART从驱动器收到应答时,Resp_R位均会打开,进行一次扫描,所有以下数值均被更新。F_ACK(故障确认)位被用于确认驱动器中的故障。当F_ACK从0转为1时,驱动器清除故障。DIR(方向)位表示驱动器应当移动的方向。“驱动器”(驱动器地址)输入是驱动器的地址,向该地址发送USS_CTRL命令。有效地址:0~31。“类型”(驱动器类型)输入选择驱动器的类型。将3(或更早版本)驱动器的类型设为0。将4驱动器的类型设为1。
Speed_SP(速度设定值)是作为全速百分比的驱动器速度。Speed_SP的负值会使驱动器反向旋转方向。范围:-200.0%~200.0%。假如在变频器中设定电动机的额定频率为50Hz,Speed_SP=20.0,电动机转动的频率为50Hz×20%=10Hz。
Error是一个包含对驱动器最新通信请求结果的错误字节。USS指令执行错误标题定义可能因执行指令而导致的错误条件。
Status是驱动器返回的状态字原始数值。
Speed是作为全速百分比的驱动器速度。范围:-200.0%~200.0%。
Run_EN(运行启用)表示驱动器是运行(1)还是停止(0)。
D_Dir表示驱动器的旋转方向。
inhibit表示驱动器上的禁止位状态(0-不禁止,1-禁止)。欲清除禁止位,“故障”位必须关闭,RUN(运行)、OFF2和OFF3输入也必须关闭。
Fault表示故障位状态(0-无故障,1-故障)。驱动器显示故障代码。欲清除故障位,纠正引起故障的原因,并打开F_ACK位。
3.设置变频器的参数
先查询MM440变频器的说明说,在依次在变频器中设定表8-15中的参数。
表8-15 变频器参数表
(续)
【关键点】P2011设定值为18,与程序中的地址一致,P2010设定值为6,与程序中的9600bit/s也是一致的,所以正确设置变频器的参数是USS通信成功的前提。
变频器的USS通信和PROFIBUS通信二者只可选其一,不可同时进行,因此如果进行USS通信时,变频器上的PROFIBUS模块必须要取下,否则USS被封锁,是不能通信成功的。
此外,要选用USS通信的指令,只要双击在如图8-27所示的库中对应的指令即可。
图8-27 USS指令库
3.编写程序
程序如图8-28所示。
【关键点】读者在运行以上程序时,VD0中要先赋值,如赋值10.0。
图8-28 程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。