0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

运动控制中如何实现路径轨迹预测

工控论坛 来源:工控论坛 2025-01-05 11:04 次阅读

在运动控制中,轨迹执行时间的预测对于多轴的协同、路径预处理等方面有着重要的作用。CODESYS系列控制器提供了预测轨迹执行时间功能块。要实现完整的预测功能,需要使用到以下的功能块。

SMC_SetForecast

这个功能块专门用于为指定轴设定预测,其预测时长被限定在最多512个任务周期。通过这种预测设置,用户能够预先获取轴在未来特定时间点的状态信息,包括:

持续时间预测:利用SMC_GetTravelTime功能,可以计算出轴到达某一特定位置所需的时间。

动态信息获取:通过SMC_ReadSetValues,能够在特定时间点获取轴的动态信息。

预测时长查询:使用SMC_GetForecast可以读取当前的预测时长。

范围 名称 数据类型 说明
输入/输出 Axis AXIS_REF_SM3 指定要操作的轴
输入 Execute BOOL 上升沿:设置预测持续时间
ForecastDuration LREAL 轨迹预测的持续时间(以秒为单位)
输出 Done BOOL TRUE:预测已成功设置
Error BOOL TRUE: 在执行过程中发生了错误
ErrorID SMC_ERROR 错误ID

SMC_GetForecast

该功能块返回给定轴的预测时间,是由SMC_SetForecast 功能块设置的。

范围 名称 数据类型 说明
输入/输出 Axis AXIS_REF_SM3 指定要操作的轴
输入 Enable BOOL TRUE: 预测是持续读取的
输出 Valid BOOL TRUE: 预测已成功读取
Busy BOOL TRUE: 正在执行中
Error BOOL TRUE: 正在运行中
ErrorID SMC_ERROR 执行过程中出现了错误
ForecastDuration LREAL 预测持续时间以秒为单位

SMC_GetTravelTime

此功能块能够预测轴到达指定位置所需的时间。

要获取有效的时间预测,需要先通过SMC_SetForecast设置预测持续时间,确保轴在预测时间内能到达指定位置。如果轴没有移动,即使它正好在指定位置,Valid也会显示为FALSE。

范围 名称 数据类型 说明
输入/输出 Axis AXIS_REF_SM3 指定要操作的轴
输入 Enable BOOL 使能功能块
Position LREAL 指定轴的位置
Direction SMC_CAMTAPPETTYPE 功能块对轴的移动方向是有要求的,它只关注轴按照预设方向到达位置的情况
输出 Valid BOOL 输出的持续时间是否有效
Duration LREAL 以秒为单位的从当前控制周期开始到达特定位置的预计时间,具有亚周期精度。
预计时间为0秒表示轴已在上一个周期到达位置,而等于任务间隔的预计时间则意味着轴将在当前周期内到达位置。
Error BOOL 是否发生了错误
ErrorId SMC_ERROR 错误ID

SMC_ReadSetValues

该功能块用于读取轴的设定位置、速度、加速度和加加速度。允许设置一个正的时间偏移量(TimeOffset),以读取未来的设定值。当时间偏移量(TimeOffset)= 0时,将读取当前周期开始时的设定值。

范围 名称 数据类型 说明
输入/输出 Axis AXIS_REF_SM3 指定要操作的轴
输入 Enable BOOL 使能功能块
TimeOffset LREAL 时间偏移量,必须位于0和使用SMC_SetForecast设置的预测时长(ForecastDuration)之间。
如果时间偏移量超出此范围,将报告错误SMC_INVALID_PARAMETER。
输出 Valid BOOL TRUE: 输出有效标志
Busy BOOL TRUE: 正在执行中
Error BOOL TRUE: 发生错误
ErrorID SMC_ERROR 错误ID
Position LREAL 位置信息
Velocity LREAL 速度信息
Acceleration LREAL 加速度信息
Jerk LREAL 加加速度信息

程序示例

CASE state OF
STATE_POWER_DRIVE:    //轴使能
  mcp.Enable := TRUE;
  mcp.bDriveStart := TRUE;
  mcp.bRegulatorOn := TRUE;


  IF mcp.Status THEN
    state := STATE_SET_FORECAST;
  ELSIF mcp.Error THEN
    error := mcp.ErrorID;
    state := state + STATE_ERROR;  
  END_IF


STATE_SET_FORECAST:    //设置轨迹预测时长
  setForecast.Execute := TRUE;
  setForecast.ForecastDuration := 0.3;  //0.3S


  getForecast.Enable := TRUE;


  IF setForecast.Done THEN
    state := STATE_MOVE_TO_POSITION;
  ELSIF setForecast.Error THEN
    error := setForecast.ErrorID;
    state := state + STATE_ERROR;  
  END_IF


STATE_MOVE_TO_POSITION:    //MC_MoveAbsolute
  ma.Execute := TRUE;
  ma.Position := 10;
  ma.Velocity := 20;
  ma.Acceleration := 200;
  ma.Deceleration := 200;
  ma.Jerk := 1000;


  timeToPosition.Enable := TRUE;
  timeToPosition.Position := 8;  //预测到达8时,所用的时间


  IF ma.Error THEN
    error := ma.ErrorID;
    state := state + STATE_ERROR;  
  END_IF
END_CASE


setForecast(Axis:= Drive);
getForecast(Axis:= Drive);


mcp(Axis:= Drive);
ma(Axis:= Drive);


timeToPosition(Axis:= Drive);
readSetValues(
  Axis:= Drive, 
  Enable:= timeToPosition.Valid, 
TimeOffset:=timeToPosition.Duration);

可通过采集到的波形图观察对于轨迹预测的效果。

90216582-caa5-11ef-9310-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16389

    浏览量

    178439
  • 运动控制
    +关注

    关注

    4

    文章

    583

    浏览量

    32894
  • CoDeSys
    +关注

    关注

    10

    文章

    40

    浏览量

    18673

原文标题:运动控制中如何实现路径轨迹预测?

文章出处:【微信号:gkongbbs,微信公众号:工控论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种创新的动态轨迹预测方法

    本文提出了一种动态轨迹预测方法,通过结合历史帧和历史预测结果来提高预测的稳定性和准确性。它引入了历史预测注意力模块,以编码连续
    的头像 发表于 10-28 14:34 448次阅读
    一种创新的动态<b class='flag-5'>轨迹</b><b class='flag-5'>预测</b>方法

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划。
    的头像 发表于 08-15 11:49 657次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制</b>器PT/PVT<b class='flag-5'>实现</b>用户自定义<b class='flag-5'>轨迹</b>规划

    VPLC系列机器视觉运动控制一体机在五轴联动点胶上的应用

    空间轨迹的追随控制实现点胶阀或工件边点胶边倾斜调整角度,点胶轨迹路径始终与产品翻转姿态保持一致,确保了点胶加工过程的连续性和平滑性,还显著
    发表于 07-29 14:29

    电磁轨迹预测分析软件

    机器学习技术,以实现对电磁运动轨迹的精确预测和深入分析。它广泛应用于电磁式运动追踪系统、电磁轨道高速飞行器、智能交通系统等领域,为用户提供关
    的头像 发表于 07-16 16:42 370次阅读

    电磁轨迹预测分析系统设计方案

    智慧华盛恒辉电磁轨迹预测分析系统的设计方案是一个综合性的项目,它结合了电磁学、运动学、数据分析以及可能的人工智能或机器学习技术,以实现对电磁运动
    的头像 发表于 07-15 16:22 412次阅读

    电磁轨迹预测分析系统

    智慧华盛恒辉电磁轨迹预测分析系统是一个专门用于预测和分析电磁运动轨迹的系统。该系统结合了电磁学、运动
    的头像 发表于 06-25 15:19 404次阅读

    ABB工业机器人运动指令有哪几个

    用于控制机器人的运动轨迹、速度和加速度等参数,以实现精确的定位和操作。运动指令的种类繁多,可以根据不同的应用场景和需求进行选择。 基本
    的头像 发表于 06-16 16:15 2512次阅读

    运动控制器的主要功能是什么?

    精确的控制实现复杂的运动路径。这包括直线运动、圆弧运动、螺旋
    的头像 发表于 06-13 09:21 825次阅读

    运动控制和过程控制的区别和联系

    和过程控制的区别和联系。 运动控制 定义: 运动控制是指对机械设备的运动进行精确
    的头像 发表于 06-13 09:19 3085次阅读

    运动控制器与plc编程一样吗

    差异 运动控制器主要用于实现高精度、高速度的运动控制,它可以控制多个轴的同步
    的头像 发表于 06-12 11:03 744次阅读

    运动控制与自动化PLC过程控制的区别

    运动控制(Motion Control)是自动化领域中的一个重要分支,它专注于对机械运动部件的位置、速度等参数进行实时的控制管理,以确保机械按照预期的
    的头像 发表于 06-07 15:06 1618次阅读

    运动控制系统的组成与作用

    运动控制系统作为现代自动化技术的核心之一,其广泛应用于工业自动化、机器人技术、精密制造等领域。它通过控制电机或其他执行器,使机器或设备按照预期的轨迹和速度
    的头像 发表于 06-05 16:35 2605次阅读

    基于VPLC711的曲面外观检测XYR运动控制解决方案

    技术在典型的XYR结构应用方面发挥重要作用: 采用XYR(XY+R)联动运动控制算法,可实现在R轴旋转过程,随着待加工产品位置和角度的变化,XY
    发表于 04-16 17:58

    机器视觉运动控制一体机在喇叭跟随点胶上的应用

    ; ●中小型半自动点胶设备难以整合到现有生产线实现在线柔性制造; ●运动控制与视觉项目程序独立开发,软硬件集成度不高,开发难度较大; ●点胶一致性不高,导致胶水不能够准确地涂布成特
    发表于 04-16 17:37

    利用6轴姿态模块来计算,物体的运动轨迹能不能实现

    仅仅利用6轴姿态模块来计算,物体的运动轨迹能不能实现? 本人采用stm32f103采集姿态模块数据,姿态模块采用的是维特jy901s,为什么积分计算距离之后误差非常大。 我还发现姿态模块在静止的时候也会有加速度产生,我该如何
    发表于 03-29 11:34