一种多通道式数控系统加工进度指令控制系统及方法与流程

文档序号:12716945阅读:412来源:国知局
一种多通道式数控系统加工进度指令控制系统及方法与流程

本发明涉及数控系统领域,具体地说是一种多通道式数控系统加工进度指令控制系统及方法。



背景技术:

近年来,国内的数控产业发展态势良好,用户对产品的复杂度、加工效率和自动化程度要求越来越高,对投资成本的控制也越加严格,一些多通道式机床如双刀架的车床、多工位的铣床以及车铣复合机床等逐渐成为数控机床用户的首选。随着数控系统硬件设备性能的提升,以及复合加工、柔性生产等方面的应用需求,多通道式数控系统逐渐成为数控系统的发展方向。多通道控制技术也渐渐成为评价数控系统高档程度的重要指标。现有的多通道式数控系统采用将单通道数控系统架构进行复制镜像,并让各个通道并发执行的方式,可以完成不同工艺的多个工件在同一台数控机床上的加工任务,但是任务间不具有关联性,而有一些加工任务则是需要同一个零件的多个工序在同一台数控机床上加工,加工时通道间具有时间上或者工序上的关联性,如果采用现有的多通道式数控系统框架,就需要持续的人工来控制时间和工序的进度,这样不但需要额外的成本投资,还会降低加工的效率。



技术实现要素:

针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种能够满足同一个零件的多个工序在同一台数控机床上同步或者异步加工任务的方法。该方法需要实现多通道式数控系统的跨通道程序操作指令,不同通道间的等待和同步,以及通过对通道间公共的IO状态数据的读写操作来实现工序控制等功能。

本发明为实现上述目的所采用的技术方案是:一种多通道式数控系统加工进度指令控制系统及方法,

一种多通道式数控系统加工进度指令控制系统,包括:

解释器模块,读取指令语句,判断所读取的指令语句类型,如果指令语句类型为大写或小写的“LAD,”、“EXE,”或“SYN,”,则记录指定通道号,并将指令语句发送给规范加工模块;如果指令语句类型为大写或小写的“WIT,”、“WIF,”、“SET,”或“CLR,”,则继续读取指令语句中的“X_”或“Y_”,并将指令语句发送给规范加工模块;

规范加工模块,将指令语句封装在类结构体中,并发送包含“LAD,”、“EXE,”类型的类结构体给工件程序操作队列,发送包含“SYN,”、“WIT,”、“WIF,”、“SET,”或“CLR,”类型的类结构体给工件程序命令队列;所述类结构体中包含有一个标识与被封装的指令语句的类型相对应;

工件程序操作队列,为所有通道公共读写的指令队列;

工件程序命令队列,为各个通道单独拥有且单独读写的命令队列;

任务控制器模块,从工件程序操作队列和工件程序命令队列中按顺序读取类结构体,并通过识别类结构体中的标识判断出指令语句类型,如果指令语句类型为大写或小写的“LAD,”或“EXE,”,则判断被指定的通道是否处于自动加工模式,如果是则执行该指令,如果不是则触发报警;如果指令语句类型是大写或小写的“SYN,”,则将包含指令语句的类结构体发送给运动控制器模块;如果指令语句类型是大写或小写的“WIT,”,则判断指定的X信号的状态值,如果指定的X信号状态值为1,则命令解释器继续解析执行下面的程序,否则继续命令解释器处于等待暂停状态;如果指令语句类型是大写或小写的“WIF,”,则判断指定的X信号的状态值,如果指定的X信号的状态值为0,则命令解释器继续解析执行下面的程序,否则继续命令解释器处于等待暂停状态;如果指令语句类型是大写或小写的“SET,”,则将指定的Y信号状态值赋值为1;如果指令语句类型是大写或小写的“CLR,”,则将指定的Y信号状态值赋值为0;

运动控制器模块读取包含指令语句的类结构体,将先执行到“SYN,”指令的通道暂停,待被指定通道也执行到“SYN,”指令时,使两个通道同时开始执行各自“SYN,”指令后面的指令段。

所述指令语句类型为大写或小写“LAD,”的指令格式为(LAD,N,X.prg),用于实现当前通道命令N通道打开指定工件程序X.prg;

所述指令语句类型为大写或小写“EXE,”的指令格式为(EXE,N),用于实现当前通道命令N通道执行N通道已经打开的工件程序;

所述指令语句类型为大写或小写“SYN,”的指令格式为(SYN,N),用于实现当前通道和N通道同时执行各自的SYN工件程序指令后的工件程序。

所述指令语句类型为大写或小写“WIT,”的指令格式为(WIT,X_),用于判断指定的X信号的状态值,如果指定的X信号的状态值为1,则命令解释器继续解析执行下面的程序,否则继续命令解释器处于等待暂停状态;

所述指令语句类型为大写或小写“WIF,”的指令格式为(WIF,X_),用于判断指定的X信号的状态值,如果指定的X信号的状态值为0,则命令解释器继续解析执行下面的程序,否则继续命令解释器处于等待暂停状态。

所述指令语句类型为大写或小写“SET,”的指令格式为(SET,Y_),用于读取的指令语句,将指定的Y信号状态值赋值为1;

所述指令语句类型为大写或小写“CLR,”的指令格式为(CLR,Y_),用于读取的指令语句,将指定的Y信号状态值赋值为0。

所述X信号为PLC信号且为浮点数,取值范围为[0.0-16.7]。

所述Y信号为PLC信号且为浮点数,取值范围为[0.0-9.7]。

一种多通道式数控系统加工进度指令控制方法,包括以下步骤:

利用解释器模块读取指令语句,判断所读取的指令语句类型,如果指令语句类型为大写或小写的“LAD,”、“EXE,”或“SYN,”,则记录指定通道号,并将指令语句发送给规范加工模块;如果指令语句类型为大写或小写的“WIT,”、“WIF,”、“SET,”或“CLR,”,则继续读取指令语句中的“X_”或“Y_”,并将指令语句发送给规范加工模块;

利用规范加工模块将指令语句封装在类结构体中,并发送包含“LAD,”、“EXE,”类型的类结构体给工件程序操作队列,发送包含“SYN,”、“WIT,”、 “WIF,”、“SET,”或“CLR,”类型的类结构体给工件程序命令队列;所述类结构体中包含有一个标识与被封装的指令语句的类型相对应;

通过任务控制器模块从工件程序操作队列和工件程序命令队列中按顺序读取类结构体,并通过识别类结构体中的标识判断出指令语句类型,如果指令语句类型为大写或小写的“LAD,”或“EXE,”,则判断被指定的通道是否处于自动加工模式,如果是则执行该指令,如果不是则触发报警;如果指令语句类型是大写或小写的“SYN,”,则将包含指令语句的类结构体发送给运动控制器模块;如果指令语句类型是大写或小写的“WIT,”,则判断指定的X信号的状态值,如果指定的X信号状态值为1,则命令解释器继续解析执行下面的程序,否则继续命令解释器处于等待暂停状态;如果指令语句类型是大写或小写的“WIF,”,则判断指定的X信号的状态值,如果指定的X信号的状态值为0,则命令解释器继续解析执行下面的程序,否则继续命令解释器处于等待暂停状态;如果指令语句类型是大写或小写的“SET,”,则将指定的Y信号状态值赋值为1;如果指令语句类型是大写或小写的“CLR,”,则将指定的Y信号状态值赋值为0;

运动控制器模块读取包含指令语句的类结构体,将先执行到“SYN,”指令的通道暂停,待被指定通道也执行到“SYN,”指令时,使两个通道同时开始执行各自“SYN,”指令后面的指令段。

本发明具有以下优点及有益效果:

1.加工范围广:能够提升多通道式数控系统的使用范围,完成传统的多通道式数控系统所不能完成的任务,满足加工时通道间的时间上和工序上的关联性需求。

2.加工效率高:在事先编辑好加工的工件程序后,可以通过主程序的执行,自动将一些串行的工序并行化,并能自动实现特定工序的同步加工,减少加工所需要的总时间。

3.加工精度高:可以在不更换夹具的前提下,多组刀具使用相同的坐标系设 定来对同一个工件进行不同工序的加工,不需要挪动工件和测量多组坐标系,减小测量误差。

4.成本投资少:通过实现加工程序执行进度的自动控制,以及各通道间的指令交互和时间同步通讯,减少了人工的操作量,减少了加工的人力成本。

附图说明

图1为LAD指令执行过程流程图;

图2为EXE指令执行过程流程图;

图3为SYN指令执行过程流程图;

图4为WIT指令执行过程流程图;

图5为WIF指令执行过程流程图;

图6为SET指令执行过程流程图;

图7为CLR指令执行过程流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

一种多通道式数控系统加工进度指令控制系统及方法,以下从各个类型的指令分别详细说明具体流程。

为了实现一个通道命令另一个通道打开某指定工件程序,设计LAD工件程序指令,指令格式为(LAD,N,X.prg),如指令成功执行则会在第N个通道内打开工件程序X.prg。该指令的具体解析和执行过程如图1所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“lad,”或“LAD,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为大于0且小于最大通道数(8)的整数,若是则记录该数为被指定通道号(N)并继续执行步骤4,否则将触发指令语法错误报警。

步骤4、继续读取下一字符,判断其是否为参数分割符“,”,若是则执行步骤5,否则将触发系统报警(LAD指令格式错误)。

步骤5、继续读取剩下的所有字符,将剩余的所有字符组合保存作为指定的程序名(X.prg),并执行步骤6。

步骤6、解释器将LAD指令发送给规范加工模块,由规范加工模块将该指令插入到所有通道公共读写的工件程序操作队列,指令参数包括被指定通道号及指定的程序名。

步骤7、任务控制器模块判断被指定的通道是否处于自动加工模式,如果是则指定该通道打开指定工件程序,如果不是则触发报警(指定的通道不处于自动加工模式,无法执行LAD指令)。

为了实现一个通道命令另一个通道执行其打开的工件程序,设计EXE工件程序指令,指令格式为(EXE,N),如指令成功执行则会令第N个通道执行当前打开的工件程序。该指令的具体解析和执行过程如图2所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“exe,”或“EXE,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为大于0且小于最大通道数(8)的整数,若是则记录该数为被指定通道号(N)并继续执行步骤4,否则将触发指令语法错误报警。

步骤4、判断是否已读取完全部字符,若是则执行步骤5,否则将触发系统报警(EXE指令格式错误)。

步骤5、解释器将EXE指令发送给规范加工模块,由规范加工模块将该指令插入到所有通道公共读写的工件程序操作队列,指令参数包括被指定通道号。

步骤6、任务控制器模块判断被指定的通道是否处于自动加工模式并且已经打开某个工件程序,如果是则指定该通道执行已打开的工件程序,如果不是则触发报警(指定的通道不处于自动加工模式或没有打开程序,无法执行EXE指令)。

为了实现几个通道在加工过程中在某个时间点进行同步,然后同时继续向下执行的功能,设计SYN工件程序指令,指令格式为(SYN,N),例如本通道的序号为M,则如在本通道成功执行该指令会使本通道暂时处于执行暂停状态,需等到被指定的通道(N)同样执行到(SYN,M)时本通道才继续执行,因此该指令可以实现两个通道同时执行各自SYN指令后的命令。该指令的具体解析和执行过程如图3所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“syn,”或“SYN,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为大于0且小于最大通道数(8)的整数,若是则记录该数为被指定通道号(N)并继续执行步骤4,否则将触发指令语法错误报警。

步骤4、判断是否已读取完全部字符,若是则执行步骤5,否则将触发系统报警(SYN指令格式错误)。

步骤5、解释器将SYN指令发送给规范加工模块,由规范加工模块将该指令插入到该通道的工件程序命令队列,指令参数包括被指定通道号。

步骤6、任务控制器模块从工件程序命令队列中读取命令,并发送给运动控制器模块,运动控制器会将先执行到SYN指令的通道暂停,待被指定通道也执行到SYN指令时,使两个通道同时开始执行各自SYN指令后面的指令段。

为了实现对PLC信号中X信号的读取判断指令,进而判断程序是否满足继续向下执行的条件,设计WIT工件程序指令,指令格式为(WIT,X_),(WIT,X_)的功能是判断指定的X信号状态值是否为1,如果是1则继续执行,否则将暂停等待,直到该X信号状态值变为1为止。其中X为取值范围为[0.0-16.7]。该指令的具体解析和执行过程如图4所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“wit,”或“WIT,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为‘X’或‘x’,若是则继续执行步骤4,否则将触发指令语法错误报警。

步骤4、继续读取下一个浮点数,判断该浮点数是否在[0.0-16.7]的范围内,若是则执行步骤5,否则会触发语法错误报警。

步骤5、判断是否已读取完全部字符,若是则执行步骤6,否则将触发系统报警(WIT指令格式错误)。

步骤6、解释器将WIT指令发送给规范加工模块,由规范加工模块将该指令插入到该通道的工件程序命令队列,并将解释器模块切换至等待状态。

步骤7、任务控制器模块从工件程序命令队列中读取命令,并判断指定的X信号状态值,如果指定的X信号状态值为1,则命令解释器模块继续解析执行下面的程序,否则将继续命令解释器模块处于等待暂停状态。

为了实现对PLC信号中X信号的读取判断指令,进而判断程序是否满足继续向下执行的条件,设计WIF工件程序指令,指令格式为(WIF,X_),(WIF,X_)的功能是判断指定的X信号状态值是否为0,如果是0则继续执行,否则将暂 停等待,直到该X信号状态值变为0为止。其中X为取值范围为[0.0-16.7]。该指令的具体解析和执行过程如图5所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“wif,”或“WIF,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为‘X’或‘x’,若是则继续执行步骤4,否则将触发指令语法错误报警。

步骤4、继续读取下一个浮点数,判断该浮点数是否在[0.0-16.7]的范围内,若是则执行步骤5,否则会触发语法错误报警。

步骤5、判断是否已读取完全部字符,若是则执行步骤6,否则将触发系统报警(WIF指令格式错误)。

步骤6、解释器将WIF指令发送给规范加工模块,由规范加工模块将该指令插入到该通道的工件程序命令队列,并将解释器模块切换至等待状态。

步骤7、任务控制器模块从工件程序命令队列中读取命令,并判断指定的X信号状态值,如果指定的X信号状态值的值为0,则命令解释器模块继续解析执行下面的程序,否则将继续命令解释器模块处于等待暂停状态。

为了实现对PLC信号中Y信号的赋值操作,进而控制外部电气信号的开关状态,设计SET工件程序指令,指令格式为(SET,Y_),(SET,Y_)的功能是将指定的Y信号状态值赋值为1。其中Y为取值范围为[0.0-9.7]。该指令的具体解析和执行过程如图6所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“set,”或“SET,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为‘Y’或‘y’,若是则继续执行步骤4,否则将触发指令语法错误报警。

步骤4、继续读取下一个浮点数,判断该浮点数是否在[0.0-9.7]的范围内,若是则执行步骤5,否则会触发语法错误报警。

步骤5、判断是否已读取完全部字符,若是则执行步骤6,否则将触发系统报警(SET指令格式错误)。

步骤6、解释器将SET指令发送给规范加工模块,由规范加工模块将该指令插入到该通道的工件程序命令队列。

步骤7、任务控制器模块从工件程序命令队列中读取命令,并将指定的Y信号状态值赋值为1。

为了实现对PLC信号中Y信号的赋值操作,进而控制外部电气信号的开关状态,设计CLR工件程序指令,指令格式为(CLR,Y_),(CLR,Y_)的功能是将制定的Y信号状态值赋值为0。其中Y为取值范围为[0.0-9.7]。该指令的具体解析和执行过程如图7所示。

步骤1、读取一行语句,若首个字符为“(”,则检测尾字符是否为“)”,若是则执行步骤2,否则将触发指令语法错误报警。

步骤2、继续读取“()”内部的字符,判断前四个字符是否为“clr,”或“CLR,”,若是则执行步骤3,否则本行指令将被当做注释进行处理。

步骤3、继续读取下一字符,判断其是否为‘Y’或‘y’,若是则继续执行步骤4,否则将触发指令语法错误报警。

步骤4、继续读取下一个浮点数,判断该浮点数是否在[0.0-9.7]的范围内,若是则执行步骤5,否则会触发语法错误报警。

步骤5、判断是否已读取完全部字符,若是则执行步骤6,否则将触发系统报警(SET指令格式错误)。

步骤6、解释器将SET指令发送给规范加工模块,由规范加工模块将该指令插入到该通道的工件程序命令队列。

步骤7、任务控制器模块从工件程序命令队列中读取命令,并将指定的Y信号状态值赋值为0。

为了测试本发明的实际运行效果及性能,在SSB-III(Synchronous-Serial-Bus,同步串行总线)多通道式数控系统上应用本发明并实际带动伺服电机运行。系统配置两个通道,经测试以上指令按正确格式编辑均可执行,执行结果快速并准确,达到预期的功能效果,如按不合理的格式编写,或外部不满足执行条件,则会给出合适的报警或提示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1