如何将位置值写入simotion encoder?

目标:

将变量值(任意实数)写入Encoder,作为encoder的实际位置值。例如,将MP177手轮的值写入编码器,达到SMC30配置手轮的功能。
Platform: simotion D435-2 , mobile-panel177(含手轮)
Software: scout 4.4

Step1 在simotion scout中,新建一个编码器,请选择选择linear

测试中发现"rotary"类型的编码器不合适

Step2: 选择Input module for encoder value ,点击“assign”,编码器类型“absolute”

Step3: 保持默认编码器数据,不需要修改

Step4: 修改encoderIdentificationset_actual_value

编译项目(compile),一致性检查,如果能够通过,编码器就配置完成了。

Step5: 写入编码器位置值

在IPO程序中,向变量sensorSettings.actualvalue赋值

Step6(optional): 设置编码器滤波

我这个应用是把MP177/277的手轮输入,写入encoder。因为是在IPO中写入,如果要增加滤波,只能使用IPO周期中滤波。设置如下图:
激活外推Extrapolation , 设置为 0.00001S. 速度选择微分(Differentiation)

Position filter,约0.15S-0.3S

Velocity fiter 选择平均值(mean value),时间约0.3S

附录

附录1:MP177/277作为PROFINET/PROFIBUS从站,插入到网络上

在Simotion的Address List中,建立IO变量,连接MobilePanel

附录2:将MobilePanel的手轮值写入simotion的编码器TO

下图中IW_MP177[3]是手轮正向转动时的数值,IW_MP177[4]是手轮反向转动时的数值。这两个数值的范围是0-255。以下程序可将数值转换为单一变量,并写入encoder.
Encoder的模态范围设为0-256(mm)

附录3:MP177编码器曲线

可见,设置滤波后,MP177手轮的曲线,类似于普通TTL编码器。实轴可以和此编码器同步。注意同步时的Interconnections选择Actual value with extrapolation().

posted on 2017-10-12 20:00  lion_zheng  阅读(1903)  评论(0编辑  收藏  举报

导航