JP7114034B2 - Control program generation device, control program generation method, program - Google Patents
Control program generation device, control program generation method, program Download PDFInfo
- Publication number
- JP7114034B2 JP7114034B2 JP2021009660A JP2021009660A JP7114034B2 JP 7114034 B2 JP7114034 B2 JP 7114034B2 JP 2021009660 A JP2021009660 A JP 2021009660A JP 2021009660 A JP2021009660 A JP 2021009660A JP 7114034 B2 JP7114034 B2 JP 7114034B2
- Authority
- JP
- Japan
- Prior art keywords
- chart
- basic
- numerical
- control program
- actuator
- 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.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
- Numerical Control (AREA)
Description
本発明は、複数のアクチュエータを備えた自動製造機械の制御プログラムを生成する技術に関する。 The present invention relates to technology for generating a control program for an automatic manufacturing machine having multiple actuators.
今日では、あらゆる業種に亘って、工場などの製造現場での省力化が強く要請されるようになっている。この要請に応えるためには自動製造機械を活用することが必須となる。そこで、加工あるいは製造しようとする対象物や、加工の内容(例えば、切削加工や、曲げ加工)などに応じて、様々なタイプの自動製造機械が開発されている(例えば、特許文献1、特許文献2)。
Today, across all industries, there is a strong demand for labor saving in manufacturing sites such as factories. In order to meet this demand, it is essential to utilize automatic manufacturing machines. Therefore, various types of automatic manufacturing machines have been developed according to the object to be processed or manufactured and the content of the processing (for example, cutting or bending) (for example,
ここで、製造現場は、製造しようとする対象物の大きさや形状や材質や、加工の内容や条件が異なっていることが通常である。このため、他の製造現場で用いられている自動製造機械を流用することは困難であり、製造現場毎に専用の自動製造機械を開発することになる。そして、専用の自動製造機械を開発すると、その自動製造機械を制御するための制御プログラムも新たに開発する必要が生じる。 Here, the size, shape, and material of the object to be manufactured, as well as the details and conditions of processing, are usually different at the manufacturing site. For this reason, it is difficult to divert automatic manufacturing machines used at other manufacturing sites, and dedicated automatic manufacturing machines are developed for each manufacturing site. When a dedicated automatic manufacturing machine is developed, it becomes necessary to newly develop a control program for controlling the automatic manufacturing machine.
ところが、制御プログラムを開発するためには、ソフトウェアに関する専門知識を有する専門技術者(いわゆるプログラマ)が必要となる。しかも、自動製造機械の機械設計がある程度まで進んだ後でなければ制御プログラムの開発には着手できないので、制御プログラムの開発に要する期間を含めると、自動製造機械の開発に長い期間を要することになる。こうした点は、製造現場に自動製造機械を積極的に導入しようとした時の大きな障害となっている。 However, in order to develop a control program, a professional engineer (a so-called programmer) with specialized knowledge of software is required. Moreover, since the development of the control program cannot be started until the mechanical design of the automatic manufacturing machine has progressed to a certain extent, it takes a long time to develop the automatic manufacturing machine, including the time required for the development of the control program. Become. These points are major obstacles when trying to actively introduce automatic manufacturing machines to manufacturing sites.
そこで本願の発明者らは、自動製造機械の動作を特殊な動作チャートに記述して、動作チャートから制御プログラムを自動生成することで、こうした問題点を一気に解決する技術を開発して既に出願済みである(特願2020-075017)。尚、この特殊な動作チャートは、本願の発明者が開発した従来には存在しない動作チャートであるため、以下では「YOGOチャート」と呼ぶことがある。この動作チャート(YOGOチャート)は、自動製造機械の動作を理解していれば容易に作成することができ、しかも、この動作チャートから自動で制御プログラムを生成することができる。このため、自動製造機械の開発に要する期間を大幅に短縮することができ、しかもプログラマを確保する必要もないので製造コストも抑制することが可能である。 Therefore, the inventors of the present application describe the operation of an automatic manufacturing machine in a special operation chart, and automatically generate a control program from the operation chart, thereby developing a technology that solves these problems at once, and have already filed a patent application. (Japanese Patent Application No. 2020-075017). Since this special motion chart is a motion chart developed by the inventor of the present application and does not exist in the past, it may be referred to as a "YOGO chart" below. This operation chart (YOGO chart) can be easily created if the operation of the automatic manufacturing machine is understood, and a control program can be automatically generated from this operation chart. Therefore, the period required for developing an automatic manufacturing machine can be greatly shortened, and since it is not necessary to secure programmers, manufacturing costs can be suppressed.
しかし、上述した出願中の技術であっても、動作チャート(YOGOチャート)に自動製造機械の動作を記述する際に間違えてしまうと、自動製造機械を意図した通りに動作させることができなくなる。このため、動作チャート(YOGOチャート)に自動製造機械の動作を記述する際に誤った内容を記述する事態を可能な限り減少させる技術の開発が要請されている。 However, even with the above-mentioned pending technology, if a mistake is made in describing the operation of the automatic manufacturing machine in the operation chart (YOGO chart), the automatic manufacturing machine cannot be operated as intended. For this reason, there is a demand for the development of a technique for reducing, as much as possible, the occurrence of erroneous descriptions of the operations of automatic manufacturing machines in operation charts (YOGO charts).
この発明は、従来の技術が有する上述した課題を解決するために成されたものであり、動作チャート(YOGOチャート)に自動製造機械の動作を記述する際に、誤った内容を記述する事態を減少させることが可能な技術の提供を目的とする。 SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems of the prior art, and prevents a situation in which incorrect contents are described when describing the operation of an automatic manufacturing machine in an operation chart (YOGO chart). The purpose is to provide a technology that can reduce
上述した課題を解決するために、本発明の制御プログラム生成装置は次の構成を採用した。すなわち、
複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する制御プログラム生成装置(100a、110)であって、
前記アクチュエータの自由度毎の動作を表す基本動作(206)を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が前記複数の部分期間の何れかに割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
を備え、
前記基本動作記憶部は、前記基本動作の内容を、定性的に前記基本動作を記述するための動作記述(206a)と、前記基本動作の定量事項を数値によって記述するための数値記述とに分けた上で、前記基本動作の動作記述に対応する前記プログラム要素と、前記数値記述に対応する数値テーブル(206b)または前記数値記述に対応する複数の数値パラメータ(206c)とを記憶しており、
前記動作チャート読込部は、前記動作記述と、前記数値テーブルまたは前記複数の数値パラメータとを用いて前記基本動作が記載された前記動作チャートを読み込んでおり、
前記制御プログラム生成部は、複数の前記プログラム要素を結合する際に、前記プログラム要素の前記動作記述と共に記載された前記数値テーブルまたは前記複数の数値パラメータに従って、前記プログラム要素に数値を設定する
ことを特徴とする。
In order to solve the above problems, the control program generation device of the present invention employs the following configuration. i.e.
A control program generator (100a, 110) for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10-20),
a basic motion storage unit (102) storing basic motions (206) representing motions of the actuator for each degree of freedom in association with program elements for realizing the basic motions;
An operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of the basic operations, and the basic operations are divided into an operation chart reading unit (103) that reads an operation chart (200) describing the operation of the automatic manufacturing machine assigned to one of the plurality of partial periods;
operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart according to the order of the partial periods on the operation chart; A control program generation unit (105) that generates a control program,
The basic motion storage unit divides the contents of the basic motion into a motion description (206a) for qualitatively describing the basic motion and a numerical description for numerically describing quantitative items of the basic motion. and storing the program element corresponding to the behavioral description of the basic operation, and a numerical table (206b) corresponding to the numerical description or a plurality of numerical parameters (206c) corresponding to the numerical description,
The operation chart reading unit reads the operation chart describing the basic operation using the operation description and the numerical table or the plurality of numerical parameters,
wherein, when combining the plurality of program elements, the control program generator sets numerical values to the program elements according to the numerical table or the plurality of numerical parameters described together with the behavioral description of the program elements. Characterized by
また、上述した制御プログラム生成装置に対応する本発明の制御プログラム生成方法は次の構成を採用した。すなわち、
複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムをコンピュータによって生成する制御プログラム生成方法であって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が前記複数の部分期間の何れかに割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析工程(STEP2)と、
前記基本動作を実現するためのプログラム要素を、前記動作チャート中で前記基本動作が割り当てられた前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP3)と
を備え、
前記動作チャート読込工程は、前記動作チャート中の前記基本動作が、前記基本動作の内容を定性的に記述するための動作記述(206a)と、前記基本動作の定量事項を数値によって記述するための数値テーブル(206b)または複数の数値パラメータ(206c)とを用いて記載された前記動作チャートを読み込む工程であり、
前記制御プログラム生成工程は、前記基本動作の前記動作記述と、前記動作記述を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作記述を前記プログラム要素に変換すると共に、前記動作記述と共に記載された前記数値テーブルまたは前記複数の数値パラメータに従って前記プログラム要素に数値を設定した後、前記プログラム要素を前記部分期間の順番に従って結合することによって前記制御プログラムを生成する工程である
ことを特徴とする。
Further, the control program generation method of the present invention corresponding to the control program generation device described above employs the following configuration. i.e.
A control program generation method for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10 to 20) by a computer,
An operation period from the start of the operation of the automatic manufacturing machine to the end of the operation is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is a plurality of basic operations representing the operation of each degree of freedom of the actuator. (206) and reading an operation chart (200) describing the operation of the automatic manufacturing machine by assigning the basic operation to one of the plurality of partial periods (STEP 1) When,
a motion chart analysis step (STEP 2) of extracting the plurality of basic motions included in the motion chart and the partial periods to which the plurality of basic motions are assigned by analyzing the motion chart;
A control program for generating the control program for operating the automatic manufacturing machine by combining program elements for realizing the basic operations according to the order of the partial periods to which the basic operations are assigned in the operation chart. A generation step (STEP 3) and
In the operation chart reading step, the basic operations in the operation chart are composed of an operation description (206a) for qualitatively describing the contents of the basic operations, and a quantitative item for describing numerically the basic operations. reading the operational chart described using a numerical table (206b) or a plurality of numerical parameters (206c);
The control program generation step converts the behavioral description to the program element by referring to a correspondence relationship in which the behavioral description of the basic behavior and the program element for realizing the behavioral description are associated and stored. After converting and setting numerical values in the program elements according to the numerical table or the plurality of numerical parameters described together with the behavioral description, the control program is generated by combining the program elements according to the order of the partial periods. It is characterized by being a step of
かかる本発明の制御プログラム生成装置および制御プログラム生成方法では、自動製造機械の動作が動作チャートに予め記述されている。この動作チャートは次のような動作チャートとなっている。先ず、自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、また、自動製造機械の動作が、複数のアクチュエータの基本動作に分解されている。そして、それらの基本動作が、複数の部分期間の何れかに割り当てられることによって、自動製造機械の動作が記述されている。また、動作チャート中の基本動作は、基本動作の定性的な内容が動作記述によって記載され、数値によって記述される基本動作の定量事項が数値テーブルまたは複数の数値パラメータによって記載されている。更に、動作記述には、その動作記述が表す動作を実現するプログラム要素が対応付けて予め記憶されている。そして、自動製造機械の制御プログラムを生成するに際しては、自動製造機械の動作が記述された動作チャートを読み込んで、動作チャートに記載された基本動作の動作記述をプログラム要素に変換すると共に、動作記述と共に記載された数値テーブルまたは複数の数値パラメータに設定されている数値を、ブログラム要素に設定する。そして、それらのプログラム要素を、部分期間の順番に従って結合することによって、制御プログラムを生成する。 In the control program generation device and the control program generation method of the present invention, the operation of the automatic manufacturing machine is previously described in the operation chart. This operation chart is as follows. First, the operation period from the start of the operation of the automatic manufacturing machine to the end of the operation is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is decomposed into basic operations of a plurality of actuators. The operation of the automatic manufacturing machine is described by assigning these basic operations to any of the plurality of partial periods. Further, in the basic motions in the motion chart, the qualitative contents of the basic motions are described by motion descriptions, and the quantitative items of the basic motions described by numerical values are described by a numerical table or a plurality of numerical parameters. Furthermore, the behavioral description is pre-stored in association with program elements that implement the behavior represented by the behavioral description. When generating a control program for the automatic manufacturing machine, an operation chart describing the operation of the automatic manufacturing machine is read, the operation description of the basic operation described in the operation chart is converted into program elements, and the operation description The numerical value set in the numerical table or multiple numerical parameters described with is set in the program element. Then, the control program is generated by combining those program elements according to the order of the partial periods.
動作記述は、アクチュエータの単純な動作である基本動作を定性的に記述したものであるため、アクチュエータに動作記述の動作を行わせるプログラム要素を予め作成しておくことができる。もちろん、ブログラム要素を用いてアクチュエータに動作させるためには、例えば動作量や動作速度などの定量事項を指定する必要が生じるが、これらの数値は数値テーブルまたは複数の数値パラメータとして、動作記述とは別に設定しておく。このような動作チャートは、自動製造機械を設計した機械設計技術者や、自動製造機械の構造について十分な知識を有する技術者であれば、容易に作成することができる。そして、作成した動作チャートを読み込んで、動作チャート中の動作記述をプログラム要素に変換すると共に、動作記述と共に記載されている数値テーブルに従ってプログラム要素に数値を設定した後、それらのプログラム要素を動作チャートに従って結合してやれば、自動製造機械の動作を制御する制御プログラムを自動で生成することが可能となる。加えて、動作チャートに基本動作を記載する際に、動作記述と、数値テーブルまたは数値パラメータとに分けて記載しているので、以下の理由から、動作チャート(YOGOチャート)に誤った内容が記載される事態を大幅に減少させることができる。すなわち、動作記述は、人間がアクチュエータにさせたい動作を素直に表現したものに過ぎないから、動作チャート上に動作記述を記載する作業は、人間の意図を素直に表現する作業に過ぎず、従って、誤った内容を記載する可能性を大幅に減らすことができる。もちろん、動作記述を記載しただけでは、具体的な数値が設定されていないのでアクチュエータを動作させることはできないが、これらは数値テーブルまたは数値パラメータに設定された数値を使用することができる。そして、具体的な数値を修正する場合でも、数値テーブルまたは数値パラメータに設定された数値を修正すればよいので、動作チャートは修正する必要が無い。このため、修正時に動作チャートを誤って変更してしまうこともない。その結果、動作チャート(YOGOチャート)に誤った内容が記載される事態を大幅に減少させることが可能となる。 Since the motion description qualitatively describes the basic motion, which is a simple motion of the actuator, it is possible to create in advance program elements that cause the actuator to perform the motion described in the motion description. Of course, in order to operate an actuator using program elements, it is necessary to specify quantitative items such as the amount of operation and the operation speed. be set separately. Such an operation chart can be easily created by a mechanical design engineer who has designed an automatic manufacturing machine or by an engineer who has sufficient knowledge about the structure of the automatic manufacturing machine. Then, the created operation chart is read, the operation description in the operation chart is converted into program elements, and numerical values are set for the program elements according to the numerical table described together with the operation description. By connecting according to the instructions, it becomes possible to automatically generate a control program for controlling the operation of the automatic manufacturing machine. In addition, when describing the basic motions in the motion chart, since the motion description and the numerical table or numerical parameters are described separately, the motion chart (YOGO chart) contains incorrect contents for the following reasons. incidents can be greatly reduced. In other words, since the action description simply expresses the action that a person wants the actuator to perform, the task of writing the action description on the action chart is simply the task of simply expressing the intention of the person. , can greatly reduce the possibility of writing incorrect content. Of course, just describing the operation description does not allow the actuator to operate because the specific numerical values are not set, but it is possible to use the numerical values set in the numerical table or numerical parameters. Even when correcting specific numerical values, it is only necessary to correct the numerical values set in the numerical table or the numerical parameters, so there is no need to modify the operation chart. Therefore, the operation chart is not erroneously changed at the time of correction. As a result, it is possible to greatly reduce the situation in which incorrect contents are described in the movement chart (YOGO chart).
また、上述した本発明の制御プログラム生成装置においては、数値テーブルまたは数値パラメータには、基本動作の動作量または動作速度または動作荷重の少なくとも1つを含む複数の数値を設定することとしても良い。 Further, in the above-described control program generation device of the present invention, a plurality of numerical values including at least one of the operation amount, the operation speed, and the operation load of the basic operation may be set in the numerical table or the numerical parameter.
基本動作の動作量または動作速度または動作荷重などは、アクチュエータを意図した通りに基本動作させるためには必要な数値であるが、動作記述では記述することができない。そこで、これらを数値テーブルまたは数値パラメータに設定しておけば、アクチュエータを意図した通りに基本動作させることができ、その結果、自動製造機械を適切に動作させることが可能となる。 The amount of motion, motion speed, motion load, etc. of the basic motion are numerical values necessary for the intended basic motion of the actuator, but cannot be described in the motion description. Therefore, if these are set in a numerical table or numerical parameters, the basic operation of the actuator can be performed as intended, and as a result, the automatic manufacturing machine can be properly operated.
また、上述した本発明の制御プログラム生成装置においては、数値テーブルに数値が設定されていない場合には、予め適切な数値が設定された参照テーブルを参照するようにしてもよい。 Further, in the above-described control program generating apparatus of the present invention, if no numerical values are set in the numerical table, a reference table in which appropriate numerical values are set in advance may be referred to.
こうすれば、数値テーブルに数値を設定しておかなくても、参照テーブルに設定された数値を用いてアクチュエータを動作させることができる。そして、必要に応じて、数値テーブルに適切な数値を設定して行けば、自動製造機械を適切に動作させることが可能となる。 By doing so, the actuator can be operated using the numerical values set in the reference table without setting the numerical values in the numerical table. By setting appropriate numerical values in the numerical table as necessary, the automatic manufacturing machine can be properly operated.
また、上述した本発明の制御プログラム生成装置においては、基本動作の動作開始を待機する動作待機時間を、数値テーブルまたは数値パラメータに設定可能としても良い。 Further, in the above-described control program generating apparatus of the present invention, the operation standby time for waiting for the start of the basic operation may be set in a numerical table or numerical parameter.
こうすれば、数値テーブルまたは数値パラメータに動作待機時間を設定しておくことで、動作待機時間が経過してからアクチュエータに基本動作させることができる。また、複数のアクチュエータに基本動作させる場合には、それぞれのアクチュエータの数値テーブルまたは数値パラメータに設定する動作待機時間を調節することで、各アクチュエータが基本動作を開始するタイミングを少しずつ異ならせるような、細かな動作も簡単に記述することが可能となる。 By doing so, by setting the operation standby time in the numerical table or the numerical parameter, the actuator can be made to perform the basic operation after the operation standby time has passed. Also, when performing basic operations on multiple actuators, by adjusting the operation standby time set in the numerical table or numerical parameter of each actuator, the timing at which each actuator starts its basic operation can be slightly different. , it is possible to easily describe detailed operations.
また、前述した本発明の制御プログラム生成方法は、コンピュータを用いて制御プログラム生成方法を実現するためのプログラムとして把握することも可能である。すなわち、本発明のプログラムは、
複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する方法を、コンピュータを用いて実現するプログラムであって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が前記複数の部分期間の何れかに割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析機能(STEP2)と、
前記基本動作を実現するためのプログラム要素を、前記動作チャート中で前記基本動作が割り当てられた前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP3)と
を前記コンピュータによって実現させており、
前記動作チャート読込機能は、前記動作チャート中の前記基本動作が、前記基本動作の内容を定性的に記述するための動作記述(206a)と、前記基本動作の定量事項を数値によって記述するための数値テーブル(206b)または複数の数値パラメータ(206c)とを用いて記載された前記動作チャートを読み込む機能であり、
前記制御プログラム生成機能は、前記基本動作の前記動作記述と、前記動作記述を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作記述を前記プログラム要素に変換すると共に、前記動作記述と共に記載された前記数値テーブルまたは前記複数の数値パラメータに従って前記プログラム要素に数値を設定した後、前記プログラム要素を前記部分期間の順番に従って結合することによって前記制御プログラムを生成する機能である
ことを特徴とする。
Moreover, the control program generation method of the present invention described above can also be understood as a program for realizing the control program generation method using a computer. That is, the program of the present invention is
A program for implementing, using a computer, a method for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10-20),
An operation period from the start of the operation of the automatic manufacturing machine to the end of the operation is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is a plurality of basic operations representing the operation of each degree of freedom of the actuator. (206) and reading an operation chart (200) describing the operation of the automatic manufacturing machine by assigning the basic operation to one of the plurality of partial periods (STEP 1) When,
a motion chart analysis function (STEP 2) for extracting the plurality of basic motions included in the motion chart and the partial periods to which the plurality of basic motions are assigned by analyzing the motion chart;
A control program for generating the control program for operating the automatic manufacturing machine by combining program elements for realizing the basic operations according to the order of the partial periods to which the basic operations are assigned in the operation chart. The generating function (STEP 3) and are realized by the computer,
The operation chart reading function includes an operation description (206a) for describing the content of the basic operation qualitatively and a quantitative item for describing the basic operation numerically. a function of reading the operation chart described using a numerical table (206b) or a plurality of numerical parameters (206c);
The control program generation function converts the behavioral description to the program element by referring to a correspondence relationship in which the behavioral description of the basic behavior and the program element for realizing the behavioral description are associated and stored. After converting and setting numerical values in the program elements according to the numerical table or the plurality of numerical parameters described together with the behavioral description, the control program is generated by combining the program elements according to the order of the partial periods. It is characterized by the function of
このようなプログラムをコンピュータに読み込ませて実行させれば、自動製造機械の動作を制御する制御プログラムを動作チャートから自動で生成することができ、更に、動作チャートに誤った内容が記載されてしまう事態も防止することが可能となる。 If such a program is read into a computer and executed, a control program for controlling the operation of an automatic manufacturing machine can be automatically generated from the operation chart, and erroneous contents are described in the operation chart. It is possible to prevent the situation.
A.装置構成 :
図1は、本実施例の自動製造機械1の大まかな外観形状を示した説明図である。本実施例の自動製造機械1は、長尺のパイプ材に対して自動で曲げ加工を施すことによって、所望の形状に加工する工作機械(いわゆるパイプベンダ)である。もちろん、本実施例の自動製造機械1は、複数のアクチュエータを搭載して、対象物に対して把持、搬送、加工、加熱などの複数の動作を自動で実行することができれば、パイプベンダ以外の製造機械であっても良い。例えば、食料品を自動で製造するための製造機械であっても良い。あるいは、複数の関節を有するアームロボットと搬送装置とを組み合わせた製造システムであっても良い。
A. Device configuration :
FIG. 1 is an explanatory diagram showing a rough external shape of the
図1に示したように、本実施例の自動製造機械1は、大まかには横長の直方体形状となっており、直方体の上面側には長手方向に2本のレール2が架設され、レール2上の一端側(図1では左側)には、加工対象の図示しないパイプ材を把持して搬送する搬送ユニット3が搭載されている。また、搬送ユニット3が搭載されている側に対して反対側には、図示しないパイプ材に曲げなどの加工を施す加工ユニット4が搭載されている。搬送ユニット3には、円柱形状の把持軸3aが突設されており、把持軸3aの先端には、図示しないパイプ材を把持するチャック3bが取り付けられている。このため、チャック3bでパイプ材を把持した状態で搬送ユニット3をレール2上で移動させることによって、パイプ材を加工ユニット4に供給し、そのパイプ材に対して加工ユニット4で曲げ加工などを施すことが可能となっている。
As shown in FIG. 1, the
本実施例の自動製造機械1は、搬送ユニット3の移動量によってパイプ材の送り量を制御することができるので、パイプ材に曲げ加工などを施す位置を自由に制御することができる。また、チャック3bが取り付けられた把持軸3aを軸回りに回転(いわゆる捻り動作)させることによって、所望の方向にパイプ材を曲げることも可能となっている。こうしたことを実現するために、搬送ユニット3の内部には、チャック3bを開閉させるためのアクチュエータ10や、把持軸3aを軸回りに回転させるためのアクチュエータ11や、把持軸3aを軸方向に進退動させるためのアクチュエータ12や、レール2上で搬送ユニット3を進退動させるためのアクチュエータ13などが搭載されている。本実施例の自動製造機械1では、これらのアクチュエータ10~13は何れも交流電源で動作するサーボモータが用いられているが、アクチュエータに要求される性能に応じて、他の駆動方式のアクチュエータ(例えば、油圧シリンダや、ソレノイドや、ステッピングモータなど)を採用することができる。尚、搬送ユニット3には、把持軸3aの回転位置や、搬送ユニット3の移動位置を検出するためのエンコーダや、リミットスイッチなどのセンサー類も搭載されているが、図面が煩雑となることを回避する目的で、図1では図示が省略されている。
Since the
加工ユニット4の内部には、パイプ材を曲げるためのアクチュエータ17や、パイプ材を曲げる際に、パイプ材に力を加える位置を移動させるためのアクチュエータ18や、加工ユニット4全体を上下方向に移動させるためのアクチュエータ19や、パイプ材に対してフランジと呼ばれる平端面を形成したり、バルジと呼ばれる環状の凸部を形成したりするためのアクチュエータ20などが搭載されている。尚、加工ユニット4にも、エンコーダや、接点スイッチなどのスイッチ・センサー類が搭載されているが、図面が煩雑となることを避けるため、これらについては図示が省略されている。
Inside the
また、加工ユニット4の内部には、上述した各種のアクチュエータ10~13、17~20を駆動するための複数のドライバ回路(図示は省略)が搭載されている。ここで、ドライバ回路とは、次のような機能を有する電気部品である。アクチュエータ10~13、17~20に所望の動作をさせるためには、アクチュエータ10~13、17~20に適切な波形の駆動電流を供給する必要がある。しかし、アクチュエータ10~13、17~20に供給するべき駆動電流は、アクチュエータ10~13、17~20の駆動方式によって異なっており、更に同じ方式のアクチュエータであっても、駆動電流の電流値はアクチュエータによって異なっている。そこで、アクチュエータ10~13、17~20にはドライバ回路と呼ばれる専用の電気部品が用意されており、ドライバ回路に対して駆動量を指定すると、ドライバ回路がアクチュエータ10~13、17~20に対して適切な駆動電流を出力し、その結果、アクチュエータ10~13、17~20が駆動されるようになっている。
Further, inside the
更に、図1に示されるように、2本のレール2の下方の空間にも各種の機械部品が搭載されているが、この空間は、加工ユニット4内に搭載された複数のドライバ回路(図示は省略)から、搬送ユニット3内の各種のアクチュエータ10~13に向かって駆動電流を供給する電気ケーブル(図示は省略)や、搬送ユニット3に搭載された各種のスイッチ・センサー類からの信号を、加工ユニット4に伝達するための信号ケーブル(図示は省略)などが配線される空間となっている。レール2上で搬送ユニット3が進退動する動きに伴って、これらの電気ケーブルや信号ケーブルが空間内で移動すると、互いに絡まったり、何かに引っ掛かったりする虞が生じる。そこで、こうした事態が発生することを避けるため、レール2の下方の空間には、電気ケーブルや信号ケーブルに不要な遊びがある場合はケーブルを手繰ることによって不要な遊びを解消し、電気ケーブルや信号ケーブルが強い力で引っ張られる場合は、手繰ったケーブルを送り出すことによって、ケーブルに適度な遊びを持たせるためのアクチュエータ14~16も搭載されている。本実施例の自動製造機械1では、アクチュエータ14~16としてエアシリンダが採用されており、これらのエアシリンダの動作も、図示しないドライバ回路によって制御されている。
Furthermore, as shown in FIG. 1, various mechanical parts are also mounted in the space below the two
以上に説明したように、自動製造機械1には多数のアクチュエータ10~20が搭載されている。そして、加工しようとする対象物(ここではパイプ材)を目的とする形状に自動で加工するためには、これらのアクチュエータ10~20を適切なタイミングで、適切に動作させる必要がある。これらのアクチュエータ10~20を駆動するのは、それぞれのアクチュエータ10~20のドライバ回路であるが、ドライバ回路がそれぞれのアクチュエータ10~20を駆動する動作は、後述する自動製造機械制御装置100が、予め読み込んでおいた制御プログラムに従って制御している。
As described above, the
図2は、本実施例の自動製造機械制御装置100が、自動製造機械1に搭載されたアクチュエータ10~20の動作を制御する様子を概念的に示したブロック図である。尚、図2においても、制御に必要なスイッチ・センサー類については図示が省略されている。図示されるように、自動製造機械制御装置100とアクチュエータ10との間には、アクチュエータ10の駆動用のドライバ回路10dが設けられており、自動製造機械制御装置100は、直接的にはドライバ回路10dを制御している。アクチュエータ11~20についても同様に、自動製造機械制御装置100とアクチュエータ11~20との間には、アクチュエータ11~20を駆動するためのドライバ回路11d~20dが設けられている。このように、自動製造機械制御装置100は、ドライバ回路10d~20dを介して、間接的にアクチュエータ10~20を制御している。
FIG. 2 is a block diagram conceptually showing how the automatic manufacturing
また、図1を用いて前述したように、本実施例の自動製造機械1では、アクチュエータ10~13、17~20にサーボモータが採用されており、アクチュエータ14~16にはエアシリンダが採用されている。ここで、サーボモータとは、サーボ制御されたモータのことであり、位置(あるいは角度や、速度など)が目標値となるように、モータに流れる電流値をフィードバック制御することによって駆動されるモータである。また、エアシリンダとは、空気圧を利用して可動部を直線移動させるアクチュエータであり、圧縮空気の供給源に接続されたポートを開閉することによって動作するようになっている。また、ポートの開閉にはシーケンス制御が用いられている。
Further, as described above with reference to FIG. 1, in the
このように本実施例の自動製造機械制御装置100には、サーボ制御されるアクチュエータ10~13、17~20と、シーケンス制御されるアクチュエータ14~16とが接続されている。図中で、自動製造機械制御装置100とアクチュエータ10~13、17~20とが実線で接続されているのは、これらのアクチュエータ10~13、17~20がサーボ制御されていることを表している。また、自動製造機械制御装置100とアクチュエータ14~16とが破線で接続されているのは、これらのアクチュエータ14~16がシーケンス制御されることを表している。もちろん、サーボ制御やシーケンス制御以外の方式で制御されるアクチュエータを接続することも可能である。
Thus, the servo-controlled actuators 10-13 and 17-20 and the sequence-controlled actuators 14-16 are connected to the automatic
自動製造機械制御装置100は制御プログラムに従って、ドライバ回路10d~20dを介してアクチュエータ10~20を制御しており、その制御プログラムは、予め作成して自動製造機械制御装置100に読み込ませておく必要がある。ここで、図2に示したように多数のアクチュエータ10~20を、適切なタイミングで適切に動作させるための制御プログラムを作成するのは容易なことではない。特に、サーボ制御やシーケンス制御のように、異なる制御方式のアクチュエータが混在している場合は、制御プログラムの作成に長い期間が必要となる。このため、新たな自動製造機械1の開発期間の中で、半分以上の期間が制御プログラムの作成に費やされてしまうのが現状となっている。
The automatic manufacturing
B.制御プログラムの作成方法 :
B-1.概要 :
図3は、新たな自動製造機械1を開発するための大まかな工程を概念的に示した説明図である。図3(a)には、従来から行われてきた開発工程が示されている。また、図3(b)には、本願の発明者が開発して既に出願済みの新たな開発工程が示されている。
B. How to create a control program:
B-1. Overview :
FIG. 3 is an explanatory diagram conceptually showing a rough process for developing a new
従来の開発工程では、図3(a)に示すように、先ず初めに機械設計技術者が、自動製造機械1に要求される各種の機能を把握した上で、それらの機能を実現するための機構が組み込まれた自動製造機械1の図面を作成する。図面を作成するに際して機械設計技術者は、どのような可動部分が必要なのか、それら可動部分がどのような動作をしなければならないのか、その動作をさせるためには、どれくらいのトルクや可動量や精度を有するアクチュエータが、何処に、何個、必要なのかといった内容を、一つ一つ検討して決定して行くことになる。そして、実際に搭載するアクチュエータを決定して、アクチュエータの搭載性や整備性なども考慮した上で、最終的に図面を完成させる。
In the conventional development process, as shown in FIG. 3(a), first, a machine design engineer grasps the various functions required of the
こうして自動製造機械1の機械設計が完了したら、今度は、その自動製造機械1を制御するための制御プログラムの作成に移行する。制御プログラムの作成には、ソフトウェアに関する専門技術が必要となるため、その専門技術を有する技術者(すなわちプログラマ)が作成しなければならない。そこで、機械技術者は機械設計が終了すると、自らが考えた自動製造機械1の動作を表現するフローチャートを作成した上で、プログラマと打ち合わせをして自動製造機械1の動作を説明する。ここまでが、機械設計技術者による作業となる。
When the mechanical design of the
一方、機械設計技術者と打ち合わせたプログラマは、機械設計技術者が作成したフローチャートや、必要に応じて図面や、その他の資料を熟読することによって自動製造機械1の動作を理解した上で、自動製造機械1に搭載された各種のアクチュエータの動作を制御するための制御プログラムの作成を開始する。プログラマは、人間が判読可能な高級プログラム言語を用いて制御プログラムを作成するが、コンピュータは高級プログラム言語のままでは制御プログラムを実行することはできない。そこで、プログラマは、制御プログラムが完成したら、高級プログラム言語で記述された制御プログラムを、コンピュータが実行可能な機械語の制御プログラムに変換することによって、最終的に制御プログラムを完成させる。尚、高級プログラム言語の制御プログラムを機械語の制御プログラムに変換する作業は、コンパイルと呼ばれており、この作業は、コンパイラと呼ばれる専用プログラムを用いることによって短時間で終了する。
On the other hand, the programmer who has a meeting with the mechanical design engineer understands the operation of the
図3(a)に例示されるように、従来から行われてきた開発工程では、機械設計に要する期間の1.5倍~2.5倍程度の期間が、制御プログラムの作成に費やされるのが通常である。しかも、機械設計と制御プログラムの作成とは、大部分の工程がオーバーラップさせて進行させることが困難であるため、自動製造機械1の全体としての開発期間が長くなってしまう。加えて、機械設計技術者およびプログラマという異なる技術を有する専門家を確保する必要があり、このことも、新たな自動製造機械1を開発する際の大きな障害となっている。
As exemplified in Fig. 3(a), in the conventional development process, it takes about 1.5 to 2.5 times the time required for machine design to create a control program. is normal. Moreover, since it is difficult to proceed with most of the processes of machine design and control program creation overlapping, the development period for the
一方、図3(b)には、本願の発明者が提案する新たな方法を用いて、自動製造機械1を開発する工程が示されている。新たな方法を用いた場合でも、機械設計自体は、従来の方法と同様である。すなわち、機械設計技術者が、自動製造機械1に要求される各種の機能を把握した上で、それらの機能を実現するための機構が組み込まれた自動製造機械1の図面を作成する。その際には、機能の実現に必要な可動部分や、可動部分の動作内容や、可動部分を動かすためのアクチュエータの性能などを検討して、アクチュエータを決定した上で、アクチュエータの搭載性や整備性なども考慮して最終的に図面を完成させる。
On the other hand, FIG. 3B shows the process of developing the
図面が完成すると、新たな開発工程では、機械設計技術者は、フローチャートの代わりにYOGOチャートを作成する(図3(b)参照)。YOGOチャートとは、本願の発明者が独自に発案した特殊な動作チャートであり、機械設計技術者が機械設計する際に考えた各アクチュエータの動作をチャートの形式で記述したものである。尚、本実施例のYOGOチャートは、本発明における「動作チャート」に対応する。 When the drawing is completed, in the new development process, the mechanical design engineer creates a YOGO chart instead of the flow chart (see FIG. 3(b)). A YOGO chart is a special operation chart originally devised by the inventor of the present application, and describes in the form of a chart the operation of each actuator considered by a mechanical design engineer when designing a machine. The YOGO chart of this embodiment corresponds to the "movement chart" of the present invention.
YOGOチャートについては、後ほど詳しく説明するが、YOGOチャートは、機械設計技術者が機械設計する際に考えた各アクチュエータの動作を、考えた通りに書き表したものに過ぎない。このため、機械設計した機械設計技術者であれば、フローチャートを作成する半分程度の期間で作成することができる(図3(b)参照)。加えて、YOGOチャートは、専用のコンパイラに掛けることによって、コンピュータのCPUが実行可能な制御プログラムに変換することができる。YOGOチャートを制御プログラムに変換可能な理由についても後述する。このように、自動製造機械1の動作をYOGOチャートに記述するようにすれば、YOGOチャートから機械語の制御プログラムを生成することができるので、図3に示したように、従来の方法に比べて、新たな自動製造機械1の開発期間を、少なくとも半分以下(代表的には1/3程度)に短縮することができる。加えて、YOGOチャートは機械設計技術者が簡単に作成することができ、プログラマを確保しておく必要もない。このため、新たな自動製造機械1を開発する際に大きな障害となっていた様々な事柄を、ほとんど完全に解消することが可能となる。加えて、自動製造機械1の動作を変更する場合や、自動製造機械1に新たなアクチュエータを追加する場合でも、YOGOチャートを書き直して専用のコンパイラに掛けてやれば、直ちに制御プログラムを生成することが可能となる。以下では、こうしたことが可能となる理由について説明する。
The YOGO chart will be described in detail later, but the YOGO chart is merely a representation of the operation of each actuator considered by a mechanical design engineer when designing the machine. Therefore, a mechanical design engineer who designed a machine can create a flow chart in about half the period (see FIG. 3(b)). In addition, the YOGO chart can be converted into a control program executable by the computer's CPU by running it through a special compiler. The reason why the YOGO chart can be converted into the control program will also be described later. By describing the operation of the
B-2.YOGOチャートから制御プログラムを自動で生成する原理 :
図4は、動作チャート(YOGOチャート)から自動製造機械1の制御プログラムを自動で生成する原理についての説明図である。図4(a)には、各種改良を施す前の原始的なYOGOチャートが示されている。後述する本実施例のYOGOチャートは、図4(a)に示した原始的なYOGOチャートを発展させて改良したものとなっているが、制御プログラムを自動で生成する原理は原始的なYOGOチャートと同じである。そこで、理解を容易とするために、図4(a)に示した原始的なYOGOチャートを用いて、YOGOチャートから制御プログラムを自動で生成する原理について説明する。また、説明が複雑化することを避けるため、自動製造機械1に搭載されているアクチュエータは、2つのモータA,B、および2つのシリンダA,Bのみであるとする。
B-2. Principle of automatically generating a control program from a YOGO chart:
FIG. 4 is an explanatory diagram of the principle of automatically generating the control program for the
図4(a)に示したように、YOGOチャートでは、これらのアクチュエータ(ここでは、モータA,B、およびシリンダA,B)の基本的な動作を組み合わせることによって、自動製造機械1の動作を表現する。ここで、アクチュエータの基本的な動作とは、アクチュエータが有する自由度方向への動作(以下、基本動作)のことである。例えば、モータのような回転するアクチュエータであれば、回転動作が基本動作となり、シリンダのような進退動するアクチュエータであれば、進退動する動作が基本動作となる。また、モータによってボールねじを回転させることによって、ボールねじに噛み合う部材を進退動させるようなアクチュエータの場合は、モータの回転動作、あるいは部材が進退動する動作の何れかが基本動作となる。
As shown in FIG. 4A, in the YOGO chart, the operation of the
また、YOGOチャートでは、自動製造機械1が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、個々のアクチュエータの基本動作は、これらの部分期間の何れかに割り当てられている。図4(a)に示した例では、自動製造機械1の動作期間が5つの部分期間1~5に分割されており、部分期間1には、シリンダAが動作量(a)で進退動する動作が割り当てられている。また、部分期間2には、モータAが動作量(b)で回転する動作が割り当てられている。部分期間には複数の動作を割り当てることもできる。すなわち、部分期間3には、モータBが動作量(c)で回転する動作と、シリンダBが動作量(d)で進退動する動作の2つの動作が割り当てられており、部分期間4には、モータAが動作量(-b)で回転する動作と、モータBが動作量(-c)で回転する動作と、シリンダBが動作量(-d)で進退動する動作の3つの動作が割り当てられている。そして、最後の部分期間5には、シリンダAが動作量(-a)で進退動する動作が割り当てられている。
In addition, in the YOGO chart, the operation period from the start to the end of the operation of the
このように、部分期間にアクチュエータの基本動作を割り当てることによって、自動製造機械1が実行する次のような動作を記述することができる。先ず、シリンダAを動作量(a)だけ進退動させて、シリンダAの動作が終了したら、モータAを動作量(b)だけ回転させる。そして、モータAの動作が終了したら、モータBを動作量(c)だけ回転させると共に、シリンダBを動作量(d)だけ進退動させる。モータBおよびシリンダBの動作が終了したら、モータAおよびモータBをそれぞれ動作量(-a)および動作量(-c)だけ回転させると共に、シリンダBを動作量(-d)だけ進退動させる。そして、モータA、モータB、およびシリンダBの全ての動作が終了したら、最後にシリンダAを動作量(-a)だけ進退動させて、全ての動作を終了する。このように、自動製造機械1に搭載されているアクチュエータの基本動作を何れかの部分期間に割り当ててやれば、自動製造機械1の動作を記述することが可能となる。
By assigning basic operations of the actuators to partial periods in this way, the following operations performed by the
尚、以上の説明から明らかなように、部分期間は、割り当てられたアクチュエータが動作する期間を示しており、時間の長さを示しているわけではない。例えば、部分期間1の時間の長さはシリンダAが動作に要する時間となり、部分期間2の時間の長さはモータAが動作に要する時間となり、部分期間3の時間の長さは、モータBが動作に要する時間、およびシリンダBが動作に要する時間の長い方の時間となる。従って、それぞれの部分期間の時間の長さは、互いに異なっていることが通常である。
As is clear from the above description, the partial period indicates the period during which the assigned actuator operates, and does not indicate the length of time. For example, the length of time for
また、部分期間に割り当てられるアクチュエータの基本動作は、例えばモータを一定量だけ回転させたり、あるいはシリンダを一定量だけ進退動させたりするといった単純な動作である。従って、アクチュエータに基本動作させるための小さなプログラム(プログラム要素)を予め作成しておくことができる。ここでは自動製造機械1に搭載されているアクチュエータは、シリンダA,B、およびモータA,Bの4つであるとしているから、図4(b)に示すように、モータAを動作させるためのプログラム要素prog1と、モータBを動作させるためのプログラム要素prog2と、シリンダAを動作させるためのプログラム要素prog3と、シリンダBを動作させるためのプログラム要素prog4とを予め作成しておくことができる。
The basic operation of the actuator assigned to the partial period is a simple operation such as rotating a motor by a fixed amount or moving a cylinder back and forth by a fixed amount. Therefore, a small program (program element) for causing the actuator to perform basic operations can be created in advance. Here, the actuators mounted on the
そこで、これらのプログラム要素を、図4(a)に示した原始的なYOGOチャートに記述された通りに連結してやれば、自動製造機械1を動作させるための制御プログラムを自動で生成することが可能となる。すなわち、図4(c)に示したように、初めにプログラム要素prog3が起動し、プログラム要素prog3が終了したらプログラム要素prog1が起動し、プログラム要素prog1が終了したら、プログラム要素prog2およびプログラム要素prog4が起動する。プログラム要素prog3、プログラム要素prog1、プログラム要素prog2、プログラム要素prog4の動作量は、YOGOチャート上での指定に従って、それぞれ(a)、(b)、(c)、(d)を使用する。更に、プログラム要素prog2およびプログラム要素prog4が何れも終了したら、今度は、プログラム要素prog1と、プログラム要素prog2と、プログラム要素prog4とを起動する。この時の動作量は、YOGOチャート上での指定に従って、それぞれ(-b)、(-c)、(-d)を使用する。これらのプログラム要素prog1、prog2、prog4が何れも終了したら、最後にプログラム要素prog3を起動する。この時の動作量は、YOGOチャート上での指定に従って(-a)を使用する。そして、プログラム要素prog3が終了したら、図4(a)のYOGOチャートに記述した自動製造機械1の動作が終了したことになる。
Therefore, by connecting these program elements as described in the primitive YOGO chart shown in FIG. 4(a), it is possible to automatically generate a control program for operating the
以上に説明したように、自動製造機械1の動作を、図4(a)に示したYOGOチャートの態様で記述しておけば、図4(c)に示した制御プログラムを生成して、自動製造機械1を動作させることができる。もっとも、自動製造機械1が意図した通りに動作するためには、YOGOチャートが正しく作成されている必要がある。以下に説明する本実施例のYOGOチャートは、こうした観点から、図4(a)に例示した原始的なYOGOチャートに対して様々な改良を加えた結果として得られたものである。
As described above, if the operation of the
B-3.YOGOチャート :
図5は、本実施例のYOGOチャート200の概要を説明するための説明図である。尚、YOGOチャート200の全体を表示するために縮尺すると、潰れて判読不能となってしまうので、図5ではYOGOチャート200の一部分(左上隅の部分)が表示されている。図5に示されるように、YOGOチャート200は、複数本の横線と複数本の縦線とが交差した大きな表のような形状となっている。以下では、交差する複数本の線の内、横線については「仕切線」201と称し、縦線については「トリガー線」202と称することにする。
B-3. YOGO chart:
FIG. 5 is an explanatory diagram for explaining the outline of the
トリガー線202には、1番から始まる通し番号が付けられている。図5に示した例では、YOGOチャート200の上端の欄内に、その下のトリガー線202の通し番号が記載されている。また、互いに隣接するトリガー線202の間の領域は、図4を用いて前述した部分期間となっており、部分期間にも1番から始まる通し番号(以下、部分期間番号と称する)が付けられている。尚、図5に例示したYOGOチャート200では、トリガー線202が縦方向に引かれており、従って、トリガー線202とトリガー線202とに挟まれた部分期間は横方向に並んでいる。しかし、トリガー線202は横方向に引いても良く、この場合は、複数の部分期間が縦方向に並ぶことになる。
The trigger lines 202 are numbered serially starting with number one. In the example shown in FIG. 5, the column at the top of the
また、本実施例のYOGOチャート200は、複数の仕切線201によって複数の横長の領域に分割されており、これらの横長の領域には1番から始まる通し番号(以下、アクチュエータ番号と称する)が付けられている。自動製造機械1に搭載されたアクチュエータは、何れかの領域に割り当てられている。図5に示した例では、アクチュエータ番号が1番の領域には、アクチュエータ10(図1参照)が割り当てられており、アクチュエータ番号が2番の領域にはアクチュエータ11(図1参照)が割り当てられ、アクチュエータ番号が3番の領域にはアクチュエータ12(図1参照)が、アクチュエータ番号が4番の領域にはアクチュエータ13(図1参照)が割り当てられている。本実施例の自動製造機械1にはアクチュエータ10~20の11個のアクチュエータが搭載されているから、これらすべてのアクチュエータについて、このように横長の領域が1つずつ割り当てられることになる。
The
そして、アクチュエータ10~20の基本動作は、そのアクチュエータ10~20が割り当てられた領域上に記載されるようになっている。例えば、アクチュエータ10を部分期間4で基本動作させるのであれば、YOGOチャート200上で、アクチュエータ番号が1番、部分期間番号が4番で特定されるマス目状の座標位置に、アクチュエータ10にさせたい基本動作206を記載する。また、部分期間4と部分期間8とでアクチュエータ10に基本動作させるのであれば、アクチュエータ番号が1番で部分期間番号が4番のマス目状の座標位置と、アクチュエータ番号が1番で部分期間番号が8番の座標位置とに、アクチュエータ10にさせたい基本動作206を記載することになる。このように、アクチュエータ10の基本動作206は、YOGOチャート200上でアクチュエータ番号が1番の横長の領域上に記載され、アクチュエータ11の基本動作206は、アクチュエータ番号が2番の横長の領域上に記載されるというように、アクチュエータ10~20の基本動作206は、YOGOチャート200上でそのアクチュエータ10~20が割り当てられた領域上に記載されるようになっている。本実施例のYOGOチャート200が、このようにして基本動作を記載しているのは、次のような理由による。
Basic operations of the
初めに、図4(a)に例示した原始的なYOGOチャートについて説明すると、原始的なYOGOチャートでは、複数のアクチュエータの動作が混在して記述されており、例えば、部分期間1で動作したシリンダAが、次にどの動作期間で動作するのかを直ちに認識することが難しい。このため、それぞれのアクチュエータが動作する様子をイメージすることが難しく、更には、各アクチュエータの動作回数を判読することも難しい。その結果、例えば、元の位置に復帰していないアクチュエータが存在することに気づかなかったり、動作を記述し忘れているアクチュエータが存在することに気づかなかったりする虞がある。 First, the primitive YOGO chart exemplified in FIG. 4(a) is described. It is difficult to immediately recognize in which operating period A will operate next. Therefore, it is difficult to imagine how each actuator operates, and it is also difficult to read the number of operations of each actuator. As a result, for example, it may not be noticed that there is an actuator that has not returned to its original position, or that there is an actuator whose operation has been forgotten to be described.
これに対して、本実施例のYOGOチャート200は、図5に示されるように、アクチュエータ毎に動作が記述される領域が分離されているので、どのアクチュエータが、どの部分期間で動作しているのかを視覚によって把握して容易にイメージすることができ、各アクチュエータの動作回数を容易に判読することができる。このため、元の位置に復帰していないアクチュエータが存在していたり、動作を記述し忘れているアクチュエータが存在していたりした場合でも、そのことを容易に認識することができる。その結果、自動製造機械1を意図した通りに動作させるYOGOチャート200を容易に作成することが可能となる。
On the other hand, in the
また、本実施例のYOGOチャート200には、次のようにして基本動作を記述する。一例として、図5のYOGOチャート200で最初に動作するアクチュエータ13の基本動作について説明する。動作するアクチュエータはアクチュエータ13であり、且つ、最初に動作するのであるから、YOGOチャート200上で基本動作が記載される位置は、アクチュエータ番号が4番で、部分期間番号が1番のマス目状の座標位置となる。部分期間番号が1番のマス目は、1番のトリガー線202と、2番のトリガー線202とに挟まれているから、左側に存在する1番のトリガー線202から、右側に存在する2番のトリガー線202に向かって、アクチュエータの動作を示す動作線203を記入する。そして、動作線203の左端(従って1番のトリガー線202上)には動作の開始を示す始点204を記入し、動作線203の右端(従って2番のトリガー線202上)には動作の終了を示す終点205を記入する。図5に示した例では、動作線203は太い実線で示されており、始点204は白抜きの丸印で示されて、終点205は黒い丸印で示されている。
Also, in the
更に、動作線203の上には、アクチュエータにさせようとする基本動作を記入する。ここで、本実施例のYOGOチャート200では、基本動作を「動作記述」と「数値テーブル」の2つの要素を用いて記入する。図5に示した例では、アクチュエータ番号が4番で、部分期間番号が1番の動作線203の上には、「Ω-AC」と「AC-B11」という2つの表示が記載されているが、「Ω-AC」という表示が動作記述206aであり、「AC-B11」という表示が数値テーブル206bである。動作記述206aおよび数値テーブル206bの詳細については後述するが、大まかにいうと、動作記述206aとは、基本動作の定性的な内容(例えば、前進、後退、回転など)を記述した表示である。また、数値テーブル206bとは、基本動作の定量的な内容(例えば、移動量や、速度や、トルクなど)を示す数値が設定されたテーブルである。
Further, above the
従って、図5のYOGOチャート200上で、アクチュエータ番号が4番、部分期間番号が1番の座標位置に記入された「Ω-AC」、「AC-B01」という表示は、以下のような内容、すなわち、アクチュエータ番号が4番のアクチュエータ(図5の例ではアクチュエータ13)を、部分期間番号が1番のタイミングで、「Ω-AC」という動作記述206aに従って基本動作させ、且つ、基本動作させる際に使用する具体的な数値は、「AC-B01」という数値テーブル206bに設定された数値を用いることを表している。
Therefore, on the
また、図5のYOGOチャート200に示されるように、アクチュエータ10に対しては「Ω-AA」という動作記述206aが記載されているが、アクチュエータ11に対しては「Ω-AB」という動作記述206aが記載されている。この理由は、図1を用いて前述したように、アクチュエータ10はチャック3bを開閉させるためのアクチュエータであり、アクチュエータ11は把持軸3aを軸回りに回転させるためのアクチュエータであるためである。アクチュエータ10の基本動作の動作記述206aは「開閉動作」となり、アクチュエータ11の基本動作の動作記述206aは「回転動作」となるため、アクチュエータ10とアクチュエータ11とでは、異なる動作記述206aが使用される。同様な理由から、アクチュエータ11とアクチュエータ12とも、異なる動作記述206aが使用される。
Further, as shown in the
これに対して、アクチュエータ12およびアクチュエータ13は「Ω-AC」という同じ動作記述206aが使用される。図1を用いて前述したように、アクチュエータ12は把持軸3aを軸方向に進退動させるためのアクチュエータであり、アクチュエータ13は搬送ユニット3の全体を進退動させるためのアクチュエータであって、移動させる対象物の大きさや重量や移動量などは大きく異なるが、対象物を進退動させる点では同じである。このため、アクチュエータ12およびアクチュエータ13は、同じ動作記述206aを使用することができる。また、アクチュエータ17は加工ユニット4の全体を上下動させるためのアクチュエータであるが、上下動は進退動の一種と考えることができるから、アクチュエータ17も、アクチュエータ12やアクチュエータ13と同じく「Ω-AC」という動作記述206aを使用することができる。更に、アクチュエータ14~16は、何れもエアシリンダを進退動させるアクチュエータであるから、これらは何れも「Ω-CA」という動作記述206aが使用されている。
On the other hand,
このように、本実施例のYOGOチャート200では、アクチュエータの基本動作を、原則として、動作記述206aと数値テーブル206bとを用いて記述する。こうすれば、多くのアクチュエータについて、動作記述206aを共通化することが可能となる。図1に示したように、本実施例の自動製造機械1にはアクチュエータ10~20の11個のアクチュエータが搭載されているが、YOGOチャート200で用いられる動作記述206aは4種類となっている。
As described above, in the
B-4.動作記述 :
図6は、本実施例のYOGOチャート200で用いられる動作記述206aの詳細についての説明図である。「Ω-AA」という動作記述206aは、アクチュエータに開閉動作させることを表す動作記述206aであり、この動作記述206aはACサーボモータにチャック機構を組み合わせたアクチュエータを想定している。逆に言えば、ACサーボモータにチャック機構を組み合わせたアクチュエータでない場合は、たとえ、そのアクチュエータの動作が開閉動作である場合でも、「Ω-AA」という動作記述206aを使用することはできない。
B-4. Behavioral description:
FIG. 6 is an explanatory diagram of the details of the
また、「Ω-AA」という動作記述206aは、ACサーボモータにチャック機構を組み合わせたアクチュエータに開閉動作させるという単純な動作内容を記述したものであるから、その動作内容を実現するための小さなプログラム(すなわち、プログラム要素)を予め作成しておくことができる。このことから、動作記述206aには、その動作内容を実現させるプログラム要素を特定するための通し番号(以下、プログラム要素番号)が対応付けて記憶されている。尚、同じように開閉動作するアクチュエータであっても、ACサーボモータにチャック機構を組み合わせたアクチュエータでない場合は、「Ω-AA」という動作記述206aを使用することができない理由は、動作記述206aにプログラム要素番号が対応付けて記憶されるからである。すなわち、アクチュエータの構造が異なれば、アクチュエータを動作させるためのプログラム要素は異なると考えられるので、対応付けられるプログラム要素が異なる以上、動作記述206aも異ならせておく必要があるためである。
The
また、図6に示すように、「Ω-AB」という動作記述206aは、ACサーボモータに減速機構を組み合わせたアクチュエータを想定して、そのアクチュエータに回転動作させることを表す動作記述206aであり、プログラム要素番号は7番が対応付けて記憶されている。同様に、「Ω-AC」という動作記述206aは、ACサーボモータにボールねじ機構を組み合わせたアクチュエータを想定して、そのアクチュエータに進退動作させることを表す動作記述206aであり、プログラム要素番号は4番が対応付けて記憶されている。更に、「Ω-CA」という動作記述206aは、エアシリンダによるアクチュエータを想定して、そのアクチュエータに進退動作させることを表す動作記述206aであり、プログラム要素番号は2番が対応付けて記憶されている。
Further, as shown in FIG. 6, a
B-5.数値テーブル :
また、動作記述206aは、開閉動作や、回転動作、進退動作などのように、動作の内容を定性的に記述したものに過ぎないので、動作記述206aは原則として数値テーブル206bと組み合わせて使用される。例えば、図5に示したYOGOチャート200では、アクチュエータ番号が1番のアクチュエータ10に対して用いられる動作記述206aは「Ω-AA」であるが、部分期間番号が4番のタイミングでは「AA-B01」という数値テーブル206bが使用され、部分期間番号が6番のタイミングでは「AA-B01」という数値テーブル206bが、部分期間番号が10番のタイミングでは「AA-B01」という数値テーブル206bが使用されている。ここで、「AA-B01」という名称は、「Ω-AA」という動作記述206aと組み合わせて使用される「B01」という数値テーブル206bであることを表している。同様に、「AA-B02」という名称は、「Ω-AA」という動作記述206aと組み合わせて使用される「B02」という数値テーブル206bであることを表している。
B-5. Numeric table:
In addition, since the
図7は「Ω-AA」という動作記述206aと組み合わせて使用される数値テーブル206bを例示した説明図である。図7(a)には「AA-B01」という数値テーブル206bが示されており、図7(b)には「AA-B02」という数値テーブル206bが示されている。尚、図7では2つの数値テーブル206bが例示されているが、必要に応じてより多くの数値テーブル206bを設定することができる。図7に例示した数値テーブル206bには、「数値テーブル番号」、「開閉速度」、「開閉荷重」、「参照テーブル」の4つの項目が設定されている。このうちの「数値テーブル番号」は数値テーブル206bの通し番号である。例えば、数値テーブル番号を5番と指定すると、図7(a)の「AA-B01」という数値テーブル206bが特定され、数値テーブル番号を6番と指定すると、図7(b)の「AA-B02」という数値テーブル206bが特定されるようになっている。「参照テーブル」については後ほど説明する。
FIG. 7 is an explanatory diagram exemplifying the numerical table 206b used in combination with the
また、図7に例示した数値テーブル206bには4つの項目が設定されているが、動作記述206aと組み合わせて、基本動作を記述するために用いられるのは、「開閉速度」と「開閉荷重」という2つの項目である。ここで、「開閉速度」と「開閉荷重」という2つの項目が設定されている理由は、この数値テーブル206bが、開閉動作を表す「Ω-AA」という動作記述206aと組み合わせて使用されるためである。すなわち、「Ω-AA」という動作記述206aだけでは、開閉動作させるという定性的な内容しか分からず、開閉動作させる速度や開閉時の荷重といった定量的な内容については分からない。そこで、数値テーブル206bに「開閉速度」および「開閉荷重」という項目を設けて、これらの数値を設定しておくようになっている。尚、数値テーブル206bの「開閉速度」にはプラスの数値が設定されているのは、閉動作させることを表しており(図7(a)参照)、マイナスの数値が設定されているのは開動作させることを表している(図7(b)参照)。
Four items are set in the numerical table 206b illustrated in FIG. 7, but the items used to describe the basic motion in combination with the
また、図5のYOGOチャート200では、アクチュエータ番号が2番のアクチュエータ11に対しては「Ω-AB」という動作記述206aが使用されるが、部分期間番号が2番のタイミングでは「AB-B01」という数値テーブル206bが組み合わせて用いられ、部分期間番号が8番のタイミングでは「AB-B02」という数値テーブル206bが組み合わせて用いられている。「AB-B01」および「AB-B02」という名称は、それぞれ「Ω-AB」という動作記述206aと組み合わせて使用される「B01」および「B02」という数値テーブル206bであることを表している。
In addition, in the
図8は「Ω-AB」という動作記述206aと組み合わせて使用される数値テーブル206bを例示した説明図である。図8(a)には「AB-B01」という数値テーブル206bが示されており、図8(b)には「AB-B02」という数値テーブル206bが示されている。尚、図8では2つの数値テーブル206bが例示されているが、必要に応じてより多くの数値テーブル206bを設定することができる。図8に例示した数値テーブル206bには、「数値テーブル番号」および「参照テーブル」に加えて、「回転角度」、「回転速度」、「回転トルク」の全部で5つの項目が設定されている。これらの内で「回転角度」、「回転速度」、「回転トルク」の項目が、動作記述206aと組み合わせて、基本動作を記述するために用いられる項目である。また、図8の数値テーブル206bに「回転角度」、「回転速度」、「回転トルク」の項目が設定されている理由は、この数値テーブル206bが、回転動作を表す「Ω-AB」という動作記述206aと組み合わせて使用されるためである。すなわち、「Ω-AB」という動作記述206aだけでは回転動作させることしか分からないので、回転させる角度や、回転させる速度、回転させるトルクについては、「回転角度」、「回転速度」、「回転トルク」という項目で数値テーブル206bに数値を設定しておくようになっている。尚、数値テーブル206bの「回転角度」にプラスの数値が設定される場合と、マイナスの数値が設定される場合とが存在するのは、回転方向が逆であることを表している。
FIG. 8 is an explanatory diagram exemplifying the numerical table 206b used in combination with the
更に、図5のYOGOチャート200では、アクチュエータ番号が3番のアクチュエータ12、4番のアクチュエータ13、および8番のアクチュエータ17に対しては、何れも「Ω-AB」という動作記述206aが使用されている。その一方で、数値テーブル206bについては、アクチュエータ番号が3番のアクチュエータ12と4番のアクチュエータ13と8番のアクチュエータ17とで、異なる数値テーブル206bが使用されている。すなわち、アクチュエータ番号が3番のアクチュエータ12に対しては、「AC-B01」あるいは「AC-B02」という数値テーブル206bが組み合わせて用いられ、アクチュエータ番号が4番のアクチュエータ13に対しては、「AC-B11」あるいは「AC-B12」という数値テーブル206bが、アクチュエータ番号が8番のアクチュエータ17に対しては、「AC-B21」あるいは「AC-B22」という数値テーブル206bが組み合わせて用いられている。ここで、「AC-B01」、「AC-B02」、「AC-B11」、「AC-B12」、「AC-B21」、「AC-B22」という名称は、それぞれ「Ω-AC」という動作記述206aと組み合わせて使用される「B01」、「B02」、「B11」、「B12」、「B21」、「B22」という数値テーブル206bであることを表している。
Further, in the
図9は「Ω-AC」という動作記述206aと組み合わせて使用される数値テーブル206bを例示した説明図である。尚、図9では6つの数値テーブル206bが例示されているが、必要に応じてより多くの数値テーブル206bを設定することができる。図9に例示した数値テーブル206bには、「数値テーブル番号」および「参照テーブル」に加えて、「移動量」、「移動速度」、「移動荷重」の全部で5つの項目が設定されている。これらの内で「移動量」、「移動速度」、「移動荷重」の項目が、動作記述206aと組み合わせて、基本動作を記述するために用いられる項目である。また、図9の数値テーブル206bに「移動量」、「移動速度」、「移動荷重」の項目が設定されている理由は、この数値テーブル206bが、進退動作を表す「Ω-AC」という動作記述206aと組み合わせて使用されるためである。尚、数値テーブル206bの「移動量」にプラスの数値が設定される場合と、マイナスの数値が設定される場合とが存在するのは、移動方向が逆であることを表している。
FIG. 9 is an explanatory diagram exemplifying the numerical table 206b used in combination with the
更に、図5のYOGOチャート200で、アクチュエータ番号が5番のアクチュエータ14、6番のアクチュエータ15、および7番のアクチュエータ16に対しては、何れも「Ω-CA」という動作記述206aが使用されている。これは、アクチュエータ14~16が何れもエアシリンダであり、基本動作の内容が「進退動作」であることに対応している。また、「Ω-CA」という動作記述206aに対しては、数値テーブル206bが組み合わされていない。この理由は、アクチュエータ14~16が、2つの動作ポートの内で空気圧を加える動作ポートを切り換えることで動作するエアシリンダであるため、動作の内容を記述するために定量的な数値を用いる必要が無いためである。
Further, in the
以上に詳しく説明したように、本実施例のYOGOチャート200では、部分期間番号とアクチュエータ番号との組み合わせで規定される座標位置に、基本動作を記入することによって、基本動作させるアクチュエータと基本動作させるタイミングとを特定する。更に、基本動作は、原則として、動作記述206aと数値テーブル206bとの組み合わせによって表現することとしている。こうすることによって、YOGOチャート200に誤った内容を記載する事態を回避することが可能となる。これは次のような理由による。
As described in detail above, in the
例えば、あるアクチュエータの基本動作を記述する場合、単に「前進」あるいは「回転」という記述に比べると、「55mmだけ前進」あるいは「35度だけ正方向に回転」と記述するのは大幅に難易度が増加する。この理由は、「アクチュエータを前進させる」あるいは「アクチュエータを回転させる」という定性的な記述は、人間が考えた内容を素直に表現したものに過ぎないのに対して、「55mmだけ」あるいは「35度だけ」という定量的な内容が加わると、もはや、考えた内容を素直に表現したものとは言えなくなってしまうためである。図5に例示したようにYOGOチャート200には多数の基本動作が記入されるから、個々の基本動作を記入するための難易度が高くなると、YOGOチャート200全体として誤った内容が記入される可能性が高くなる。
For example, when describing the basic operation of an actuator, it is much more difficult to describe "advance by 55 mm" or "rotate in the positive direction by 35 degrees" than simply "forward" or "rotate". increases. The reason for this is that the qualitative descriptions such as ``advance the actuator'' or ``rotate the actuator'' are nothing more than simple representations of human thinking, whereas ``only 55 mm'' or ``35 This is because if the quantitative content of "only once" is added, it can no longer be said to be a straightforward expression of the content of the thought. As illustrated in FIG. 5, since many basic motions are entered in the
これに対して本実施例のYOGOチャート200では、基本動作を動作記述206aと数値テーブル206bとの組み合わせによって記述しているので、YOGOチャート200を作成する際には動作記述206aを記入することに集中し、数値テーブル206bについては取りあえず記入しておくことができる。こうすれば、YOGOチャート200を作成する作業は、実質的には、人間が考えた内容を素直に表現する作業と同じになるので、YOGOチャート200に誤った内容を記入してしまう可能性を大幅に減少させることができる。また、アクチュエータの移動量などを修正する場合でも、数値テーブル206bだけを修正すればよく、YOGOチャート200は修正する必要が無い。このため、誤ってYOGOチャート200を修正してしまう事態も防止することができる。
On the other hand, in the
加えて、アクチュエータの基本動作を、動作記述206aと数値テーブル206bとに分けて考えると、個々のアクチュエータが取り得る動作記述206aは自ずから限られたものとなる。例えば、図5に示した例では、アクチュエータ10が取り得る動作記述206aは「Ω-AA」のみとなっているが、これは、アクチュエータ10がチャック3bを開閉させるためのアクチュエータであり、基本動作の定性的な記述内容(すなわち、動作記述206a)としては、開閉動作の1種類で十分なためである。もちろん、チャック3bを複数の態様で開閉できるようにして、態様毎に動作記述206aを用意することも可能であるが、このような場合でも個々のアクチュエータが取り得る動作記述206aの種類は、高々数種類に過ぎない。
In addition, if the basic motion of the actuator is divided into the
この結果、YOGOチャート200は、アクチュエータ番号が同じ座標位置には、同じ動作記述206a(異なる場合でも高々数種類の動作記述206a)が繰り返して記入されることになる。このため、誤った動作記述206aが記入されると、その動作記述206aだけ異なった動作記述206aになるので、誤りに容易に気付いて修正することが可能となる。
As a result, in the
B-6.参照テーブル :
図7~図9に例示したように、本実施例の数値テーブル206bには「参照テーブル」という項目も設定されている。この参照テーブルも、YOGOチャート200を容易に作成できるようにするためのものである。
B-6. Reference table:
As exemplified in FIGS. 7 to 9, the numerical value table 206b of this embodiment also includes an item “reference table”. This reference table is also for facilitating creation of the
図10は、図7に示した数値テーブル206bに設定されている参照テーブルを例示した説明図である。図10(a)は、図7(a)の数値テーブル206b(AA-B01)に設定された参照テーブル(AA-A01)を示している。また、図10(b)は、図7(b)の数値テーブル206b(AA-B02)に設定された参照テーブル(AA-A02)を示している。図10に示したこれらの参照テーブルには、「最大速度」、「最大荷重」、「開閉速度標準値」、「開閉荷重標準値」、「チャック機構減速比」、「チェック機構対応直径範囲」という6つの項目が設定されている。 FIG. 10 is an explanatory diagram exemplifying a reference table set in the numerical table 206b shown in FIG. FIG. 10(a) shows the reference table (AA-A01) set in the numerical table 206b (AA-B01) of FIG. 7(a). FIG. 10(b) shows the reference table (AA-A02) set in the numerical table 206b (AA-B02) of FIG. 7(b). These reference tables shown in FIG. 10 include "maximum speed", "maximum load", "opening/closing speed standard value", "opening/closing load standard value", "chuck mechanism reduction ratio", and "diameter range compatible with check mechanism". Six items are set.
この内で「最大速度」、「最大荷重」、「開閉速度標準値」、「開閉荷重標準値」という項目は、これらの参照テーブル(AA-A01、AA-A02)が、図7に示した数値テーブル206b(AA-B01、AA-B02)から参照されることに対応する。すなわち、数値テーブル206b(AA-B01、AA-B02)は「開閉速度」および「開閉荷重」の数値が設定されるテーブルであるが(図7参照)、設定可能な開閉速度の最大値および開閉荷重の最大値が、それぞれ「最大速度」および「最大荷重」として参照テーブルに設定されている。また、「開閉速度標準値」および「開閉荷重標準値」は、数値テーブル206bの「開閉速度」および「開閉荷重」に数値が設定されていない場合に用いられる標準値である。 Among them, the items "maximum speed", "maximum load", "opening/closing speed standard value", and "opening/closing load standard value" are shown in FIG. It corresponds to referencing from the numerical table 206b (AA-B01, AA-B02). That is, the numerical table 206b (AA-B01, AA-B02) is a table in which numerical values of "opening/closing speed" and "opening/closing load" are set (see FIG. 7). The maximum load values are set in the lookup table as "maximum velocity" and "maximum load" respectively. "Opening/closing speed standard value" and "opening/closing load standard value" are standard values that are used when numerical values are not set for "opening/closing speed" and "opening/closing load" in the numerical table 206b.
そして、図7(a)の数値テーブル206b(AA-B01)を作成する際には、「参照テーブル」という項目に「AA-A01」と設定しておく。また、図7(b)の数値テーブル206b(AA-B02)を作成する際には、「参照テーブル」という項目に「AA-A02」と設定しておく。こうすれば、数値テーブル206b(AA-B01、AA-B02)の「開閉速度」あるいは「開閉荷重」という項目の数値を設定する際に、図10(a)あるいは図10(b)の参照テーブルの「最大速度」あるいは「最大荷重」の項目が参照されて、最大速度や最大荷重を超える不適切な数値が設定されないようにすることができる。このため、適切な数値テーブル206bを簡単に作成することができる。 When creating the numerical value table 206b (AA-B01) in FIG. 7A, "AA-A01" is set in the item "reference table". When creating the numerical value table 206b (AA-B02) in FIG. 7B, "AA-A02" is set in the item "reference table". By doing this, when setting the numerical value of the item "opening/closing speed" or "opening/closing load" in the numerical table 206b (AA-B01, AA-B02), the reference table of FIG. 10(a) or FIG. 10(b) By referring to the items of "maximum speed" or "maximum load", it is possible to prevent inappropriate values exceeding the maximum speed or maximum load from being set. Therefore, an appropriate numeric table 206b can be easily created.
加えて、数値テーブル206b(AA-B01、AA-B02)の項目に数値を設定しなかった場合でも、参照テーブル中の対応する項目に設定された標準値が流用されるので、取りあえず自動製造機械1を動作させて、必要に応じて数値テーブル206bの数値を修正することにより、最終的に適切なYOGOチャート200を完成させるようなことも可能となる。
In addition, even if no numerical values are set in the items of the numerical table 206b (AA-B01, AA-B02), the standard values set in the corresponding items in the reference table are used. 1 and correcting the numerical values in the numerical value table 206b as necessary, it is possible to finally complete an
また、図10(a)および図10(b)の参照テーブルには、「チャック機構減速比」や「チャック機構対応直径範囲」という項目も設定されている。これらは、アクチュエータの機械的な特性を記述したものである。すなわち、参照テーブルは数値テーブル206bから参照されており、数値テーブル206bは具体的なアクチュエータを想定して設定されるものである。従って、参照テーブルも具体的なアクチュエータを想定して設定されていることになる。例えば、図10(a)や図10(b)の参照テーブルは図7(a)や図7(b)の数値テーブル206bから参照されており、これらの数値テーブル206bはアクチュエータ10に対して用いられるから、図10(a)や図10(b)の参照テーブルもアクチュエータ10に対して用いられることになる。
The reference tables in FIGS. 10A and 10B also include items such as "chuck mechanism speed reduction ratio" and "diameter range for chuck mechanism". These describe the mechanical properties of the actuator. That is, the reference table is referenced from the numerical table 206b, and the numerical table 206b is set assuming a specific actuator. Therefore, the reference table is also set assuming a specific actuator. For example, the reference tables of FIGS. 10(a) and 10(b) are referenced from the numerical tables 206b of FIGS. 10(a) and 10(b) are also used for the
このように、参照テーブルはそれぞれに固有のアクチュエータに適用される。そこで、そのアクチュエータの機械的な特性を参照テーブルに設定しておく。図10に例示した参照テーブルは、ACサーボモータにチャック機構を組み合わせてチャック3bを開閉させるアクチュエータ11に適用される。このことに対応して、チャック機構の減速比や、チャック機構で把持可能な部材の直径範囲などの機械的な特性が、参照テーブルに設定されている。こうして参照テーブルに特性値を設定しておけば、ACサーボモータを制御する際にこれらの機械的な特性が必要となった場合でも、参照テーブルを参照して特性値を読み出すことができるので、誤った特性値がモータの制御に用いられて、アクチュエータが誤って制御されてしまう事態を回避することが可能となる。
Thus, the lookup table applies to each unique actuator. Therefore, the mechanical characteristics of the actuator are set in a reference table. The reference table illustrated in FIG. 10 is applied to an
図11は、図8に示した2つの数値テーブル206bに設定されている参照テーブルを例示した説明図である。図11(a)は、図8(a)の数値テーブル206b(AB-B01)に設定された参照テーブル(AB-A01)を示しており、図11(b)は、図8(b)の数値テーブル206b(AB-B02)に設定された参照テーブル(AB-A02)を示している。これらの参照テーブルには、「角度範囲」、「最大回転速度」、「最大回転トルク」、「回転角度標準値」、「回転速度標準値」、「回転トルク標準値」、「減速比」という7つの項目が設定されている。 FIG. 11 is an explanatory diagram exemplifying reference tables set in the two numerical tables 206b shown in FIG. FIG. 11(a) shows the reference table (AB-A01) set in the numerical table 206b (AB-B01) of FIG. 8(a), and FIG. 11(b) shows the It shows the reference table (AB-A02) set in the numeric table 206b (AB-B02). These reference tables include "angle range", "maximum rotation speed", "maximum rotation torque", "rotation angle standard value", "rotation speed standard value", "rotation torque standard value", and "reduction ratio". Seven items are set.
この内で「角度範囲」、「最大回転速度」、「最大回転トルク」、「回転角度標準値」、「回転速度標準値」、「回転トルク標準値」という項目は、これらの参照テーブル(AB-A01、AB-A02)が、図8に示した数値テーブル206b(AB-B01、AB-B02)から参照されることに対応する。すなわち、数値テーブル206b(AB-B01、AB-B02)は「回転角度」、「回転速度」、および「回転トルク」の数値が設定されるテーブルであり(図8参照)、これに対応して、実際に取り得る最大の角度範囲や、最大回転速度、最大回転トルクが、それぞれ参照テーブルに設定されている。また、「回転角度標準値」や「回転速度標準値」や「回転トルク標準値」は、数値テーブル206bの「回転角度」や「回転速度」や「回転トルク」に数値が設定されていない場合に用いられる標準値である。 Among them, the items "angle range", "maximum rotation speed", "maximum rotation torque", "rotation angle standard value", "rotation speed standard value", and "rotation torque standard value" are based on these reference tables (AB -A01, AB-A02) corresponds to referencing from the numerical table 206b (AB-B01, AB-B02) shown in FIG. That is, the numerical table 206b (AB-B01, AB-B02) is a table in which numerical values of "rotational angle", "rotational speed", and "rotational torque" are set (see FIG. 8). , the maximum angle range that can actually be obtained, the maximum rotational speed, and the maximum rotational torque are set in reference tables. Also, the "rotational angle standard value", "rotational speed standard value", and "rotational torque standard value" are not set in the "rotational angle", "rotational speed", and "rotational torque" of the numerical table 206b. is the standard value used for
図8(a)や図8(b)の数値テーブル206b(AB-B01、AB-B02)を作成する際には、「参照テーブル」という項目に「AB-A01」あるいは「AB-A02」と設定しておく。こうすれば、数値テーブル206b(AB-B01、AB-B02)の「回転角度」の数値を設定する際に、参照テーブルの「角度範囲」という項目が参照されて、回転後の角度が±180度を超える数値が設定できないようにすることができる。また、数値テーブル206b(AB-B01、AB-B02)の「回転速度」や「回転トルク」の数値を設定する際にも、参照テーブルの「最大回転速度」や「最大回転トルク」という項目が参照されて、最大回転速度や最大回転トルクを超える不適切な数値が設定されないようにすることができる。 When creating the numerical value table 206b (AB-B01, AB-B02) in FIGS. 8A and 8B, enter "AB-A01" or "AB-A02" in the item "reference table". be set. By doing so, when setting the numerical value of the "rotation angle" in the numerical table 206b (AB-B01, AB-B02), the item "angle range" of the reference table is referred to, and the angle after rotation is ±180. It is possible to prevent the setting of numerical values exceeding degrees. Also, when setting the numerical values of "rotational speed" and "rotational torque" in the numerical table 206b (AB-B01, AB-B02), the items of "maximum rotational speed" and "maximum rotational torque" are included in the reference table. By referring to them, it is possible to prevent the setting of inappropriate numerical values that exceed the maximum rotational speed or maximum rotational torque.
加えて、数値テーブル206b(AB-B01、AB-B02)の項目に数値を設定しなかった場合でも、参照テーブル中の対応する項目に設定された標準値を流用することが可能となる。更に、図11に例示した参照テーブルにも、参照テーブルが用いられるアクチュエータ(ここでは、アクチュエータ11)の機械的な特性値として、減速機構の「減速比」が設定されている。 In addition, even if no numerical values are set in the items of the numerical table 206b (AB-B01, AB-B02), it is possible to use the standard values set in the corresponding items in the reference table. Further, in the reference table illustrated in FIG. 11, the "reduction ratio" of the speed reduction mechanism is also set as a mechanical characteristic value of the actuator (here, actuator 11) for which the reference table is used.
図12は、図9に示した6つの数値テーブル206bに設定されている参照テーブルを例示した説明図である。図12(a)は、図9(a)の数値テーブル206b(AC-B01)に設定された参照テーブル(AC-A01)を示しており、図12(b)は、図9(b)の数値テーブル206b(AC-B02)に設定された参照テーブル(AC-A02)を示している。更に、図12(c)は、図9(c)~図9(f)に示した4つの数値テーブル206b(AC-B11、AC-B12、AC-B21、AC-B22)に設定された参照テーブル(AC-A11、AC-A12、AC-A21、AC-A22)をまとめて示している。これらの参照テーブルには、「移動範囲」、「最大移動速度」、「最大移動荷重」、「移動量標準値」、「移動速度標準値」、「移動荷重標準値」、「減速比」、「ネジピッチ」という8つの項目が設定されている。 FIG. 12 is an explanatory diagram exemplifying reference tables set in the six numerical tables 206b shown in FIG. FIG. 12(a) shows the reference table (AC-A01) set in the numerical table 206b (AC-B01) of FIG. 9(a), and FIG. 12(b) shows the It shows the reference table (AC-A02) set in the numeric table 206b (AC-B02). Further, FIG. 12(c) shows the references set in the four numerical tables 206b (AC-B11, AC-B12, AC-B21, AC-B22) shown in FIGS. 9(c) to 9(f). Tables (AC-A11, AC-A12, AC-A21, AC-A22) are collectively shown. These reference tables include "moving range", "maximum moving speed", "maximum moving load", "standard value of travel amount", "standard value of moving speed", "standard value of moving load", "reduction ratio", Eight items called "screw pitch" are set.
この内で「移動範囲」、「最大移動速度」、「最大移動荷重」、「移動量標準値」、「移動速度標準値」、「移動荷重標準値」という項目は、これらの参照テーブルが、図9に示した数値テーブル206bから参照されることに対応する。すなわち、図9の数値テーブル206bは「移動量」や「移動速度」や「移動荷重」の数値が設定されるテーブルであり(図9参照)、これに対応して、実際に取り得る移動範囲や、最大移動速度、最大移動荷重が、それぞれ参照テーブルに設定されている。また、「移動量標準値」や「移動速度標準値」や「移動荷重標準値」は、数値テーブル206bの「移動量」や「移動速度」や「移動荷重」に数値が設定されていない場合に用いられる標準値である。 Among them, the items "moving range", "maximum moving speed", "maximum moving load", "moving amount standard value", "moving speed standard value", and "moving load standard value" are It corresponds to the reference from the numerical value table 206b shown in FIG. That is, the numerical value table 206b in FIG. 9 is a table in which the numerical values of "moving amount", "moving speed" and "moving load" are set (see FIG. 9). , the maximum moving speed, and the maximum moving load are set in the reference table. Also, the "moving amount standard value", "moving speed standard value", and "moving load standard value" are not set in the "moving amount", "moving speed", and "moving load" of the numerical table 206b. is the standard value used for
図9に例示した数値テーブル206bを作成する際にも、それぞれの数値テーブル206bの「参照テーブル」という項目に、適切な参照テーブルを設定しておけば、数値テーブル206bに不適切な数値が設定されないようにすることができる。また、数値テーブル206bの項目に数値を設定しなかった場合でも、参照テーブル中の対応する項目に設定された標準値を流用することが可能となる。更に、図12に例示した参照テーブルにも、参照テーブルが用いられるアクチュエータの機械的な特性値として、減速機構の「減速比」やボールねじ機構の「ネジピッチ」などが設定されている。 Even when creating the numerical table 206b illustrated in FIG. 9, if an appropriate reference table is set in the item "reference table" of each numerical table 206b, an inappropriate numerical value is set in the numerical table 206b. You can prevent it from happening. Also, even if no numerical value is set in the item of the numerical table 206b, it is possible to use the standard value set in the corresponding item in the reference table. Furthermore, in the reference table illustrated in FIG. 12, the "reduction ratio" of the speed reduction mechanism, the "screw pitch" of the ball screw mechanism, etc. are set as the mechanical characteristic values of the actuator using the reference table.
尚、図12中の「AC-A01」および「AC-A02」という参照テーブルと、「AC-A11」および「AC-A12」という参照テーブルと、「AC-A21」および「AC-A22」という参照テーブルとでは、アクチュエータの機械的な特性値を示す「減速比」や「ネジピッチ」に設定された数値が異なっている。この理由は、参照テーブルが適用されるアクチュエータが異なるためである。すなわち、図12中の「AC-A01」および「AC-A02」という参照テーブルはアクチュエータ12に適用され、「AC-A11」および「AC-A12」という参照テーブルはアクチュエータ13に適用され、「AC-A21」および「AC-A22」という参照テーブルはアクチュエータ17に適用される。このように、適用されるアクチュエータが違えば、アクチュエータの機械的な特性値も変わるので、参照テーブルに設定される数値も異なったものとなる。
In FIG. 12, the reference tables "AC-A01" and "AC-A02", the reference tables "AC-A11" and "AC-A12", and the reference tables "AC-A21" and "AC-A22" Numerical values set in the "reduction ratio" and "screw pitch" indicating the mechanical characteristic values of the actuator are different from those in the reference table. The reason for this is that the actuators to which the lookup tables apply are different. 12 are applied to
以上に詳しく説明したように、本実施例のYOGOチャートでは、アクチュエータ番号と、部分期間番号とによって特定されるマス目状の座標位置に、動作記述206aおよび数値テーブル206bを用いてアクチュエータの基本動作を記入する。そして、自動製造機械1に搭載された全てのアクチュエータ10~20の基本動作を、このようにしてYOGOチャート上に記載することによって、自動製造機械1の動作を記述する。そして、自動製造機械制御装置100は、このようなYOGOチャートから制御プログラムを生成して、自動製造機械1の動作を制御する。
As described above in detail, in the YOGO chart of this embodiment, the basic motion of the actuator is calculated using the
C.本実施例の自動製造機械制御装置100 :
図13は、本実施例の自動製造機械制御装置100が備える機能を示した説明図である。図13に示されるように、本実施例の自動製造機械制御装置100は、YOGOチャート作成部101や、基本動作記憶部102や、YOGOチャート読込部103や、YOGOチャート解析部104や、制御プログラム生成部105や、制御実行部106などを備えている。尚、これらの「部」は、自動製造機械制御装置100を用いてYOGOチャート200を作成し、そのYOGOチャート200から制御プログラムを生成して自動製造機械1の動作を制御するために、自動製造機械制御装置100が備えておくべき複数の機能を表した抽象的な概念である。従って、自動製造機械制御装置100が、これらの「部」に相当する部品を組み合わせて形成されていることを表しているわけではない。実際には、これらの「部」は、CPUで実行されるプログラムの形態で実現することもできるし、ICチップやLSIなどを組み合わせた電子回路の形態で実現することもできるし、更には、これらが混在した形態など、様々な形態で実現することができる。
C. Automatic manufacturing
FIG. 13 is an explanatory diagram showing the functions of the automatic manufacturing
YOGOチャート作成部101は、モニター画面100mや、操作入力ボタン100sなどに接続されており、自動製造機械1について十分な知識を有する機械技術者などが、モニター画面100mを見ながら操作入力ボタン100sを操作することによって、図5に例示したようなYOGOチャート200を作成する。前述したように、YOGOチャート200は自動製造機械1に搭載されている複数のアクチュエータの基本動作を、部分期間の何れかに割り当てることによって、自動製造機械1の動作を記述したものである。機械設計に際して機械設計技術者は、自動製造機械1の動作を実現するためには、複数のアクチュエータの基本動作をどのように組み合わせれば良いかについて、十分に検討しているので、機械設計を行った機械設計技術者であれば、自動製造機械1の動作を記述したYOGOチャート200を簡単に作成することができる。もちろん、自動製造機械1の構造や動作について十分な知識を有していれば、自動製造機械1を設計した技術者でなくても、簡単にYOGOチャート200を作成することができる。
The YOGO
また、本実施例では、YOGOチャートに基本動作を記入する際には、原則として動作記述206aと数値テーブル206bとを用いて基本動作を記入することになっているが、アクチュエータに応じて、使用可能な動作記述206aは決まっている(図6参照)。そこで、基本動作記憶部102には、アクチュエータの名称と、そのアクチュエータで使用可能な動作記述206aとが対応付けて予め記憶されている。
In this embodiment, when basic motions are entered in the YOGO chart, in principle, the
図14は、アクチュエータの名称と、使用可能な動作記述206aとが対応付けられて基本動作記憶部102に記憶されている様子を示した説明図である。図示されるように基本動作記憶部102には、アクチュエータ毎に使用可能な動作記述206aが記憶されており、更に、それぞれの動作記述206aにはプログラム要素番号が記憶されている。前述したようにプログラム要素番号とは、アクチュエータを用いて動作記述206aの動作を実現するためのプログラム要素を特定する番号である。例えば、アクチュエータ18やアクチュエータ19には、動作の態様が異なる2つの動作記述206aが選択可能となっているが、それぞれの動作記述206aに対してプログラム要素番号が記憶されている。また、それぞれのアクチュエータには、アクチュエータの構造や、アクチュエータの基本動作の内容も併せて記憶されている。更に、図7~図9に例示した数値テーブル206bや、図10~図12に例示した参照テーブルも、基本動作記憶部102に記憶されている。
FIG. 14 is an explanatory diagram showing how actuator names and
上述した基本動作記憶部102は、YOGOチャート作成部101に接続されている。このため機械設計技術者(あるいは機械技術者)は、YOGOチャート200を作成するに際して基本動作記憶部102を参照することができる。そして、自動製造機械1について十分な知識を有する機械技術者であれば、どのようなアクチュエータをどのように動作させるかは十分に分かっているので、アクチュエータに応じて使用可能な動作記述206aの中から適切な動作記述206aを選択することができる。加えて、前述したように動作記述206aは、基本動作の内容を定性的に記述したものであるため、YOGOチャート200に動作記述206aを記入する作業は、自動製造機械1にさせたい動作を素直に記述する作業に過ぎないので、誤った内容を記入することがない。また、数値テーブル206bについては、仮の数値テーブル206bを設定しておけば良い。すなわち、図7~図9を用いて前述したように、数値テーブル206bの名称は、組み合わせて用いる動作記述206aの名称中の所定部分と通し番号とが組み合わされたものとなっているから、取りあえず数値テーブル206bの名称を決定してYOGOチャート200に記入しておき、そして、後から数値テーブル206bの数値を修正したり、数値テーブル206bを変更したりすることができる。また、新たな名称の数値テーブル206bを作成すると、その数値テーブル206bには新たな数値テーブル番号(図7~図9参照)が自動的に付番されるようになっている。
The basic
YOGOチャート読込部103は、YOGOチャート作成部101で作成したYOGOチャート200を読み込んで、YOGOチャート解析部104に出力する。尚、本実施例では、自動製造機械制御装置100でYOGOチャート200を作成するものとしており、このことに対応して、YOGOチャート読込部103は、YOGOチャート作成部101からYOGOチャート200を読み込んでいる。これに対して、自動製造機械1とは別体に設けたコンピュータ50でYOGOチャート200を作成しておき、そのYOGOチャートをYOGOチャート読込部103が読み込むようにしても良い。
The YOGO
YOGOチャート解析部104は、YOGOチャート読込部103から受け取ったYOGOチャート200を解析することによって、中間データを生成した後、中間データを制御プログラム生成部105に出力する。YOGOチャートから中間データを生成する処理については、後ほど詳しく説明する。
The YOGO
制御プログラム生成部105は、中間データを受け取ると、基本動作記憶部102を参照することによって、中間データから制御プログラムを生成する。中間データから制御プログラムを生成する方法については、後ほど詳しく説明する。そして、得られた制御プログラムを制御実行部106に出力する。
Upon receiving the intermediate data, the control
制御実行部106は、制御プログラム生成部105から制御プログラムを受け取ると、制御プログラム中のプログラム要素番号に対応付けて記憶されているプログラム要素を、基本動作記憶部102から取得する。また、基本動作記憶部102を参照することによって、制御プログラム中の数値テーブル番号に対応付けて記憶されている数値テーブル206bを検索して、その数値テーブル206bに設定されている数値を、プログラム要素の引数として取得する。こうして読み込まれて、引数が設定されたプログラム要素を実行することによって、アクチュエータ10~20を制御する。その結果、自動製造機械1に搭載されたアクチュエータ10~20が、YOGOチャートに記載された通りに動作することになる。
Upon receiving the control program from the control
尚、本実施例のYOGOチャート読込部103は、本発明の「動作チャート読込部」に対応している。また、図13を用いて前述したYOGOチャート読込部103と、YOGOチャート解析部104と、制御プログラム生成部105とは、これらが一体となって、YOGOチャート200から制御プログラムを生成する機能を実現している。従って、本実施例の自動製造機械制御装置100では、YOGOチャート読込部103と、YOGOチャート解析部104と、および制御プログラム生成部105とが、本発明の「制御プログラム生成装置110」に対応する。
The YOGO
D.制御プログラム生成処理 :
図15は、本実施例の自動製造機械制御装置100の中で、制御プログラム生成装置110に対応する部分が実行する制御プログラム生成処理の概要を示したフローチャートである。図示されるように、制御プログラム生成処理では、先ず初めにYOGOチャートを読み込む(STEP1)。本実施例では、自動製造機械制御装置100がYOGOチャートを作成しているから、作成したYOGOチャートのデータを読み込むことになる。もちろん、他のコンピュータ50で作成したYOGOチャートのデータを読み込んでも良い。
D. Control program generation process:
FIG. 15 is a flow chart showing an overview of control program generation processing executed by a portion corresponding to the control
続いて、読み込んだYOGOチャートを解析して中間データを出力する(STEP2)。図16は、本実施例の自動製造機械制御装置100が、YOGOチャートを解析して中間データを出力する処理(YOGOチャート解析処理)のフローチャートである。この処理は、図13中に示したYOGOチャート解析部104が実行する処理である。
Subsequently, the read YOGO chart is analyzed and intermediate data is output (STEP 2). FIG. 16 is a flowchart of processing (YOGO chart analysis processing) in which the automatic manufacturing
図16に示したように、YOGOチャート解析処理を開始すると、先ず初めに、部分期間番号Nおよびアクチュエータ番号Mを「1」に初期化する(STEP10)。続いて、YOGOチャート上での座標(N,M)の位置に、基本動作が記入されているか否かを判断する(STEP11)。ここで、YOGOチャート上での座標(N,M)とは、YOGOチャート上で、部分期間番号Nとアクチュエータ番号Mとの組み合わせで特定されるマス目状の座標位置を表している。STEP10で部分期間番号Nおよびアクチュエータ番号Mを初期化した直後は、NおよびMは何れも「1」であるから、YOGOチャート上の座標(1,1)の位置に基本動作が記入されているか否かを判断することになる。
As shown in FIG. 16, when the YOGO chart analysis process is started, first, the partial period number N and the actuator number M are initialized to "1" (STEP 10). Subsequently, it is determined whether or not a basic motion is entered at the position of coordinates (N, M) on the YOGO chart (STEP 11). Here, the coordinates (N, M) on the YOGO chart represent grid-like coordinate positions specified by a combination of the partial period number N and the actuator number M on the YOGO chart. Since both N and M are "1" immediately after the partial period number N and actuator number M are initialized in
図5に例示したYOGOチャートの場合では、座標(1,1)には基本動作は記入されていないから、STEP11では「no」と判断して、アクチュエータ番号Mが最終値に達したか否かを判断する(STEP14)。本実施例の自動製造機械1には11個のアクチュエータ10~20が搭載されているから、アクチュエータ番号Mの最終値は11となる。従って、座標(1,1)の基本動作の有無を確認した後のSTEP14の判断では、「no」と判断されるので、アクチュエータ番号Mを1つ増加させる(STEP15)。そして、増加させたアクチュエータ番号Mを用いて、再び、座標位置(N,M)に基本動作が記入されているか否かを判断する(STEP11)。
In the case of the YOGO chart shown in FIG. 5, since no basic motion is entered at the coordinates (1, 1), it is judged "no" in
このように、部分期間番号Nは「1」のまま、アクチュエータ番号Mを1つずつ増加させながら、座標(1,M)に基本動作が記入されているか否かを判断していくと、やがては、基本動作が記入されている座標(1,M)になった時に、STEP11で「yes」と判断されることになる。
In this way, while the partial period number N remains "1" and the actuator number M is incremented one by one, it is determined whether or not the basic motion is entered at the coordinates (1, M). is determined to be "yes" in
そして、STEP11で「yes」と判断された場合は、その座標に記入されている基本動作の動作記述206aを読み込み、更に、基本動作の数値テーブル206bも記入されている場合は数値テーブル206bを読み込む(STEP12)。図5に例示したYOGOチャートでは、座標(1,4)に達した時に、STEP11で「yes」と判断されて、「Ω-AC」という動作記述206aと「AC-B11」という数値テーブル206bとを、基本動作として読み込むことになる。
If "yes" is determined in
続いて、(N,M,動作記述,数値テーブル)という中間データをメモリに記憶する(STEP1)。図5に例示したYOGOチャートの座標(1,4)の場合であれば、(1,4,Ω-AC,AC-B11)という中間データをメモリに記憶することになる。従って、この中間データは、YOGOチャート上で部分期間番号が1番、アクチュエータ番号Mが4番の位置に、「Ω-AC」という動作記述206aと「AC-B11」という数値テーブル206bとによって規定される基本動作が記入されていることを表している。
Subsequently, intermediate data (N, M, behavioral description, numerical table) is stored in the memory (STEP 1). In the case of the coordinates (1, 4) of the YOGO chart illustrated in FIG. 5, the intermediate data (1, 4, Ω-AC, AC-B11) is stored in the memory. Therefore, this intermediate data is defined by the
こうして、YOGOチャートから読み出したデータをメモリに記憶した後は(STEP13)、アクチュエータ番号Mが最終値(ここでは、11)に達したか否かを判断する(STEP14)。その結果、最終値に達していない場合は(STEP14:no)、アクチュエータ番号Mを1つ増加させた後(STEP15)、STEP11に戻って、再び、YOGOチャート上の座標(N,M)に基本動作が記入されているか否かを判断する。
After storing the data read from the YOGO chart in the memory (STEP 13), it is determined whether or not the actuator number M has reached the final value (here, 11) (STEP 14). As a result, if the final value has not been reached (STEP 14: no), the actuator number M is incremented by 1 (STEP 15), and after returning to
これに対して、アクチュエータ番号Mが最終値に達していた場合は(STEP14:yes)、今度は、部分期間番号Nが最終値に達したか否かを判断する(STEP16)。例えば、YOGOチャート上で、自動製造機械1の動作が100個の部分期間を用いて記述されているのであれば、部分期間番号Nの最終値は100となる。
On the other hand, if the actuator number M has reached the final value (STEP 14: yes), then it is determined whether the partial period number N has reached the final value (STEP 16). For example, if the operation of the
その結果、部分期間番号Nが最終値に達していない場合は(STEP16:no)、部分期間番号Nを1つ増加させると共に(STEP17)、アクチュエータ番号Mを「1」に初期化した後(STEP18)、STEP11に戻って、再び、YOGOチャート上の座標(N,M)に基本動作が記入されているか否かを判断する。すなわち、YOGOチャート上で(図5参照)、部分期間番号Nが1番の部分期間を上から順番に確認して行き、一番下まで確認したら、今度は、部分期間番号Nが2番の部分期間を上から順番に確認して行き、2番の部分期間を確認し終わったら、部分期間番号Nが3番の部分期間というように、部分期間番号Nが小さな部分期間から大きな部分期間に向かって順番に、YOGOチャートに記入されている基本動作を読み出して、中間データをメモリに記憶して行くのである。
As a result, if the partial period number N has not reached the final value (STEP 16: no), the partial period number N is incremented by 1 (STEP 17), and after initializing the actuator number M to "1" (STEP 18 ), returning to
そして、このような操作を繰り返していき、最終的に、部分期間番号Nが最終値に達したと判断したら(STEP16:yes)、YOGOチャートに記入された全ての基本動作を読み出したことになる。そこで、メモリに記憶しておいた中間データを読み出して、制御プログラム生成部105に出力する(STEP19)。図17には、図5に例示したYOGOチャートを解析した場合に得られる中間データが例示されている。このような中間データを出力したら、図16のYOGOチャート解析処理を終了して、図15の制御プログラム生成処理に復帰する。 Then, such operations are repeated, and when it is finally determined that the partial period number N has reached the final value (STEP 16: yes), all the basic movements entered in the YOGO chart have been read out. . Therefore, the intermediate data stored in the memory is read out and output to the control program generator 105 (STEP 19). FIG. 17 illustrates intermediate data obtained when the YOGO chart illustrated in FIG. 5 is analyzed. After outputting such intermediate data, the YOGO chart analysis process of FIG. 16 is terminated, and the process returns to the control program generation process of FIG.
図15の制御プログラム生成処理では、このようにして得られた中間データに基づいて、制御プログラムを生成する(STEP3)。図18には、図17に例示した中間データから生成された制御プログラムが示されている。図17の中間データと、図18の制御プログラムとを比較すれば明らかなように、制御プログラムでは、中間データの動作記述206aおよび数値テーブル206bが数値に置き換えられたものとなっている。これは、動作記述206aを、その動作記述206aを実現するプログラム要素番号(図14参照)に置き換えると共に、数値テーブル206bを、その数値テーブル206bの数値テーブル番号に置き換えたためである。
In the control program generation process of FIG. 15, a control program is generated based on the intermediate data thus obtained (STEP 3). FIG. 18 shows a control program generated from the intermediate data illustrated in FIG. As can be seen by comparing the intermediate data in FIG. 17 and the control program in FIG. 18, in the control program, the
中間データ中の動作記述206aおよび数値テーブル206bを、それぞれプログラム要素番号および数値テーブル番号に置き換える操作は、図8中の制御プログラム生成部105が、基本動作記憶部102を参照することによって実行される。すなわち、基本動作記憶部102には、動作記述206aがプログラム要素番号と対応付けて記憶されている(図14参照)。更に、基本動作記憶部102には、図7~図9に例示した数値テーブル206bが記憶されており、それぞれの数値テーブル206bには数値テーブル番号が設定されている。そこで、制御プログラム生成部105は、基本動作記憶部102に記憶されている図14の対応関係や、図7~図9に例示した数値テーブル206bを参照することによって、中間データ中の動作記述206aや数値テーブル206bを、プログラム要素番号および数値テーブル番号に置き換えて行く。
The operation of replacing the
以上のようにして、中間データから制御プログラムを生成したら(図15のSTEP3)、生成した制御プログラムを制御実行部106に出力して(STEP4)、図15の制御プログラム生成処理を終了する。
After the control program is generated from the intermediate data as described above (
尚、図18に示すように、本実施例の制御プログラムは、部分期間番号N、アクチュエータ番号M、プログラム要素番号、数値テーブル番号が、この順序で並んだ一組のデータ(以下、「データ組」と呼ぶ)が集まったものとなっている。そこで、データ組の中で、部分期間番号Nを表す1番目のデータを「第1要素」と呼び、アクチュエータ番号Mを表す2番目のデータを「第2要素」と呼び、プログラム要素番号を表す3番目のデータを「第3要素」と呼び、数値テーブル番号を表す4番目のデータを「第4要素」と呼ぶことにする。また、本実施例の制御プログラムは、複数のデータ組が連続したデータに過ぎない。しかし、自動製造機械制御装置100の制御実行部106は、このような制御プログラムに基づいて、以下のようにして、自動製造機械制御装置100のアクチュエータ10~20の動作を制御する。
As shown in FIG. 18, the control program of this embodiment includes a set of data in which the partial period number N, the actuator number M, the program element number, and the numerical table number are arranged in this order (hereinafter referred to as "data set ) are collected. Therefore, in the data set, the first data representing the partial period number N is called the "first element", and the second data representing the actuator number M is called the "second element", representing the program element number. The third data is called the "third element", and the fourth data representing the numeric table number is called the "fourth element". In addition, the control program of this embodiment is nothing more than data in which a plurality of data sets are continuous. However, the
E.動作制御処理 :
図19は、自動製造機械制御装置100の制御実行部106が、制御プログラムに従って自動製造機械1の動作を制御する動作制御処理のフローチャートである。図19に示すように、動作制御処理を開始すると、先ず初めに、部分期間番号Nを「1」に初期化する(STEP50)。続いて、制御プログラムの中から、第1要素がNのデータ組を取得する(STEP51)。動作制御処理を開始した直後であれば、部分期間番号Nは「1」に設定されているから、図18に例示した制御プログラムから、(1,4,4,19)というデータ組を読み出すことになる。
E. Motion control processing:
FIG. 19 is a flowchart of operation control processing in which the
続いて、読み出したデータ組の第2要素の値に基づいて、制御対象となるアクチュエータを特定する(STEP52)。STEP51で読み出したデータ組を(1,4,4,19)とすれば第2要素の値は「4」であるから、アクチュエータ番号Mが「4」のアクチュエータが制御対象のアクチュエータとなる。また、STEP51で複数のデータ組を読み出していた場合には、それぞれのデータ組の第2要素の値に基づいて、制御対象となるそれぞれのアクチュエータを特定する。 Subsequently, the actuator to be controlled is specified based on the value of the second element of the read data set (STEP 52). If the data set read in STEP 51 is (1, 4, 4, 19), the value of the second element is "4", so the actuator with the actuator number M of "4" is the actuator to be controlled. Further, when a plurality of data sets are read in STEP 51, each actuator to be controlled is specified based on the value of the second element of each data set.
更に、読み出したデータ組の第3要素の値に基づいて、基本動作記憶部102に記憶されているプログラム要素番号を検索することによって、アクチュエータに基本動作させるためのプログラム要素を取得する(STEP53)。STEP51で読み出したデータ組を(1,4,4,19)とすれば第3要素の値は「4」であるから、基本動作させるためのプログラム要素は、プログラム要素番号が「4」番のプログラム要素となる。
Further, based on the value of the third element of the read data set, the program element number stored in the basic
最後に、データ組に第4要素が存在している場合は、その値は、プログラム要素に指定するパラメータの数値テーブル番号を示している。そこで、基本動作記憶部102に記憶されている数値テーブル206bを検索することによって、数値テーブル番号を有する数値テーブル206bを特定した後、数値テーブル206bに設定されている数値を、プログラム要素に引数として設定する(STEP54)。
Finally, if the fourth element is present in the data set, its value indicates the numerical table number of the parameter specified for the program element. Therefore, after identifying the numerical table 206b having the numerical table number by searching the numerical table 206b stored in the basic
以上のSTEP51~STEP54の操作を行うことによって、YOGOチャート上のある部分期間(動作制御処理が開始された直後は、部分期間番号Nが「1」番の部分期間)に記入された基本動作を、それぞれのアクチュエータに行わせる準備が整ったことになる。すなわち、制御対象となるアクチュエータが特定され(STEP52)、制御に用いるプログラム要素が取得され(STEP53)、プログラム要素に対して引数が設定された(STEP54)ことになるので、そのプログラム要素を実行する(STEP55)。例えば、アクチュエータがサーボモータであり、基本動作の内容がモータを正方向に180度回転させるという内容であった場合は、モータの回転角度を検出しながら、回転角度が180度になるまでモータを駆動する動作を、所定の制御周期で繰り返すようなプログラム要素を実行する。また、複数のプログラム要素が存在する場合は、それらのプログラム要素が並行して実行されることになる。 By performing the operations of STEP 51 to STEP 54, the basic motions entered in a certain partial period on the YOGO chart (the partial period with the partial period number N of "1" immediately after the operation control process is started) can be performed. , the respective actuators are ready to perform. That is, the actuator to be controlled is specified (STEP 52), the program element used for control is acquired (STEP 53), and the argument is set for the program element (STEP 54), so the program element is executed. (STEP 55). For example, if the actuator is a servomotor and the content of the basic operation is to rotate the motor forward 180 degrees, while detecting the rotation angle of the motor, rotate the motor until the rotation angle reaches 180 degrees. A program element that repeats the driving operation at a predetermined control cycle is executed. Also, if there are multiple program elements, those program elements will be executed in parallel.
続いて、全てのプログラム要素の実行が終了したか否かを判断する(STEP56)。すなわち、STEP55で複数のプログラム要素を実行した場合は、それらのプログラム要素の実行が同時に終了するとは限らないので、全てのプログラム要素の実行が終了したか否かを判断する。もちろん、STEP55で1つのプログラム要素しか実行していない場合は、そのプログラム要素の実行が終了したか否かを判断することになる。 Subsequently, it is determined whether or not execution of all program elements has been completed (STEP 56). That is, when a plurality of program elements are executed in STEP 55, execution of those program elements does not necessarily end at the same time, so it is determined whether execution of all program elements has ended. Of course, if only one program element is being executed in STEP 55, it will be determined whether or not the execution of that program element has ended.
その結果、実行中のプログラム要素が残っている場合は、STEP56では「no」と判断して、再び同じ判断(STEP56)を繰り返す。こうすることによって、全てのプログラム要素の実行が終了するまで待機状態となる。そして、全てのプログラム要素の実行が終了したら(STEP56:yes)、部分期間番号Nが最終値に達したか否かを判断する(STEP57)。例えば、YOGOチャート上で自動製造機械1の動作を記述するために、100個の部分期間が用いられていた場合は、部分期間番号Nが「100」に達したか否かを判断する。
As a result, when the program element being executed remains, it is judged as "no" in STEP56, and the same judgment (STEP56) is repeated. By doing so, a standby state is entered until execution of all program elements is completed. When the execution of all program elements is completed (STEP56: yes), it is determined whether or not the partial period number N has reached the final value (STEP57). For example, if 100 partial periods were used to describe the operation of the
その結果、部分期間番号Nがまだ最終値に達していない場合は(STEP57:no)、部分期間番号Nを1つ増加させる(STEP58)。そして、STEP51に戻って、制御プログラムの中から、第1要素が新たな部分期間番号Nに一致するデータ組を読み出した後、読み出したデータ組に対して上述したSTEP52~STEP55の操作を行う。こうすることにより、先に基本動作を実行した部分期間から1つ部分期間を進めて、新たな部分期間に記入された全ての基本動作が実行されることになる。そして、新たな部分期間の全ての基本動作が終了して、STEP56で「yes」と判断したら、その部分期間の部分期間番号Nが最終値に達しているか否かを判断する(STEP57)。その結果、部分期間番号Nが最終値に達していない場合は(STEP57:no)、部分期間番号Nを1つ増加させた後(STEP58)、STEP51に戻って、新たな部分期間番号Nについて、上述したSTEP51~STEP57の操作を繰り返す。 As a result, if the partial period number N has not yet reached the final value (STEP57: no), the partial period number N is increased by one (STEP58). Then, returning to STEP51, after reading the data set whose first element matches the new partial period number N from the control program, the operations of STEP52 to STEP55 are performed on the read data set. By doing so, the partial period is advanced by one from the partial period in which the basic action was previously executed, and all the basic actions entered in the new partial period are executed. Then, when all the basic motions of the new partial period are finished and it is judged "yes" in STEP56, it is judged whether or not the partial period number N of the partial period has reached the final value (STEP57). As a result, if the partial period number N has not reached the final value (STEP 57: no), the partial period number N is incremented by 1 (STEP 58), and after returning to STEP 51, for the new partial period number N, The operations of STEP51 to STEP57 described above are repeated.
このように、図19の動作制御処理では、YOGOチャートの先頭の部分期間(すなわち、部分期間番号Nが1番の部分期間)から最後の部分期間(部分期間番号Nが最終値の部分期間)に向かって、部分期間を1つずつ選択して、その部分期間に記載された基本動作を実行する動作を繰り返す。そして、最後の部分期間の基本動作が終了したら、STEP57で「yes」と判断して、動作制御処理を終了する。 As described above, in the operation control process of FIG. 19, the partial period from the beginning of the YOGO chart (that is, the partial period with the partial period number N of 1) to the last partial period (the partial period with the partial period number N of the final value) , the operation of selecting a partial period one by one and performing the basic operation described in that partial period is repeated. Then, when the basic motion of the last partial period is completed, it is judged "yes" in STEP57, and the motion control process is terminated.
以上に詳しく説明したように、本実施例の自動製造機械制御装置100では、自動製造機械1の動作をYOGOチャート200で記述することによって、そのYOGOチャート200から制御プログラムを自動で生成して、自動製造機械制御装置100を動作させることができる。また、YOGOチャートは、自動製造機械1の構造や動作が分かっていれば、プログラムに関する知識が無くても簡単に作成することができるので、プログラマが制御プログラムを作成する必要が無い。このため、新たな自動製造機械1を開発するために要する時間を、大幅に(少なくとも半分以下に)短縮することができ、加えて、プログラマを確保しておく必要も無くなる。その結果、製造現場に新たな自動製造機械を導入することが容易になって、産業界での省力化に対する要請に十分に対応することが可能となる。
As described in detail above, in the automatic manufacturing
加えて、本実施例のYOGOチャート200では、アクチュエータの基本動作を、動作記述206aと数値テーブル206bとに分けて記入することとしている。動作記述206aは基本動作の内容を定性的に表現したものに過ぎないから、YOGOチャート200に動作記述206aを記入するだけなら、人間が考えた内容を素直に記入する作業と実質的に変わらない。このため、YOGOチャート200に誤った内容を記入してしまう可能性を大幅に減らすことができる。そして、YOGOチャート200に動作記述206aを正しく記入しておけば、その後は数値テーブル206bに設定する数値を修正すればよく、YOGOチャート200自体は変更する必要が無い。その結果、アクチュエータの基本動作が正しく記載されたYOGOチャート200を容易に得ることが可能となる。
In addition, in the
以上、本実施例の自動製造機械制御装置100について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
Although the automatic manufacturing
例えば、上述した実施例の自動製造機械制御装置100では、YOGOチャートを作成して、そのYOGOチャートから制御プログラムを生成する機能(図13のYOGOチャート作成部101、基本動作記憶部102、YOGOチャート読込部103、YOGOチャート解析部104、制御プログラム生成部105に対応)に加えて、制御プログラムに基づいて制御を実行する機能(図13の制御実行部106に対応)も備えているものとして説明した。しかし、これらの複数の機能の一部を搭載した複数の装置を組み合わせることによって、全体として自動製造機械制御装置100を形成するようにしても良い。
For example, in the automatic manufacturing
例えば、図20に例示したように、自動製造機械制御装置100を、YOGOチャート処理装置100aと、制御実行装置100bとに分割してもよい。そして、自動製造機械制御装置100には、YOGOチャートの作成から制御プログラムの生成までの一連の機能(すなわち、YOGOチャート作成部101、基本動作記憶部102、YOGOチャート読込部103、YOGOチャート解析部104、制御プログラム生成部105)を搭載する。また、制御実行装置100bには、制御プログラムに従ってプログラム要素を実行する機能(すなわち、制御実行部106、ブログラム要素記憶部107)を搭載するようにしても良い。
For example, as illustrated in FIG. 20, the automatic manufacturing
こうすれば、YOGOチャートを作成したり、制御プログラムを生成したりする作業は事務室に設置しておいたYOGOチャート処理装置100aで行い、自動製造機械1の傍に設置しておいた制御実行装置100bに、生成した制御プログラムを読み込ませることによって、自動製造機械1を動作させることが可能となる。尚、図20に示した例では、YOGOチャート処理装置100aが、本発明における「制御プログラム生成装置」に対応する。
In this way, the YOGO
また、図7~図9に例示した数値テーブル206bには、必要に応じて様々な項目を設定することもできる。例えば、図7~図9に例示した項目に加えて、「動作待機時間」という項目を設定しても良い。この「動作待機時間」には、次のような時間を設定する。先ず、前述したように数値テーブル206bは、動作記述206aと組み合わされて基本動作を規定しており、その基本動作はYOGOチャート200に記入されることによって、動作するアクチュエータと動作するタイミングとを規定する。すなわち、YOGOチャート200上で座標位置(N,M)に記入された基本動作は、アクチュエータ番号がNのアクチュエータを、部分期間番号がM番のタイミングで、基本動作させることを表している。しかし、数値テーブル206bに「動作待機時間」という項目が含まれている場合は、部分期間番号がM番のタイミングになっても直ちにアクチュエータが動作し始めるのではなく、動作待機時間に設定された時間が経過した後にアクチュエータが動作する。
Various items can also be set in the numerical table 206b illustrated in FIGS. 7 to 9 as necessary. For example, in addition to the items illustrated in FIGS. 7 to 9, an item "operation standby time" may be set. The following time is set for this "operation waiting time". First, as described above, the numerical table 206b is combined with the
図21には、「Ω-AA」という動作記述206aに組み合わせて用いられる数値テーブル206bに、「動作待機時間」という項目が設定されている様子が例示されている。図21(a)に例示した数値テーブル206bには、「動作待機時間」に5秒と設定されている。ここで、動作記述206aが組み合わされる「Ω-AA」という動作記述206aはチャックの開閉動作を表している。従って、「Ω-AA」という動作記述206aに、図21(a)の数値テーブル206bを組み合わせることによって、5秒間が経過してからチャックを閉じ始めるような動作を記述することが可能となる。もちろん、図21(b)に例示した数値テーブル206bのように、「動作待機時間」の0秒と設定しておけば、直ちにチャックを閉じ始める動作を記述することも可能となる。
FIG. 21 illustrates how the item "operation standby time" is set in the numerical table 206b used in combination with the
また、上述した実施例では、YOGOチャート200の基本動作206は、動作記述206aと、数値テーブル206bとを用いて記載されるものとして説明した。このため、YOGOチャート200から制御プログラムを生成する際には、動作記述206aをプログラム要素に変換すると共に、数値テーブル206bの各項目に記憶されている数値を読み出して、プログラム要素の引数として設定することになる。こうすれば、YOGOチャート200の作成後に各アクチュエータの動作を調節する場合には、(YOGOチャート200は変更することなく)数値テーブル206bの内容を変更すれば良いので、たいへん便利である。しかし、プログラム要素に設定する引数の個数が多くならない限りは(例えば、10個以下であれば)、数値テーブル206bの替わりに、複数の数値パラメータを設定するようにしても良い。この場合は、基本動作206は、動作記述206aと、複数の数値パラメータとを用いて記載されることになる。
Further, in the above-described embodiment, the
図22は、YOGOチャート200上の基本動作206が、動作記述206aと、複数の数値パラメータ206cとを用いて記載された様子を例示した説明図である。図22(a)には、「Ω-AB」という動作記述206aと、「Θ1」、「RV1」、「RT1」という数値パラメータ206cとを用いて基本動作206が記載されている。ここで、前述したように「Ω-AB」という動作記述206aは、ACサーボモータに減速機構を組み合わせたアクチュエータに回転動作させることを表しているから(図6参照)、引数としては「回転角度」と「回転速度」と「回転トルク」とを設定する必要がある(図8参照)。そこで、図22(a)に示した例では、これらに対応する3つの数値パラメータ206cが設定されている。ここで、図22(a)中に示した「Θ1」は「回転角度」を表す数値パラメータ206cであり、「RV1」は「回転速度」を表す数値パラメータ206cであり、「RT1」は「回転トルク」を表す数値パラメータ206cである。また、それぞれの数値パラメータ206c(すなわち、「Θ1」、「RV1」、「RT1」)の数値は、基本動作記憶部102に予め記憶しておく。
FIG. 22 is an explanatory diagram exemplifying how the
また、図22(b)には、「Ω-AA」という動作記述206aと、「OV1」、「OF1」という数値パラメータ206cとを用いて基本動作206が記載されている。前述したように「Ω-AA」という動作記述206aは、ACサーボモータにチャック機構を組み合わせたアクチュエータに開閉動作させることを表しているから(図6参照)、引数としては「開閉速度」と「開閉荷重」とを設定する必要がある(図7参照)。そこで、図22(b)に示した例では、「開閉速度」を表す数値パラメータ206c(「OV1」)と、「開閉荷重」を表す数値パラメータ206c(「OF1」)とが設定されている。また、これらの数値パラメータ206c(すなわち、「OV1」、「OF1」)の数値は、基本動作記憶部102に予め記憶しておく。
Also, in FIG. 22(b), a
このようにしても、YOGOチャート200上の基本動作206を、動作記述206aと複数の数値パラメータ206cとを用いて記載することができる。そして、YOGOチャート200の作成後にアクチュエータの動作を調節する場合には、YOGOチャート200を変更しなくても、基本動作記憶部102に記憶しておいた数値を変更すれば良い。
Even in this way, the
また、YOGOチャート200に基本動作206を記載する際には、動作記述206aと数値テーブル206bとを用いて記載する方法と、動作記述206aと複数の数値パラメータ206cとを用いて記載する方法とを混在させて記載するようにしても構わない。
When describing the
また、自動製造機械1の制御では、製造効率(時間あたりの製造数)を出来るだけ高めることが要請される場合がある。このような場合は、基本動作206の終了前に次の基本動作206の開始を許可する位置を、数値テーブル206bまたは数値パラメータ206cに設定可能としても良い。
Further, in the control of the
例えば、図5に例示したYOGOチャート200では、部分期間番号が1番の部分期間で動作するアクチュエータはアクチュエータ13のみであり、部分期間番号が2番の部分期間で動作するアクチュエータはアクチュエータ11のみとなっている。従って、アクチュエータ13の動作が終了したら、アクチュエータ11の動作が開始されることになる。しかし、アクチュエータ13の動作が終了する前にアクチュエータ11の動作を開始すれば、アクチュエータ11の動作終了を早めることができる。
For example, in the
例えば、図5のYOGOチャート200では、アクチュエータ13の基本動作206は、動作記述206aが「Ω-AC」であり、数値テーブル206bが「AC-B11」となっている。「Ω-AC」という動作記述206aはアクチュエータを進退動させる動作を表している(図6参照)。また、図9(c)に示した例では、「AC-B11」という数値テーブル206bには、進退動させる移動量として、「(+)46mm」が設定されている。従って、アクチュエータ13を46mmだけ前進させたら、次のアクチュエータ11の動作を開始することになる。しかし、アクチュエータ13の移動量が46mmに達する前(たとえば移動量が43mm)の時点で、次のアクチュエータ11の動作を開始すれば、アクチュエータ11の動作終了を早めることができる。こうしたことを可能とするには、前述した数値テーブル206bまたは数値パラメータ206cの中に、次の基本動作の開始を許可する位置(以下、次動作許可位置)を設定しておけば良い。
For example, in the
図23は、数値テーブル206bまたは数値パラメータ206cに次動作許可位置が設定された様子を例示した説明図である。図23(a)には数値テーブル206b中の項目の1つとして、次動作許可位置が設定された様子を表しており、図23(b)には複数の数値パラメータ206cの1つとして、次動作許可位置が設定された様子を表している。
FIG. 23 is an explanatory diagram exemplifying how the next operation permitted position is set in the numerical table 206b or the
図23(a)に例示した数値テーブル206bでは、図9(c)に例示した数値テーブル206bに対して、「次動作許可位置」という項目が追加されており、この項目には「-5(mm)」という数値が設定されている。数値テーブル206bの「移動量」という項目に設定されている数値は「46(mm)」であるから、移動量41(mm)(=46-5)に達したら、次のアクチュエータの基本動作206が開始可能となることを表している。
In the numerical table 206b illustrated in FIG. 23(a), an item "next operation permitted position" is added to the numerical table 206b illustrated in FIG. 9(c), and this item includes "-5 ( mm)” is set. Since the numerical value set in the item "movement amount" of the numerical table 206b is "46 (mm)", when the movement amount reaches 41 (mm) (=46-5), the next
図23(b)に示した例では、「Ω-AC」という動作記述206aに対して設定された複数の数値パラメータ206cの中の1つに、次動作許可位置が設定されている。すなわち、「LM1」という数値パラメータ206cは移動量を表しており、「ALM1」という数値パラメータ206cは次動作許可位置を表している。従って、「Ω-AC」という動作記述206aの基本動作206は、移動量が、「LM1」という数値パラメータ206cに設定された数値に達するまで継続されるが、「ALM1」という数値パラメータ206cによって設定された数値(=LM1-ALM1)に移動量が達すると、次の基本動作206を開始することが可能となる。
In the example shown in FIG. 23(b), one of a plurality of
以上では、図5に例示したYOGOチャート200上で、部分期間番号が1番の部分期間に設定されているアクチュエータ13について説明した。部分期間番号が1番の部分期間にはアクチュエータ13しか設定されていないから、アクチュエータ13の移動量が次動作許可位置に達したら、次の部分期間(すなわち、部分期間番号が2番の部分期間)に設定されたアクチュエータ11の基本動作206が開始される。また、アクチュエータ11の基本動作206についても、同様にして次動作許可位置を設定しておけば、アクチュエータ11の移動量(アクチュエータ11の動作態様は回転動作なので、実際には回転角度)が次動作許可位置に達した時点で、その次の部分期間のアクチュエータ12の基本動作206が開始される。
In the above description, the
また、部分期間番号が4番の部分期間にはアクチュエータ10の基本動作206しか設定されていないが、次の部分期間(すなわち部分期間番号が5番の部分期間)には、3つのアクチュエータ14~16の基本動作206が設定されている。従って、アクチュエータ10の移動量が次動作許可位置に達すると、3つのアクチュエータ14~16の基本動作206が開始されることになる。尚、アクチュエータ14~16はシーケンス制御されるアクチュエータであって、移動量や回転角度などを指定して制御されるわけではないので、次動作許可位置が設定されることはない。
Also, only the
また、部分期間番号が7番の部分期間にはアクチュエータ12の基本動作206しか設定されていないが、直前の部分期間(すなわち部分期間番号が6番の部分期間)には、アクチュエータ10およびアクチュエータ17の2つの基本動作206が設定されている。従って、これら2つのアクチュエータ10,17の移動量が何れも次動作許可位置に達した後に、アクチュエータ12の基本動作206が開始されることになる。
Also, only the
このように、サーボ制御されるアクチュエータに対して次動作許可位置を設定して行けば、自動製造機械1の動作終了を早めることができるので、製造効率を高めることができる。また、次動作許可位置を設定する際には、初めは数値0を設定しておき、自動製造機械1を動作させながら、数値テーブル206bあるいは数値パラメータ206cの設定を修正して、少しずつ次動作許可位置の数値を増やしていけば、適切な次動作許可位置を容易に設定することが可能となる。
By setting the next operation permission position for the servo-controlled actuator in this way, the operation of the
1…自動製造機械、 2…レール、 3…搬送ユニット、 3a…把持軸、
3b…チャック、 4…加工ユニット、 11~20…アクチュエータ、
10d~20d…ドライバ回路、 50…コンピュータ、
100…自動製造機械制御装置、 100a…YOGOチャート処理装置、
100b…制御実行装置、 100m…モニター画面、
100s…操作入力ボタン、 102…基本動作記憶部、
105…制御プログラム生成部、 106…制御実行部、
107…ブログラム要素記憶部、 110…制御プログラム生成装置、
201…仕切線、 202…トリガー線、 203…動作線、
204…始点、 205…終点、 206…基本動作、
206a…動作記述、 206b…数値テーブル、 206c…数値パラメータ。
DESCRIPTION OF
3b... chuck, 4... processing unit, 11 to 20... actuator,
10d to 20d... driver circuit, 50... computer,
100... Automatic manufacturing machine control device, 100a... YOGO chart processing device,
100b... control execution device, 100m... monitor screen,
100s... Operation input button, 102... Basic operation storage unit,
105... Control program generation unit, 106... Control execution unit,
107... Program element storage unit, 110... Control program generation device,
201... Partition line, 202... Trigger line, 203... Operation line,
204...
206a -- Behavioral description, 206b -- Numerical table, 206c -- Numerical parameter.
Claims (6)
前記アクチュエータの自由度毎の動作を表す基本動作(206)を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が前記複数の部分期間の何れかに割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
を備え、
前記基本動作記憶部は、前記基本動作の内容を、定性的に前記基本動作を記述するための動作記述(206a)と、前記基本動作の定量事項を数値によって記述するための数値記述とに分けた上で、前記基本動作の動作記述に対応する前記プログラム要素と、前記数値記述に対応する数値テーブル(206b)または前記数値記述に対応する複数の数値パラメータ(206c)とを記憶しており、
前記動作チャート読込部は、前記基本動作が、前記動作記述と、前記数値テーブルまたは前記複数の数値パラメータとを用いて記載された前記動作チャートを読み込んでおり、
前記制御プログラム生成部は、複数の前記プログラム要素を結合する際に、前記プログラム要素の前記動作記述と共に記載された前記数値テーブルまたは前記複数の数値パラメータに従って、前記プログラム要素に数値を設定する
ことを特徴とする制御プログラム生成装置。 A control program generator (100a, 110) for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10-20),
a basic motion storage unit (102) storing basic motions (206) representing motions of the actuator for each degree of freedom in association with program elements for realizing the basic motions;
An operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of the basic operations, and the basic operations are divided into an operation chart reading unit (103) that reads an operation chart (200) describing the operation of the automatic manufacturing machine assigned to one of the plurality of partial periods;
operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart according to the order of the partial periods on the operation chart; A control program generation unit (105) that generates a control program,
The basic motion storage unit divides the contents of the basic motion into a motion description (206a) for qualitatively describing the basic motion and a numerical description for numerically describing quantitative items of the basic motion. and storing the program element corresponding to the behavioral description of the basic operation, and a numerical table (206b) corresponding to the numerical description or a plurality of numerical parameters (206c) corresponding to the numerical description,
The operation chart reading unit reads the operation chart in which the basic operation is described using the operation description and the numerical table or the plurality of numerical parameters,
wherein, when combining the plurality of program elements, the control program generator sets numerical values to the program elements according to the numerical table or the plurality of numerical parameters described together with the behavioral description of the program elements. A control program generator characterized by:
前記基本動作記憶部に記憶されている前記数値テーブルまたは前記複数の数値パラメータには、前記基本動作の動作量または動作速度または動作荷重の少なくとも1つを含んだ数値が設定されている
ことを特徴とする制御プログラム生成装置。 The control program generation device according to claim 1,
In the numerical table or the plurality of numerical parameters stored in the basic motion storage unit, numerical values including at least one of motion amount, motion speed, and motion load of the basic motion are set. and a control program generator.
前記基本動作記憶部は、前記数値テーブルに数値が設定されていない場合に参照される参照テーブルを記憶している
ことを特徴とする制御プログラム生成装置。 The control program generation device according to claim 1 or claim 2,
The control program generation device, wherein the basic operation storage unit stores a reference table that is referred to when no numerical value is set in the numerical table.
前記基本動作記憶部は、前記基本動作の動作開始を待機する動作待機時間を含んだ前記数値テーブルまたは前記複数の数値パラメータを記憶している
ことを特徴とする制御プログラム生成装置。 The control program generation device according to any one of claims 1 to 3,
The control program generating device, wherein the basic motion storage unit stores the numerical table or the plurality of numerical parameters including a motion waiting time for waiting for the start of the basic motion.
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が前記複数の部分期間の何れかに割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析工程(STEP2)と、
前記基本動作を実現するためのプログラム要素を、前記動作チャート中で前記基本動作が割り当てられた前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP3)と
を備え、
前記動作チャート読込工程は、前記動作チャート中の前記基本動作が、前記基本動作の内容を定性的に記述するための動作記述(206a)と、前記基本動作の定量事項を数値によって記述するための数値テーブル(206b)または複数の数値パラメータ(206c)とを用いて記載された前記動作チャートを読み込む工程であり、
前記制御プログラム生成工程は、前記基本動作の前記動作記述と、前記動作記述を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作記述を前記プログラム要素に変換すると共に、前記動作記述と共に記載された前記数値テーブルまたは前記複数の数値パラメータに従って前記プログラム要素に数値を設定した後、前記プログラム要素を前記部分期間の順番に従って結合することによって前記制御プログラムを生成する工程である
ことを特徴とする制御プログラム生成方法。 A control program generation method for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10 to 20) by a computer,
An operation period from the start of the operation of the automatic manufacturing machine to the end of the operation is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is a plurality of basic operations representing the operation of each degree of freedom of the actuator. (206) and reading an operation chart (200) describing the operation of the automatic manufacturing machine by assigning the basic operation to one of the plurality of partial periods (STEP 1) When,
a motion chart analysis step (STEP 2) of extracting the plurality of basic motions included in the motion chart and the partial periods to which the plurality of basic motions are assigned by analyzing the motion chart;
A control program for generating the control program for operating the automatic manufacturing machine by combining program elements for realizing the basic operations according to the order of the partial periods to which the basic operations are assigned in the operation chart. A generation step (STEP 3) and
In the operation chart reading step, the basic operations in the operation chart are composed of an operation description (206a) for qualitatively describing the contents of the basic operations, and a quantitative item for describing numerically the basic operations. reading the operational chart described using a numerical table (206b) or a plurality of numerical parameters (206c);
The control program generation step converts the behavioral description to the program element by referring to a correspondence relationship in which the behavioral description of the basic behavior and the program element for realizing the behavioral description are associated and stored. After converting and setting numerical values in the program elements according to the numerical table or the plurality of numerical parameters described together with the behavioral description, the control program is generated by combining the program elements according to the order of the partial periods. A control program generation method, characterized in that it is a step of:
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が前記複数の部分期間の何れかに割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析機能(STEP2)と、
前記基本動作を実現するためのプログラム要素を、前記動作チャート中で前記基本動作が割り当てられた前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP3)と
を前記コンピュータによって実現させており、
前記動作チャート読込機能は、前記動作チャート中の前記基本動作が、前記基本動作の内容を定性的に記述するための動作記述(206a)と、前記基本動作の定量事項を数値によって記述するための数値テーブル(206b)または複数の数値パラメータ(206c)とを用いて記載された前記動作チャートを読み込む機能であり、
前記制御プログラム生成機能は、前記基本動作の前記動作記述と、前記動作記述を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作記述を前記プログラム要素に変換すると共に、前記動作記述と共に記載された前記数値テーブルまたは前記複数の数値パラメータに従って前記プログラム要素に数値を設定した後、前記プログラム要素を前記部分期間の順番に従って結合することによって前記制御プログラムを生成する機能である
ことを特徴とするプログラム。 A program for implementing, using a computer, a method for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10-20),
An operation period from the start of the operation of the automatic manufacturing machine to the end of the operation is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is a plurality of basic operations representing the operation of each degree of freedom of the actuator. (206) and reading an operation chart (200) describing the operation of the automatic manufacturing machine by assigning the basic operation to one of the plurality of partial periods (STEP 1) When,
a motion chart analysis function (STEP 2) for extracting the plurality of basic motions included in the motion chart and the partial periods to which the plurality of basic motions are assigned by analyzing the motion chart;
A control program for generating the control program for operating the automatic manufacturing machine by combining program elements for realizing the basic operations according to the order of the partial periods to which the basic operations are assigned in the operation chart. The generating function (STEP 3) and are realized by the computer,
The operation chart reading function includes an operation description (206a) for qualitatively describing the content of the basic operation and a quantitative item for numerically describing the basic operation in the operation chart. a function of reading the operation chart described using a numerical table (206b) or a plurality of numerical parameters (206c);
The control program generation function converts the behavioral description to the program element by referring to a correspondence relationship in which the behavioral description of the basic behavior and the program element for realizing the behavioral description are associated and stored. After converting and setting numerical values to the program elements according to the numerical table or the plurality of numerical parameters described together with the behavioral description, the control program is generated by combining the program elements according to the order of the partial periods. A program characterized in that it is a function to
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180011329.6A CN115023670A (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, and program |
PCT/JP2021/002590 WO2021153544A1 (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, and program |
EP21747216.6A EP4099107B1 (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, and program |
KR1020227014614A KR102476169B1 (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, program |
US17/852,009 US20220326688A1 (en) | 2020-01-28 | 2022-06-28 | Control program generation apparatus, control program generation method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020080857 | 2020-04-30 | ||
JP2020080857 | 2020-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021177372A JP2021177372A (en) | 2021-11-11 |
JP7114034B2 true JP7114034B2 (en) | 2022-08-08 |
Family
ID=78409560
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021006778A Withdrawn JP2021177371A (en) | 2020-01-28 | 2021-01-19 | Control program generation device, control program generation method, and program |
JP2021009660A Active JP7114034B2 (en) | 2020-01-28 | 2021-01-25 | Control program generation device, control program generation method, program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021006778A Withdrawn JP2021177371A (en) | 2020-01-28 | 2021-01-19 | Control program generation device, control program generation method, and program |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP2021177371A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101258A (en) | 1999-10-04 | 2001-04-13 | Hitachi Ltd | Method for calculating effective load capacity in wiring part and method for calculating delay time of electronic circuit |
JP2003281210A (en) | 2002-03-26 | 2003-10-03 | Hitachi Ltd | Layout design method and data library providing method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03154105A (en) * | 1989-11-10 | 1991-07-02 | Toshiba Mach Co Ltd | Nc program generating device |
JPH11202912A (en) * | 1998-01-20 | 1999-07-30 | Takashi Nishikawa | Sequence control method |
-
2021
- 2021-01-19 JP JP2021006778A patent/JP2021177371A/en not_active Withdrawn
- 2021-01-25 JP JP2021009660A patent/JP7114034B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101258A (en) | 1999-10-04 | 2001-04-13 | Hitachi Ltd | Method for calculating effective load capacity in wiring part and method for calculating delay time of electronic circuit |
JP2003281210A (en) | 2002-03-26 | 2003-10-03 | Hitachi Ltd | Layout design method and data library providing method |
Also Published As
Publication number | Publication date |
---|---|
JP2021177371A (en) | 2021-11-11 |
JP2021177372A (en) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021153521A1 (en) | Control program generation device, control program generation method, and program | |
JP5000543B2 (en) | Machine tool control method and apparatus therefor | |
WO2021153544A1 (en) | Control program generation device, control program generation method, and program | |
CN108621152A (en) | Control system, controller and control method | |
JP7114034B2 (en) | Control program generation device, control program generation method, program | |
CN115003459A (en) | Origin resetting device | |
JP7074378B2 (en) | Control program generator, control program generation method, program | |
WO2021153533A1 (en) | Control program generation device, control program generation method, and program | |
JP7114035B2 (en) | Motion control device, motion control method, program | |
WO2021153591A1 (en) | Operation control device, operation control method, and program | |
DE102017010678B4 (en) | Method and system for specifying an application pattern command lexicon for inputting at least one robot command | |
JP7523116B2 (en) | Control program generator | |
JP7347169B2 (en) | Information presentation device, information presentation method, and information presentation program | |
US20200310377A1 (en) | Ladder Display Device | |
JP2023104873A (en) | Control program generation device, control program generation method, and program | |
JP2008211888A (en) | Motor controller and its parameter setting device | |
JPH08106320A (en) | Automatic machine and control method for automatic machine | |
TW202147048A (en) | Control program generation device, control program generation method, and program | |
JP2024110909A (en) | Control program generating device, control program generating method, and program | |
JPH07223183A (en) | Work teaching device to robot and method thereof | |
JPH02116904A (en) | Numerical controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211208 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220506 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220719 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7114034 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |