第二章 数控加工程序输入及预处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五、数控加工程序的存储
按输入代码的先后次序直接存储 按先后次序转换成内码后存放 内码的使用可加快译码的速度
数控加工程序存储举例: N05 G90 G01 X203 Y-17 F46 M03 LF
第二节 数控加工程序的译码与诊断
一、数控加工程序的译码 译码就是将输入的数控加工程序翻译成CNC装 置能识别的代码形式,也就是将数控加工程序 缓冲器或MDI缓冲器中数据逐个读出,先识别 其属性,然后作相应的处理。

所谓数控加工程序诊断是指CNC装置在 程序输入或译码过程中,对不规范的指 令格式进行检查、监控及处理的服务操 作,其目的在于防止错码的读入。


在译码过程中,诊断程序将对数控加工程序 的语法和逻辑错误进行集中检查,只允许合 法的程序段进入后续处理。 所谓语法错误是指程序段格式或程序字格式 不规范的错误,而逻辑错误是指整个数控加 工程序或一个程序段中功能代码之间互相排 斥、互相矛盾的错误。
程序段的存储


设计一个队列链表的数据结构LineContent0 , 该链表 的每一个节点存储一个程序段信息。 LineContent0 链表各节点的结构如下: struct LineContent { int N ; char Content[LineLength] ; struct LineContent * Next; }; 其中, N是整型变量, 用来记录该节点存储的程序段的 段号。Content[LineLength] 是一个字符数组, 用来存 储该节点对应程序段的全部字符串; LineLength 表示一个程序段可容纳的最多字符数。 Next变量是指针变量, 它指向下一个节点。
刀具(山德维克可乐满)
采用刀具补偿功能,可简化数控加工程序的编 写工作,主要表现如下: 1)由于刀具磨损、更换等原因引起的刀具相关 尺寸变化, 不必重新编写程序,只须修改相 应的刀补参数即可。
(一) 语法错误现象 1)程序段的第一个代码不是N代码。 2)N代码后的数值超过了CNC系统规定的取值范围。 3)N代码后出现负数。 4)在程序中出现不认识的功能代码。 5)坐标值代码后的数据超越了机床的行程范围。 6)S代码所设置的主轴转速超过了CNC系统规定的取值范 围。 7)F代码所设置的进给速度超过了CNC系统规定的取值范 围。 8)T代码后的刀具号不合法。 9)出现CNC系统中未定义的G代码。 10)出现CNC系统中未定义的M代码。
1.键盘输入功能 要求显示器同步显示键盘输入的内容。 键盘输入通过中断方式来实现。 中断服务程序读入键盘输入的内容。 2.键盘的输入处理 输入的字符转存入MDI缓冲器。 输入的命令转入相应键盘命令处理程序。 键盘编辑处理功能包括数控加工程序的插入、 删除、替换、修改等操作。
三、存储器方式输入 外存储器 :软磁盘或硬磁盘等磁性载体 内存储器 :CNC装置内部的存储器 数控加工程序缓冲器和数控加工程序存储器 本质上都是CNC装置内部存储器的一部分。 一般采用随机访问存储器(RAM)
数控加工程序缓冲器

数控加工程序缓冲器的存储容量较小, 一般只存放一个或几个程序段。但它是 数控加工程序输入输出通道上极其重要 的组成部分。在加工时,数控加工缓冲 器中的程序段直接与后续的译码程序相 联系,并按先入先出的顺序原则管理缓 冲器。
非编码键盘

设有m*n个键,其中m行由一个输出端 口控制,n列由一个输入端口控制。当 某一行输出为低电平时来自百度文库如果有键按下, 则某一列输入也为低电平,其状态在列 输入端口可读到。通过识别行和列线上 的电平状态,即可识别键的闭合与否。
8255A并行接口工作于方式0,端口C上 半部为输出方式,下半部为输入方式
(二)功能码翻译 建立一个与数控加工程序缓冲器相对应的译 码结果缓冲器 考虑缓冲器的规模 约定存储格式



由于有些代码的功能属性相同或相近,它们 不可能出现在同一个程序段中,也就是说这 些代码具有互斥性。 将G代码、M代码按功能属性分组,每一组代 码只需要设置一个独立的内存单元,并以特 征字来区分本组中的不同代码。 大大压缩译码结果存储器的规模。




先使第0行为低电平,其余 行为高电平 查询列线电平状态,若某一 列变为低,则表示第0行和 此列相交的位置上的键按下 若没有一条列线为低电平, 则说明第0行上没有键闭合 再将第1行输出为低电平, 然后检查列线中是否有变低 的 一行一行扫描,直到最后一 行
实际应用时,一般先快速检查 键盘中是否有键按下,然后再 定哪个键。 因此,先使所有行为0,在检查 列线输入是否为0,再用行扫描 法具体定位。
具体思路如下:


识别模块将以 ASCII 字 符为单位, 逐字对当 前数控加工程序进行读取。并以程序段为单 位, 将其存入所设计的数据结构中 识别 模块 将对存储程序段的数据结构进行识 别。 首先, 判断程序段中是否有宏指令, 如果 有宏指令则调用宏指令的处理函数, 并进行识 别和处理。如果没有宏指令, 则继续对该 程 序段进行普通语句的处理, 诸如 G 、M字符的 识别等。
N006 G03 N007 G02 N008 G01 N009 G00
X4 Z- 4 I4 K0 X4 Z- 4 I0 K- 4 X10 Z0 X5 Z0
译码思路

对数控加工程序进行译码的关键是对加 工程序所包含信息的识别处理。由于数 控加工程序是以程序段为一个独立数控 加工动作的存储单位, 所以本译码程 序 也是通过逐一读取 程序段并进行处理 , 来实现对整个加工程序的译码。
第三节 刀具补偿原理
一、刀具补偿计算的意义 二、刀具长度补偿计算 三、刀具半径补偿计算
一、刀具补偿计算的意义



数控机床在加工过程中,是通过控制刀具中 心或刀架参考点来实现加工轨迹的。 刀具实际参与切削的部位只是刀尖或刀刃边 缘,它们与中心或刀架参考点之间存在偏差。 通过数控系统计算偏差量,并将控制对象由 刀具中心或刀架参考点变换到刀尖或刀刃边 缘上,以满足加工需要。这种变换过程就称 为刀具补偿。
FILE *fp1,*fp2; if( (fp1=fopen(strNCFileName,"r"))==NULL ) { AfxMessageBox("无法打开.asc文件"); return; } 。。。。。。 if (c==0x30) { fprintf (fp2,"30\n"); //字符 "0" } 。。。。。。 fclose (fp1);
1.纸带阅读机工作原理 通过光电转换技术将穿孔纸带上记载的数控 加工程序信息(有孔或无孔)转换成相应电 信号,经过放大、整形后送入数控装置。

纸带阅读机由三部分组成,即机械传动 部分(主动轮、压轮、导轮)、信号采 集部分(光源、透镜、光敏管)、起停 控制部分(起、停衔铁、触发器)。
2.纸带阅读机接口电路 通过并行总线接口与计算机相连。 采用硬件中断方式输入信息。 每中断一次读入一个字符。 读入后还要进行相应的检查。
关于G代码的处理: 数控系统可以约定在一个数控加工程序 段中,最多允许出现六个不同组的G代 码,用Ga、Gb、Gc、Gd、Ge、Gf表示, 故只设置六个内存单元来存放同一程序 段中的G指令即可。
数据形式与格式: BCD码(十进制数据) BIN或HEX码(二进制或十六进制数据) 数据范围 单字节BCD码 00-99 单字节HEX码 00~FF (0~255) (-128~127) 双字节BCD码 0000-9999 双字节HEX码 0000-FFFF (0-65535) (-32768~+32767)
(一)代码识别 代码识别是通过软件将数控加工程序缓冲器 中的内码读出,并判断该数据的属性。 如果是数字码,则立即设置相应的标志并转 存。 如果是字母码,则进一步判断该码的具体功 能,然后设置代码标志并转入相应的处理。
采取的有效措施: 判断字母码功能时一般按查询方式进行 译码的实时性要求不高 可按出现频率高低的顺序译码 将文字码与数字码分开处理 C语言编写可采用switch 语句 汇编语言可通过“比较判断与转移”等语句
数控加工程序存储器

为了便于管理数控加工程序存储器中各个数 控加工程序,在这个存储器中还建立了程序 目录区,在目录区中按约定格式存放每一个 数控加工程序的程序名称、存储区中存放的 首末地址等信息。
四、通信方式输入



通信是指计算机与计算机或计算机与外部设 备之间的信息交换。 通信方式可分为并行通信和串行通信。 RS-232C RS-422 MAP3.0 Ethernet


键盘分为全编码键盘和非编码键盘两种 类型。 数控机床中使用较多的非编码键盘由一 组排列成矩阵方式的按键开关组成。
全编码键盘

通过硬件编码器识别键的闭合/开启。 ¤ 编码键盘就是当某个键被按下后,能 够提供一个与之相对应的的编码信息
非编码键盘

用较为简单的硬件和专用的程序来识别 被按键的位置,提供一个与位置相对应 的中间代码(扫描码),然后又专用软 件将其转换成规定的编码。
如何判断是否为宏程序


逐一判断该程序段中是否是宏指令。对 于FANUC系统, 判断是否为宏程序的标准 为检测该程序段是否包含IF 、GOTO、 WHILE和=等字符串。 如果包含当前程序段包含上述字符串中 的一个 , 则根据的具体字符串类别分别 进行相应的处理。
用户宏程序译码流程图
二、数控加工程序的诊断
第二章 数控加工程序输入 及预处理
第一节 第二节 第三节 第四节
数控加工程序输入 数控加工程序的译码与诊断 刀具补偿原理 其他预处理
第一节 数控加工程序输入



我国参照ISO有关穿孔纸带和数控加工 程序代码的标准,制订了符合我国国情 的数控代码标准。 JB3208-83 :穿孔带程序格式(准备功 能G和辅助功能M) GB8870-88 :轮廓/点位控制用穿孔带 的可编程序格式
(二)逻辑错误现象 1)在同一个数控加工程序段中先后出现两个或 两个以上的同组G代码。 2)在同一个数控加工程序段中先后出现两个或 两个以上的同组M代码。 3)在同一数控加工程序段中先后编入相互矛盾 的尺寸代码。 4)违反系统约定,在同一数控加工程序段中超 量编入M代码。
三、软件实现

以下功能代码在一个程序段中只可能出现 一次,在内存中的地址可以指定: 程序段序号N 几何尺寸单元X、Y、Z、I、J、K 主轴功能代码S 进给功能代码F 刀具功能代码T
关于M代码的处理: 数控系统可以约定在一个数控加工程序 段中,最多允许出现三个不同组的M代 码,用Mx、My、Mz表示,故只设置三 个内存单元来存放同一程序段中的M指 令即可。
二、键盘方式输入

数控机床键盘可供数控机床操作者输入 数控加工程序(一般为部分或简单的数 控加工程序)和控制信息,并称为手动 数据输入(MDI)。
键的工作方式

接触式 无触点式 触摸式等 ¤ 触点式 利用机械触点的分离与闭合判 断电路的通断,由于磨损、氧化等易产 生接触不良等故障 ¤ 无触点式 通过按键上下运动使电容 的电量发生变化,达到 检测开关的通 断,不存在磨损和接触不良等问题,且 密封组装有防尘特性
数控加工程序译码过程举例
数控加工工艺及编程

加工工艺分析
FANUC 0T 的用户宏程序

N001 G92 X80 Z100 N002 G90 G00 X15 Z0 T 0101 N003 F100 N004 # 0= 1 WHILE [ #0 LE 5] DO 1 # 1= 1 WHILE [ #1 LE 2] DO 2 # 2= 1 WHILE [ #2 LE 2] DO 3 G91 G01 X0 Z - 5 G04 X1 # 2= # 2+ 1 END 3 # 1= # 1+ 1 G01 X1 Z0 END 2 # 0= # 0+ 1 IF[ #0 EQ 2] GOTO 6 EN D 1
相关文档
最新文档