首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TwinCAT运动记录行程距离

TwinCAT运动记录行程距离
EN

Stack Overflow用户
提问于 2022-01-24 08:53:01
回答 1查看 109关注 0票数 3

我需要一些帮助写一个函数块,我可以用来记录一个轴的旅行距离。这应该记录每一次轴移动有点像一个计量器,这个值将用于预防性维护轴上。润滑滚珠螺丝和直线轴承。

当轴不移动时,该函数必须忽略轴上的颤振,并容纳多次覆盖位置的寻的函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 09:07:50

你可以通过积分轴设定速度的绝对值来实现这一点。

代码语言:javascript
复制
VAR
    lrCycleTime_s : LREAL;
    lrVelocity_mmPerCycle : LREAL;
    lrDistance_mm : LREAL;
END_VAR

======================================

lrCycleTime_s := UDINT_TO_LREAL(_TaskInfo[GETCURTASKINDEXEX()].CycleTime) / 10000000; //Get cycle time in seconds
lrVelocity_mmPerCycle := Axis.NcToPlc.SetVelo * lrCycleTime_s ; // Convert velocity per second > per cycle
lrDistance_mm := lrDistance_mm + ABS(lrVelocity_mmPerCycle);

记住要在循环时间等于运动周期时间的任务中执行此操作(默认为2ms)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70831191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档