CNC 实例 07:使用表达式和子程序
见 CNC07_Subprogram.project
安装目录下的示例工程 CODESYS 在下面 ..\CODESYS SoftMotion\Examples
.
这个例子演示了如何调用一个 子程序 从 CNC 文件以及使用 表达 在 CNC 运动指令中。
在里面 CNC
程序,驱动器首先被打开,就像在其他例子中一样。这 CNC_PreparePath
程序使用 SMC_ReadNCFile2
用于读取 CNC 文件的功能块。 SMC_ReadNCFile2
创建 SMC_ReadNCFile
POU 并扩展它以支持子程序和表达式。
数控程序 CNC2Main.cnc
是通过 SMC_NCInterpreter
功能块。 SMC_NCInterpreter
创建 SMC_NCDecoder
POU 并通过对子例程和表达式的支持对其进行了扩展。
该项目包含两个 CNC 程序:主程序 CNC2Main.cnc
和子程序 CNC2.cnc
.主程序传值 25
在里面 #RADIUS
子程序的参数。在子程序中,表达式 X#RADIUS*2
用于计算圆形路径。
主程序
N0 G01 X$g_x$ Y0 F50 E30 E-30 N10 G01 X0 Y$g_y$ N20 CNC2{25} N30 G01 X0 Y-200
子程序
SUBPROGRAM CNC2{#RADIUS : LREAL} N010 G91 N020 G02 X#RADIUS*2 Y0 R#RADIUS Z2.5 F100 E-100 E100 N030 G02 X-#RADIUS*2 Y0 R#RADIUS Z7.5 END_SUBPROGRAM