CN107526334A - 数值控制装置以及变量判定方法 - Google Patents
数值控制装置以及变量判定方法 Download PDFInfo
- Publication number
- CN107526334A CN107526334A CN201710452106.9A CN201710452106A CN107526334A CN 107526334 A CN107526334 A CN 107526334A CN 201710452106 A CN201710452106 A CN 201710452106A CN 107526334 A CN107526334 A CN 107526334A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- variable
- reading
- particular variables
- procedure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4093—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
- G05B19/40937—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32161—Object oriented control, programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35386—Look ahead processing of plural block data from buffer
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Geometry (AREA)
- Numerical Control (AREA)
Abstract
本发明涉及一种数值控制装置以及变量判定方法。数值控制装置(10)具备:访问部(14a),其在预读加工程序(12)时访问加工程序(12)中包含的变量;预读判断部(20),其判断访问部(14a)进行了访问的变量是否是在加工程序(12)的预读过程中访问的变量;特定变量判定部(24),其判定通过预读判断部(20)判断为在预读过程中进行了访问的变量是否是特定变量;以及输出部(26),其在由特定变量判定部(24)判定为在预读过程中进行了访问的变量是特定的变量时,输出在预读过程中进行了访问的特定变量的编号以及在预读过程中访问特定变量的时刻中的至少一方。
Description
技术领域
本发明涉及具有加工程序的预读停止功能的控制装置以及用于该数值控制装置的变量判定方法。
背景技术
在数值控制装置中,并行地执行对每个程序块读出并分析加工程序(NC程序),将其分析结果(执行数据)存储在预读缓冲器中的预读处理以及执行在预读缓冲器中保存的分析结果(执行数据)的执行处理。
因此,在预读处理的定时和执行处理的定时之间会产生时滞,从而会有实施了错误的加工的情况。将针对图8所示的加工程序,在针对每个程序块进行了预读处理后进行执行处理的情况作为例子,以下简单地说明由于时滞而产生的问题。另外,图8所示的加工程序由N10、N20、N30、N40、……多个程序块构成。
如图9所示,这些多个程序块按照N10→N20→N30→N40→……等顺序依次实施预读处理以及执行处理。N40的程序块具有用于取得X轴坐标值的变量(变量编号“#5041”),取得执行N20的程序块后的X轴坐标值来使X轴移动。如图9所示,由于时滞,在进行程序块N40的预读处理(分析等)时N20程序块正在执行,因此取得N20的程序块执行过程中的X轴坐标值,从而实施错误的加工。
为了解决这样的问题,特许第4271248号公报公开了具有预读停止功能的数值控制装置。简单地进行说明,在具有在预读过程中不能访问的变量的程序块之前插入具有停止预读处理的代码的程序块,在检测出该代码时暂时停止程序块的预读处理,并在前一个程序块的执行结束时重新开始预读处理。
但是,在上述特许第4271248公报中,程序的生成者或设计者必须指定需要停止预读的所有变量,并且输入用于停止预读的代码。因此,会有设计者等进行的用于停止预读的变量指定或用于停止预读的代码输入中发生错误的情况。即使变量指定或代码输入中产生错误也难以发现该错误。
发明内容
因此,本发明的目的在于,提供一种数值控制装置以及变量判定方法,即使在设计者等进行的用于停止预读的变量指定或用于停止预读的代码输入中发生了错误的情况下,也能够发现该错误。
本发明的第一方式为一种预读并分析加工程序的数值控制装置,其具备:访问部,其在分析上述加工程序时访问上述加工程序中包含的变量;预读判断部,其判断上述访问部进行了访问的上述变量是否是在上述加工程序的预读过程中访问的变量;特定变量判定部,其判定由上述预读判断部判断为在预读过程中访问的上述变量是否是特定变量;以及输出部,其在由上述特定变量判定部判定为在预读过程中进行了访问的上述变量是上述特定变量时,输出在预读过程中进行了访问的上述特定变量的编号以及在预读过程中访问上述特定变量的时刻中的至少一方。
本发明的第一方式为上述数值控制装置,可以使上述数值控制装置在按照顺序预读并分析了构成上述加工程序的多个程序块后,执行上述程序块,上述访问部在分析上述程序块时访问上述程序块中包含的上述变量。
第一本发明为上述数值控制装置,可以在具有还没有执行的已预读的上述程序块的情况下上述访问部访问了上述变量时,上述预读判断部判断为上述变量是在上述加工程序的预读过程中访问的变量。
本发明的第一方式为上述数值控制装置,可以使上述特定变量是在还没有执行的已预读的上述程序块的数量为0时上述访问部进行了访问的上述变量。
本发明的第一方式为上述数值控制装置,可以使上述特定变量为预先决定的上述变量。
本发明的第一方式为上述数值控制装置,可以具备访问信息存储处理部,该访问信息存储处理部至少将上述访问部进行了访问的上述变量的编号、访问上述变量的时刻以及上述预读判断部的判断结果作为访问信息进行存储,上述特定变量判定部根据上述访问信息判定在预读过程中进行了访问的上述变量是否是上述特定变量。
本发明的第一方式为上述数值控制装置,可以使上述输出部将在预读过程中进行了访问的上述特定变量的编号以及在预读过程中访问上述特定变量的时刻中的至少一方输出给显示部或外部装置。
本发明的第二方式为一种数值控制装置,其在预读并分析了加工程序后执行上述加工程序从而进行自动运转,并且与上述自动运转并行地执行预定程序来进行上述自动运转以外的预定处理,上述加工程序和上述预定程序包含同一变量,上述数值控制装置具备:第一访问部,其在分析上述加工程序时访问上述加工程序中包含的上述变量;第二访问部,其在执行上述预定程序时访问上述预定程序中包含的上述变量;特定变量判定部,其在上述第一访问部以及上述第二访问部在预定时间以内访问了上述同一变量时,将在上述预定时间以内访问的上述变量判定为特定变量;以及输出部,其输出由上述特定变量判定部判定为是上述特定变量的上述变量的编号和上述第一访问部以及上述第二访问部访问被判定为是上述特定变量的上述变量的时刻中的至少一方。
本发明的第二方式为上述数值控制装置,可以具备访问信息存储处理部,其至少将上述第一访问部进行了访问的上述变量的编号、上述第一访问部访问上述变量的时刻以及上述第一访问部的信息、上述第二访问部进行了访问的上述变量的编号、上述第二访问部访问上述变量的时刻以及上述第二访问部的信息作为访问信息进行存储,上述特定变量判定部根据上述访问信息判定上述变量是否是上述特定变量。
本发明的第二方式为上述数值控制装置,可以使上述输出部将被判定为是上述特定变量的上述变量的编号、上述第一访问部以及上述第二访问部访问被判定为是上述特定变量的上述变量的时刻中的至少一方输出给显示部或外部装置。
本发明的第三方式为一种变量判定方法,其用于预读并分析加工程序的数值控制装置,其包含:访问步骤,其在分析上述加工程序时访问上述加工程序中包含的变量;预读判断步骤,其判断进行了访问的上述变量是否是在上述加工程序的预读过程中访问的变量;特定变量判定步骤,其判定被判断为在预读过程中访问的上述变量是否是特定变量;以及输出步骤,其在判定为在预读过程中进行了访问的上述变量是上述特定变量时,输出在预读过程中进行了访问的上述特定变量的编号以及在预读过程中访问上述特定变量的时刻中的至少一方。
本发明的第四方式为一种变量判定方法,其用于数值控制装置,该数值控制装置在预读并分析了加工程序后执行上述加工程序从而进行自动运转,并且与上述自动运转并行地执行预定程序来进行上述自动运转以外的预定处理,上述加工程序和上述预定程序包含同一变量,上述变量判定方法包含:第一访问步骤,其在分析上述加工程序时访问上述加工程序中包含的上述变量;第二访问步骤,其在执行上述预定程序时访问上述预定程序中包含的上述变量;特定变量判定步骤,其在上述第一访问步骤以及上述第二访问步骤在预定时间以内访问了上述同一变量时,将在上述预定时间以内访问的上述变量判定为特定变量;以及输出步骤,其输出被判定为是上述特定变量的上述变量的编号和上述第一访问步骤以及上述第二访问步骤访问被判定为是上述特定变量的上述变量的时刻中的至少一方。
通过本发明,即使在设计者等进行的用于停止预读的变量指定或用于停止预读的代码输入中发生了错误的情况下,也能够简单地发现该错误。
通过参照附图来说明以下实施方式,能够容易地理解上述目的、特征以及优点。
附图说明
图1表示第一实施方式的加工程序一例。
图2表示图1所示的加工程序的分析处理和执行处理的时间图。
图3是表示第一实施方式的数值控制装置结构的功能框图。
图4表示通过图3所示的访问信息存储处理部按照时间序列存储的访问信息的一例。
图5是表示第二实施方式的数值控制装置结构的功能框图。
图6是表示图5所示的第一访问部以及第二访问部的变量访问定时的时间图。
图7表示通过图5所示的访问信息存储处理部按照时间序列存储的访问信息的一例。
图8表示为了说明现有技术而使用的加工程序。
图9是表示图8所示的加工程序的分析处理和执行处理的定时的时间图。
具体实施方式
举出优选的实施方式,一边参照附图一边详细说明本发明的数值控制装置以及变量判定方法。
[第一实施方式]
最初,说明控制机床的数值控制装置10进行的加工程序的分析和加工程序的执行。图1表示加工程序一例,图2表示图1所示的加工程序的分析处理和执行处理的时间图。通过图3所示的数值控制装置10执行该分析和执行。
图1所示的加工程序由……、N10、N20、N30、……、N70、N80、……、多个程序块构成。N10的程序块、N40的程序块、N80的程序块具有变量编号为“#100”的变量,N60的程序块具有变量编号为“#10000”的变量。该N60的程序块具有在预读过程中不能访问的变量(变量编号为“#10000”),所以在N60的程序块之前设置了包含用于抑制(停止)预读的代码的N50的程序块。该变量编号为“#10000”的变量是根据被访问时的机床状态该变量的值发生改变的变量。即,变量编号“#10000”的变量在被访问时该变量的值被改写。
从开头(最上边)的程序块开始依次进行程序块的分析。通过该程序块的分析生成执行数据,根据该执行数据执行处理。在本说明中,有时将根据通过程序块分析而得到的执行数据来执行处理的情况称为程序块的执行。例如,称为“执行程序块N10”或“程序块N10的执行”的情况表示根据通过N10的程序块的分析而得到的执行数据来执行处理的情况。
另外,图1所示的N10~N50、N70以及N80的程序块是NC语句,因此通过程序块的分析来生成执行数据,根据该执行数据执行处理。但是,关于NC语句以外的程序块(N60的程序块)仅进行预读以及分析而不执行,也不生成执行数据。NC语句的程序块是指轴移动指令或辅助功能等对于成为数值控制装置10的控制对象的机床的动作直接产生影响的程序块。因此,不是NC语句的程序块为变量的代入参照或程序的条件分歧等对于机床动作不直接产生影响的程序块。
如果开头(最上边)的程序块的分析结束,则从开头的程序块开始按顺序开始执行。作为原则,程序块的分析先于程序块的执行通过预读来依次执行。即,与执行程序块相比,程序块的分析的处理时间短,因此在执行程序块之前先进行程序块的分析(预读)。因此,如图2所示,在分析N40、N50的程序块时,仍然正在执行N20的程序块。
这里,如图1所示,在N40的程序块和N60的程序块之间设置了N50的程序块,该N50的程序块包含用于抑制(停止)预读的代码,所以当N50的程序块的通过预读进行的分析结束时停止预读。而且,当N50的程序块的执行结束时,重新开始N60的程序块及其之后的程序块的分析。即,在N50的程序块的通过预读进行的分析结束后直到N50程序块的执行结束的期间,通过N50的程序块停止程序块的分析。
在由于程序生成者或设计者等(以下简称为设计者)的输入错误而忘记在具有在预读中不能访问的变量的程序块之前输入包含用于抑制预读的代码的程序块时,无法通过自动运转恰当地进行加工。因此,在第一实施方式中,即使在设计者忘记在具有在预读中不能访问的变量的程序块之前输入包含用于抑制预读的代码的程序块的情况下,也会发现该输入错误。
图3是表示第一实施方式的数值控制装置10的结构的功能框图。数值控制装置10通过具有CPU以及存储器等的计算机而构成,通过CPU执行在存储器中存储的程序,计算机作为第一实施方式的数值控制装置10而发挥功能。数值控制装置10具备加工程序12、分析部14、预读缓冲器16、执行部18、预读判断部20、访问信息存储处理部22、特定变量判定部24、输出部26以及显示部28。另外,外部装置30能够通过有线或无线与输出部26通信。
将加工程序12存储在构成数值控制装置10的硬件的上述存储器等存储介质中。加工程序12是用于通过自动运转对加工对象物进行加工的程序,与图1所示的内容相同。
分析部14在执行加工程序12之前分析加工程序12。分析部14在构成加工程序12的多个程序块中从开头的程序块开始按顺序依次预读并进行分析。分析部14具有访问部14a,该访问部14a在程序块的分析时访问程序块中包含的变量。访问部14a在分析N10、N40、N80的程序块时访问变量编号为“#100”的变量,在分析N60的程序块时访问变量编号为“#10000”的变量(参照图1)。
分析部14当预读并分析了包含用于抑制(停止)预读的代码的N50的程序块时,直到N50的程序块的执行结束为止暂时停止下一个程序块(N60的程序块及其以后)的分析。通过程序块的分析,将作为源代码的程序块转换为计算机能够识别的对象代码来生成执行数据。分析部14在分析NC语句的程序块时,还使用访问部14a访问的变量来生成执行数据。另外,关于不是NC语句的程序块不生成执行数据。
分析部14将分析结果(执行数据)存储在预读缓冲器16中。分析部14从加工程序12的开头的程序块开始按顺序进行分析,所以从开头的程序块开始按顺序将该分析结果存储在预读缓冲器16中。
执行部18根据在预读缓冲器16中存储的程序块的执行数据来进行执行处理。由此,成为数值控制装置10的控制对象的机床进行工作。执行部18从预读缓冲器16删除执行处理已完成的程序块的执行数据。如此,在预读缓冲器16中仅存储还没有执行的被预读的程序块的执行数据。当在预读缓冲器16中存储了多个程序块的执行数据时,执行部18根据其中最开头的程序块的执行数据来进行执行处理。
当通过N50的程序块暂时停止了分析部14的预读时,在预读缓冲器16中存储的程序块的执行数据的数量(被预读的程序块的数量)随着时间的经过而慢慢减少,之后成为零(参照图2)。当预读缓冲器16中存储的程序块的执行数据成为0时,即还没有执行的被预读的程序块的数量成为0时,分析部14重新开始下一个程序块及其以后的程序块(N60的程序块及其以后的程序块)的分析。即,分析部14在预读并分析了N50的程序块时,直到N50的程序块的执行结束为止暂时停止下一个程序块及其以后的程序块(N60的程序块及其以后的程序块)的分析,关于N50的程序块的执行是否结束的判断,根据在预读缓冲器16中存储的预读的程序块的执行数据的数量(还没有执行的被预读的程序块的数量)是否成为0来进行判断。
预读判读部20判断访问部14a已访问的变量是否是在加工程序12的预读中访问的变量。具体地说,当在预读缓冲器16中存储的程序块的执行数据的数量(还没有执行的被预读的NC语句的程序块的数量)不是0即是1以上的情况下,预读判断部20判断为已访问的变量是在预读中被访问的变量。预读判断部20将该判断结果输出给访问信息存储处理部22。
另外,访问部14a在访问了变量的定时向预读判断部20输出进行了访问的主旨的消息,预读判断部20在取得了该信息的定时判断是否在预读过程中进行了访问。另外,访问部14a将所访问的变量的编号(变量编号)以及访问了变量的时刻输出给访问信息存储处理部22。另外,数值控制装置10具有对时刻进行计时的时钟电路。
访问信息存储处理部22将访问部14a所访问的变量的编号、访问的时刻以及预读判断部20的判断结果(是否是预读中的访问)对应起来作为访问信息存储在访问信息存储处理部22内的存储部(存储介质)22a中。访问信息存储处理部22在访问部14a每次访问变量时,按照时间序列将所访问的变量的编号、访问的时刻以及判断结果作为访问信息进行存储。
图4表示通过访问信息存储处理部22按照时间序列存储的访问信息的一例。如图4所示,将所访问的变量的编号(变量编号)、访问的时刻以及是否是预读中的访问对应起来作为访问信息进行了存储。在分析具有变量编号为“#100”的变量的N10、N40、N80的程序块时,在预读缓冲器16中存储了预读的程序块的执行数据(还没有执行的被预读的程序块的数量≠0)。因此,对于变量编号为“#100”的变量的访问是在预读中进行的,预读中的访问为“○”。另一方面,在分析具有变量编号为“#10000”的变量的N60的程序块时,通过N50的程序块暂时停止了预读,因此在预读缓冲器16中没有存储被预读的程序块的执行数据(还没有执行的被预读的程序块的数量=0)。因此,针对变量编号为“#10000”的变量的访问不是在预读时进行的,预读中的访问为“×”。
如此,作为原则,关于通过访问信息存储处理部22存储的访问信息,在变量编号为“#100”时预读中的访问为“○”,在变量编号为“#10000”时预读中的访问为“×”。但是,当设计者忘记在包含变量编号“#10000”的程序块之前输入包含用于抑制预读的代码的程序块时,即使是变量编号“#10000”时也将访问信息存储为预读中的访问为“○”。另外,当设计者错误地在包含变量编号“#100”的程序块之前输入了包含用于抑制预读的代码的程序块时,即使是变量编号“#100”也将访问信息存储为预读中的访问为“×”。
特定变量判定部24对于被判断为在预读中访问的变量是否为有可能在预读中不能访问的变量进行判定。特定变量判定部24根据由访问信息存储处理部22存储的访问信息来进行该判定。以下将有可能在预读中不能访问的变量称为特定的变量。特定变量判定部24将由访问信息存储处理部22按照时间序列存储的访问信息中的即使一次预读中的访问成为“×”的变量编码的变量决定为特定的变量。看图4可知,预读中的访问成为“×”的变量编号为“#10000”,所以变量编号为“#10000”的变量成为特定的变量。即,被决定为特定变量的变量是在还没有执行的被预读的程序块的数量为0时由访问部14a访问的变量。
当在图4所示的访问信息中存在变量编号为“#10000”且预读中的访问成为“○”的访问信息时,在预读中访问的变量中包含特定的变量。因此当在判断为在预读中访问的变量中包含变量编号为“#10000”的变量时,特定变量判定部24判定为预读中访问的变量编号为“#10000”的变量是特定的变量。特定变量判定部24将判定为是在预读中访问的特定变量的变量的变量编号“#10000”以及在预读中访问了特定变量的时刻中的至少一方输出给输出部26。
另外,虽然在预读中还正在访问变量编号为“#100”的变量,但是在图4所示的例子中,不将该变量编号为“#100”的变量判定为特定的变量。但是,由于包含用于抑制预读的代码的程序块的输入错误,在变量编号“#100”即使一次预读中的访问成为“×”的情况下,将变量编号为“#100”的变量判定为特定的变量。
输出部26将判断为是特定变量的变量的变量编号“#10000”以及在预读中访问了特定变量的时刻中的至少一方输出给显示部28或外部装置30。显示部28显示从输出部26发送来的信息。外部装置30可以是能够由设计者携带,具有显示器的便携式计算机(例如PDA等)。因此,外部装置30也能够显示从输出部26发送来的信息。
如此,第一实施方式的数值控制装置10预读并分析加工程序12。该数值控制装置10至少具备访问部14a、预读判断部20、特定变量判定部24以及输出部26。访问部14a在分析加工程序12时访问加工程序12中包含的变量。预读判断部20判断访问部14a所访问的变量是否是在加工程序12的预读中被访问的变量。特定变量判定部24判定通过预读判断部20判断为在预读中访问的变量是否是特定的变量(有可能在预读中不能访问的变量)。输出部26在通过特定变量判定部24判定为在预读中进行了访问的变量是特定的变量时,输出在预读中进行了访问的特定变量的编号以及在预读中访问了特定变量的时刻中的至少一方。由此,即使在设计者进行的用于停止预读的变量指定或用于停止预读的代码输入中产生了错误的情况下,也能够简单地发现该错误。
<第一实施方式的变形例>
在上述第一实施方式中,特定变量判定部24根据访问信息决定在预读中不能访问的变量即特定的变量,但是也可以使特定变量判定部24预先存储特定的变量。通常,预先决定了在预读中不进行访问的变量,所以通过由设计者操作数值控制装置10的未图示的输入操作部,可以使特定变量判定部24存储特定的变量。
[第二实施方式]
图5是表示第二实施方式的数值控制装置50的结构的功能框图。数值控制装置50也是由具有CPU以及存储器等的计算机而构成,通过CPU执行在存储器中存储的程序,计算机作为该第二实施方式的数值控制装置50发挥功能。数值控制装置50具备加工程序52、预定程序54、第一访问部56、第二访问部58、访问信息存储处理部60、特定变量判定部62、输出部64以及显示部66。另外,外部装置68能够通过有线或无线与输出部64进行通信。
将加工程序52以及预定的程序54存储在构成数值控制装置50的硬件的上述存储器等存储介质中。加工程序52是用于通过自动运转对加工对象物进行加工的程序。预定的程序54是用于进行自动运转以外的预定处理(应用)的程序。与自动运转并行地进行该预定处理(应用)。
如在上述第一实施方式中说明的那样,在分析加工程序52时第一访问部56访问在加工程序52中包含的变量。第一访问部56在分析程序块时访问进行分析的程序块中包含的变量。该第一访问部56具有与在上述第一实施方式中说明的访问部14a相同的功能。在执行预定的程序54时第二访问部58访问预定的程序54中包含的变量。在预定的程序54中包含与加工程序52中包含的多个变量(变量编号不同的多个变量)中的一个或2个以上的预定的变量编号的变量相同的变量。以下,为了易于理解地进行说明,将作为加工程序52以及预定程序54中包含的公共的变量(相同的变量)的,加工程序52中包含的变量称为第一变量,将预定的程序54中包含的变量称为第二变量。
该第一变量是根据第一访问部56进行了访问时的机床状的态对值进行改写的变量。当改写该第一变量时,还变更与第一变量对应的第二变量的值。另外,当通过第二访问部58访问第二变量时,读取此时的第二变量的值。将该读取的第二变量的值用于预定的处理。在本第二实施方式中,将第一变量的数量设为一个,所以第二变量的数量为一个,将其变量编号设为“#20000”。
第一访问部56将进行了访问的第一变量的编号(变量编号)、访问了第一变量的时刻以及第一访问部56的信息输出给访问信息存储处理部60。该第一访问部56的信息是指通过自动运转的处理进行的访问的含义的信息。第二访问部58将进行了访问的第二变量的编号(变量编号)、访问了第二变量的时刻以及第二访问部58的信息输出给访问信息存储处理部60。第二访问部58的信息是指通过预定的处理进行的访问的含义的信息。
访问信息存储处理部60将第一访问部56进行了访问的第一变量的编号、第一访问部56访问了第一变量的时刻以及第一访问部56的信息作为访问信息存储在访问信息存储处理部60内的存储部60a中。另外,访问信息存储处理部60还将第二访问部58进行了访问的第二变量的编号、第二访问部58访问了第二变量的时刻以及第二访问部58的信息作为访问信息存储在存储部(存储介质)60a中。访问信息存储处理部60在这些访问部(第一访问部56以及第二访问部58)每次访问公共的变量(第一变量以及第二变量)时,按照时间序列将进行了访问的第一变量的编号、第二变量的编号以及访问的时刻等作为访问信息进行存储。
图6是表示第一访问部56以及第二访问部58的第一变量以及第二变量的访问定时的时间图。第一访问部56在时刻“15:00:00.000”访问了变量编号为“#20000”的第一变量,之后在时刻“15:00:05.014”再次访问了变量编号为“#20000”的第一变量。在第一访问部56访问了变量编号为“#20000”的第一变量的定时(时刻“15:00:00.000”和时刻“15:00:05.014”)对第一变量的值进行了改写。
第二访问部58访问变量编号为“#20000”的第二变量。通过该访问读取变量编号为“#20000”的第二变量的值,将读取的值用于预定的处理。另外,在图6所示的例子中,第二访问部58通过比第一访问部56访问第一变量的间隔短的间隔访问第二变量,但是并不限于此。即,第二访问部58也可以通过比第一访问部56访问第一变量的间隔长的间隔访问第二变量。
图7表示在第一访问部56以及第二访问部58如图6所示访问了第一变量以及第二变量时,访问信息存储处理部60按照时间序列存储的访问信息。如图7所示,将进行了访问的第一变量以及第二变量的编号(变量编号)、访问的时刻以及访问了第一变量或第二变量的第一访问部56或第二访问部58的信息对应起来作为访问信息进行存储。另外,在本第二实施方式中,第一变量以及第二变量的数量是变量编号为“#20000”的一个变量,所以访问信息的变量编号全部为“#20000”。
特定变量判定部62判断第一访问部56以及第二访问部58是否在预定的时间ΔT(例如10msec)以内访问了第一变量以及第二变量。即,判断多个访问部(56、58)是否在预定的时间ΔT以内访问了同一变量(第一变量=第二变量)。特定变量判定部62在判断为在预定的时间ΔT以内访问了第一变量以及第二变量时,把在预定的时间ΔT以内访问的第一变量以及第二变量判断为特定的变量。另外,特定的变量是指可能在预读中不能访问的变量。
如图7所示,通过第二访问部58在时刻“15:00:05.010”访问了变量编号为“#20000”的第二变量,通过第一访问部56在时刻“15:00:05.014”访问了变量编号为“#20000”的第一变量。时刻“15:00:05.010”与时刻“15:00:05.014”之间的差在预定的时间ΔT(例如10msec)以内,所以特定变量判定部62将变量编号为“#20000”的第一变量以及第二变量判定为特定的变量。特定变量判定部62将判定为是特定变量的第一变量以及第二变量的变量编号“#20000”以及访问被判定为是特定变量的第一变量以及第二变量的时刻中的至少一方输出给输出部64。
输出部64将被判断为是特定变量的第一变量以及第二变量的变量编号“#20000”、访问被判定为是特定变量的第一变量以及第二变量的时刻中的至少一方输出给显示部66或外部装置68。显示部66显示从输出部64发送来的信息。外部装置68可以是设计者能够携带的具有显示器的便携式计算机(例如PDA等)。由此,外部装置68也能够显示从输出部64发送来的信息。另外,输出部64可以将访问了特定变量的第一访问部56的信息以及第二访问部58的信息输出给显示部66或外部装置68。
如此,第二实施方式的数值控制装置50通过在预读并分析了加工程序52之后执行加工程序52来进行自动运转,并且与上述自动运转并行地执行预定的程序54来进行自动运转以外的预定处理。该数值控制装置50具备第一访问部56、第二访问部58、特定变量评定部62以及输出部64。加工程序52和预定程序54包含同一变量。第一访问部56在分析加工程序52时访问加工程序52中包含的变量。第二访问部58在执行预定程序54时访问预定程序54中包含的变量。特定变量判定部62在第一访问部56以及第二访问部58在预定的时间ΔT以内访问了同一变量时,把在预定的时间ΔT以内访问的变量判断为特定的变量。输出部64输出通过特定变量判定部62判定为是特定变量的变量的编号、第一访问部56以及第二访问部58访问了被判定为是特定变量的变量的时刻中的至少一方。由此,即使在设计者等进行的用于停止预读的变量指定或用于停止预读的代码输入中发生了错误的情况下,也能够简单地发现该错误。
另外,在上述第二实施方式中,为了使说明变得简单,将与自动运转并行地进行的预定处理为一个的情况作为例子进行了说明,但是也能够用于与自动运转并行地执行相互不同的多个预定处理的情况。此时,设置与预定的处理的数量对应的数量的第二访问部58。
Claims (12)
1.一种数值控制装置,其预读并分析加工程序,其特征在于,具备:
访问部,其在分析上述加工程序时访问上述加工程序中包含的变量;
预读判断部,其判断上述访问部进行了访问的上述变量是否是在上述加工程序的预读过程中访问的变量;
特定变量判定部,其判定由上述预读判断部判断为在预读过程中访问的上述变量是否是特定变量;以及
输出部,其在由上述特定变量判定部判定为在预读过程中进行了访问的上述变量是上述特定变量时,输出在预读过程中进行了访问的上述特定变量的编号以及在预读过程中访问上述特定变量的时刻中的至少一方。
2.根据权利要求1所述的数值控制装置,其特征在于,
上述数值控制装置在按照顺序预读并分析了构成上述加工程序的多个程序块后,执行上述程序块,
上述访问部在分析上述程序块时访问上述程序块中包含的上述变量。
3.根据权利要求2所述的数值控制装置,其特征在于,
当在具有还没有执行的已预读的上述程序块的情况下上述访问部访问了上述变量时,上述预读判断部判断为上述变量是在上述加工程序的预读过程中访问的变量。
4.根据权利要求2或3所述的数值控制装置,其特征在于,
上述特定变量是在还没有执行的已预读的上述程序块的数量为0时上述访问部进行了访问的上述变量。
5.根据权利要求1~3中的任意一项所述的数值控制装置,其特征在于,
上述特定变量是预先决定的上述变量。
6.根据权利要求1~3中的任意一项所述的数值控制装置,其特征在于,
具备访问信息存储处理部,该访问信息存储处理部至少将上述访问部进行了访问的上述变量的编号、访问上述变量的时刻以及上述预读判断部的判断结果作为访问信息进行存储,
上述特定变量判定部根据上述访问信息判定在预读过程中进行了访问的上述变量是否是上述特定变量。
7.根据权利要求1~3中的任意一项所述的数值控制装置,其特征在于,
上述输出部将在预读过程中进行了访问的上述特定变量的编号以及在预读过程中访问上述特定变量的时刻中的至少一方输出给显示部或外部装置。
8.一种数值控制装置,其在预读并分析了加工程序后执行上述加工程序从而进行自动运转,并且与上述自动运转并行地执行预定程序来进行上述自动运转以外的预定处理,其特征在于,
上述加工程序和上述预定程序包含同一变量,
上述数值控制装置具备:
第一访问部,其在分析上述加工程序时访问上述加工程序中包含的上述变量;
第二访问部,其在执行上述预定程序时访问上述预定程序中包含的上述变量;
特定变量判定部,其在上述第一访问部以及上述第二访问部在预定时间以内访问了上述同一变量时,将在上述预定时间以内访问的上述变量判定为特定变量;以及
输出部,其输出由上述特定变量判定部判定为是上述特定变量的上述变量的编号和上述第一访问部以及上述第二访问部访问被判定为是上述特定变量的上述变量的时刻中的至少一方。
9.根据权利要求8所述的数值控制装置,其特征在于,
具备访问信息存储处理部,其至少将上述第一访问部进行了访问的上述变量的编号、上述第一访问部访问上述变量的时刻以及上述第一访问部的信息、上述第二访问部进行了访问的上述变量的编号、上述第二访问部访问上述变量的时刻以及上述第二访问部的信息作为访问信息进行存储,
上述特定变量判定部根据上述访问信息判定上述变量是否是上述特定变量。
10.根据权利要求8或9所述的数值控制装置,其特征在于,
上述输出部将被判定为是上述特定变量的上述变量的编号、上述第一访问部以及上述第二访问部访问被判定为是上述特定变量的上述变量的时刻中的至少一方输出给显示部或外部装置。
11.一种变量判定方法,其用于预读并分析加工程序的数值控制装置,其特征在于,包含:
访问步骤,其在分析上述加工程序时访问上述加工程序中包含的变量;
预读判断步骤,其判断进行了访问的上述变量是否是在上述加工程序的预读过程中访问的变量;
特定变量判定步骤,其判定被判断为在预读过程中访问的上述变量是否是特定变量;以及
输出步骤,其在判定为在预读过程中进行了访问的上述变量是上述特定变量时,输出在预读过程中进行了访问的上述特定变量的编号以及在预读过程中访问上述特定变量的时刻中的至少一方。
12.一种变量判定方法,其用于数值控制装置,该数值控制装置在预读并分析了加工程序后执行上述加工程序从而进行自动运转,并且与上述自动运转并行地执行预定程序来进行上述自动运转以外的预定处理,该变量判定方法的特征在于,
上述加工程序和上述预定程序包含同一变量,
上述变量判定方法包含:
第一访问步骤,其在分析上述加工程序时访问上述加工程序中包含的上述变量;
第二访问步骤,其在执行上述预定程序时访问上述预定程序中包含的上述变量;
特定变量判定步骤,其在上述第一访问步骤以及上述第二访问步骤在预定时间以内访问了上述同一变量时,将在上述预定时间以内访问的上述变量判定为特定变量;以及
输出步骤,其输出被判定为是上述特定变量的上述变量的编号和上述第一访问步骤以及上述第二访问步骤访问被判定为是上述特定变量的上述变量的时刻中的至少一方。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-118749 | 2016-06-15 | ||
JP2016118749A JP6407919B2 (ja) | 2016-06-15 | 2016-06-15 | 数値制御装置および変数判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107526334A true CN107526334A (zh) | 2017-12-29 |
CN107526334B CN107526334B (zh) | 2020-01-07 |
Family
ID=60480869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710452106.9A Active CN107526334B (zh) | 2016-06-15 | 2017-06-15 | 数值控制装置以及变量判定方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10416652B2 (zh) |
JP (1) | JP6407919B2 (zh) |
CN (1) | CN107526334B (zh) |
DE (1) | DE102017005608B4 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111123839A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制装置 |
CN112147953A (zh) * | 2019-06-28 | 2020-12-29 | 发那科株式会社 | 数值控制装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6838029B2 (ja) * | 2018-10-31 | 2021-03-03 | ファナック株式会社 | 数値制御装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242319A (ja) * | 1999-02-18 | 2000-09-08 | Toshiba Mach Co Ltd | 数値制御装置 |
JP2008040542A (ja) * | 2006-08-01 | 2008-02-21 | Fanuc Ltd | 数値制御装置 |
CN101206467A (zh) * | 2006-12-22 | 2008-06-25 | 南京理工大学 | 通用数控代码解析方法 |
US20110270424A1 (en) * | 2009-02-18 | 2011-11-03 | Mitsubishi Electric Corporation | Program analysis support device |
CN103077064A (zh) * | 2012-12-31 | 2013-05-01 | 北京配天大富精密机械有限公司 | 一种解析并执行程序语言方法及解释装置 |
CN104570921A (zh) * | 2013-10-16 | 2015-04-29 | 发那科株式会社 | 在程序调用中暂时停止的数值控制装置及其数值控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1062827B (it) * | 1976-03-29 | 1985-02-11 | Olivetti Controllo Numerico | Sistema di controllo numerico per macchine utensili |
US5491625A (en) * | 1993-12-23 | 1996-02-13 | The Dow Chemical Company | Information display system for actively redundant computerized process control |
JPH08278806A (ja) | 1995-04-06 | 1996-10-22 | Fanuc Ltd | Cncのマクロ変数デバッグ方式 |
JP2001236244A (ja) * | 2000-02-23 | 2001-08-31 | Mitsubishi Electric Corp | ロボットプログラムのデバッグシステム |
US7123974B1 (en) * | 2002-11-19 | 2006-10-17 | Rockwell Software Inc. | System and methodology providing audit recording and tracking in real time industrial controller environment |
JP2006293537A (ja) * | 2005-04-07 | 2006-10-26 | Fanuc Ltd | 数値制御装置 |
JP4271248B2 (ja) * | 2007-05-24 | 2009-06-03 | ファナック株式会社 | 先読み停止機能を有する数値制御装置 |
JP5657623B2 (ja) * | 2012-09-21 | 2015-01-21 | ファナック株式会社 | 系統間待合せ機能を有する数値制御装置 |
CN104956274B (zh) * | 2013-01-30 | 2016-11-09 | 三菱电机株式会社 | 数控装置 |
WO2015019504A1 (ja) * | 2013-08-09 | 2015-02-12 | 富士通株式会社 | 検証方法、検証装置および検証プログラム |
JP2015176370A (ja) * | 2014-03-14 | 2015-10-05 | オムロン株式会社 | 制御システム、方法、プログラムおよび情報処理装置 |
JP5875740B1 (ja) * | 2014-10-01 | 2016-03-02 | 三菱電機株式会社 | 数値制御装置 |
-
2016
- 2016-06-15 JP JP2016118749A patent/JP6407919B2/ja active Active
-
2017
- 2017-06-13 DE DE102017005608.0A patent/DE102017005608B4/de active Active
- 2017-06-14 US US15/622,296 patent/US10416652B2/en active Active
- 2017-06-15 CN CN201710452106.9A patent/CN107526334B/zh active Active
-
2019
- 2019-08-05 US US16/531,335 patent/US11137740B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242319A (ja) * | 1999-02-18 | 2000-09-08 | Toshiba Mach Co Ltd | 数値制御装置 |
JP2008040542A (ja) * | 2006-08-01 | 2008-02-21 | Fanuc Ltd | 数値制御装置 |
CN101206467A (zh) * | 2006-12-22 | 2008-06-25 | 南京理工大学 | 通用数控代码解析方法 |
US20110270424A1 (en) * | 2009-02-18 | 2011-11-03 | Mitsubishi Electric Corporation | Program analysis support device |
CN103077064A (zh) * | 2012-12-31 | 2013-05-01 | 北京配天大富精密机械有限公司 | 一种解析并执行程序语言方法及解释装置 |
CN104570921A (zh) * | 2013-10-16 | 2015-04-29 | 发那科株式会社 | 在程序调用中暂时停止的数值控制装置及其数值控制方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111123839A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制装置 |
CN111123839B (zh) * | 2018-10-31 | 2024-02-23 | 发那科株式会社 | 数值控制装置 |
CN112147953A (zh) * | 2019-06-28 | 2020-12-29 | 发那科株式会社 | 数值控制装置 |
CN112147953B (zh) * | 2019-06-28 | 2024-02-20 | 发那科株式会社 | 数值控制装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190354079A1 (en) | 2019-11-21 |
US20170364054A1 (en) | 2017-12-21 |
US11137740B2 (en) | 2021-10-05 |
JP6407919B2 (ja) | 2018-10-17 |
CN107526334B (zh) | 2020-01-07 |
DE102017005608B4 (de) | 2022-09-29 |
DE102017005608A1 (de) | 2017-12-21 |
US10416652B2 (en) | 2019-09-17 |
JP2017224137A (ja) | 2017-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526334A (zh) | 数值控制装置以及变量判定方法 | |
CN107451064A (zh) | 自动测试方法、装置、计算机设备和可读存储介质 | |
JP2016103193A (ja) | サイクルタイムに係るパラメータ設定支援機能を有する数値制御装置 | |
CN102929614A (zh) | 一种用于漏洞检测的可调对象程序特征提取方法 | |
US6988019B2 (en) | Machine tool control process and apparatus therefor | |
CN101937395A (zh) | 一种用于漏洞检测的检测对象程序特征提取方法 | |
US6058333A (en) | Animation of execution history | |
CN116954855A (zh) | 任务执行方法、装置、系统、电子设备和存储介质 | |
US6766510B2 (en) | Application program developing system, application program developing method, and recording medium in which application program developing program is stored | |
RU2724799C1 (ru) | Способ обработки информации для наполнения библиотеки моделей данных и устройство для его осуществления | |
JP4828996B2 (ja) | 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法 | |
CN105717866A (zh) | 数值控制装置 | |
JPS60105044A (ja) | マイクロプログラム制御方式 | |
US20060149942A1 (en) | Microcontroller and assigned method for processing the programming of the micro-con- troller | |
Nurilloevich | METHODOLOGY FOR TESTING THE SOFTPLC MODULE AS PART OF THE “AксиOMA Контрол” CNC SYSTEM | |
JP2005115969A (ja) | プログラマブルコントローラ | |
Al’Hapis et al. | A framework for a feature based machining using macro | |
Kiss et al. | TURNING AUTOCAD INTO CAM SOFTWARE. | |
JP2767817B2 (ja) | シーケンサの接点の模擬動作方法 | |
KR20130020137A (ko) | 실시간 함수 사용율 확인 시스템 및 그를 이용한 실시간 함수 사용율 확인 방법 | |
JPH04114207A (ja) | Nc加工機用加工データ作成方式 | |
JP2000250750A (ja) | 実行プログラム選択システム | |
JPS63280306A (ja) | 数値制御装置 | |
CN114924961A (zh) | 一种面向WebAssembly虚拟机的模糊测试方法 | |
CN102929774A (zh) | 一种基于可调对象分析的程序漏洞检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |