CNC 实例 09:使用刀具长度校正
见 CNC09_ToolLengthCorr.project
安装目录下的示例工程 CODESYS 在下面 ..\CODESYS SoftMotion\Examples
.
这个例子演示了如何使用 SMC_ToolLengthCorr 用于补偿刀具长度的 POU。
有关刀具长度校正主题的更多信息,请参见: 预处理
应用
例如,Gantry3 运动学与添加的方向轴 (AxisA
) 可以绕 Z 轴旋转。在 Z 方向上长度为 2 个单位的刀具依次连接到定向轴。
应该运行一个简单的 CNC 程序。这作为外部存储在项目中 CNC.cnc
文件,可以用文本编辑器打开。在 CNC 程序中,刀具长度修正首先通过 G 代码激活 G43
.这 I
, J
, 和 K
为此,参数对应于 X、Y 和 Z 方向的偏移量。接下来,在 XY 平面中移动到三个点。在移动到最后一点的过程中,附加轴 A 也旋转了 90 度。
N000 G43 I0 J0 K2 (Activate tool length correction with tool offset X=0 Y=0 Z=2) N010 G01 X10 F10 E100 E-100 N020 G03 Y10 R5N030 G01 X0 A90
该应用程序由多个部分组成。在里面 CNC_PreparePath
程序,CNC程序 CNC.cnc
作为文件从控制器导入并进行预处理。在里面 CNC
程序中,首先打开驱动器,与其他示例一样。然后执行先前读取的 CNC 程序的插补。在每个循环中,插值器输出一个设定位置 (piSetPosition
) 和刀具的当前偏移量 (adToolLength
)。这 SMC_ToolLengthCorr
POU 需要此信息来补偿指定的刀具长度。然后将补偿后的位置转换并最终通过 SMC_ControlAxisByPos
POU。
提示
该程序几乎与其他示例相同。只有 SMC_ToolLengthCorr
POU 已插入插值器之后和变换之前,以便处理插值器输出的设定位置。

调试
编译并启动创建的程序。程序执行 CNC 运动,只要 CNC_PreparePath.xStart
输入已设置。您可以点击 开始 按钮以在应用程序或可视化中设置此变量。程序完全运行后,您可以应用新的上升沿重新启动它。
在 CNC 程序执行期间,注意插补器的输出 (piSetPosition
, adToolLength
) 和补偿位置 (piOut
) 的 SMC_ToolLengthCorr
宝。
注:旋转 AxisA
在 CNC 程序的最后一次移动期间,对本例中的补偿笛卡尔位置没有(附加)影响,因为刀具在 Z 方向上只有一个偏移量。如果在 X 和 Y 方向的刀具偏移(在 CNC 文件中,在应用程序文件夹中的控制器上)添加组件,则 AxisA
在最后一次移动期间将对补偿位置产生额外影响。