软运动控制:全局变量设置与轨迹变换

需积分: 42 86 下载量 154 浏览量 更新于2024-08-07 收藏 1.76MB PDF 举报
"该文档主要介绍了在CoDeSys 2.3 SoftMotion环境下,如何通过全局变量设置以及轨迹旋转和平移的辅助模块来实现CNC控制。文中详细讲解了SMC_RotateQueue2和SMC_TranslateQueue3D功能块的用法,并提到了在‘SoftMotion_CNC_Globals’中可修改的内部变量和常量,用于零点判断。此外,还简要概述了SoftMotion的概念、组件、CNC和CAM编辑器,以及相关的库函数。" 在软体运动控制(SoftMotion)中,轨迹的旋转和平移是通过特定的辅助模块实现的。SMC_RotateQueue2功能块用于二维轨迹的旋转,它接收指向SMC_OUTQUEUE的指针poqDataIn,这个队列包含了待处理的轨迹数据。当输入变量bEnable被设置为TRUE时,模块开始处理GEOINFO对象,按照指定的角度dPhi(正向为顺时针)围绕Z轴旋转轨迹。而SMC_TranslateQueue3D则负责三维平移,依据输入的SMC_VECTOR3D结构体向量vec进行平移操作。 在处理过程中,为了避免因动态修改旋转和平移参数导致的轨迹中断,这些变化只会在SMC_OUTQUEUE为空或经过重置(bReset设为TRUE)后才生效。对于非原点旋转,需要先将轨迹平移到原点,再进行旋转,最后再平移回原始位置。这涉及到一系列的坐标变换,包括平移和旋转变换。 全局变量的设置是通过"SoftMotion_CNC_Globals"完成的,其中g_fSMC_CNC_EPS和g_fSMC_CNC_EPS_RELUCTANT用于判断零点。这两个变量分别代表精确判断和带有容差的判断,可以调整以适应不同的精度需求。 SoftMotion系统中还包括了多种组件和接口,如SoftMotion的PLC配置、驱动器接口、轴组辅助模块、虚拟时间轴等。CNC编辑器支持DIN66025标准,提供CNC程序的编辑、管理和启动功能,而CAM编辑器则用于定义和编辑CAM(计算机辅助制造)任务。 SM_CNC.lib库提供了轨迹处理的相关模块,如轨迹旋转和平移的辅助模块。而SM_PLCopen.lib库遵循PLCopen的运动控制功能块规范,包含单轴和同步运动控制模块。这些库函数为开发者提供了丰富的工具来实现复杂的运动控制任务。 该文档深入探讨了SoftMotion环境下的CNC控制技术,特别是如何通过全局变量和特定功能块实现轨迹的动态变换,为CNC编程和控制提供了重要的理论和技术支持。