JP2021144284A - Machining program management device, management system, management method - Google Patents

Machining program management device, management system, management method Download PDF

Info

Publication number
JP2021144284A
JP2021144284A JP2020040714A JP2020040714A JP2021144284A JP 2021144284 A JP2021144284 A JP 2021144284A JP 2020040714 A JP2020040714 A JP 2020040714A JP 2020040714 A JP2020040714 A JP 2020040714A JP 2021144284 A JP2021144284 A JP 2021144284A
Authority
JP
Japan
Prior art keywords
modal
subprogram
machining program
program
information
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
Application number
JP2020040714A
Other languages
Japanese (ja)
Other versions
JP7448377B2 (en
Inventor
学 斉藤
Manabu Saito
学 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2020040714A priority Critical patent/JP7448377B2/en
Publication of JP2021144284A publication Critical patent/JP2021144284A/en
Application granted granted Critical
Publication of JP7448377B2 publication Critical patent/JP7448377B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

To improve reusability of a subprogram.SOLUTION: In a numerical control device on a program creator side, a modal state at a time when a subprogram is called and an execution history of the subprogram are memorized. In the numerical control device on the user side, it is determined whether or not a subprogram call command exists, and it is determined whether or not the called subprogram can be executed based on the execution history created by the numerical control device on the program creator side, if a subprogram call command exists.SELECTED DRAWING: Figure 3

Description

本発明は、工作機械の加工プログラムの管理装置、管理システム、管理方法に関する。 The present invention relates to a management device, a management system, and a management method for a machine tool machining program.

従来から、加工プログラムに基づいて工作機械を制御する数値制御装置が知られている。数値制御装置は、加工プログラムを解析して、加工プログラムに従い工作機械を制御する。加工プログラムのコードには、「ワンショット」と「モーダル」がある。「ワンショット」は指令されたブロックだけに有効なコードであり、「モーダル」は一度指定されたモードがその後のブロックでも有効になるコードである。同一グループの他のモードが指令されるまで、「モーダル」は変化しない。 Conventionally, a numerical control device that controls a machine tool based on a machining program has been known. The numerical control device analyzes the machining program and controls the machine tool according to the machining program. There are "one shot" and "modal" in the code of the processing program. "One shot" is a code that is valid only for the commanded block, and "modal" is a code that the mode once specified is valid for subsequent blocks. The "modal" does not change until another mode in the same group is commanded.

例えば、「送り」に関するコードのグループには、G0(位置決め:早送り)、G1(直線補間:切削送り)、G2(円弧補間:時計周り)、G3(円弧補間:反時計回り)のモーダルが各々設定されている。グループのモードは通常、初期設定されているが、コードでモーダルを指定すると、新たなモーダルに変化し、次のモーダルが指定されるまで同じモードが継続する。 For example, the group of codes related to "feed" includes modals of G0 (positioning: fast forward), G1 (linear interpolation: cutting feed), G2 (arc interpolation: clockwise), and G3 (arc interpolation: counterclockwise). It is set. The mode of the group is usually set by default, but if you specify a modal in the code, it changes to a new modal and the same mode continues until the next modal is specified.

図17に示すように、プログラムは、通常、メインプログラムからサブプログラムへの入れ子状態になっている。プログラム呼び出しの際、数値制御装置では、サブプログラムを呼び出す時点でのモーダルでサブプログラムを解析する。過去のモーダルが継続している場合、工作機械が想定と異なる動作を行うことがある。 As shown in FIG. 17, the program is usually nested from the main program to the subprogram. When calling a program, the numerical control device analyzes the subprogram modally at the time of calling the subprogram. If past modals continue, the machine tool may behave differently than expected.

サブプログラムの意図しない動作を防止するため、加工プログラムにモーダル情報を付加したファイルを作成し、モーダルとサブプログラムをまとめて管理する技術が存在する。例えば、特許文献1参照。 In order to prevent unintended operation of subprograms, there is a technique for creating a file in which modal information is added to a machining program and managing the modal and subprograms together. For example, see Patent Document 1.

また、モーダル情報を設定するための特殊なGコードを作成し、このGコードを用いて、プログラム中でモーダル情報を更新する技術も存在する。例えば、特許文献2参照。 There is also a technique for creating a special G code for setting modal information and updating the modal information in a program using this G code. See, for example, Patent Document 2.

特開2007−226446号公報JP-A-2007-226446 特許第4494303号公報Japanese Patent No. 4494303

特許文献1の技術では、サブプログラムとモーダル情報とを1つのファイルにまとめているため、加工プログラムとモーダル情報の不一致は生じない。しかし、モーダル情報を作成するためには高度な知識が必要であり、漏れが生じるおそれがある。特許文献2の技術も、予めモーダル情報を設定する必要があり、高度な知識が必要であり、漏れが生じるおそれがある。 In the technique of Patent Document 1, since the subprogram and the modal information are put together in one file, there is no discrepancy between the machining program and the modal information. However, advanced knowledge is required to create modal information, and there is a risk of omissions. The technique of Patent Document 2 also requires modal information to be set in advance, requires advanced knowledge, and may cause omission.

また、特許文献1及び特許文献2の技術では、モーダル情報とサブプログラムとを固定しているため、サブプログラムの再利用が難しい。 Further, in the techniques of Patent Document 1 and Patent Document 2, since the modal information and the subprogram are fixed, it is difficult to reuse the subprogram.

工作機械の分野では、サブプログラムの再利用性を向上させる技術が望まれている。 In the field of machine tools, a technique for improving the reusability of subprograms is desired.

本開示の一態様は、工作機械の加工プログラムの管理装置であって、加工プログラムに呼出指令が記載されているか否かを決定する呼出決定部と、加工プログラムを実行する加工プログラム実行部と、呼出指令により呼び出されるサブプログラムの識別情報と、サブプログラムを呼び出す時点でのモーダル状態と、加工プログラム実行部によるサブプログラムの実行履歴とを記憶するモーダル記憶部と、を備える。 One aspect of the present disclosure is a machining program management device for a machine tool, which includes a call determination unit that determines whether or not a call command is described in the machining program, a machining program execution unit that executes the machining program, and a machining program execution unit that executes the machining program. It includes a modal storage unit that stores the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram by the machining program execution unit.

本開示の他の態様は、工作機械の加工プログラムの管理を行う数値制御装置であって、加工プログラムに呼出指令が記載されているか否かを決定する呼出決定部と、加工プログラムを実行する加工プログラム実行部と、呼出指令により呼び出されたサブプログラムの識別情報と、サブプログラムを呼び出す時点でのモーダル状態と、サブプログラムの実行履歴とを記憶する実行履歴記憶部と、実行履歴を基に、サブプログラムが呼び出される時点のモーダル状態で、サブプログラムが実行可能か否かを判定するモーダル判定部と、を備える。 Another aspect of the present disclosure is a numerical control device that manages a machining program of a machine tool, that is, a call determination unit that determines whether or not a call command is described in the machining program, and a machining that executes the machining program. Based on the program execution unit, the execution history storage unit that stores the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram, and the execution history. It includes a modal determination unit that determines whether or not the subprogram can be executed in the modal state at the time when the subprogram is called.

本開示の他の態様は、工作機械の加工プログラム管理システムであって、加工プログラムに呼出指令が記載されているか否かを決定する呼出決定部と、加工プログラムを実行する加工プログラム実行部と、呼出指令により呼び出されるサブプログラムの識別情報と、サブプログラムを呼び出す時点でのモーダル状態と、加工プログラム実行部によるサブプログラムの実行履歴とを記憶するモーダル記憶部と、実行履歴を基に、サブプログラムが呼び出される時点のモーダル状態で、サブプログラムが実行可能か否かを判定するモーダル判定部と、を備える。 Another aspect of the present disclosure is a machining program management system for a machine tool, in which a call determination unit for determining whether or not a call command is described in the machining program, a machining program execution unit for executing the machining program, and a machining program execution unit for executing the machining program. Based on the modal storage unit that stores the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram by the machining program execution unit, and the execution history. It is provided with a modal determination unit that determines whether or not the subprogram can be executed in the modal state at the time when is called.

本開示の他の態様は、工作機械の加工プログラムを管理する管理方法であって、加工プログラムの動作テスト時には、加工プログラムに呼出指令が記載されているか否かを決定し、加工プログラムに呼び出されるサブプログラムを実行し、呼出指令により呼び出されるサブプログラムの識別情報と、サブプログラムを呼び出す時点でのモーダル状態と、サブプログラムの実行履歴とを記憶し、加工プログラムの通常動作時には、加工プログラムに呼出指令が記載されているか否かを決定し、呼出指令により呼び出されるサブプログラムの識別情報と、サブプログラムを呼び出す時点でのモーダル状態と、サブプログラムの実行履歴とを基に、前記サブプログラムが実行可能か否かを判定する。 Another aspect of the present disclosure is a management method for managing a machining program of a machine tool, and at the time of an operation test of the machining program, it is determined whether or not a call command is described in the machining program, and the machining program is called. The subprogram is executed, the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram are stored, and the machining program is called during the normal operation of the machining program. It is determined whether or not the command is described, and the subprogram is executed based on the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram. Determine if it is possible.

本発明の一態様によれば、サブプログラムの再利用性を向上させることができる。 According to one aspect of the present invention, the reusability of subprograms can be improved.

加工プログラム管理システムの構成を示す図である。It is a figure which shows the structure of the machining program management system. プログラム作成者側の数値制御装置のブロック図である。It is a block diagram of the numerical control device on the program creator side. プログラム利用者側の数値制御装置のブロック図である。It is a block diagram of the numerical control device on the program user side. プログラム作成者側のテスト結果記録処理を示すフローチャートである。It is a flowchart which shows the test result recording process on the program creator side. プログラム利用者側のモーダル判定処理を示すフローチャートである。It is a flowchart which shows the modal determination process on the program user side. 実際の加工プログラムを例として、モーダルの判定方法を説明する図である。It is a figure explaining the modal determination method by taking an actual processing program as an example. 第2の開示のプログラム作成者側の数値制御装置のブロック図である。It is a block diagram of the numerical control device on the side of the program creator of the second disclosure. 第2の開示のプログラム利用者側の数値制御装置のブロック図である。It is a block diagram of the numerical control device on the program user side of the second disclosure. 動作テスト時モーダル情報の作成と、モーダルの判定方法を説明する図である。It is a figure explaining the creation of modal information at the time of an operation test, and the method of determining a modal. モーダル判定部の判定結果を示す図である。It is a figure which shows the determination result of the modal determination part. モーダルグループを説明する図である。It is a figure explaining a modal group. 第3の開示における動作テストモーダル情報の記録処理を説明する図である。It is a figure explaining the recording process of the operation test modal information in the 3rd disclosure. 第4の開示の数値制御装置のブロック図である。It is a block diagram of the numerical control device of the 4th disclosure. 動作テストの切換画面の一例を示す図である。It is a figure which shows an example of the switching screen of the operation test. サブプログラムとテスト結果情報と動作テスト時モーダル情報とを外部のサーバで共有する例を示す図である。It is a figure which shows the example which the subprogram, the test result information, and the modal information at the time of an operation test are shared by an external server. 本開示における数値制御装置のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of the numerical control apparatus in this disclosure. プログラムの呼出関係を示す図である。It is a figure which shows the call relation of a program.

[第1の開示]
以下、本開示の加工プログラム管理システム1000の一例を示す。加工プログラム管理システム1000は、図1に示すように、プログラム作成者側の数値制御装置10と、プログラム利用者側の数値制御装置20から構成される。プログラム作成者側の数値制御装置10では、作成したサブプログラムの動作テストを行い、プログラム利用者側の数値制御装置20では、動作テスト済みのサブプログラムを利用する。
[First disclosure]
Hereinafter, an example of the processing program management system 1000 of the present disclosure will be shown. As shown in FIG. 1, the machining program management system 1000 includes a numerical control device 10 on the program creator side and a numerical control device 20 on the program user side. The numerical control device 10 on the program creator side tests the operation of the created subprogram, and the numerical control device 20 on the program user side uses the subprogram whose operation has been tested.

図2はプログラム作成者側の数値制御装置10のブロック図である。
プログラム作成者側の数値制御装置10は、加工プログラムを格納する加工プログラム格納部11と、加工プログラムを解析する加工プログラム解析部12と、加工プログラムにサブプログラムの呼び出しが存在するか否かを決定する呼出決定部13と、加工プログラムを実行する加工プログラム実行部14と、サブプログラム呼び出し時のモーダル情報とサブプログラムの実行結果を記憶するテスト結果記憶部15と、テスト結果の記録処理を行うモーダル記憶部16と、を備える。
FIG. 2 is a block diagram of the numerical control device 10 on the program creator side.
The numerical control device 10 on the program creator side determines whether or not there is a machining program storage unit 11 for storing the machining program, a machining program analysis unit 12 for analyzing the machining program, and a subprogram call in the machining program. Call decision unit 13 to execute, a machining program execution unit 14 to execute a machining program, a test result storage unit 15 to store modal information at the time of subprogram call and the execution result of the subprogram, and a modal to record the test result. A storage unit 16 is provided.

加工プログラム格納部11は、メインプログラムとサブプログラムを記憶する。メインプログラムには、サブプログラムの呼出指令が記述されている。また、サブプログラムに別のサブプログラムの呼出指令が記述されていることもある。 The machining program storage unit 11 stores the main program and the subprogram. The subprogram call command is described in the main program. In addition, a subprogram may contain a command to call another subprogram.

加工プログラム解析部12は、加工プログラム格納部11に格納されたメインプログラムやサブプログラムを順に解析する。呼出決定部13は、加工プログラム中の解析対象が呼出指令である場合にどのサブプログラムを呼出すかを決定し、呼出指令が存在する場合には、呼び出すサブプログラムの識別情報をモーダル記憶部16に通知する。 The machining program analysis unit 12 analyzes the main program and subprograms stored in the machining program storage unit 11 in order. The call determination unit 13 determines which subprogram to call when the analysis target in the machining program is a call command, and if a call command exists, the identification information of the subprogram to be called is stored in the modal storage unit 16. Notice.

加工プログラム実行部14は、加工プログラム解析部12の解析結果に基づき、工作機械72の動作を制御するための補間データを作成する。加工プログラム実行部14は、サーボ制御部71に接続されている。サーボ制御部71は、プログラム作成者側の数値制御装置10からの補間データに従い工作機械72を制御する。
加工プログラム実行部14は、サブプログラムの実行が完了すると、その旨をモーダル記憶部16に通知する。
本開示では、サブプログラムの実行が完了をもってサブプログラムが正常に動作すると判断する。なお、サブプログラムが正常に動作するか否かは、プログラム作成者が確認し、プログラム作成者側の数値制御装置10に入力してもよく、加工品の検査結果など他の方法で判定してもよい。
The machining program execution unit 14 creates interpolation data for controlling the operation of the machine tool 72 based on the analysis result of the machining program analysis unit 12. The machining program execution unit 14 is connected to the servo control unit 71. The servo control unit 71 controls the machine tool 72 according to the interpolation data from the numerical control device 10 on the program creator side.
When the execution of the subprogram is completed, the machining program execution unit 14 notifies the modal storage unit 16 to that effect.
In the present disclosure, it is determined that the subprogram operates normally when the execution of the subprogram is completed. Whether or not the subprogram operates normally may be confirmed by the program creator and input to the numerical control device 10 on the program creator side, and is determined by another method such as an inspection result of the processed product. May be good.

モーダル記憶部16は、サブプログラムの識別情報と、サブプログラムを呼出時点でのモーダル状態と、サブプログラムの実行結果とを、テスト結果記憶部15に記録する。 The modal storage unit 16 records the identification information of the subprogram, the modal state at the time of calling the subprogram, and the execution result of the subprogram in the test result storage unit 15.

図3はプログラム利用者側の数値制御装置20のブロック図である。
プログラム利用者側の数値制御装置20は、加工プログラムを格納する加工プログラム格納部21と、加工プログラムを解析する加工プログラム解析部22と、加工プログラム中にサブプログラムの呼出指令が存在する場合に、どのサブプログラムを呼び出すかを決定する呼出決定部23と、加工プログラムを実行する加工プログラム実行部24と、動作テストの結果を記憶するテスト結果記憶部25と、プログラム利用者側の数値制御装置20のモーダル状態でサブプログラムが正常に終了するか否かを判定するモーダル判定部26と、サブプログラムが正常に終了しないと判定した場合にはサブプログラムの実行を停止するサブプログラム実行停止部27とを備える。
FIG. 3 is a block diagram of the numerical control device 20 on the program user side.
The numerical control device 20 on the program user side has a machining program storage unit 21 for storing the machining program, a machining program analysis unit 22 for analyzing the machining program, and a subprogram call command in the machining program. A call determination unit 23 that determines which subprogram to be called, a machining program execution unit 24 that executes a machining program, a test result storage unit 25 that stores the results of an operation test, and a numerical control device 20 on the program user side. A modal determination unit 26 that determines whether or not the subprogram ends normally in the modal state of the above, and a subprogram execution stop unit 27 that stops the execution of the subprogram when it determines that the subprogram does not end normally. To be equipped.

加工プログラム格納部21は、メインプログラムとサブプログラムから構成される加工プログラムを記憶する。メインプログラムにはサブプログラムの呼出指令が記述されている。また、サブプログラムに別のサブプログラムの呼出指令が記述されていることもある。 The machining program storage unit 21 stores a machining program composed of a main program and a subprogram. The subprogram call command is described in the main program. In addition, a subprogram may contain a command to call another subprogram.

テスト結果記憶部25は、プログラム作成者側の数値制御装置10で実施した動作テストの結果を記憶する。 The test result storage unit 25 stores the result of the operation test performed by the numerical control device 10 on the program creator side.

加工プログラム解析部22は、加工プログラム格納部21に格納された加工プログラムを解析する。呼出決定部23は、加工プログラムにサブプログラムの呼出指令が存在するか否かを決定し、サブプログラムの呼出が存在する場合には、モーダル判定部26に通知する。 The machining program analysis unit 22 analyzes the machining program stored in the machining program storage unit 21. The call determination unit 23 determines whether or not a subprogram call command exists in the machining program, and notifies the modal determination unit 26 if a subprogram call exists.

モーダル判定部26は、サブプログラムを呼び出す時点でのプログラム利用者側の数値制御装置20のモーダル情報と、テスト結果記憶部25に記憶しているモーダル情報とを比較する。現在のモーダル状態でサブプログラムを実行した履歴があれば、モーダル判定部26は、動作テストの結果を確認する。
現在のモーダル情報で、動作テストが正常に終了している場合、モーダル判定部26は、サブプログラムが正常に終了すると判定し、サブプログラムの実行開始を加工プログラム実行部24に指示する。
現在のモーダル情報で、動作テストが正常に終了していない場合、モーダル判定部26は、サブプログラムは正常に終了しないと判定し、サブプログラム実行停止部27に通知する。
現在のモーダル情報で、動作テストの実施履歴が存在しない場合、モーダル判定部26は、サブプログラムが正常に終了するか否かは不明であると判定し、サブプログラム実行停止部27に通知する。
The modal determination unit 26 compares the modal information of the numerical control device 20 on the program user side at the time of calling the subprogram with the modal information stored in the test result storage unit 25. If there is a history of executing the subprogram in the current modal state, the modal determination unit 26 confirms the result of the operation test.
If the operation test is normally completed based on the current modal information, the modal determination unit 26 determines that the subprogram is normally completed, and instructs the machining program execution unit 24 to start executing the subprogram.
If the operation test is not normally completed based on the current modal information, the modal determination unit 26 determines that the subprogram does not end normally, and notifies the subprogram execution stop unit 27.
If the current modal information does not include the execution history of the operation test, the modal determination unit 26 determines that it is unknown whether or not the subprogram ends normally, and notifies the subprogram execution stop unit 27.

サブプログラム実行停止部27は、モーダル判定部26の判定結果に基づき、工作機械72の加工停止などの処理を行う。サブプログラム実行停止部27は、サブプログラムの実行を停止した後、モーダル情報の確認を促す注意画面やプログラムの修正画面などを表示して、オペレータの注意喚起や改善案の提示などを行う。 The subprogram execution stop unit 27 performs processing such as processing stop of the machine tool 72 based on the determination result of the modal determination unit 26. After stopping the execution of the subprogram, the subprogram execution stop unit 27 displays a caution screen for confirming modal information, a program modification screen, and the like to call the operator's attention and present an improvement plan.

次いで、図4を参照して、加工プログラム管理システム1000の動作を説明する。まず、プログラム作成者は、動作テストの開始を指示する(ステップS1)。加工プログラム解析部12は、加工プログラムを読み出す。加工プログラム解析部12は、呼び出した加工プログラムを解析する(ステップS2)。呼出決定部13は、加工プログラムにサブプログラムの呼出指令が存在するか否かを判定する。加工プログラムに呼出指令が存在する場合(ステップS3;YES)、呼出決定部13は、呼出指令の存在をモーダル記憶部16に通知する。モーダル記憶部16は、サブプログラムの終了を待機する。 Next, the operation of the machining program management system 1000 will be described with reference to FIG. First, the program creator instructs the start of the operation test (step S1). The machining program analysis unit 12 reads out the machining program. The machining program analysis unit 12 analyzes the called machining program (step S2). The call determination unit 13 determines whether or not a subprogram call command exists in the machining program. When a call command exists in the processing program (step S3; YES), the call determination unit 13 notifies the modal storage unit 16 of the existence of the call command. The modal storage unit 16 waits for the end of the subprogram.

加工プログラム実行部14は、サブプログラムを実行する(ステップS4)。サブプログラムが正常に終了しない場合(ステップS5;NO)、モーダル記憶部16は、サブプログラムを呼び出した時点でのモーダル情報と、サブプログラムが正常に終了しない履歴をテスト結果記憶部15に記録する(ステップS6)。
サブプログラムが正常に終了した場合(ステップS5;YES)、モーダル記憶部16は、サブプログラムを呼び出した時点でのモーダル情報とサブプログラムが正常に終了した履歴をテスト結果記憶部15に記録する(ステップS7)。
The machining program execution unit 14 executes the subprogram (step S4). When the subprogram does not end normally (step S5; NO), the modal storage unit 16 records the modal information at the time when the subprogram is called and the history of the subprogram not ending normally in the test result storage unit 15. (Step S6).
When the subprogram ends normally (step S5; YES), the modal storage unit 16 records the modal information at the time when the subprogram is called and the history of the normal end of the subprogram in the test result storage unit 15 (step S5; YES). Step S7).

ステップS6及びステップS7の後、ステップS2に移行し加工プログラムの解析を行う。ステップS3において加工プログラムに呼出指示が存在せず(ステップS3;NO)、未実行の加工プログラムが存在する場合には(ステップS8;NO)、ステップS2〜ステップS6の処理を繰り返し、サブプログラムの動作テスト結果を作成する。
ステップS3において、実行中のファイルを全て読み出した場合には(ステップS8;YES)、動作テスト結果の作成処理を終了する。
After step S6 and step S7, the process proceeds to step S2 to analyze the machining program. If there is no call instruction in the machining program in step S3 (step S3; NO) and there is an unexecuted machining program (step S8; NO), the processes of steps S2 to S6 are repeated, and the subprogram Create operation test results.
When all the files being executed are read in step S3 (step S8; YES), the operation test result creation process ends.

次いで、図5のフローチャートを参照して、プログラム利用者側の数値制御装置20の動作を説明する。前提として、プログラム利用者側の数値制御装置20の加工プログラム格納部21には、メインプログラムとサブプログラムが格納されており、テスト結果記憶部25には、動作テストの実行履歴が格納されている。
オペレータが加工開始を指示すると、プログラム利用者側の数値制御装置20が加工プログラムを読み出す。加工プログラム解析部22は、読み出した加工プログラムを解析する(ステップS11)。呼出決定部23は、加工プログラム解析部22が解析した加工プログラムにサブプログラムの呼出指令が存在するか否かを判定する。加工プログラムに呼出指令が存在する場合、呼出決定部23は呼出指令の存在をモーダル判定部26に通知する(ステップS12)。
Next, the operation of the numerical control device 20 on the program user side will be described with reference to the flowchart of FIG. As a premise, the main program and the subprogram are stored in the machining program storage unit 21 of the numerical control device 20 on the program user side, and the execution history of the operation test is stored in the test result storage unit 25. ..
When the operator instructs the start of machining, the numerical control device 20 on the program user side reads out the machining program. The machining program analysis unit 22 analyzes the read machining program (step S11). The call determination unit 23 determines whether or not a subprogram call command exists in the processing program analyzed by the processing program analysis unit 22. When a call command exists in the processing program, the call determination unit 23 notifies the modal determination unit 26 of the existence of the call command (step S12).

モーダル判定部26は、呼び出されるサブプログラムの実行履歴が、テスト結果記憶部25に存在するか否かを判定する。サブプログラムの実行履歴が存在しない場合(ステップS13;NO)、サブプログラム実行停止部27は、サブプログラムの実行を停止する(ステップS14)。 The modal determination unit 26 determines whether or not the execution history of the called subprogram exists in the test result storage unit 25. If the execution history of the subprogram does not exist (step S13; NO), the subprogram execution stop unit 27 stops the execution of the subprogram (step S14).

サブプログラムの実行履歴がテスト結果記憶部25に存在する場合(ステップS13;YES)、現在のモーダル状態で動作テストが実施された履歴が存在するか否かを検索する。プログラム利用者側の数値制御装置20の現在のモーダル状態で動作テストが実行されていない場合(ステップS15;NO)、サブプログラム実行停止部27は、サブプログラムの実行を停止する(ステップS14)。 When the execution history of the subprogram exists in the test result storage unit 25 (step S13; YES), it is searched whether or not there is a history in which the operation test is executed in the current modal state. When the operation test is not executed in the current modal state of the numerical control device 20 on the program user side (step S15; NO), the subprogram execution stop unit 27 stops the execution of the subprogram (step S14).

現在のモーダル状態での動作テストが実行されているが(ステップS15;YES)、動作テスト時にサブプログラムが正常に終了していない場合(ステップS16;NO)、サブプログラム実行停止部27は、サブプログラムの実行を停止する(ステップS10)。 When the operation test in the current modal state is executed (step S15; YES), but the subprogram is not normally completed at the time of the operation test (step S16; NO), the subprogram execution stop unit 27 is subprogrammed. Stop the execution of the program (step S10).

現在のモーダル状態での動作テストが実行されており(ステップS15;YES)、動作テスト時にサブプログラムが正常に終了した場合(ステップS16;YES)、モーダル判定部26はサブプログラムの実行が可能であると判定する(ステップS17)。 If the operation test in the current modal state is executed (step S15; YES) and the subprogram ends normally during the operation test (step S16; YES), the modal determination unit 26 can execute the subprogram. It is determined that there is (step S17).

図6を参照して、実際の加工プログラムを用いて、プログラム利用者側の数値制御装置20における、モーダルの判定方法を説明する。テスト結果記憶部25は、サブプログラム“O1000”の動作テスト済みのモーダル“G43”及び“G49”と、各モーダルの動作テストの結果からなる動作テスト結果を記憶している。
図6の左上に示す呼出元プログラムにおいて、1行目のプログラム「M98 P1000」はサブプログラム“O1000”の呼出指令である。呼出決定部23は、呼出指令が存在すると決定すると、呼出指令の存在をモーダル判定部26に通知する。モーダル判定部26は、テスト結果記憶部25からプログラム“O1000”のテスト結果を読み出す。テスト結果において、プログラム“O1000”のモーダル“G43”での実行履歴は“×(不可)”と記録されている。そのため、プログラム利用者側の数値制御装置20は、サブプログラム“O1000”の動作を一旦停止する。
図6の左下に示す呼出プログラムにおいて、1行目のプログラム「M98 P1000」はサブプログラム“O1000”の呼出指令である。呼出決定部23は、呼出指令が存在すると決定すると、呼出指令の存在をモーダル判定部26に通知する。モーダル判定部26は、テスト結果記憶部25からプログラム“O1000”のテスト結果を呼び出す。テスト結果において、プログラム“O1000”のモーダル“G49”での実行履歴は“〇(可)”と記録されている。そのため、プログラム利用者側の数値制御装置20は、現在のモーダル“G49”でサブプログラム“O1000”を実行する。
With reference to FIG. 6, a modal determination method in the numerical control device 20 on the program user side will be described using an actual machining program. The test result storage unit 25 stores the operation test results including the operation-tested modals “G43” and “G49” of the subprogram “O1000” and the operation test results of each modal.
In the calling program shown in the upper left of FIG. 6, the program "M98 P1000" on the first line is a calling command of the subprogram "O1000". When the call determination unit 23 determines that the call command exists, the call determination unit 23 notifies the modal determination unit 26 of the existence of the call command. The modal determination unit 26 reads the test result of the program “O1000” from the test result storage unit 25. In the test result, the execution history of the program "O1000" in the modal "G43" is recorded as "x (impossible)". Therefore, the numerical control device 20 on the program user side temporarily stops the operation of the subprogram "O1000".
In the calling program shown in the lower left of FIG. 6, the program "M98 P1000" on the first line is a calling command of the subprogram "O1000". When the call determination unit 23 determines that the call command exists, the call determination unit 23 notifies the modal determination unit 26 of the existence of the call command. The modal determination unit 26 calls the test result of the program “O1000” from the test result storage unit 25. In the test result, the execution history of the program "O1000" in the modal "G49" is recorded as "○ (possible)". Therefore, the numerical control device 20 on the program user side executes the subprogram "O1000" with the current modal "G49".

本開示の加工プログラム管理システム1000では、サブプログラムを実行した後、サブプログラム実行時のモーダル情報と、サブプログラムの実行結果とをテスト結果記憶部25に記録する。サブプログラムの利用時には、プログラム利用者側の数値制御装置20のモーダル情報が、テスト結果記憶部25に存在するか否かを判定し、サブプログラムが正常に終了した履歴が存在すれば、サブプログラムを実行する。
また、プログラム利用者側の数値制御装置20のモーダル状態で、サブプログラムが正常に終了しない場合には、モーダル情報の不一致を示唆する注意画面やプログラムの修正画面などを表示して、オペレータの注意喚起や改善案の提示などを行う。
In the machining program management system 1000 of the present disclosure, after the subprogram is executed, the modal information at the time of executing the subprogram and the execution result of the subprogram are recorded in the test result storage unit 25. When using the subprogram, it is determined whether or not the modal information of the numerical control device 20 on the program user side exists in the test result storage unit 25, and if there is a history of normal termination of the subprogram, the subprogram To execute.
In addition, if the subprogram does not end normally in the modal state of the numerical control device 20 on the program user side, a caution screen suggesting a mismatch in modal information, a program correction screen, etc. are displayed to warn the operator. Call out and present improvement plans.

[第2の開示]
次いで、加工プログラム管理システムの第2の開示を説明する。
第2の開示において、プログラム作成者側の数値制御装置10は、図7に示すように、テスト結果記憶部15と、動作テスト時モーダル情報記憶部41を備え、プログラム利用者側の数値制御装置20は、図8に示すように、テスト結果記憶部25と、動作テスト時モーダル情報記憶部42を備える。
動作テスト時モーダル情報には、図9の右上に示すように、加工プログラム1行ごとのモーダルの状態を記録する。具体的に説明すると、動作テスト時モーダル情報には、加工プログラムの各行を実行する時点でのモーダル情報と、各行のプログラムに影響するモーダルの種類と、モーダルの更新に関する情報が含まれる。
[Second disclosure]
Next, the second disclosure of the machining program management system will be described.
In the second disclosure, as shown in FIG. 7, the numerical control device 10 on the program creator side includes a test result storage unit 15 and a modal information storage unit 41 during an operation test, and is a numerical control device on the program user side. As shown in FIG. 8, reference numeral 20 denotes a test result storage unit 25 and an operation test modal information storage unit 42.
In the modal information during the operation test, as shown in the upper right of FIG. 9, the modal state of each line of the machining program is recorded. Specifically, the modal information at the time of the operation test includes the modal information at the time of executing each line of the machining program, the type of modal that affects the program of each line, and the information regarding the update of the modal.

図9及び図10を参照して、第2の開示における加工プログラム管理システム1000の作用を説明する。プログラム作成者側の数値制御装置10では、サブプログラムの動作テストを実行するが、これと同時にモーダル記憶部16は、動作テスト時モーダル情報を作成する。図9の例では、プログラム作成者側の数値制御装置10の呼出元プログラムがサブプログラム“O1001”を呼び出し、サブプログラム“O1001”の動作テストと同時に動作テスト時モーダル情報を作成する。
プログラム利用者側の数値制御装置20のモーダル判定部26は、テスト結果記憶部15に記憶したテスト結果と、動作テスト時モーダル情報とを基に、サブプログラムの実行履歴の有無と、モーダルの機械動作への影響の有無を判定する。
さらに、モーダル判定部26は、判定結果に基づきサブプログラムを実行するか停止するかを制御する。
The operation of the machining program management system 1000 in the second disclosure will be described with reference to FIGS. 9 and 10. The numerical control device 10 on the program creator side executes the operation test of the subprogram, and at the same time, the modal storage unit 16 creates the modal information at the time of the operation test. In the example of FIG. 9, the calling program of the numerical control device 10 on the program creator side calls the subprogram “O1001” and creates modal information at the time of the operation test at the same time as the operation test of the subprogram “O1001”.
The modal determination unit 26 of the numerical control device 20 on the program user side determines the presence / absence of the execution history of the subprogram and the modal machine based on the test result stored in the test result storage unit 15 and the modal information at the time of the operation test. Determine if there is any effect on operation.
Further, the modal determination unit 26 controls whether to execute or stop the subprogram based on the determination result.

動作テスト時には、図9の上側に示すように、“G49;工具長補正キャンセル”の状態で呼出元プログラム「M98 P1000」を実行する。これにより、サブプログラム“O1001”が呼び出される。サブプログラム“O1001”の1行目のプログラムの実行時点のモーダルは“G49”である。1行目のプログラム「#1=0」は、変数1に“0”を代入する数値演算なので機械を動作させず、機械動作への影響は“−(なし)”となる。1行目のプログラムでは、モーダル情報の更新も行われていないので、更新は“−(なし)”となる。これを1行目の動作テスト時モーダル情報として記録する。
2行目のプログラムの実行時点のモーダルは“G49”である。2行目のプログラム「G49」は、モーダル情報を“G49;工具長キャンセル”に変更する。2行目のプログラムはモーダルの変更指令なので機械動作への影響は“−(なし)”であり、モーダル情報が更新されているので、更新の内容は“G49”である。
At the time of the operation test, as shown in the upper side of FIG. 9, the caller program "M98 P1000" is executed in the state of "G49; tool length correction cancel". As a result, the subprogram "O1001" is called. The modal at the time of execution of the program on the first line of the subprogram "O1001" is "G49". Since the program "# 1 = 0" on the first line is a numerical operation in which "0" is assigned to the variable 1, the machine is not operated, and the influence on the machine operation is "-(none)". In the program on the first line, the modal information is not updated, so the update is "-(none)". This is recorded as modal information during the operation test on the first line.
The modal at the time of execution of the program on the second line is "G49". The program "G49" on the second line changes the modal information to "G49; tool length cancellation". Since the program on the second line is a modal change command, the effect on the machine operation is "-(none)", and since the modal information has been updated, the content of the update is "G49".

3行目のプログラムの実行時点のモーダルは“G49”である。3行目のプログラム「G00 X1000」は、“送り”に関するため、工具長補正のモーダル“G43”及び“G49”は機械動作に影響する。モーダルの更新はされていないので、更新は“−(なし)”である。
4行目のプログラム「G00 Y1000」の実行時点のモーダル情報は“G49”である。4行目のプログラムも“送り”に関するプログラムであるため、工具長補正のモーダル“G43”及び“G49”が機械動作に影響する。更新はされていないので、更新は“−(なし)”である。
The modal at the time of execution of the program on the third line is "G49". Since the program "G00 X1000" on the third line is related to "feed", the tool length correction modals "G43" and "G49" affect the machine operation. The modal has not been updated, so the update is "-(none)".
The modal information at the time of execution of the program "G00 Y1000" on the fourth line is "G49". Since the program on the fourth line is also a program related to "feed", the tool length correction modals "G43" and "G49" affect the machine operation. Since it has not been updated, the update is "-(none)".

このように、モーダル記憶部16は、プログラム1行毎のモーダルの状態、各行の実行時点でのモーダル情報、各行の機械動作に影響するモーダルの種類、各行で更新したモーダル、を記録し、動作テスト時モーダル情報を作成する。 In this way, the modal storage unit 16 records the modal state of each line of the program, the modal information at the time of execution of each line, the type of modal that affects the machine operation of each line, and the modal updated in each line, and operates. Create modal information during testing.

モーダル判定部26は、動作テスト時モーダル情報に基づく判定と、テスト結果に基づく判定との2つの判定を行う。動作テスト時モーダル情報に基づく判定では、モーダルが機械の動作に影響を与えるか否かを判定する。 The modal determination unit 26 makes two determinations, that is, a determination based on the modal information at the time of the operation test and a determination based on the test result. In the determination based on the modal information at the time of the operation test, it is determined whether or not the modal affects the operation of the machine.

具体的に説明すると、サブプログラムが呼び出されてからモーダルが変更されるまでの間に、機械動作に影響する部分が存在するか否かを判定する。
図9の例の動作テスト時モーダル情報では、2行目で工具長補正のモーダルが“G49”に変更されるため、モーダルが変更される前のプログラムは、1行目のプログラム「#1=0」のみである。1行目のプログラム「#1=0」は、数値演算なので、機械動作には影響を与えない。実行時点のモーダルがG49であっても機械動作に影響がないため、図9の下の表に示すように、動作影響“×(なし)”と判定する。
Specifically, it is determined whether or not there is a part that affects the machine operation between the time when the subprogram is called and the time when the modal is changed.
In the operation test modal information of the example of FIG. 9, since the tool length correction modal is changed to "G49" in the second line, the program before the modal is changed is the program "# 1 =" in the first line. Only "0". Since the program "# 1 = 0" on the first line is a numerical operation, it does not affect the machine operation. Even if the modal at the time of execution is G49, there is no effect on the machine operation. Therefore, as shown in the table below FIG. 9, it is determined that the operation effect is “x (none)”.

一方、テスト結果記憶部25には、サブプログラム“O1001”を“G49;工具長補正キャンセル”の状態で動作テストしたテスト結果が記憶されている。このテスト結果を基に、モーダル“G49”のときの実行履歴“〇(あり)”、動作影響“×(なし)”となる。 On the other hand, the test result storage unit 25 stores the test result of the operation test of the subprogram "O1001" in the state of "G49; tool length correction cancel". Based on this test result, the execution history when the modal is "G49" is "○ (Yes)" and the operation influence is "× (None)".

図10は、モーダル判定部26が判定結果に従い、サブプログラムを実行又は停止するプロセスを示す。
サブプログラム“O1000”に対するモーダル判定部26の判定結果は、工具長補正“G43”、実行履歴“×(なし)”、機械動作への影響“〇(あり)”と、工具長補正“G49”、実行履歴“〇(あり)”、機械動作への影響“〇(あり)”である。
工具長補正が“G43”の状態でサブプログラム“O1000”を呼び出す場合、“G43”は機械動作への影響が“〇(あり)”と判定されているので、サブプログラム“O1000”はモーダルの影響を受ける可能性がある。モーダル判定部26は、サブプログラム実行停止部27にサブプログラム“O1000”の動作を停止させる。
FIG. 10 shows a process in which the modal determination unit 26 executes or stops the subprogram according to the determination result.
The determination results of the modal determination unit 26 for the subprogram "O1000" are tool length correction "G43", execution history "x (none)", influence on machine operation "○ (yes)", and tool length correction "G49". , Execution history "○ (Yes)", Impact on machine operation "○ (Yes)".
When the subprogram "O1000" is called while the tool length correction is "G43", the influence on the machine operation of "G43" is judged to be "○ (Yes)", so the subprogram "O1000" is modal. May be affected. The modal determination unit 26 causes the subprogram execution stop unit 27 to stop the operation of the subprogram “O1000”.

サブプログラム“O1001”に対するモーダル判定部26の判定結果は、工具長補正“G43”、実行履歴“×(なし)”、機械動作への影響“×(なし)”と、工具長補正“G49”、実行履歴“〇(あり)”、機械動作への影響“×(なし)”である。
工具長補正が“G43”の状態でサブプログラム“O1001”を呼び出す場合、“G43”は機械動作への影響が“×(なし)”と判定されているため、サブプログラム“O1001”はモーダルの影響を受けない。モーダル判定部26は、加工プログラム実行部24にサブプログラム“O1001”を実行させる。
The determination results of the modal determination unit 26 for the subprogram "O1001" are tool length correction "G43", execution history "x (none)", influence on machine operation "x (none)", and tool length correction "G49". , Execution history "○ (Yes)", Impact on machine operation "× (None)".
When the subprogram "O1001" is called with the tool length correction set to "G43", the subprogram "O1001" is modal because the influence on the machine operation of "G43" is determined to be "x (none)". Not affected. The modal determination unit 26 causes the machining program execution unit 24 to execute the subprogram “O1001”.

第2の開示では、サブプログラムの動作テスト時に、動作テスト時モーダル情報を作成する。動作テスト時モーダル情報は、サブプログラムの各行の実行時点でのモーダル状態、各行の機械動作に影響するモーダルの種類、各行におけるモーダル情報の更新を含む。
プログラム利用者側の数値制御装置20では、動作テスト時モーダル情報を基に、サブプログラムを開始してからモーダルが更新されるまでの間に機械動作に影響するモーダルが存在しなければ、実際に動作テストをしていなくとも、サブプログラムの実行が可能であると判定する。
In the second disclosure, modal information at the time of operation test is created at the time of operation test of the subprogram. The modal information during the operation test includes the modal state at the time of execution of each line of the subprogram, the type of modal that affects the machine operation of each line, and the update of the modal information in each line.
In the numerical control device 20 on the program user side, based on the modal information at the time of the operation test, if there is no modal that affects the machine operation between the start of the subprogram and the update of the modal, the actual operation is performed. It is determined that the subprogram can be executed even if the operation test is not performed.

第2の開示では、実際に動作テストをしていないモーダルでも、実行可能か否かを判定することができるため、サブプログラムの再利用性が向上する。また、プログラムのどの行で機械動作に影響を与えるのかが分かるので、プログラムの確認や修正が容易である。 In the second disclosure, it is possible to determine whether or not the modal is executable even if the modal is not actually tested, so that the reusability of the subprogram is improved. In addition, since it is possible to know which line of the program affects the machine operation, it is easy to check or modify the program.

[第3の開示]
次いで、加工プログラム管理システムの第3の開示を説明する。
第3の開示において、プログラム作成者側の数値制御装置10では、機械動作に影響するモーダルグループをモーダル動作テスト時モーダル情報に記録する。
図11は、モーダルグループの関係を示す。図11の例では“グループ1;工具長補正”、“グループ2;工具径補正”、“グループ3;送り速度制御”が記載されている。“グループ1;工具長補正”では、モーダルは“G49;オフ”か“G43;オン”のいずれかの状態をとる。“グループ2;工具径補正”では、モーダルは“G40;オフ”か、“G41;オン(左)”か、“G42;オン(右)”かのいずれかの状態をとる。“グループ3;送り速度制御”では、モーダルは“G94;毎分”か、“G95;毎回転”のいずれかの状態をとる。これらのモーダルはグループに属しており、各グループについて1つのモーダルが選択された状態になる。モーダルはグループごとに影響を与える機械動作が異なる。
例えば、工具の早送り(G00)では、Y軸方向の早送りはモーダルグループ2の影響を受け、Z軸方向の早送りはモーダルグループ1の影響を受け、モーダルグループ3の影響は受けない。
第3の開示では、サブプログラムの呼出時のモーダル状態がプログラムの機械動作に影響を与えるグループに属しているか否かを判定する。
[Third disclosure]
Next, the third disclosure of the machining program management system will be described.
In the third disclosure, the numerical control device 10 on the program creator side records the modal group affecting the machine operation in the modal information at the time of the modal operation test.
FIG. 11 shows the relationship between modal groups. In the example of FIG. 11, "Group 1; Tool length correction", "Group 2; Tool diameter correction", and "Group 3; Feed speed control" are described. In "Group 1; Tool Length Compensation", the modal is in either "G49;Off" or "G43;On" states. In "Group 2; Tool Diameter Compensation", the modal takes either "G40;Off","G41; On (Left)", or "G42; On (Right)". In "Group 3; Feed rate control", the modal takes either "G94; every minute" or "G95; every revolution". These modals belong to a group, and one modal is selected for each group. Modals have different mechanical behaviors that affect each group.
For example, in the tool fast-forward (G00), the fast-forward in the Y-axis direction is affected by the modal group 2, the fast-forward in the Z-axis direction is affected by the modal group 1, and is not affected by the modal group 3.
In the third disclosure, it is determined whether or not the modal state at the time of calling the subprogram belongs to a group that affects the mechanical operation of the program.

図12は、第3の開示のモーダル記憶部16の動作テスト時モーダル情報の記録処理の一例を示している。動作テスト時のサブプログラム呼出時において、工具径キャンセル“G49”と、工具長キャンセル“G40”の2つのモーダルが設定されている。プログラム「M98 P1001」を実行すると、サブプログラム“O1001”が呼び出される。
1行目のプログラムの実行時点のモーダルは“G40/G49”となる。1行目のプログラム「#1=0」は数値演算なので、機械動作への影響は“−(なし)”であり、更新も“−(なし)”である。
2行目のプログラムの実行時点のモーダルは“G40/G49”である。2行目のプログラム「G49」は工具径補正のモーダルが変化するため、更新は“G49”である。
3行目のプログラム「G00 Y1000」は“Y軸方向のG00(早送り指令)”であるため、工具径補正のグループ2は機械動作に影響を与える。3行目のプログラムの機械動作に影響を与えるグループとして“グループ2”が記録される。
4行目のプログラム「G00 Z1000」は“Z軸方向のG00(早送り指令)”であるため、工具長補正のグループ1は機械動作に影響を与える。4行目のプログラムの機械動作に影響を与えるグループとして“グループ1”が記録される。
このように、サブプログラムの各行に対応して、モーダル状態、機械動作に影響を与えるモーダルグループ、モーダルの更新に関する情報を記録することで、動作テスト時モーダル情報が作成される。
FIG. 12 shows an example of the recording process of the modal information at the time of the operation test of the modal storage unit 16 of the third disclosure. Two modals, tool diameter cancel "G49" and tool length cancel "G40", are set when the subprogram is called during the operation test. When the program "M98 P1001" is executed, the subprogram "O1001" is called.
The modal at the time of execution of the program on the first line is "G40 / G49". Since the program "# 1 = 0" on the first line is a numerical operation, the effect on the machine operation is "-(none)" and the update is also "-(none)".
The modal at the time of execution of the program on the second line is "G40 / G49". Since the modal of tool diameter correction changes in the program "G49" on the second line, the update is "G49".
Since the program "G00 Y1000" on the third line is "G00 (fast forward command) in the Y-axis direction", the tool diameter correction group 2 affects the machine operation. "Group 2" is recorded as a group that affects the machine operation of the program on the third line.
Since the program "G00 Z1000" on the fourth line is "G00 (fast forward command) in the Z-axis direction", the tool length correction group 1 affects the machine operation. "Group 1" is recorded as a group that affects the machine operation of the program on the fourth line.
In this way, modal information at the time of operation test is created by recording information on the modal state, the modal group that affects the machine operation, and the modal update corresponding to each line of the subprogram.

プログラム利用者側の数値制御装置20のモーダル判定部26は、動作テスト時モーダル情報に記録されたグループ種別を基に、サブプログラムの実行が可能か否かを判定する。 The modal determination unit 26 of the numerical control device 20 on the program user side determines whether or not the subprogram can be executed based on the group type recorded in the modal information at the time of the operation test.

図12の動作テスト時モーダル情報を例としてモーダル判定部26の判定方法を説明する。グループ1の工具長補正のモーダルの場合、工具長補正のモーダルは2行目のプログラムで“G49”に変更されている。変更される前の1行目のプログラムは機械動作に影響しない。そのため、グループ1の工具長補正のモーダルは機械動作に影響しない。
グループ2の工具径補正のモーダルはサブプログラムの呼出時の“G40”のまま4行目のプログラムまで継続している。1行目と2行目のプログラムは機械動作に影響しないが、3行目のプログラムは、グループ2の影響を受ける。“G40”はグループ2のモーダルであるため、モーダル“G40”は機械動作に影響があると判定する。
4行目のプログラムは、グループ1の影響を受ける。グループ1の工具長補正のモーダルは2行目で変更されているので、サブプログラム呼び出し時のモーダルの影響は受けないと判定する。
The determination method of the modal determination unit 26 will be described by taking the modal information during the operation test of FIG. 12 as an example. In the case of the tool length correction modal of group 1, the tool length correction modal is changed to "G49" in the program on the second line. The program on the first line before the change does not affect the machine operation. Therefore, the tool length correction modal of Group 1 does not affect the machine operation.
The tool diameter correction modal of Group 2 continues to the program on the 4th line with "G40" when the subprogram is called. The programs on the first and second lines do not affect the machine operation, but the programs on the third line are affected by group 2. Since "G40" is a modal of group 2, it is determined that the modal "G40" has an influence on the machine operation.
The program on line 4 is affected by Group 1. Since the tool length correction modal of group 1 is changed in the second line, it is determined that the modal at the time of calling the subprogram is not affected.

第3の開示の加工プログラム管理システム1000では、機械動作へ影響するモーダルグループを動作テスト時モーダル情報記憶部41に記録する。そして、サブプログラム呼出時のモーダルが機械動作に影響のあるグループに属するか否かを判定する。また、プログラムのどの行で機械動作に影響を与えるのかが分かるので、プログラムの確認や修正が容易である。 In the processing program management system 1000 of the third disclosure, the modal group affecting the machine operation is recorded in the modal information storage unit 41 at the time of the operation test. Then, it is determined whether or not the modal at the time of calling the subprogram belongs to the group that affects the machine operation. In addition, since it is possible to know which line of the program affects the machine operation, it is easy to check or modify the program.

[第4の開示]
第4の開示として、1つの数値制御装置で加工プログラム管理システム1000を実現する例を説明する。図13の数値制御装置50は、プログラム作成者側の数値制御装置10の機能とプログラム利用者側の数値制御装置20の機能を1つの数値制御装置50にまとめている。数値制御装置50は、動作テスト対象判定部62を備える。
[Fourth Disclosure]
As a fourth disclosure, an example of realizing the machining program management system 1000 with one numerical control device will be described. The numerical control device 50 of FIG. 13 combines the functions of the numerical control device 10 on the program creator side and the functions of the numerical control device 20 on the program user side into one numerical control device 50. The numerical control device 50 includes an operation test target determination unit 62.

動作テスト対象判定部62は、数値制御装置50の表示部70に、例えば、動作テストと通常運転とを切り換える切換画面を表示する。切換画面において、動作テストが選択されると、動作テスト対象判定部62は、モーダル記憶部56に動作テストの開始を指示する。切換画面において、通常動作が選択されると、動作テスト対象判定部62は、モーダル判定部59にモーダルの判定開始を指示する。操作画面では、図14に示すように、動作テスト画面と通常運転画面との切り換えができる。 The operation test target determination unit 62 displays, for example, a switching screen for switching between the operation test and the normal operation on the display unit 70 of the numerical control device 50. When the operation test is selected on the switching screen, the operation test target determination unit 62 instructs the modal storage unit 56 to start the operation test. When the normal operation is selected on the switching screen, the operation test target determination unit 62 instructs the modal determination unit 59 to start the modal determination. On the operation screen, as shown in FIG. 14, the operation test screen and the normal operation screen can be switched.

図13の数値制御装置50は、通常運転と動作テストとの両方の機能を備えているため、通常運転をしながらサブプログラムの実行履歴が蓄積され、サブプログラムの再利用性が向上する。 Since the numerical control device 50 of FIG. 13 has both functions of normal operation and operation test, the execution history of the subprogram is accumulated during the normal operation, and the reusability of the subprogram is improved.

[第5の開示]
図15は、サブプログラムとテスト結果情報と動作テスト時モーダル情報とを外部のサーバで共有する例である。このサーバには、複数の数値制御装置やコンピュータがネットワーク(図面ではクラウド)を介して接続されている。サーバに接続された数値制御装置やコンピュータは、異なるモーダル状態でサブプログラムを実行し、サブプログラムの動作結果や動作テスト時モーダル情報を蓄積する。このように、動作テストの結果を共有することでサブプログラムの再利用性が向上する。
[Fifth Disclosure]
FIG. 15 is an example of sharing the subprogram, the test result information, and the modal information at the time of the operation test with an external server. A plurality of numerical control devices and computers are connected to this server via a network (cloud in the drawing). Numerical control devices and computers connected to the server execute subprograms in different modal states, and accumulate the operation results of the subprograms and modal information during operation tests. In this way, sharing the results of the operation test improves the reusability of the subprogram.

上述したプログラム作成者側の数値制御装置10、プログラム利用者側の数値制御装置20、両方の機能を備えた数値制御装置50は、図16に示すようなハードウェア構成をしている。数値制御装置10、20、50は、図1に示すように、数値制御装置10、20、50を全体的に制御するCPU111、プログラムやデータを記録するROM112、一時的にデータを展開するためのRAM113を備え、CPU111はバス120を介してROM112に記録されたシステムプログラムを読み出し、システムプログラムに従って数値制御装置10、20、50の全体を制御する。 The numerical control device 10 on the program creator side, the numerical control device 20 on the program user side, and the numerical control device 50 having both functions have a hardware configuration as shown in FIG. As shown in FIG. 1, the numerical control devices 10, 20, and 50 include a CPU 111 that controls the numerical control devices 10, 20, and 50 as a whole, a ROM 112 that records programs and data, and a ROM 112 for temporarily expanding data. The RAM 113 is provided, and the CPU 111 reads the system program recorded in the ROM 112 via the bus 120 and controls the entire numerical control devices 10, 20, and 50 according to the system program.

不揮発性メモリ114は、例えば、図示しないバッテリでバックアップされるなどして、数値制御装置100の電源がオフされても記憶状態が保持される。不揮発性メモリ114には、インタフェース115、118、119を介して外部機器80から読み込まれたプログラムや入力部30を介して入力されたユーザ操作、数値制御装置10、20、50の各部や工作機械72等から取得された各種データ(例えば、設定パラメータやセンサ情報など)が記憶される。 The non-volatile memory 114 retains its storage state even when the power of the numerical control device 100 is turned off, for example, by backing up with a battery (not shown). The non-volatile memory 114 includes a program read from the external device 80 via the interfaces 115, 118 and 119, user operations input via the input unit 30, each part of the numerical control devices 10, 20 and 50, and a machine tool. Various data (for example, setting parameters, sensor information, etc.) acquired from 72 and the like are stored.

インタフェース115は、数値制御装置10、20、50とアダプタ等の外部機器80と接続するためのインタフェース115である。外部機器80側からはプログラムや各種パラメータ等が読み込まれる。また、数値制御装置10、20、50内で編集したプログラムや各種パラメータ等は、外部機器80を介して外部記憶手段に記憶させることができる。PMC116(プログラマブル・マシン・コントローラ)は、数値制御装置10、20、50に内蔵されたシーケンス・プログラムで工作機械72やロボット、該工作機械72や該ロボットに取り付けられたセンサ等のような装置との間でI/Oユニット117を介して信号の入出力を行い制御する。 The interface 115 is an interface 115 for connecting the numerical control devices 10, 20, 50 and an external device 80 such as an adapter. Programs, various parameters, etc. are read from the external device 80 side. Further, the programs and various parameters edited in the numerical control devices 10, 20 and 50 can be stored in the external storage means via the external device 80. The PMC116 (programmable machine controller) is a sequence program built into the numerical control devices 10, 20, and 50, and is a device such as a machine tool 72 or a robot, or a machine tool 72 or a sensor attached to the robot. Signals are input and output between the robots via the I / O unit 117 for control.

表示部70には、工作機械72の操作画面や工作機械72の運転状態を示す表示画面などが表示される。入力部30は、MDIや操作盤、タッチパネル等から構成され、作業者の操作入力をCPU111に渡す。 The display unit 70 displays an operation screen of the machine tool 72, a display screen showing the operating state of the machine tool 72, and the like. The input unit 30 is composed of an MDI, an operation panel, a touch panel, and the like, and passes an operator's operation input to the CPU 111.

工作機械72の各軸を制御するためのサーボ制御部71はCPU111からの軸の移動指令量を受けて、サーボモータ150を駆動する。サーボモータ150は位置・速度検出器を内蔵し、位置・速度検出器からの位置・速度フィードバック信号をサーボ制御部71にフィードバックし、位置・速度のフィードバック制御を行う。 The servo control unit 71 for controlling each axis of the machine tool 72 drives the servomotor 150 in response to the axis movement command amount from the CPU 111. The servomotor 150 has a built-in position / speed detector, feeds back the position / speed feedback signal from the position / speed detector to the servo control unit 71, and performs position / speed feedback control.

スピンドルアンプ161は、工作機械72の主軸164への主軸回転指令を受け、スピンドルモータ162を駆動する。スピンドルモータ162の動力はギアを介して主軸164に伝達され、主軸164は指令された回転速度で回転する。主軸164にはポジションコーダ163が結合され、ポジションコーダ163が主軸164の回転に同期して帰還パルスを出力し、その帰還パルスはCPU111によって読み取られる。 The spindle amplifier 161 receives a spindle rotation command to the spindle 164 of the machine tool 72 and drives the spindle motor 162. The power of the spindle motor 162 is transmitted to the spindle 164 via gears, and the spindle 164 rotates at the commanded rotation speed. A position coder 163 is coupled to the spindle 164, and the position coder 163 outputs a feedback pulse in synchronization with the rotation of the spindle 164, and the feedback pulse is read by the CPU 111.

以上、一実施形態について説明したが、本開示は上述した開示のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。例えば、第2及び第3の開示では、プログラム作成者側の数値制御装置10にモーダル記憶部16を設け、プログラム利用者側の数値制御装置20にモーダル判定部26を設けたが、プログラム作成者側の数値制御装置10にモーダル判定部26を設けてもよい。 Although one embodiment has been described above, the present disclosure is not limited to the above-mentioned disclosure, and can be implemented in various embodiments by making appropriate changes. For example, in the second and third disclosures, the numerical control device 10 on the program creator side is provided with the modal storage unit 16, and the numerical control device 20 on the program user side is provided with the modal determination unit 26. A modal determination unit 26 may be provided on the numerical control device 10 on the side.

また、サブプログラム実行停止部61では、動作テスト時モーダル情報を基に、機械動作への影響があるプログラムの行を表示し、プログラムの修正補助を行うことができる。
本開示の加工プログラム管理システムでは、サブプログラムの動作テストと同時に、動作テストを実行した際のモーダル状態を記録する。サブプログラムの動作テストは、サブプログラムの作成時に通常実施される処理であるため、プログラム作成者に負担をかけることはなく、モーダル状態を記録することができる。
本開示の加工プログラム管理システムでは、サブプログラムの実行前に、動作テストのテスト結果及び動作テスト時モーダル情報、又は何れか一方を参照することにより、サブプログラムの再利用性を高めたまま、プログラム利用者の誤った呼出を防止することができる。
Further, the subprogram execution stop unit 61 can display the line of the program having an influence on the machine operation based on the modal information at the time of the operation test, and can assist the correction of the program.
In the machining program management system of the present disclosure, the modal state when the operation test is executed is recorded at the same time as the operation test of the subprogram. Since the operation test of the subprogram is a process normally performed when the subprogram is created, the modal state can be recorded without imposing a burden on the program creator.
In the machining program management system of the present disclosure, the program is programmed while improving the reusability of the subprogram by referring to the test result of the operation test and / or the modal information at the time of the operation test before executing the subprogram. It is possible to prevent the user from making an erroneous call.

1000 加工プログラム管理システム
10 プログラム作成者側の数値制御装置
11 加工プログラム格納部
12 加工プログラム解析部
13 呼出決定部
14 加工プログラム実行部
15 テスト結果記憶部
16 モーダル記憶部
20 プログラム利用者側の数値制御装置
21 加工プログラム格納部
22 加工プログラム解析部
23 呼出決定部
24 加工プログラム実行部
25 テスト結果記憶部
26 モーダル判定部
27 サブプログラム実行停止部
41 動作テスト時モーダル情報記憶部
42 動作テスト時モーダル情報記憶部
71 サーボ制御部
72 工作機械
111 CPU
112 ROM
113 RAM
1000 Machining program management system 10 Numerical control device on the program creator side 11 Machining program storage unit 12 Machining program analysis unit 13 Call decision unit 14 Machining program execution unit 15 Test result storage unit 16 Modal storage unit 20 Numerical control on the program user side Equipment 21 Machining program storage unit 22 Machining program analysis unit 23 Call determination unit 24 Machining program execution unit 25 Test result storage unit 26 Modal judgment unit 27 Subprogram execution stop unit 41 Operation test modal information storage unit 42 Operation test modal information storage Unit 71 Servo control unit 72 Machine machine 111 CPU
112 ROM
113 RAM

Claims (11)

工作機械の加工プログラムの管理装置であって、
前記加工プログラムに呼出指令が記載されているか否かを決定する呼出決定部と、
前記加工プログラムを実行する加工プログラム実行部と、
前記呼出指令により呼び出されるサブプログラムの識別情報と、前記サブプログラムを呼び出す時点でのモーダル状態と、前記加工プログラム実行部による前記サブプログラムの実行履歴とを記憶するモーダル記憶部と、
を備える加工プログラムの管理装置。
It is a management device for machine tool machining programs.
A call determination unit that determines whether or not a call command is described in the processing program,
A machining program execution unit that executes the machining program,
A modal storage unit that stores identification information of the subprogram called by the call command, a modal state at the time of calling the subprogram, and an execution history of the subprogram by the machining program execution unit.
A machining program management device equipped with.
前記実行履歴は、前記モーダル状態での前記サブプログラムの実行結果を含む、請求項1記載の加工プログラムの管理装置。 The processing program management device according to claim 1, wherein the execution history includes an execution result of the subprogram in the modal state. 前記実行履歴は、動作テスト時モーダル情報を含み、
前記動作テスト時モーダル情報は、前記加工プログラム実行部が前記サブプログラムを実行する際の、前記サブプログラムの行毎の、モーダル状態と、前記工作機械の動作に影響するモーダルの種類と、モーダルの更新に関する情報とを含む、請求項1記載の加工プログラムの管理装置。
The execution history includes modal information at the time of operation test.
The modal information at the time of the operation test includes the modal state for each line of the subprogram when the machining program execution unit executes the subprogram, the type of modal that affects the operation of the machine tool, and the modal. The machining program management device according to claim 1, which includes information on updates.
前記実行履歴は、動作テスト時モーダル情報を含み、
前記動作テスト時モーダル情報は、前記加工プログラム実行部が前記サブプログラムを実行する際の、前記サブプログラムの行毎の、モーダル状態と、前記工作機械の動作に影響するモーダルグループと、モーダルの更新に関する情報とを含む、請求項1記載の加工プログラムの管理装置。
The execution history includes modal information at the time of operation test.
The operation test modal information includes a modal state for each line of the subprogram when the machining program execution unit executes the subprogram, a modal group that affects the operation of the machine tool, and a modal update. The machining program management device according to claim 1, which includes information about the above.
前記動作テスト時モーダル情報を基に、前記工作機械の動作に影響するモーダルが存在するか否を判定するモーダル判定部を備える、請求項3記載の加工プログラムの管理装置。 The machining program management device according to claim 3, further comprising a modal determination unit for determining whether or not there is a modal that affects the operation of the machine tool based on the modal information at the time of the operation test. 工作機械の加工プログラムの管理を行う数値制御装置であって、
前記加工プログラムに呼出指令が記載されているか否かを決定する呼出決定部と、
前記加工プログラムを実行する加工プログラム実行部と、
前記呼出指令により呼び出されたサブプログラムの識別情報と、前記サブプログラムを呼び出す時点でのモーダル状態と、前記サブプログラムの実行履歴とを記憶する実行履歴記憶部と、
前記実行履歴を基に、前記サブプログラムが呼び出される時点のモーダル状態で、前記サブプログラムが実行可能か否かを判定するモーダル判定部と、
を備える加工プログラムの管理装置。
A numerical control device that manages machine tool machining programs.
A call determination unit that determines whether or not a call command is described in the processing program,
A machining program execution unit that executes the machining program,
An execution history storage unit that stores the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram.
Based on the execution history, a modal determination unit that determines whether or not the subprogram can be executed in the modal state at the time when the subprogram is called, and a modal determination unit.
A machining program management device equipped with.
前記実行履歴は、前記モーダル状態での前記サブプログラムの実行結果を含む、請求項6記載の加工プログラムの管理装置。 The processing program management device according to claim 6, wherein the execution history includes an execution result of the subprogram in the modal state. 前記実行履歴は、前記加工プログラム実行部が前記サブプログラムを実行する際の、前記サブプログラムの行毎の、モーダル状態と、前記工作機械の動作に影響するモーダルの種類と、モーダルの更新に関する情報とを含む、動作テスト時モーダル情報を含み、
前記動作テスト時モーダル情報に基づき、工作機械の動作に影響を与えるモーダルが存在するか否かを判定するモーダル判定部を備える、
請求項6記載の加工プログラムの管理装置。
The execution history is information on the modal state of each line of the subprogram when the machining program execution unit executes the subprogram, the type of modal affecting the operation of the machine tool, and the update of the modal. Includes modal information during operation test, including
A modal determination unit for determining whether or not there is a modal that affects the operation of the machine tool is provided based on the modal information at the time of the operation test.
The processing program management device according to claim 6.
前記実行履歴は、前記加工プログラム実行部が前記サブプログラムを実行する際の、前記サブプログラムの行毎の、モーダル状態と、前記工作機械の動作に影響するモーダルグループと、モーダルの更新に関する情報とを含む動作テスト時モーダル情報を含み、
前記動作テスト時モーダル情報に基づき、工作機械の動作に与えるモーダルグループが存在するか否かを判定するモーダル判定部を備える、
請求項6記載の加工プログラムの管理装置。
The execution history includes information on the modal state of each line of the subprogram when the machining program execution unit executes the subprogram, the modal group affecting the operation of the machine tool, and the modal update. Includes modal information during operation test, including
A modal determination unit for determining whether or not there is a modal group given to the operation of the machine tool based on the modal information at the time of the operation test is provided.
The processing program management device according to claim 6.
工作機械の加工プログラムの管理システムであって、
前記加工プログラムに呼出指令が記載されているか否かを決定する呼出決定部と、
前記加工プログラムを実行する加工プログラム実行部と、
前記呼出指令により呼び出されるサブプログラムの識別情報と、前記サブプログラムを呼び出す時点でのモーダル状態と、前記加工プログラム実行部による前記サブプログラムの実行履歴とを記憶するモーダル記憶部と、
前記実行履歴を基に、前記サブプログラムが呼び出される時点のモーダル状態で、前記サブプログラムが実行可能か否かを判定するモーダル判定部と、
を備える加工プログラムの管理システム。
A management system for machine tool machining programs
A call determination unit that determines whether or not a call command is described in the processing program,
A machining program execution unit that executes the machining program,
A modal storage unit that stores identification information of the subprogram called by the call command, a modal state at the time of calling the subprogram, and an execution history of the subprogram by the machining program execution unit.
Based on the execution history, a modal determination unit that determines whether or not the subprogram can be executed in the modal state at the time when the subprogram is called, and a modal determination unit.
A machining program management system equipped with.
工作機械の加工プログラムを管理する管理方法であって、
前記加工プログラムの動作テスト時には、
前記加工プログラムに呼出指令が記載されているか否かを決定し、
前記加工プログラムに呼び出されるサブプログラムを実行し、
前記呼出指令により呼び出されるサブプログラムの識別情報と、前記サブプログラムを呼び出す時点でのモーダル状態と、前記サブプログラムの実行履歴とを記憶し、
前記加工プログラムの通常動作時には、
前記加工プログラムに呼出指令が記載されているか否かを決定し、
前記呼出指令により呼び出されるサブプログラムの識別情報と、前記サブプログラムを呼び出す時点でのモーダル状態と、前記サブプログラムの実行履歴とを基に、前記サブプログラムが実行可能か否かを判定する、加工プログラムの管理方法。
It is a management method for managing machine tool machining programs.
During the operation test of the machining program,
Determine whether or not the calling command is described in the machining program,
Execute the subprogram called by the machining program,
The identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram are stored.
During normal operation of the machining program,
Determine whether or not the calling command is described in the machining program,
Processing that determines whether or not the subprogram can be executed based on the identification information of the subprogram called by the call command, the modal state at the time of calling the subprogram, and the execution history of the subprogram. How to manage the program.
JP2020040714A 2020-03-10 2020-03-10 Processing program management device, management system, and management method Active JP7448377B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020040714A JP7448377B2 (en) 2020-03-10 2020-03-10 Processing program management device, management system, and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020040714A JP7448377B2 (en) 2020-03-10 2020-03-10 Processing program management device, management system, and management method

Publications (2)

Publication Number Publication Date
JP2021144284A true JP2021144284A (en) 2021-09-24
JP7448377B2 JP7448377B2 (en) 2024-03-12

Family

ID=77766532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020040714A Active JP7448377B2 (en) 2020-03-10 2020-03-10 Processing program management device, management system, and management method

Country Status (1)

Country Link
JP (1) JP7448377B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063567A (en) * 2021-11-15 2022-02-18 四川航天长征装备制造有限公司 Method for optimizing numerical control program programming

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3196309B2 (en) 1992-04-20 2001-08-06 株式会社安川電機 Industrial robot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063567A (en) * 2021-11-15 2022-02-18 四川航天长征装备制造有限公司 Method for optimizing numerical control program programming

Also Published As

Publication number Publication date
JP7448377B2 (en) 2024-03-12

Similar Documents

Publication Publication Date Title
US8688258B2 (en) Method of controlling a machine tool
JP5778430B2 (en) Machine tool controller
JP2006293537A (en) Numerical control apparatus
US20080103625A1 (en) Numerical controller with machining resume function
CN105849659A (en) Control apparatus for machine tool
CN112805638B (en) NC program conversion processing method and conversion computer
US5170034A (en) Method and apparatus for welding robot control
JP6542710B2 (en) Numerical control device with program correction support function for alarm solution
JP2021144284A (en) Machining program management device, management system, management method
US20230286169A1 (en) Numerical control system and robot control method
US20210117186A1 (en) Programing support device, programing support system, and programing support method
JPS59142613A (en) Restart controller of numerical control working
CN104956274A (en) Numerical control device
JP2009223354A (en) Numerical control device having function for displaying alarm information
JP2000089813A (en) Working program editing method and controller for machine tool
US10048678B2 (en) Numerical controller
JP6693988B2 (en) Processing program editing device
JP7088820B2 (en) Numerical control device
US5189352A (en) Drilling restart control system
JP7464726B2 (en) Control device
JP2000353003A (en) Nc data recognition device
JP3571093B2 (en) Wire cut electric discharge machining method and apparatus
EP0538482A1 (en) Method for debugging sequential program
KR20210049302A (en) Error tracking method for motion controller
JPH07281720A (en) Coordinate error detecting system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230119

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240229

R150 Certificate of patent or registration of utility model

Ref document number: 7448377

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150