程序的构成 为了完成零件的自动加工,用户需要按照CNC 的编程格式编写零件程序(简称程序)。CNC 执行程序完成 机床进给运动、主轴起停、刀具选择、冷却、润滑等控制,从而实现零件的加工。 程序示例: 程序的一般结构 程序是由以“OXXXX”(程序名)开头、以“%”号结束的若干行程序段构成的。 程序段是 以程序段号开始 (可省略),以“;”或“*”结束的若干个代码字构成。 程序的一般结构如图所示。 程序名 本系统最多可以存储10000个程序,为了识别区分各个程序,每个程序都有****的程序名(程序名不允许重 复),程序名位于程序的开头由大写字母O及其后的四位数字构成。 代码字 代码字是用于命令CNC完成控制功能的基本代码单元,代码字由一个英文字母(称代码地址)和其后的数值 (称为代码值,为有符号数或无符号数)构成。代码地址规定了其后代码值的意义,在不同的代码字组合情况 下,同一个代码地址可能有不同的意义。 下表为本系统所有代码字的一览表。 程序段 程序段由若干个代码字构成,以“;”或“*”结束,是CNC程序运行的基本单位。程序段之间用字符“;” 或“*”分开,本手册中用“;”表示。 示例如下: 一个程序段中可输入若干个代码字,也允许无代码字而只有“;”号(EOB键)结束符。有多个代码字时, 代码字之间必须输入一个或一个以上空格。 在同一程序段中,除N、G、S、T、H、L等地址外,其它的地址只能出现一次,否则将产生报警(代码字在同一 个程序段中被重复指令)。N、S、T、H、L代码字在同一程序段中重复输入时,相同地址的最 后一个代码字有效。同组的G代码在同一程序段中重复输入时,最后一个G代码有效。 程序段号 程序段号由地址N和后面四位数构成:N0000~N9999,前导零可省略。程序段号应位于程序段的开头,否则 无效。 程序段号可以不输入,但程序调用、跳转的目标程序段必须有程序段号。程序段号的顺序可以是任意的, 其间隔也可以不相等,为了方便查找、分析程序,建议程序段号按编程顺序递增或递减。 如果在开关设置页面将“自动序号”设置为“开”,将在插入程序段时自动生成递增的程序段号,程序段 号增量由参数№27设定。 程序段选跳符 如在程序执行时不执行某一程序段(而又不想删除该程序段),就在该程序段前插入“/”,并打开程序段 选跳开关。程序执行时此程序段将被跳过、不执行。 如果程序段选跳开关未打开,即使程序段前有“/”该程序 段仍会执行。 程序结束符 “%”为程序文件的结束符,在通信传送程序时,“%”为通信结束标志。新建程序时,CNC自动在程序尾 部插入“%”。 主程序和子程序 为简化编程,当相同或相似的加工轨迹、控制过程需要多次使用时,就可以把该部分的程序指令编辑为独 立的程序进行调用。调用该程序的程序称为主程序,被调用的程序(以M99结束)称为子程序。子程序和主程序 一样占用系统的程序容量和存储空间,子程序必须有自己独立的程序名,子程序可以被其它任意主程序调用, 也可以独立运行。子程序结束后就返回到主程序中继续执行, 见下图所示 程序运行的顺序 必须在自动操作方式下才能运行当前打开的程序,CNC不能同时打开2个或更多程序,因此,CNC在任一时刻 只能运行一个程序。打开一个程序时,光标位于第一个程序段的行首,在编辑操作方式下可以移动光标。在自 动操作方式的运行停止状态,用循环启动信号(机床面板的循环启动键或外接循环启动信号)从当前光标所在 的程序段启动程序的运行,通常按照程序段编写的先后顺序逐个程序段执行,直到执行了M02或M30代码,程序 运行停止。光标随着程序的 运行而移动,始终位于当前程序段的行尾。在以下情况下,程序运行的顺序或状态 会发生改变: 程序运行时按了复位键或急停按钮,程序运行终止; 程序运行时产生了CNC报警或PLC报警,程序运行终止; 程序运行时按了进给保持键或外接暂停信号断开,程序运行暂停,再按键或外接循环启动信号 接通时,程 序从停止的位置继续运行; 单段开关打开时,每个程序段运行结束后程序运行暂停,需再按循环启动键或外接循环启动信号接通时, 从下一程序段继续运行; 程序段选跳开关打开,程序段前有“/”的程序段被跳过、不执行; 执行G70~73复合循环代码的程序运行顺序比较特殊,详见《G代码》; 执行M98代码时,调用对应的子程序运行;子程序运行结束,执行M99代码时,返回主程序中调用程序段的 下一程序段运行(如果M99代码规定了返回的目标程序段号,则转到目标程序段运行); 在主程序(该程序的运行不是因其它程序的调用而启动)中执行M99代码时,返回程序第一段继续运行,当前程序将反复循环运行。 在程序中执行M31代码时,返回程序第一段或指定的程序段继续运行,循环指定的次数后继续执行下一段程序。 程序段内代码字的执行顺序 一个程序段中可以有G、X、Z、F、R、M、S、T等多个代码字,大部分M、S、T代码字由NC解释后送给PLC处 理,其它代码字直接由NC处理。M98、M99,以及以r/min、 m/min为单位给定主轴转速的S代码字也是直接由NC 处理。 当G代码与M、S、T在同一个程序段中时,NC执行完G代码后,才执行M、S、T代码,并把对应的信号送给PLC 处理。 当G代码字与M98、M99代码字在同一个程序段中时,NC执行完G代码后,才执行这些M代码字(不送M信 号给PLC)。
篇幅所限,今天的讲解就到这里了哦!明天会继续讲解程序的构成及更多编程知识,感兴趣的朋友可以致电或扫描下方二维码添加微信好友索要详细资料哦!! 联系人:李经理 联系方式:17600500753(同微信 QQ)
打开手机淘宝扫一扫关注店铺
打开手机微信扫一扫添加好友
|