
一、SINAMICS驱动器的EPOS功能EPOS(基本位置控制)是位置环在驱动器侧,由驱动器自身完成位置闭环控制的功能。SINAMICS驱动器里S系列(S110、S120)以及V90PN都内置了此功能......
一、SINAMICS驱动器的EPOS功能
EPOS(基本位置控制)是位置环在驱动器侧,由驱动器自身完成位置闭环控制的功能。SINAMICS驱动器里S系列(S110、S120)以及V90PN都内置了此功能,而G120系列中CU250S-2需要通过购买授权和CF卡方式获得该功能。

图1:西门子驱动器EPOS功能
基本定位器功能包括以下几个模式:
(1)设定值直接给定/MDI
(2)运行程序段
(3)回参考点
(4)点动
(5)运行到固定挡块
二、TIAPortal驱动库程序
FB284属于TIAPortal提供的驱动库程序,用于基于博途编程环境的S7-1200、S7-1500、S7-300/400等SIMATIC控制器对G/S120、V90等SINAMICS驱动器的基本定位控制。目前博途驱动库主要包含以下三种类型的功能块:

图2:博途常用驱动库
上面提到了循环和非循环数据交换,在功能块里是如何实现的?实际上FB284/FB285用到了DPRD/DAT和DPWR_DAT指令,即“读取标准DP从站的一致性数据”,而FB286/287则使用了RDREC指令和WRREC指令,如图3所示。

图3:博途驱动库调用原理
说明一下:
(1)博途DPWD/DAT和DPWR_DAT指令前身其实就是经典STEP7V5里的SFC14和SFC15。大家用DP通信控制变频器等应该都用过,在PROFIBUS或PROFINET网络中主站读取或者写入从站(大于4个字节)连续的数据需要使用SFC14/SFC15,当然也有个别CPU型号可以不需要。
(2)博途RDREC和WRREC指令前身则是经典STEP7V5里的SFC58和SFC59。
三、FB284的实现过程(以V90PN为例)
如上所述FB284库实际上就是通过一致性读写指令去对111报文的IO进行操作,下面我们自己做一个简单的FB来实现FB284基本功能,主要给大家分析如何对报文操作。
1、111报文
因为是操作111报文,所以我们首先需要了解该报文的详细信息,111报文是带扩展功能定位运行报文,常用于EPOS的控制。111报文在通信组态时映射的IO地址如图4所示,我们实际上就是对此IO的操作,可以看到111报文是12个接受/发送字,每个控制/状态字的含义可以查找V90或G120/S120手册。

图4:111报文映射IO地址
2.FB284管脚、111报文、EPOS功能间的对应关系,如图5/6所示。

图5:控制输出对应关系

3.EPOS各功能配合111报文控制V90PN的具体步骤
(1)一致性读写
前面说过通过DPWD/DAT和DPWR_DAT指令实现,如图7所示。

图7:一致性读取指令
(2)轴使能
伺服各种运动模式运行的前提就是先使能接通电机,这里就要提到大家耳熟能详的16047F了。大家用西门子G120包括V20变频器都很清楚这是停止(OFF1)和正转启动控制字,再加上速度给定就可以启停运行了。同样基于SINAMICS平台的V90PN伺服也是如此,区别就是伺服轴需要激活不同的运行任务,所以一开始是0,由后面具体任务控制。这样V90轴使能就是把16047F控制字里的第6位改为0,也就是16043F。当然驱动器断电后再上电也需要先赋值停止控制字才能转入启动,轴使能程序如图8所示。

图8:轴使能
位置设定值单位是LU,速度的设定值是1000LU/分钟,111报文的OverV控制字10进制整数16384(十六进制16Vel_act.%W0:="111".R[8];
TR[0]:=DINT_TO_REAL(TR[1]:=TR[0]/1073741824);//16当前速度:=REAL_TO_DINT(MODE=2THEN
"111".W[1].%X9:=0;
"111".W[1].%X10:=0;
"111".W[1].%X12:=定位启动;
"111".W[2].%X5:=0;
"111".W[1].%X8:=1;
"111".W[0].%X8:=0;
"111".W[0].%X9:=0;
"111".W[2].%X9:=0;
"111".W[2].%X1:=0;
IFMODE=3THEN
IF负方向THEN
"111".W[1].%X9:=1;
"111".W[1].%X10:=0;
ELSIF正方向THEN
"111".W[1].%X9:=0;
"111".W[1].%X10:=1;
_IF;IF暂停任务THEN
"111".W[0].%X5:=0;
ELSE
"111".W[0].%X5:=1;
_IF;"111".W[1].%X12:=定位启动;
"111".W[2].%X5:=0;
"111".W[0].%X8:=0;
"111".W[0].%X9:=0;
"111".W[2].%X9:=0;
"111".W[2].%X1:=0;
_IF;IF正方向ANDNOT负方向ANDNOT原点开关;
"111".W[0].%X11:=报文)基础上扩展了位置控制(通过111报文)就变成了EPOS(基本定位控制),无论是什么驱动器还是离不开电流环-速度环-位置环这样一个由内及外的套路。FB284的使用跟速度控制一样很简单,因为最核心的位置环是伺服完成的,我们仅仅是操作了一下报文而已。当然PLC负责位置环也是一样(比如工艺对象),核心的位置环也是PLC系统内部完成的,我们只是调用了PLCOPEN指令完成一些逻辑控制。
下一篇:金秋收获忙
金秋收获忙