如何将位置值写入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: 修改encoderIdentification
为 set_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().
如何将位置值写入simotion encoder?的更多相关文章
- C++ 无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run,以实现开机自启动应用程序。
C++ 无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run,以实现开机自启动应用程序.但可以写入到H ...
- 【转】c# winform 创建文件,把值写入文件,读取文件里的值,修改文件的值,对文件的创建,写入,修改
创建文件和读取文件的值 #region 判断文件是否存在,不存在则创建,否则读取值显示到窗体 public FormMain() { InitializeComponent(); //ReadFile ...
- position的五个不同的位置值
一.position: static 无定位 HTML 元素默认情况下的定位方式为 static(静态). 静态定位的元素不受 top.bottom.left 和 right 属性的影响. posi ...
- Windows 7安装软件时无法将注册值写入注册表的处理方法
1. 我们来确认一下,有没有安装什么软件把注册表给封了.如杀毒软件,防火墙等.把这些软件关了之后,再安装软件试试:如果不行,就把杀毒软件卸载了,再安装软件试试. 2. 更改组策略设置 步骤: 开始-运 ...
- curl返回值写入内存的场景
直接上代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cur ...
- 原生js获取 一个dom元素距离页面可视区域的位置值 -- getBoundingClientRect
getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性:left.top.right和bottom.分别表示元素各边与页面上边和左边的距离. var box=docum ...
- VMWare------安装时出现无法将值写入注册表项
安装时提示详情: 无法打开注册表项UNKNOWN\Components\...请确认你是否有足够的权限访问该注册表项,或者与技术支持人员联系. 解决方法: 关掉360安全卫士等软件再安装
- ansible command模块将返回值写入变量
ansible 中command模块支持 register参数将远程命令执行的输出结果存储在变量中,后续可以在when中对该变量进行检索确定下一步任务. --- - name: cat /etc/re ...
- VM虚拟机安装无法将值写入注册表.....请确认你是否有足够的权限访问该注册表项,或者与技术支持人员联系。
解决方法: 关掉360安全卫士等软件再安装
随机推荐
- C#获取单元格值(使用NPOI插件)
/// <summary> /// 获取单元格的值 /// </summary> /// <param name="item"></par ...
- 简述wcf应用
一.新建wcf 如下图:wcf可以简历俩种形式 1.库文件,就是一个类库文件,可以用windows服务或控制台开启. 2.服务应用程序,可以直接IIS上面发布. 二.库文件自动生成的类 接口类 usi ...
- 理解 Spring 事务原理
转载:https://www.jianshu.com/p/4312162b1458 一.事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事 ...
- 《mac的git安装手册-1》
<mac的git安装手册-1> 下载地址 https://git-scm.com/downloads 如果遇到上面这个问题打开系统偏好设置: OK,这样就能安装了
- Javascript各种事件汇总
https://www.cnblogs.com/diligenceday/p/4190173.html#undefined https://www.cnblogs.com/starof/p/40663 ...
- plSql添加快捷键设置
汉化版:工具-首选项-用户界面-编辑器-自动替换-定义文件 英文版:Tools->Perferences->Editor中Autoreplaces选择配置的shortcuts 常用快捷键设 ...
- 关于C语言读取文件时候多读一行
梗概:为什么C语言读取文件到结构体时为什么整天多读一行?一切都是[!feof(fp)]的错!!! while (!feof(fp)) { fgets(buffer, , fp); j++; } 像这样 ...
- SigmoidCrossEntropyLoss
http://blog.csdn.net/u012235274/article/details/51361290
- stm32 输入捕获学习(一)
输入捕获模式可以用来测量脉冲宽度或者测量频率.STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能.STM32 的输入捕获,简单地说就是通过检测 TIMx_CHx 上的边沿信 ...
- php 关于时间的函数
//返回1970年1月1日零点以来的秒数. //定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. time(); ...