在使用S7-1200或S7-1500系列plc通过PROFINET总线,以工艺对象方式控制V90的应用中,需要在轴组态设置中填写V90电机中编码器的相关参数,如图1所示:
图1 编码器参数设置
图1为绝对值编码器参数设置的界面,需要设置的参数包括:测量系统的类型,编码器每转增量,转数,Gx_XIST1中的位和Gx_XIST2中的位。这么多参数该如何设置,根据什么设置?特别是对于第一次使用西门子产品的工程师来说,很难进行正确的设置。接下来我们就来谈谈该如何设置这些编码器参数。
首先,我们知道这些参数都是V90电机中编码器的参数,那我们先到V90的操作手册中找一找,看能不能找到相关的信息。图2为V90操作手册中对于编码的说明:
图2 V90操作手册中编码器说明
如图2所示,V90的操作手册中对于编码器的参数说明与工艺对象设置中的参数不是完全对应的,特别是“Gx_XIST1中的位”和“Gx_XIST2中的位”这两个参数没有说明。哪里能查到与工艺对象设置中的参数完全对应的参数说明呢?继续查找V90操作手册,如图3所示,参数r0979中的参数说明与工艺对象设置完全一致。
图3 参数r0979
到这里,我们找到了对应的编码参数说明,貌似问题已经解决。但是当我们通过V90操作面板或V-ASSISTANT软件在线查看时,会发现找不到r0979这个参数。看来这是个隐藏参数,不过没关系,我们可以利用非周期参数读写功能块SINA_PARA_S(FB287)来读取r0979参数的值。
图4 非周期参数读写功能块SINA_PARA_S(FB287)
根据V90操作手册里的参数说明,我们关心的是r0979的下标1至5的值。我们以一个多圈绝对值编码器为例,利用FB287依次读取r0979下标1至5中的值,再参考PROFIdrive Profile技术文档中关于参数979编码器格式的说明来确定编码器的相关参数。(也可以使用SINA_PARA功能块FB286一次读取多个参数值,但是FB286相对于FB287使用要复杂些,对于初次使用者建议使用FB287)
首先读取r0979下标1编码器1类型,如图5所示:
图5 r0979下标1编码器1类型
根据PROFIdrive Profile技术文档表104中的说明,我们可以判断出此编码器为旋转编码器,因此工艺对象组态设置中,测量系统应设置为旋转。同时31位为1,说明细分参数Gx有效。
然后读取r0979下标2编码器1分辨率,如图6所示:
图6 r0979下标2编码器1分辨率 因为V9电机的绝对值编码器为Biss的串行通讯协议,根据PROFIdrive Profile技术文档表105中的说明,我们可以判断出此编码器每转增量为16#800即十进制的2048。因此工艺对象组态设置中,每转增量应设为2048。
接下来读取r0979下标3偏移系数G1_XIST1,如图7所示:
图7 r0979下标3偏移系数G1_XIST1
如图7所示,读取到的偏移系数G1_XIST1为11。偏移系数G1_XIST1用来指定增量位置细分的显示位数。11代表在编码器本身分辨率的基础上再以2的11次方的数来细分位置值。因此工艺对象组态中Gx_XIST1中的位应设为11。
接着再读取r0979下标4偏移系数G1_XIST2,如图8所示:
图8 r0979下标4偏移系数G1_XIST2
如图8所示,读取到的偏移系数G1_XIST2为9。偏移系数G1_XIST2用来指定绝对位置细分的显示位数。因此工艺对象组态中Gx_XIST2中的位应设为9。
最后读取r0979下标5编码器1可分辨的转数,如图9所示:
根据PROFIdrive Profile技术文档中的说明,对于旋转型编码器,如果r0979下标5的值为0,则表示这个编码器没有绝对位置信息或能够显示的位置小于一圈的绝对位置(如多极旋转变压器);如果值为1,则表示此编码器可以显示一圈的绝对位置(如一对极的旋转变压器);如果值大于1,则代表是多圈传感器。如图9中所示,此编码器为4096圈的多圈编码器。所以在工艺对象组态中,转数应设为4096。
到此为止,工艺对象组态中所需要设置的编码器参数都已经通过FB287读取参数r0979查找到,参数设置工作完成。
对于固件版本V1.2及以上的V90PN,还可以通过参数P29418和P29419直接查到G1_XIST1和G1_XIST2的值。
图10自动进行编码器值数据交换
除此以外,还有一种更简单的编码器参数设置的方法,那就是在轴工艺组态中编码器参数设置界面勾选“自动进行编码器值数据交换”。这样就不需要进行任何手工参数设置。不过前提是工艺对象的版本要够高,否则没有这个功能。S7-1500系列工艺对象版本V3.0及以上,S7-1200系列工艺对象版本V6.0都可以选择这个自动设置参数的功能。
来源:西门子工业技术论坛 |