Skip to main content

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 已插入插值器之后和变换之前,以便处理插值器输出的设定位置。

sm_img_cnc_example9_1.png

调试

编译并启动创建的程序。程序执行 CNC 运动,只要 CNC_PreparePath.xStart 输入已设置。您可以点击 开始 按钮以在应用程序或可视化中设置此变量。程序完全运行后,您可以应用新的上升沿重新启动它。

在 CNC 程序执行期间,注意插补器的输出 (piSetPosition, adToolLength) 和补偿位置 (piOut) 的 SMC_ToolLengthCorr 宝。

注:旋转 AxisA 在 CNC 程序的最后一次移动期间,对本例中的补偿笛卡尔位置没有(附加)影响,因为刀具在 Z 方向上只有一个偏移量。如果在 X 和 Y 方向的刀具偏移(在 CNC 文件中,在应用程序文件夹中的控制器上)添加组件,则 AxisA 在最后一次移动期间将对补偿位置产生额外影响。