今天跟大家聊聊西门子SINA_POS功能块在EPOS模式下的那些事儿。我整理了一下常见的十几个问题,希望能帮到正在折腾V90的小伙伴们。
用增量编码器V90,配合参考挡块+编码器零脉冲方式回零时。回零开关不是直接接在驱动器上的。把它连到PLC的一个数字量输入点,然后在PLC里编程,把这个DI点的状态关联到SINA_POS功能块ConfigEPos输入引脚的bit6。
V90参数P29240设为1(选参考挡块+零脉冲回零方式)
FB284功能块工作模式选ModPos=4
OverV、OverAcc、OverDec这三个倍率参数给100%
运行方向由Positive和Negative决定
CancelTransing和IntermediateStop必须置1,Jog1和Jog2置0
Control_table里ConfigEpos的bit0和bit1都设为1
EnableAxis=1给驱动使能
通过Execute的上升沿触发回零运动。回零完成后,Status_table里的AxisRef会变成1,表示参考点已建立。
硬件限位开关可以接到V90 PN驱动器的CWL和CCWL端子上,DI1到DI4都可以用。
接好线之后,需要在Control_table里把ConfigEpos的bit3(也就是POS_STW2.15)置1,这样就激活了V90 PN的硬件限位功能。
注意:激活之后,只有硬件限位开关信号是高电平时,轴才能运行。
在Control_table里把ConfigEpos的bit2(POS_STW2.14)置1就行。
驱动器里设置两个参数:p2580是负向软限位位置,p2581是正向软限位位置。具体数值根据你的机械行程来定。
检查顺序:
第一,CancelTransing和IntermediateStop是不是都设成了1?除了点动模式,其他运行模式这俩都得是1。CancelTransing=0的话轴会急停并丢弃数据;IntermediateStop=0则是斜坡停车但不丢数据,相当于暂停。
第二,OverV、OverAcc、OverDec这三个倍率是不是100%?
第三,Control_table里ConfigEpos的bit0和bit1有没有设为1?
ModePos模式切换和Execute动作触发不要在同一个PLC扫描周期里干。
正确做法是:ModPos切到新模式后,延迟至少10ms再触发Execute。另外,Control_table里ConfigEpos要设成3。
还有,Execute的高电平保持时间不能太短,建议也是10ms以上。
这个要先检查V90驱动器的控制模式。用V-Assistant软件把它改成“基本位置控制(EPOS)”,之后才能看到111报文。
要使用V90的GSD文件来组态才行。用HSP是找不到111报文的。
全部在V-Assistant软件里。打开软件,找到“设置参数”里的“设置机械结构”画面,在那里设置就行。
不能。EPOS只能做单轴的定位控制。要做同步控制,需要用1500T系列的PLC加V90 PN组态工艺对象。
SINA_POS功能块中Control_table,ConfigEpos的定义是什么?
Control_table参数说明:
ConfigEpos参数的定义:
绝对值编码器校准有三种方法:
方法一:用V-Assistant软件。把机械移到原点位置,点“设置回参考点”,系统会把当前位置设为参考点坐标(P2599里的值),然后保存参数到ROM。
方法二:用BOP面板。通过BOP菜单里的“ABS”功能设置绝对值编码器当前位置为零位。校准值在p2599里设,设置完记得保存参数。
EPOS模式下掉电后位置丢失,通常是因为移动距离超限了。
单圈绝对值编码器如果移动超过正负半圈,多圈绝对值编码器移动超过正负2048圈,都会导致位置丢失。
单圈编码器可以开启虚拟多圈功能:p29243设为1激活位置跟踪,p29244设置虚拟多圈圈数,最大2048圈,位置记忆范围±1024圈。但注意,即使开了这个功能,掉电后移动还是不能超过正负半圈。
假设负载转一圈对应10000LU(P29247),速度给定1000(单位是1000LU/min),按照齿轮比1:1,那设定速度就是1000×1000÷10000=100RPM。
但是ActVelocity管脚显示的是一个很大的数,比如36126556。换算方法如下:
先把4000000H转成十进制浮点数1073741824.0,然后用实际显示值除以这个数,再乘以驱动中P2000的参考转速。
公式:实际转速 = ActVelocity / 1073741824.0 × P2000
本例中P2000=3000.0RPM,按上面例子算出来就是约100RPM。
EPOS模式在驱动中的位置单位为(LU),所有的位置设定,相关速度值和加速度值以及加加速度值在EPOS模式中都以LU为单位。
P29247为负载每转的LU值,其可以自己定义。目的是让负载每转的位移单位与EPOS中的LU建立关系,例如:负载每转10mm,P29247设置为10000LU,也就是10mm=10000LU,那么设定1LU,负载会位移0.001mm(=1um)
SINA_POS功能块中St_I_add和St_Q_add,Control_table、Status_table怎么填写
Control_table:此输入管脚应该填写Control_table 起始地址的指针,例如 &VD8000Status_table:此输入管脚应该填写Status_table 起始地址的指针,例如 &VD7500St_I_add:PROFINET 通信报文I 存储区起始地址的指针,例如 &IB128St_Q_add:PROFINET 通信报文 Q 存储区起始地址的指针,例如 &QB128 可从下图中查看到: