JP6829505B1 - Control program generator, control program generation method, program - Google Patents
Control program generator, control program generation method, program Download PDFInfo
- Publication number
- JP6829505B1 JP6829505B1 JP2020075017A JP2020075017A JP6829505B1 JP 6829505 B1 JP6829505 B1 JP 6829505B1 JP 2020075017 A JP2020075017 A JP 2020075017A JP 2020075017 A JP2020075017 A JP 2020075017A JP 6829505 B1 JP6829505 B1 JP 6829505B1
- Authority
- JP
- Japan
- Prior art keywords
- chart
- basic
- manufacturing machine
- control program
- automatic manufacturing
- 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
- 238000000034 method Methods 0.000 title claims description 59
- 238000004519 manufacturing process Methods 0.000 claims abstract description 217
- 238000003860 storage Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 40
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000010438 heat treatment Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 abstract description 9
- 238000013461 design Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 21
- 239000000463 material Substances 0.000 description 17
- 238000011161 development Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000005452 bending Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 235000013305 food Nutrition 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000004397 blinking Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007514 turning Methods 0.000 description 2
- 238000010411 cooking Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Programmable Controllers (AREA)
- Manipulator (AREA)
Abstract
【課題】自動製造機械の動作を制御する制御プログラムを自動で生成する。【解決手段】自動製造機械(1)に搭載されている複数のアクチュエータの基本動作と、基本動作を実現するためのプログラム要素とを対応付けて記憶しておく。また、自動製造機械の動作を、自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、自動製造機械の動作が複数の基本動作に分解されると共に、基本動作が複数の部分期間の何れかに割り当てられた動作チャート(200)によって記述しておく。そして、自動製造機械の動作が記述された動作チャートを読み込んで、動作チャート中の基本動作をプログラム要素に変換すると共に、動作チャート中での部分期間の順番に従ってプログラム要素を結合する。こうすれば、自動製造機械の動作を制御する制御プログラムを自動で生成することが可能となる。【選択図】図4PROBLEM TO BE SOLVED: To automatically generate a control program for controlling an operation of an automatic manufacturing machine. SOLUTION: A basic operation of a plurality of actuators mounted on an automatic manufacturing machine (1) and a program element for realizing the basic operation are stored in association with each other. In addition, the operation period of the automatic manufacturing machine from the start 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 a plurality of basic operations. At the same time, the basic operation is described by an operation chart (200) assigned to any of a plurality of subperiods. Then, the operation chart in which the operation of the automatic manufacturing machine is described is read, the basic operation in the operation chart is converted into a program element, and the program elements are combined according to the order of the partial periods in the operation chart. In this way, it is possible to automatically generate a control program that controls the operation of the automatic manufacturing machine. [Selection diagram] Fig. 4
Description
本発明は、複数のアクチュエータを備えた自動製造機械の制御プログラムを生成する技術に関する。 The present invention relates to a technique for generating a control program of an automatic manufacturing machine including a plurality of actuators.
今日では、あらゆる業種に亘って、工場などの製造現場で省力化が強く要請されるようになっており、この傾向は今後も益々強まるものと予想されている。製造現場の省力化を推進するためには、加工あるいは製造しようとする対象物を把持したり、対象物を搬送したり、対象物に対して各種の加工を施したり、加熱したりする動作を自動で行う自動製造機械を活用することが必須となる。 Today, there is a strong demand for labor saving at manufacturing sites such as factories across all industries, and this tendency is expected to continue to grow. In order to promote labor saving at the manufacturing site, operations such as grasping the object to be processed or manufactured, transporting the object, performing various processing on the object, and heating are performed. It is essential to utilize automatic manufacturing machines that are performed automatically.
そこで、加工あるいは製造しようとする対象物や、加工の内容(例えば、切削加工や、曲げ加工)や、食品の場合は加熱の程度などに応じて、様々なタイプの自動製造機械が開発されている(例えば、特許文献1、特許文献2)。
Therefore, various types of automatic manufacturing machines have been developed according to the object to be processed or manufactured, the content of processing (for example, cutting or bending), and the degree of heating in the case of food. (For example,
また、加工あるいは製造する対象物の大きさや形状や材質などは製造現場毎に異なっており、更に、加工の内容や加熱の程度なども製造現場によって異なっている。このため、製造現場に自動製造機械を導入する際には、他の製造現場で用いられている自動製造機械を流用することは困難であり、製造現場毎に専用の自動製造機械を新たに開発しなければならないことが一般的である。 In addition, the size, shape, material, etc. of the object to be processed or manufactured differ depending on the manufacturing site, and further, the content of processing, the degree of heating, and the like also differ depending on the manufacturing site. For this reason, when introducing an automatic manufacturing machine to a manufacturing site, it is difficult to divert the automatic manufacturing machine used at another manufacturing site, and a new dedicated automatic manufacturing machine is developed for each manufacturing site. It is common to have to do.
しかし、新たな自動製造機械を開発するには、その自動製造機械を制御するための制御プログラムも新たに作成する必要があり、このことが、製造現場に新たな自動製造機械を導入する際の大きな障害になっているという問題があった。この理由は次のようなものである。 However, in order to develop a new automatic manufacturing machine, it is necessary to create a new control program to control the automatic manufacturing machine, which is the reason for introducing a new automatic manufacturing machine to the manufacturing site. There was a problem that it was a big obstacle. The reason for this is as follows.
新たな自動製造機械を開発する際には、先ず始めに機械設計技術者が、自動製造機械に要求される各種の機能を把握した上で、要求される機能を実現可能な自動製造機械の図面を作成する。続いて、プログラムを作成するための技術を有する技術者(いわゆるプログラマ)が、図面に記載された各種のアクチュエータや機械部品の動作を理解した上で、各種のアクチュエータが協調しながら動作することによって、要求される機能を実現するような制御プログラムを作成する必要がある。 When developing a new automatic manufacturing machine, the mechanical design engineer first understands the various functions required for the automatic manufacturing machine, and then draws the automatic manufacturing machine that can realize the required functions. To create. Subsequently, an engineer (so-called programmer) who has the technology for creating a program understands the operation of various actuators and mechanical parts described in the drawings, and then the various actuators operate in cooperation with each other. , It is necessary to create a control program that realizes the required functions.
このように、制御プログラムを作成するには、自動製造機械の設計が終わった後に、専門的な技能を有するプログラマが取り掛かる必要があるため、制御プログラムの作成に取り掛かる時期が遅くなる。加えて、プログラマが各種のアクチュエータや機械部品の動作を理解する時間も必要となる。その結果、自動製造機械の開発に取り掛かってから、製造現場に納品するまでに長い時間が必要となっており、このことが、製造現場に新たな自動製造機械を導入する際の大きな障害になっていた。 In this way, in order to create a control program, it is necessary for a programmer having specialized skills to start after the design of the automatic manufacturing machine is completed, so that the time to start creating the control program is delayed. In addition, it requires time for the programmer to understand the operation of various actuators and mechanical parts. As a result, it takes a long time from the start of the development of the automatic manufacturing machine to the delivery to the manufacturing site, which is a major obstacle when introducing a new automatic manufacturing machine to the manufacturing site. Was there.
この発明は、従来の技術が有する上述した課題を解決するために成されたものであり、自動製造機械の制御プログラムを自動で生成することによって、新たな自動製造機械を開発するために要する時間を大幅に短縮することが可能な技術の提供を目的とする。 The present invention has been made to solve the above-mentioned problems of the prior art, and the time required to develop a new automatic manufacturing machine by automatically generating a control program of the automatic manufacturing machine. The purpose is to provide a technology that can significantly reduce the number of items.
上述した課題を解決するために、本発明の制御プログラム生成装置は次の構成を採用した。すなわち、
複数のアクチュエータ(10〜20)を備えた自動製造機械(1)の制御プログラムを生成する制御プログラム生成装置(100a、110)であって、
前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する基本動作を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
を備えることを特徴とする。
In order to solve the above-mentioned problems, the control program generator of the present invention adopts the following configuration. That is,
A control program generator (100a, 110) for generating a control program of an automatic manufacturing machine (1) provided with a plurality of actuators (10 to 20).
A basic motion storage unit (102) that stores a basic motion in which the actuator operates in the direction of freedom of the actuator with a specified motion amount in association with a program element that realizes the basic motion.
The 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 the plurality of basic operations, and the basic operation is divided into a plurality of basic operations. , An operation chart reading unit that reads an operation chart (200) in which the operation of the automatic manufacturing machine is described by being assigned to any one of the partial periods selected for each of the basic operations. (103) and
The automatic manufacturing machine is operated by combining the program elements of the basic operations assigned to the partial periods on the operation chart in the order of the partial periods on the operation chart. It is characterized by including a control program generation unit (105) that generates a control program.
また、上述した制御プログラム生成装置に対応する本発明の制御プログラム生成方法は次の構成を採用した。すなわち、
複数のアクチュエータ(10〜20)を備えた自動製造機械(1)の制御プログラムをコンピュータに生成させる制御プログラム生成方法であって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析工程(STEP2)と、
前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP3)と
を備えることを特徴とする。
Further, the control program generation method of the present invention corresponding to the above-mentioned control program generation device adopts the following configuration. That is,
An automatic manufacturing machine (1) control program generating method a control program Ru is generated on a computer having a plurality of actuators (10-20),
The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine has a degree of freedom of the actuator with a specified operating amount. while being decomposed into a plurality of basic operations which operate in the direction, the automatic prepared by the basic operation is assigned to any one of the partial periods are selected for each of the basic operation from among the plurality of partial periods The operation chart reading process (STEP1) for reading the operation chart (200) in which the operation of the machine is described, and
An operation chart analysis step (STEP2) of extracting a plurality of the basic operations included in the operation chart and the partial period to which the plurality of basic operations are assigned by analyzing the operation chart.
By referring to the correspondence relationship stored in association with the basic operation and the program element for realizing the basic operation, the basic operation described in the operation chart is converted into the program element, and the program element is converted into the program element. It is characterized by comprising a control program generation step (STEP3) for generating the control program for operating the automatic manufacturing machine by combining the program elements in the order of the partial periods.
かかる本発明の制御プログラム生成装置および制御プログラム生成方法では、自動製造機械に搭載されている複数のアクチュエータの基本動作と、基本動作を実現するためのプログラム要素とが対応付けて予め記憶されている。また、自動製造機械の動作が、次のような動作チャートによって予め記述されている。すなわち、自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、自動製造機械の動作が複数の基本動作に分解されている。そして、それぞれの基本動作毎に、複数の部分期間の中から何れか1つの部分期間が選択されて、その部分期間に基本動作が割り当てられることによって、自動製造機械の動作が記述された動作チャートが予め作成されている。そして、自動製造機械の制御プログラムを生成するに際しては、自動製造機械の動作が記述された動作チャートを読み込んで、動作チャートに記載された基本動作をプログラム要素に変換すると共に、それらのプログラム要素を、部分期間の順番に従って結合することによって、制御プログラムを生成する。 In the control program generation device and the control program generation method of the present invention, the basic operations of a plurality of actuators mounted on the automatic manufacturing machine and the program elements for realizing the basic operations are stored in advance in association with each other. .. Further, the operation of the automatic manufacturing machine is described in advance by the following operation chart. That is, the operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations. Then, for each basic operation, any one subperiod is selected from a plurality of subperiods, and the basic operation is assigned to the subperiod, whereby the operation chart of the automatic manufacturing machine is described. Is created in advance. Then, when generating the control program of the automatic manufacturing machine, the operation chart in which the operation of the automatic manufacturing machine is described is read, the basic operation described in the operation chart is converted into program elements, and those program elements are converted. , Generate a control program by combining according to the order of partial periods.
アクチュエータの基本動作は単純な動作であるため、アクチュエータに基本動作を行わせるためのプログラム要素を予め作成しておくことができる。また、機械設計技術者は自動製造機械を設計する際に、アクチュエータの基本動作を組み合わせることによって、自動製造機械の動作を実現しているから、自動製造機械を設計した機械設計技術者や、自動製造機械の構造について十分な知識を有する技術者であれば、自動製造機械の動作を記述した動作チャートを容易に作成することができる。従って、動作チャートを読み込んで、動作チャート中の基本動作をプログラム要素に変換し、動作チャートに従ってプログラム要素を結合してやれば、自動製造機械の動作を制御する制御プログラムを自動で生成することが可能となる。 Since the basic operation of the actuator is a simple operation, a program element for causing the actuator to perform the basic operation can be created in advance. In addition, since the mechanical design engineer realizes the operation of the automatic manufacturing machine by combining the basic operation of the actuator when designing the automatic manufacturing machine, the mechanical design engineer who designed the automatic manufacturing machine and the automatic An engineer who has sufficient knowledge about the structure of a manufacturing machine can easily create an operation chart describing the operation of an automatic manufacturing machine. Therefore, if the operation chart is read, the basic operation in the operation chart is converted into program elements, and the program elements are combined according to the operation chart, it is possible to automatically generate a control program that controls the operation of the automatic manufacturing machine. Become.
また、上述した本発明の制御プログラム生成装置においては、次のような動作チャートを用いて、自動製造機械の動作を記述するようにしても良い。すなわち、動作チャートを、複数の部分期間が横方向または縦方向の何れか一方に並んで配置され、更に、横方向または縦方向の何れか他方には、複数のアクチュエータが並んで割り当てられた表形式の動作チャートとする。そして、表形式の動作チャート上で、対応する座標位置に基本動作を記入することによって、自動製造機械の動作を記述するようにしても良い。 Further, in the control program generator of the present invention described above, the operation of the automatic manufacturing machine may be described by using the following operation chart. That is, a table in which a plurality of partial periods are arranged side by side in either the horizontal direction or the vertical direction, and a plurality of actuators are arranged side by side in either the horizontal direction or the vertical direction. The operation chart is in the format. Then, the operation of the automatic manufacturing machine may be described by entering the basic operation at the corresponding coordinate position on the operation chart in tabular form.
こうすれば、基本動作させるアクチュエータを動作チャート上の座標位置で特定することができるので、基本動作をアクチュエータに固有の動作とする必要が無い。このため、同じ基本動作を異なるアクチュエータに割り当てられるので、プログラム要素の種類を減らすことができる。また、動作チャート中に、基本動作が割り当てられていない部分期間が存在することや、基本動作が割り当てられていないアクチュエータが存在することを、容易に認識することができるので、動作チャートに記入ミスがあった場合でも、そのことに気づいて修正することで、適切な制御プログラムを生成することが可能となる。 In this way, the actuator to be basically operated can be specified by the coordinate position on the operation chart, so that the basic operation does not need to be an operation peculiar to the actuator. Therefore, the same basic operation can be assigned to different actuators, so that the types of program elements can be reduced. In addition, since it is possible to easily recognize that there is a partial period in which the basic motion is not assigned and that there is an actuator to which the basic motion is not assigned in the motion chart, it is possible to make an entry error in the motion chart. Even if there is, it is possible to generate an appropriate control program by noticing it and correcting it.
また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、タイマによる計時動作または計数器による計数動作の少なくとも一方を、基準動作に準じた動作として記述しても良い。 Further, in the control program generator of the present invention described above, at least one of the time counting operation by the timer and the counting operation by the counter is described as the operation according to the reference operation in the operation chart describing the operation of the automatic manufacturing machine. You may.
こうすれば、例えば、一定時間が経過するまで動作の開始を遅らせたり、所定のボタンが押された回数が所定回数に達するまで動作の開始を遅らせたりする動作を、動作チャートに記述することが可能となる。 In this way, for example, an operation that delays the start of the operation until a certain time elapses or delays the start of the operation until the number of times a predetermined button is pressed reaches a predetermined number of times can be described in the operation chart. It will be possible.
また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、スイッチの状態を監視することによってスイッチが切り換わったことを検知するスイッチ検知動作を、基準動作に準じた動作として記述しても良い。 Further, in the control program generator of the present invention described above, the switch detection operation for detecting that the switch has been switched by monitoring the state of the switch is set as a reference operation on the operation chart describing the operation of the automatic manufacturing machine. It may be described as an operation according to.
こうすれば、例えば、部品が通過したことを確認できていなければアクチュエータを動作させないような動作を、動作チャートに記述することが可能となる。 In this way, for example, it is possible to describe in the operation chart an operation in which the actuator is not operated unless it is confirmed that the component has passed.
また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、スピーカーによる音声出力動作またはライトによる発光動作の少なくとも一方を、基準動作に準じた動作として記述しても良い。 Further, in the control program generator of the present invention described above, at least one of the voice output operation by the speaker and the light emission operation by the light is described as an operation according to the reference operation in the operation chart describing the operation of the automatic manufacturing machine. You may.
こうすれば、例えば、スピーカーから効果音などの音声を出力した後にアクチュエータを動作させたり、ライトを点灯あるいは点滅してからアクチュエータを動作させたりする動作を、動作チャートに記述することが可能となる。 In this way, for example, it is possible to describe in the operation chart the operation of operating the actuator after outputting a sound such as a sound effect from the speaker, or operating the actuator after turning on or blinking the light. ..
また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、ヒーターによる加熱動作を、基準動作に準じた動作として記述しても良い。 Further, in the control program generator of the present invention described above, the heating operation by the heater may be described as an operation according to the reference operation in the operation chart describing the operation of the automatic manufacturing machine.
こうすれば、例えば、金属材料に熱処理を行う自動製造機械の動作や、食材を加熱調理する動作を、動作チャートに記述することが可能となる。 In this way, for example, the operation of an automatic manufacturing machine that heat-treats a metal material and the operation of cooking food can be described in an operation chart.
また、前述した本発明の制御プログラム生成方法は、コンピュータを用いて制御プログラム生成方法を実現するためのプログラムとして把握することも可能である。すなわち、本発明のプログラムは、
複数のアクチュエータ(10〜20)を備えた自動製造機械(1)の制御プログラムを生成する方法を、コンピュータを用いて実現するプログラムであって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析機能(STEP2)と、
前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP3)と
を、コンピュータを用いて実現することを特徴とする。
Further, the control program generation method of the present invention described above can be grasped as a program for realizing the control program generation method using a computer. That is, the program of the present invention
A program that realizes a method of generating a control program of an automatic manufacturing machine (1) provided with a plurality of actuators (10 to 20) by using a computer.
The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine has a degree of freedom of the actuator with a specified operating amount. while being decomposed into a plurality of basic operations which operate in the direction, the automatic prepared by the basic operation is assigned to any one of the partial periods are selected for each of the basic operation from among the plurality of partial periods The operation chart reading function (STEP1) that reads the operation chart (200) that describes the operation of the machine, and
An operation chart analysis function (STEP2) for extracting a plurality of the basic operations included in the operation chart and the partial period to which the plurality of basic operations are assigned by analyzing the operation chart.
By referring to the correspondence relationship stored in association with the basic operation and the program element for realizing the basic operation, the basic operation described in the operation chart is converted into the program element, and the program element is converted into the program element. A control program generation function (STEP3) for generating the control program for operating the automatic manufacturing machine by combining the program elements in the order of the partial periods is realized by using a computer.
このようなプログラムをコンピュータに読み込ませて実行させれば、自動製造機械の動作を制御する制御プログラムを動作チャートから自動で生成することが可能となる。 If such a program is loaded into a computer and executed, a control program that controls the operation of the automatic manufacturing machine can be automatically generated from the operation chart.
A.装置構成 :
図1は、本実施例の自動製造機械1の大まかな外観形状を示した説明図である。本実施例の自動製造機械1は、長尺のパイプ材に対して自動で曲げ加工を施すことによって、所望の形状に加工する工作機械(いわゆるパイプベンダ)である。もちろん、本実施例の自動製造機械1は、複数のアクチュエータを搭載して、対象物に対して把持、搬送、加工、加熱などの複数の動作を自動で実行することができれば、パイプベンダ以外の製造機械であっても良い。例えば、食料品を自動で製造するための製造機械であっても良い。あるいは、複数の関節を有するアームロボットと搬送装置とを組み合わせた製造システムであっても良い。
A. Device configuration :
FIG. 1 is an explanatory view 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, a plurality of driver circuits (not shown) for driving the
更に、図1に示されるように、2本のレール2の下方の空間にも各種の機械部品が搭載されているが、この空間は、加工ユニット4内に搭載された複数のドライバ回路(図示は省略)から、搬送ユニット3内の各種のアクチュエータ10〜13に向かって駆動電流を供給する電気ケーブル(図示は省略)や、搬送ユニット3に搭載された各種のスイッチ・センサー類からの信号を、加工ユニット4に伝達するための信号ケーブル(図示は省略)などが配線される空間となっている。レール2上で搬送ユニット3が進退動する動きに伴って、これらの電気ケーブルや信号ケーブルが空間内で移動すると、互いに絡まったり、何かに引っ掛かったりする虞が生じる。そこで、こうした事態が発生することを避けるため、レール2の下方の空間には、電気ケーブルや信号ケーブルに不要な遊びがある場合はケーブルを手繰ることによって不要な遊びを解消し、電気ケーブルや信号ケーブルが強い力で引っ張られる場合は、手繰ったケーブルを送り出すことによって、ケーブルに適度な遊びを持たせるためのアクチュエータ14〜16も搭載されている。本実施例の自動製造機械1では、アクチュエータ14〜16としてエアシリンダが採用されており、これらのエアシリンダの動作も、図示しないドライバ回路によって制御されている。
Further, 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は、ドライバ回路11d〜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がシーケンス制御されることを表している。もちろん、サーボ制御やシーケンス制御以外の方式で制御されるアクチュエータを接続することも可能である。
In this way, the servo-controlled
自動製造機械制御装置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. 3A, the mechanical design engineer first grasps various functions required for the
こうして自動製造機械1の機械設計が完了したら、今度は、その自動製造機械1を制御するための制御プログラムの作成に移行する。制御プログラムの作成には、機械設計とは異なる専門技術が必要となるため、専門技術を有する技術者(すなわちプログラマ)が作成しなければならない。そこで、機械技術者は機械設計が終了すると、自らが考えた自動製造機械1の動作を表現するフローチャートを作成した上で、プログラマと打ち合わせをして自動製造機械1の動作を説明する。ここまでが、機械設計技術者による作業となる。
When the mechanical design of the
一方、機械設計技術者と打ち合わせたプログラマは、機械設計技術者が作成したフローチャートや、必要に応じて図面や、その他の資料を熟読することによって自動製造機械1の動作を理解した上で、自動製造機械1に搭載された各種のアクチュエータの動作を制御するための制御プログラムの作成を開始する。プログラマは、人間が判読可能な高級プログラム言語を用いて制御プログラムを作成することが普通であるが、コンピュータは高級プログラム言語のままでは制御プログラムを実行することはできない。そこで、プログラマは、制御プログラムが完成したら、高級プログラム言語で記述された制御プログラムを、コンピュータが実行可能な機械語の制御プログラムに変換することによって、最終的に制御プログラムを完成させる。尚、高級プログラム言語の制御プログラムを機械語の制御プログラムに変換する作業は、コンパイルと呼ばれており、この作業は、コンパイラと呼ばれる専用プログラムを用いることによって短時間で終了する。
On the other hand, the program who had a meeting with the mechanical design engineer understands the operation of the
図3(a)に例示されるように、従来から行われてきた開発工程では、機械設計に要する期間の1.5倍〜2.5倍程度の期間が、制御プログラムの作成に費やされるのが通常である。しかも、機械設計と制御プログラムの作成とは、原則的にはオーバーラップさせて進行させることが困難であるため、自動製造機械1の開発期間が長くなってしまう。加えて、機械設計技術者およびプログラマという異なる技術を有する専門家を確保する必要があり、このことも、新たな自動製造機械1を開発する際の大きな障害となっている。
As illustrated in FIG. 3A, in the conventional development process, a period of about 1.5 to 2.5 times the period required for mechanical design is spent on creating a control program. Is normal. Moreover, since it is difficult in principle to overlap the mechanical design and the creation of the control program to proceed, the development period of the
一方、図3(b)には、本願の発明者が提案する新たな方法を用いて、自動製造機械1を開発する工程が示されている。新たな方法を用いた場合でも、機械設計自体は、従来の方法と同様である。すなわち、機械設計技術者が、自動製造機械1に要求される各種の機能を把握した上で、それらの機能を実現するための機構が組み込まれた自動製造機械1の図面を作成する。その際には、機能の実現に必要な可動部分や、可動部分の動作内容や、可動部分を動かすためのアクチュエータの性能などを検討して、アクチュエータを決定した上で、アクチュエータの搭載性や整備性なども考慮して最終的に図面を完成させる。
On the other hand, FIG. 3B shows a process of developing the
図面が完成すると、新たな開発工程では、機械設計技術者は、フローチャートの代わりに動作チャートを作成する(図3(b)参照)。この動作チャートについては、後ほど詳しく説明するが、機械設計技術者が機械設計する際に考えた各アクチュエータの動作を、チャートの形式で記述したものである。この動作チャートは、本願の発明者が独自に発案したもので、世の中には存在しないチャートであるため、「YOGOチャート」と名付けることにした。そこで以下では、この新たな動作チャートのことを、YOGOチャートと表記する。従って、本実施例のYOGOチャートは、本発明における「動作チャート」に対応する。 When the drawing is completed, in the new development process, the mechanical design engineer creates an operation chart instead of the flowchart (see FIG. 3 (b)). This operation chart will be described in detail later, but the operation of each actuator considered by the mechanical design engineer when designing the machine is described in the form of a chart. Since this operation chart was originally invented by the inventor of the present application and does not exist in the world, it was named "YOGO chart". Therefore, in the following, this new operation chart will be referred to as a YOGO chart. Therefore, the YOGO chart of the present embodiment corresponds to the "operation chart" in the present invention.
後述するようにYOGOチャートは、機械設計する際に、機械設計技術者が考えた各アクチュエータの動作を、考えた通りに書き表したものに過ぎない。このため、機械設計した機械設計技術者であれば、フローチャートを作成する半分程度の期間で作成することができる(図3(b)参照)。加えて、YOGOチャートは、専用のコンパイラに掛けることによって、コンピュータのCPUが実行可能な制御プログラムに変換することができる。YOGOチャートを制御プログラムに変換可能な理由についても後述する。このように、自動製造機械1の動作をYOGOチャートに記述するようにすれば、YOGOチャートから機械語の制御プログラムを生成することができるので、図3に示したように、従来の方法に比べて、新たな自動製造機械1の開発期間を、少なくとも半分以下(代表的には1/3程度)に短縮することができる。加えて、YOGOチャートは機械設計技術者が簡単に作成することができ、プログラマを確保しておく必要もない。このため、新たな自動製造機械1を開発する際に大きな障害となっていた様々な事柄を、ほとんど完全に解消することが可能となる。加えて、自動製造機械1の動作を変更する場合や、自動製造機械1に新たなアクチュエータを追加する場合でも、YOGOチャートを書き直して専用のコンパイラに掛けてやれば、直ちに制御プログラムを生成することが可能となる。以下では、こうしたことが可能となる理由について説明する。
As will be described later, the YOGO chart is merely a description of the operation of each actuator considered by the mechanical design engineer when designing the machine. Therefore, a mechanical design engineer who designed a machine can create a flowchart in about half the time (see FIG. 3B). In addition, the YOGO chart can be converted into a control program that can be executed by the CPU of the computer by applying it to a dedicated compiler. The reason why the YOGO chart can be converted into a control program will also be described later. In this way, if 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 the YOGO chart:
FIG. 4 is an explanatory diagram of a principle of automatically generating a control program of 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)で進退動する動作が割り当てられている。
Further, 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 allocating the basic operation of the actuator to the partial period in this way, the following operation executed 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 in
また、部分期間に割り当てられるアクチュエータの基本動作は、例えばモータを一定量だけ回転させたり、あるいはシリンダを一定量だけ進退動させたりするといった単純な動作である。従って、アクチュエータに基本動作させるための小さなプログラム(以下、ブログラム要素と呼ぶ)を予め作成しておくことができる。ここでは自動製造機械1に搭載されているアクチュエータは、シリンダA,B、およびモータA,Bの4つであるとしているから、図4(b)に示すように、モータAを動作させるためのプログラム要素prog1と、モータBを動作させるためのプログラム要素prog2と、シリンダAを動作させるためのプログラム要素prog3と、シリンダBを動作させるためのプログラム要素prog4とを予め作成しておくことができる。 Further, the basic operation of the actuator assigned to the partial period is a simple operation such as rotating the motor by a certain amount or moving the cylinder forward or backward by a certain amount. Therefore, a small program (hereinafter referred to as a program element) for causing the actuator to perform basic operation can be created in advance. Here, it is assumed that there are four actuators mounted on the automatic manufacturing machine 1: cylinders A and B and motors A and B. Therefore, as shown in FIG. 4B, for operating the motor A. A program element prog1, a program element prog2 for operating the motor B, a program element prog3 for operating the cylinder A, and a program element prog4 for operating the cylinder B can be created in advance.
そこで、これらのプログラム要素を、図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, if these program elements are connected as described in the primitive YOGO chart shown in FIG. 4A, 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チャート200 :
図5は、YOGOチャート200の概要を説明するための説明図である。尚、YOGOチャート200の全体を表示するために縮尺すると、潰れて判読不能となってしまうので、図5ではYOGOチャート200の一部分(左上隅の部分)が表示されている。図5に示されるように、YOGOチャート200は、複数本の横線と複数本の縦線とが交差した大きな表のような形状となっている。以下では、交差する複数本の線の内、横線については「仕切線」201と称し、縦線については「トリガー線」202と称することにする。
B-3. YOGO Chart 200:
FIG. 5 is an explanatory diagram for explaining the outline of the
トリガー線202には、1番から始まる通し番号が付けられている。図5に示した例では、YOGOチャート200の上端の欄内に、その下のトリガー線202の通し番号が記載されている。また、互いに隣接するトリガー線202の間の領域は、図4を用いて前述した部分期間となっており、部分期間にも1番から始まる通し番号(以下、部分期間番号と称する)が付けられている。尚、図5に例示したYOGOチャートでは、トリガー線202が縦方向に引かれており、従って、トリガー線202とトリガー線202とに挟まれた部分期間は横方向に並んでいる。しかし、トリガー線202は横方向に引いても良く、この場合は、複数の部分期間が縦方向に並ぶことになる。
The
また、本実施例のYOGOチャートは、複数の仕切線201によって複数の横長の領域に分割されており、これらの横長の領域には1番から始まる通し番号(以下、アクチュエータ番号と称する)が付けられている。自動製造機械1に搭載されたアクチュエータは、何れかの領域に割り当てられている。図5に示した例では、アクチュエータ番号が1番の領域には、アクチュエータ10(図2参照)が割り当てられており、アクチュエータ番号が2番の領域にはアクチュエータ11(図2参照)が割り当てられ、アクチュエータ番号が3番の領域にはアクチュエータ12(図2参照)が、アクチュエータ番号が4番の領域にはアクチュエータ13(図2参照)が割り当てられている。本実施例の自動製造機械1にはアクチュエータ10〜20の11個のアクチュエータが搭載されているから、これらすべてのアクチュエータについて、このように横長の領域が1つずつ割り当てられることになる。
Further, the YOGO chart of this embodiment is divided into a plurality of horizontally long regions by a plurality of
そして、アクチュエータ10〜20の基本動作は、そのアクチュエータ10〜20が割り当てられた領域上に記載されるようになっている。例えば、アクチュエータ10を部分期間4で基本動作させるのであれば、YOGOチャート上で、アクチュエータ番号が1番、部分期間番号が4番で特定されるマス目状の座標位置に、アクチュエータ10にさせたい基本動作を記載する。また、部分期間4と部分期間8とでアクチュエータ10に基本動作させるのであれば、アクチュエータ番号が1番、部分期間番号が4番のマス目状の座標位置と、部分期間番号が8番の座標位置とに、アクチュエータ10にさせたい基本動作を記載することになる。このように、アクチュエータ10の基本動作は、YOGOチャート上でアクチュエータ番号が1番の横長の領域上に記載され、アクチュエータ11の基本動作は、アクチュエータ番号が2番の横長の領域上に記載されるというように、アクチュエータ10〜20の基本動作は、YOGOチャート上でそのアクチュエータ10〜20が割り当てられた領域上に記載されるようになっている。本実施例のYOGOチャートが、このようにして基本動作を記載しているのは、次のような理由による。
The basic operation of the
初めに、図4(a)に例示した原始的なYOGOチャートについて説明すると、原始的なYOGOチャートでは、複数のアクチュエータの動作が混在して記述されており、例えば、部分期間1で動作したシリンダAが、次にどの動作期間で動作するのかを、直ちに認識することが難しい。このため、それぞれのアクチュエータが動作する様子をイメージすることが難しく、更には、各アクチュエータの動作回数を判読することも難しい。その結果、例えば、元の位置に復帰していないアクチュエータが存在することに気づかなかったり、動作を記述し忘れているアクチュエータが存在することに気づかなかったりする虞がある。
First, the primitive YOGO chart illustrated in FIG. 4A will be described. In the primitive YOGO chart, the operations of a plurality of actuators are described in a mixed manner. For example, a cylinder operated in a
これに対して、本実施例のYOGOチャートは、図5に示されるように、アクチュエータ毎に動作が記述される領域が分離されているので、どのアクチュエータが、どの部分期間で動作しているのかを視覚によって把握して容易にイメージすることができ、各アクチュエータの動作回数を容易に判読することができる。このため、元の位置に復帰していないアクチュエータが存在していたり、動作を記述し忘れているアクチュエータが存在していたりした場合でも、そのことを容易に認識することができる。その結果、自動製造機械1を意図した通りに動作させるYOGOチャートを容易に作成することが可能となる。
On the other hand, in the YOGO chart of this embodiment, as shown in FIG. 5, the area where the operation is described is separated for each actuator, so which actuator is operating in which partial period. Can be visually grasped and easily imaged, and the number of operations of each actuator can be easily read. Therefore, even if there is an actuator that has not returned to the original position, or if there is an actuator that has forgotten to describe the operation, it can be easily recognized. As a result, it becomes possible to easily create a YOGO chart that operates the
尚、後述するように、YOGOチャート200には、アクチュエータ以外の機器の動作も記述することが可能であり、それらの機器についても、横長の領域が1つずつ割り当てられている。
As will be described later, the
また、本実施例のYOGOチャートでは、次のようにして基本動作を記載する。例えば、図5に例示したYOGOチャートで、最初に開始されるアクチュエータ13の基本動作について説明すると、この基本動作が記載される位置は、アクチュエータ番号が4番で、部分期間番号が1番のマス目状の座標位置となる。部分期間番号が1番のマス目は、1番のトリガー線202と、2番のトリガー線202とに挟まれているから、左側に存在する1番のトリガー線202から、右側に存在する2番のトリガー線202に向かって、アクチュエータの動作を示す動作線203を記入する。そして、動作線203の左端(従って1番のトリガー線202上)には動作の開始を示す始点204を記入し、動作線203の右端(従って2番のトリガー線202上)には動作の終了を示す終点205を記入する。図5に示した例では、動作線203は太い実線で示されており、始点204は白抜きの丸印で示されて、終点205は黒い丸印で示されている。
Further, in the YOGO chart of this embodiment, the basic operation is described as follows. For example, in the YOGO chart illustrated in FIG. 5, the basic operation of the
更に、動作線203の上には、アクチュエータにさせようとする基本動作の名称(以下、基本動作名206)を記入する。図5に示した例では、アクチュエータ番号が4番で、部分期間番号が1番の基本動作には「Ω−AA」という基本動作名206が記入されている。後述するように基本動作名206は、アクチュエータに基本動作を行わせるためのコンピュータで実行可能なプログラム要素に対応付けられている。従って、動作線203の上に基本動作名206を記入することによって、コンピュータが実行可能なプログラム要素を特定することができる。更に、動作線203および基本動作名206が記入された座標位置のアクチュエータ番号から、プログラム要素を用いて動作させるアクチュエータを特定することができる。そして、座標位置の部分期間番号からは、アクチュエータを動作させる部分期間を特定することができる。
Further, on the
また、基本動作に対しては、回転速度あるいは移動速度や、動作時間などのパラメータを指定することによって、より詳細な動作を指定することができる。図5に示した例では、アクチュエータ番号が4番で、部分期間番号が1番の座標位置に、「Ω−AA」という基本動作名206の下に記載されている「A−100」という表示は、「Ω−AA」という基本動作名206の基本動作に指定されたパラメータを表している。もちろん、基本動作に対して複数のパラメータを指定することによって、より一層詳細に動作を指定することもできる。例えば、アクチュエータがモータの場合は、回転速度と回転角度とを指定するようにしても良いし、アクチュエータがリニアモータであった場合は、移動速度と移動距離とを指定するようにしても良い。このように複数種類のパラメータが指定される場合を考慮して、パラメータの先頭には、パラメータの種類を表すアルファベットが記載されている。尚、パラメータによって指定する内容は、速度や位置などを表す数値に限らず、例えばモータの加速や減速の程度や、加減速の仕方を表す駆動パターンなどを指定するようにしても良い。
Further, for the basic operation, more detailed operation can be specified by specifying parameters such as rotation speed or movement speed and operation time. In the example shown in FIG. 5, the actuator number is No. 4, the partial period number is No. 1, and the display "A-100" described under the
また、アクチュエータが、例えばエアシリンダのように、ストローク限界まで前進あるいは後退させるというような単純な動作のアクチュエータである場合は、プログラム要素によって実現される基本動作は、一定時間が経過するまで単に前進あるいは後退させる動作、若しくは、接点スイッチがONになるまで前進あるいは後退させる動作となる。このような単純な動作であればパラメータは不要なので、動作線203の上には、パラメータを伴わない基本動作名206が記入されることになる。
Further, when the actuator is an actuator having a simple operation such as moving forward or backward to the stroke limit, such as an air cylinder, the basic operation realized by the program element simply moves forward until a certain period of time elapses. Alternatively, the operation is to move backward, or to move forward or backward until the contact switch is turned on. Since no parameter is required for such a simple operation, the
図5に例示したYOGOチャート上で、2番目に動作するアクチュエータ11の基本動作についても同様にして記載される。以下簡単に説明すると、この基本動作は、アクチュエータ11が2番目の部分期間で実行する動作であるから、基本動画が記載される位置は、アクチュエータ番号が2番で、部分期間番号が2番の座標位置となる。そこで、左側に存在する2番のトリガー線202から、右側に存在する3番のトリガー線202まで動作線203を引いて、動作線203の左端には始点204を、動作線203の右端には終点205を記入する。そして、動作線203の上には、アクチュエータ11に行わせたい基本動作を特定するために基本動作名206(ここでは、Ω−AB)を記入し、その下の位置には、パラメータ(ここでは、A−10)を記入する。この結果、2番目の部分期間では、アクチュエータ11に対して、「A−10」というパラメータを指定して「Ω−AB」という基本動作を行わせるという内容が記載されることになる。
The basic operation of the
以上が、YOGOチャート200を用いて自動製造機械1の動作を記述する基本的な方法であるが、動作の記述をより一層容易にする目的で、YOGOチャート200には、様々な記述方法が用意されている。
The above is the basic method for describing the operation of the
例えば、図6に示したYOGOチャートは、上述した図5のYOGOチャートに対して、5番のトリガー線202および7番のトリガー線202が、破線のトリガー線202に変更されている。これは、5番〜7番のトリガー線202に挟まれた部分期間(すなわち、部分期間番号が5番および6番の部分期間)に割り当てられた動作を繰り返して行うことを表している。これら2本のトリガー線202の内、初めに登場する5番のトリガー線202の下方には、破線の矩形208の中に繰返条件が記入されている。図6中に示した例では、VCという変数の値が0になるまで、5番のトリガー線202から7番のトリガー線202までの部分期間に割り当てられた動作が繰り返して実行される。そして、5番のトリガー線202の下方に記入された繰返条件(ここでは、変数VC=0)が成立すると、9番のトリガー線202上に始点204が記入された動作(すなわち、部分期間番号が9番の部分期間に割り当てられた動作)が開始されることになる。
For example, in the YOGO chart shown in FIG. 6, the
また、図6に示したYOGOチャートは、上述した図5のYOGOチャートに対して、9番のトリガー線202および13番のトリガー線202が、一点鎖線のトリガー線202に変更されている。これらは条件分岐することを表している。また、9番のトリガー線202の下方、および13番のトリガー線202の下方には、それぞれ一点鎖線の矩形208が表示されているが、これらは分岐条件を表している。図6に示した例では、9番のトリガー線202の下方の矩形208の中には「A>B」と記入されており、13番のトリガー線202の下方の矩形208の中には「ELSE」と記入されているが、これらは、「A>B」の条件が成立していれば、9番のトリガー線202上に始点204が記入された動作(すなわち、部分期間番号が9番の部分期間に割り当てられた動作)を開始し、「A>B」の条件が成立していない場合(ELSEの場合)は、13番のトリガー線202上に始点204が記入された動作(すなわち、部分期間番号が13番の部分期間に割り当てられた動作)を開始することを表している。
Further, in the YOGO chart shown in FIG. 6, the
また、自動製造機械1では、アクチュエータの動作の開始前に一定時間の間隔を空けたり、例えば一定個数の部品が供給されたことを確認してからアクチュエータを動作させたりする場合がある。更には、アクチュエータの動作の開始前に音声(効果音を含む)を出力して周囲の作業者に注意を促したり、一定時間に亘ってライトを点灯させたり点滅させたりすることがある。このように、タイマを用いて一定時間を計時する動作や、計数器を用いて一定数を計数する動作や、スピーカーから音声を出力する動作や、ライトを発光させて点灯あるいは点滅させる動作は、アクチュエータによる動作ではないが、それに準じた動作として基本動作と同様に取り扱うことができる。YOGOチャート200には、アクチュエータによる動作ではないが基本動作と同様に取り扱うことが可能な動作も記述することができる。
Further, in the
図7は、YOGOチャート200上で、基本動作と同様に取り扱うことが可能な動作を記述する態様を例示した説明図である。図7(a)には、所定時間の経過したことを計時する動作(計時動作)が記述されている。YOGOチャート200では、タイマによる計時動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、タイマによる計時を示す基本動作名206(ここでは、Ω−TM1)を記入することによって記述する。タイマで計時する経過時間は、パラメータを用いて指定することができる。
FIG. 7 is an explanatory diagram illustrating a mode for describing an operation that can be handled in the same manner as the basic operation on the
図7(b)には、所定個数(あるいは所定回数)を計数する動作(計数動作)が記述されている。計数器による計数動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、計数器による計数動作を示す基本動作名206(ここでは、Ω−CT1)を記入することによって記述する。計数器で計数する計数値は、パラメータを用いて指定することができる。
FIG. 7B describes an operation (counting operation) of counting a predetermined number (or a predetermined number of times). For the counting operation by the counter, enter the basic operation name 206 (here, Ω-CT1) indicating the counting operation by the counter on the
図7(c)には、所定時間の間、スイッチの状態を監視して、スイッチが切り換わったことを検知する動作(スイッチ検知動作)が記述されている。ここで、スイッチとは、操作ボタンのようなスイッチでも良いし、近接スイッチでも良いし、フォトカプラのような光学的なスイッチであっても構わない。このようなスイッチ検知動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、スイッチ検知動作を示す基本動作名206(ここでは、Ω−SW1)を記入することによって記述する。スイッチの状態を監視する時間は、パラメータを用いて指定することができる。
FIG. 7C describes an operation (switch detection operation) of monitoring the state of the switch for a predetermined time and detecting that the switch has been switched. Here, the switch may be a switch such as an operation button, a proximity switch, or an optical switch such as a photocoupler. Such a switch detection operation is also performed by writing the basic operation name 206 (here, Ω-SW1) indicating the switch detection operation on the
図7(d)には、スピーカーから音声を出力する動作(音声出力動作)が記述されている。YOGOチャート200では、スピーカーによる音声出力動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、スピーカーの駆動を示す基本動作名206(ここでは、Ω−SP1)を記入することによって記述する。スピーカーから出力する音声データは、パラメータを用いて指定することができる。
FIG. 7D describes an operation of outputting audio from the speaker (audio output operation). In the
図7(e)には、ライトを発光させる発光動作が記述されている。ライトによる発光動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、ライトの発光動作を示す基本動作名206(ここでは、Ω−LL1)を記入することによって記述する。ライトを発光させる態様(例えば、点灯あるいは点滅させる態様)は、パラメータを用いて指定することができる。
FIG. 7 (e) describes a light emitting operation for causing the light to emit light. The light emitting operation by the light is also described by writing the basic operation name 206 (here, Ω-LL1) indicating the light emitting operation on the
図7(f)には、ヒーターを用いて対象物を加熱したり、食材を加熱調理したりする加熱動作が記述されている。ヒーターによる加熱動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、ヒーターによる加熱動作を示す基本動作名206(ここでは、Ω−HT1)を記入することによって記述する。加熱温度や加熱時間は、パラメータを用いて指定することができる。
FIG. 7 (f) describes a heating operation in which an object is heated by using a heater or food is cooked. The heating operation by the heater is also described by writing the basic operation name 206 (here, Ω-HT1) indicating the heating operation by the heater on the
以上のように、本実施例のYOGOチャートでは、アクチュエータ番号と、部分期間番号とによって特定されるマス目状の座標位置に、動作線203と、始点204と、終点205と、基本動作名206と、必要な場合はパラメータとを記入することによって基本動作を記載する。そして、自動製造機械1に搭載された全てのアクチュエータ10〜20の基本動作を、このようにしてYOGOチャート上に記載することによって、自動製造機械1の動作を記述する。そして、自動製造機械制御装置100は、このようなYOGOチャートから制御プログラムを生成して、自動製造機械1の動作を制御する。
As described above, in the YOGO chart of this embodiment, the
C.本実施例の自動製造機械制御装置100 :
図8は、本実施例の自動製造機械制御装置100が備える機能を示した説明図である。図8に示されるように、本実施例の自動製造機械制御装置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. 8 is an explanatory diagram showing the functions included in 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
また、図5〜図7を用いて前述したように、YOGOチャート200には、基本動作(あるいは基本動作に準じた動作)を特定するための基本動作名206を記入する必要がある。そこで、基本動作記憶部102には、アクチュエータ(あるいは、スピーカー、ライト、スイッチなど)の名称と、そのアクチュエータなどで実行可能な基本動作などの基本動作名206とが対応付けて記憶されている。
Further, as described above with reference to FIGS. 5 to 7, it is necessary to enter the
図9は、アクチュエータなどの名称と、基本動作名206とが対応付けられている様子を示した説明図である。このような対応関係は、基本動作記憶部102に記憶されている。図示されるように、アクチュエータなどに対して基本動作(計時動作などの基本動作に準じた動作も含む)などの基本動作名206が対応付けて記憶されている。複数種類の基本動作が実行可能なアクチュエータなどに対しては、実行可能なそれぞれの基本動作に対して基本動作名206が記憶されることになる。更に、それぞれの基本動作名206に対しては、プログラム要素番号や、プログラム要素を格納した先頭アドレス値も記憶されている。プログラム要素番号とは、基本動作(あるいは基本動作に準じた動作)を実現するためのプログラム要素を特定する番号である。また、プログラム要素はCPUが実行可能な形式でメモリに格納されており、メモリ上でプログラム要素が格納されているアドレスの先頭のアドレス値も、基本動作記憶部102に対応付けて記憶されている。
FIG. 9 is an explanatory diagram showing how the names of the actuator and the like are associated with the
図8に示すように、YOGOチャート作成部101は基本動作記憶部102に接続されている。このため、機械設計技術者(あるいは機械技術者)は、YOGOチャート200を作成するに際して、基本動作記憶部102に記憶されている図9のデータを参照することができる。そして、自動製造機械1について十分な知識を有する機械技術者であれば、どのようなアクチュエータをどのように動作させるかは十分に分かっているので、アクチュエータなどの名称から基本動作名206を知ることができ、更に、パラメータに指定する内容も容易に決めることができる。このため、YOGOチャート200を簡単に作成することができる。
As shown in FIG. 8, the YOGO
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に記憶されている基本動作名206とプログラム要素番号との対応関係を参照することによって、中間データから制御プログラムを生成する。中間データから制御プログラムを生成する方法については、後ほど詳しく説明する。そして、得られた制御プログラムを制御実行部106に出力する。
When the control
制御実行部106は、制御プログラム生成部105から制御プログラムを受け取ると、基本動作記憶部102を参照することによって、制御プログラム中のプログラム要素番号に対応するプログラム要素を取得する。すなわち、図9を用いて前述したように、基本動作記憶部102には、プログラム要素番号に対応付けて、プログラム要素が格納されている先頭アドレス値が記憶されているので、プログラム要素番号に対応するプログラム要素を読み込むことができる。そして、読み込んだプログラム要素を実行することによって、ドライバ回路10d〜20dを介してアクチュエータ10〜20を制御する。こうすることによって、YOGOチャートに記載された通りに、自動製造機械1が動作することになる。
When the
尚、本実施例のYOGOチャート読込部103は、本発明の「動作チャート読込部」に対応している。また、図8を用いて前述したYOGOチャート読込部103と、YOGOチャート解析部104と、制御プログラム生成部105とは、これらが一体となって、YOGOチャート200から制御プログラムを生成する機能を実現している。従って、本実施例の自動製造機械制御装置100では、YOGOチャート読込部103と、YOGOチャート解析部104と、および制御プログラム生成部105とが、本発明の「制御プログラム生成装置110」に対応する。
The YOGO
D.制御プログラム生成処理 :
図10は、本実施例の自動製造機械制御装置100の中で、制御プログラム生成装置110に対応する部分が実行する制御プログラム生成処理の概要を示したフローチャートである。図示されるように、制御プログラム生成処理では、先ず初めにYOGOチャートを読み込む(STEP1)。本実施例では、自動製造機械制御装置100がYOGOチャートを作成しているから、作成したYOGOチャートのデータを読み込むことになる。もちろん、他のコンピュータ50で作成したYOGOチャートのデータを読み込んでも良い。
D. Control program generation process:
FIG. 10 is a flowchart showing an outline of the control program generation process executed by the portion corresponding to the control
続いて、読み込んだYOGOチャートを解析して中間データを出力する(STEP2)。これは次のような処理である。図11は、本実施例の自動製造機械制御装置100が、YOGOチャートを解析して中間データを出力する処理(YOGOチャート解析処理)のフローチャートである。この処理は、図8中に示したYOGOチャート解析部104が実行する処理である。
Then, the read YOGO chart is analyzed and intermediate data is output (STEP2). This is the following process. FIG. 11 is a flowchart of a process (YOGO chart analysis process) in which the automatic manufacturing
図11に示したように、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. 11, when the analysis process is started on the YOGO chart, first, the partial period number N and the actuator number M are initialized to "1" (STEP 10). Subsequently, it is determined whether or not the basic operation is entered at the position of the coordinates (N, M) on the YOGO chart (STEP 11). Here, the coordinates (N, M) on the YOGO chart represent the coordinate positions in a grid pattern specified by the combination of the partial period number N and the actuator number M on the YOGO chart. Immediately after initializing the partial period number N and the actuator number M 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 illustrated in FIG. 5, since the basic operation is not entered in the coordinates (1, 1), it is judged as "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 by one, it is determined whether or not the basic operation is entered in the coordinates (1, M). Will be determined as "yes" in
そして、STEP11で「yes」と判断された場合は、その座標に記入されている基本動作名206、およびパラメータが記入されている場合はパラメータを読み込む(STEP12)。図5に例示したYOGOチャートでは、座標(1,4)に達した時に、STEP11で「yes」と判断されて、「Ω−AA」という基本動作名206と、「A−100」というパラメータとを読み込むことになる。
Then, when it is determined as "yes" in
続いて、(N,M,基本動作名,パラメータ)という中間データをメモリに記憶する(STEP1)。図5に例示したYOGOチャートの座標(1,4)の場合であれば、(1,4,Ω−AA,A−100)という中間データをメモリに記憶することになる。従って、この中間データは、YOGOチャート上で部分期間番号が1番、アクチュエータ番号Mが4番の位置に、「Ω−AA」という名前の基本動作が記入されており、その基本動作には「A−100」というパラメータが設定されていることを表している。 Subsequently, intermediate data (N, M, basic operation name, parameter) 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, Ω-AA, A-100) is stored in the memory. Therefore, in this intermediate data, the basic operation named "Ω-AA" is entered at the position where the partial period number is No. 1 and the actuator number M is No. 4 on the YOGO chart, and the basic operation is "Ω-AA". This indicates that the parameter "A-100" is set.
こうして、YOGOチャートから読み出したデータをメモリに記憶した後は(STEP13)、アクチュエータ番号Mが最終値(ここでは、11)に達したか否かを判断する(STEP14)。その結果、最終値に達していない場合は(STEP14:no)、アクチュエータ番号Mを1つ増加させた後(STEP15)、STEP11に戻って、再び、YOGOチャート上の座標(N,M)に基本動作が記入されているか否かを判断する。 In this way, 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 is not reached (STEP14: no), the actuator number M is increased by one (STEP15), then the process returns to STEP11, and the coordinates (N, M) on the YOGO chart are used again. Determine if the action is entered.
これに対して、アクチュエータ番号Mが最終値に達していた場合は(STEP14:yes)、今度は、部分期間番号Nが最終値に達したか否かを判断する(STEP16)。例えば、YOGOチャート上で、自動製造機械1の動作が100個の部分期間を用いて記述されているのであれば、部分期間番号Nの最終値は100となる。
On the other hand, when the actuator number M has reached the final value (STEP14: yes), this time, it is determined whether or not the partial period number N has reached the final value (STEP16). 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, when the partial period number N has not reached the final value (STEP16: no), the partial period number N is increased by one (STEP17), and after the actuator number M is initialized to "1" (STEP18). ), Returning to STEP11, it is determined again whether or not the basic operation is entered in the coordinates (N, M) on the YOGO chart. That is, on the YOGO chart (see FIG. 5), the partial period with the partial period number N is checked in order from the top, and after checking to the bottom, this time, the partial period number N is the second. Check the partial period in order from the top, and when you finish checking the second partial period, the partial period number N is the third partial period, and so on, from the small partial period to the large partial period. In order, the basic operation names and parameters entered in the YOGO chart are read out, and the intermediate data is stored in the memory.
そして、このような操作を繰り返していき、最終的に、部分期間番号Nが最終値に達したと判断したら(STEP16:yes)、YOGOチャートに記入された全ての基本動作を読み出したことになる。そこで、メモリに記憶しておいた中間データを読み出して、制御プログラム生成部105に出力する(STEP19)。図12には、図5に例示したYOGOチャートを解析した場合に得られる中間データが例示されている。このような中間データを出力したら、図11のYOGOチャート解析処理を終了して、図10の制御プログラム生成処理に復帰する。 Then, by repeating such operations and finally determining that the partial period number N has reached the final value (STEP16: yes), it means that all the basic operations 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 generation unit 105 (STEP 19). FIG. 12 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. 11 is terminated, and the process returns to the control program generation process of FIG.
図10の制御プログラム生成処理では、このようにして得られた中間データに基づいて、制御プログラムを生成する(STEP3)。図13には、図12に例示した中間データから生成された制御プログラムが示されている。図12の中間データと、図13の制御プログラムとを比較すれば明らかなように、制御プログラムでは、中間データの基本動作名206およびパラメータが、数値に置き換えられたものとなっている。すなわち、制御プログラムは、中間データの基本動作名206を、その基本動作を実現するプログラム要素番号に置き換えると共に、中間データのパラメータを、そのバラメータが表す具体的な数値に置き換えることによって生成されている。
In the control program generation process of FIG. 10, a control program is generated based on the intermediate data thus obtained (STEP 3). FIG. 13 shows a control program generated from the intermediate data illustrated in FIG. As is clear from comparing the intermediate data of FIG. 12 with the control program of FIG. 13, in the control program, the
中間データの基本動作名206およびパラメータを数値に置き換える操作は、図8中の制御プログラム生成部105が、基本動作記憶部102を参照することによって実行される。すなわち、基本動作記憶部102には、図9を用いて前述したように、基本動作名と、その基本動作名の基本動作を実現させるプログラム要素番号とが対応付けて記憶されている。また、パラメータについても、基本動作記憶部102には、パラメータと具体的な数値とを対応付ける図示しない対応関係が記憶されている。そこで、制御プログラム生成部105は、中間データに記載されている基本動作名206やパラメータを、プログラム要素番号や具体的な数値に置き換えることによって、制御実行部106が実行可能な制御プログラムに変換する。
The operation of replacing the
このように、本実施例の自動製造機械制御装置100では、基本動作記憶部102を参照して、基本動作名206やパラメータを、プログラム要素番号や具体的な数値に置き換えることとしているので、YOGOチャートに記入する基本動作名206やパラメータは、人間が分かり易い表記とすることができる。このため、YOGOチャートに誤った基本動作名206やパラメータを記入してしまい、自動製造機械1が意図しない動作をしてしまう事態を防止することができる。
As described above, in the automatic manufacturing
以上のようにして、中間データから制御プログラムを生成したら(図10のSTEP3)、生成した制御プログラムを制御実行部106に出力して(STEP4)、図10の制御プログラム生成処理を終了する。
After the control program is generated from the intermediate data as described above (
尚、図13に示すように、本実施例の制御プログラムは、部分期間番号N、アクチュエータ番号M、プログラム要素番号、パラメータ値が、この順序で並んだ一組のデータ(以下、「データ組」と呼ぶ)が集まったものとなっている。そこで、データ組の中で、部分期間番号Nを表す1番目のデータを「第1要素」と呼び、アクチュエータ番号Mを表す2番目のデータを「第2要素」と呼び、プログラム要素番号を表す3番目のデータを「第3要素」と呼ぶことにする。 As shown in FIG. 13, in the control program of this embodiment, a set of data in which the partial period number N, the actuator number M, the program element number, and the parameter value are arranged in this order (hereinafter, "data set"). It is a collection of). Therefore, in the data set, the first data representing the partial period number N is called the "first element", the second data representing the actuator number M is called the "second element", and represents the program element number. The third data will be referred to as the "third element".
E.動作制御処理 :
上述した制御プログラム生成処理によって生成される制御プログラムは、図13に例示するように、複数のデータ組が連続したデータに過ぎない。しかし、自動製造機械制御装置100の制御実行部106は、このような制御プログラムに基づいて、以下のようにして、自動製造機械制御装置100のアクチュエータ10〜20の動作を制御する。
E. Operation control processing:
As illustrated in FIG. 13, the control program generated by the control program generation process described above is merely data in which a plurality of data sets are continuous. However, the
図14は、自動製造機械制御装置100の制御実行部106が、制御プログラムに従って自動製造機械1の動作を制御する動作制御処理のフローチャートである。図14に示すように、動作制御処理を開始すると、先ず初めに、部分期間番号Nを「1」に初期化する(STEP50)。続いて、制御プログラムの中から、第1要素がNのデータ組を取得する(STEP51)。動作制御処理を開始した直後であれば、部分期間番号Nは「1」に設定されているから、図13に例示した制御プログラムから、(1,4,1,120)というデータ組を読み出すことになる。
FIG. 14 is a flowchart of an operation control process in which the
続いて、読み出したデータ組の第2要素の値に基づいて、制御対象となるアクチュエータを特定する(STEP52)。STEP51で読み出したデータ組を(1,4,1,120)とすれば第2要素の値は「4」であるから、アクチュエータ番号Mが「2」のアクチュエータが制御対象のアクチュエータとなる。また、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). Assuming that the data set read in STEP 51 is (1, 4, 1, 120), the value of the second element is "4", so that the actuator whose actuator number M is "2" is the actuator to be controlled. Further, when a plurality of data sets are read out in STEP 51, each actuator to be controlled is specified based on the value of the second element of each data set.
更に、読み出したデータ組の第3要素の値に基づいて、アクチュエータに基本動作させるためのプログラム要素を取得する(STEP53)。STEP51で読み出したデータ組を(1,4,1,120)とすれば第3要素の値は「1」であるから、基本動作させるためのプログラム要素は、プログラム要素番号が「1」番のプログラム要素となる。そこで、基本動作記憶部102に記憶されている対応関係(図9参照)を参照して、プログラム要素番号に対応する先頭アドレス値を取得することによって、CPUが実行可能なプログラム要素を読み出す。もちろん、STEP51で複数のデータ組を読み出していた場合には、それぞれのデータ組の第3要素の値に基づいて、それぞれのプログラム要素を読み出すことになる。
Further, based on the value of the third element of the read data set, the program element for causing the actuator to perform the basic operation is acquired (STEP53). If the data set read in STEP 51 is (1, 4, 1, 120), the value of the third element is "1". Therefore, the program element for basic operation has the program element number "1". It becomes a program element. Therefore, by referring to the correspondence relationship (see FIG. 9) stored in the basic
また、データ組中に第1要素〜第3要素以外の要素が存在している場合は、それは(あるいは、それらは)プログラム要素に指定するパラメータなので、それ(あるいは、それら)を読み出して、プログラム要素に引数として設定する(STEP54)。 Also, if there are elements other than the first to third elements in the data set, they are (or they) parameters specified for the program element, so read them (or them) and program. Set as an argument to the element (STEP54).
以上のSTEP51〜STEP54の操作を行うことによって、YOGOチャート上のある部分期間(動作制御処理が開始された直後は、部分期間番号Nが「1」番の部分期間)に記入された基本動作を、それぞれのアクチュエータに行わせる準備が整ったことになる。すなわち、制御対象となるアクチュエータが特定され(STEP52)、制御に用いるプログラム要素が取得され(STEP53)、プログラム要素に対して引数が設定された(STEP54)ことになるので、そのプログラム要素を実行する(STEP55)。例えば、アクチュエータがサーボモータであり、基本動作の内容がモータを正方向に180度回転させるという内容であった場合は、モータの回転角度を検出しながら、回転角度が180度になるまでモータを駆動する動作を、所定の制御周期で繰り返すようなプログラム要素を実行する。また、複数のプログラム要素が存在する場合は、それらのプログラム要素が並行して実行されることになる。 By performing the above operations of STEP 51 to STEP 54, the basic operation entered in a certain partial period on the YOGO chart (immediately after the operation control process is started, the partial period number N is the "1" partial period) is performed. , It means that each actuator is ready to do it. That is, the actuator to be controlled is specified (STEP52), the program element used for control is acquired (STEP53), and the argument is set for the program element (STEP54). Therefore, the program element is executed. (STEP55). For example, if the actuator is a servomotor and the basic operation is to rotate the motor 180 degrees in the forward direction, the motor is operated until the rotation angle reaches 180 degrees while detecting the rotation angle of the motor. A program element that repeats the driving operation at a predetermined control cycle is executed. Further, when a plurality of program elements exist, those program elements are executed in parallel.
続いて、全てのプログラム要素の実行が終了したか否かを判断する(STEP56)。すなわち、STEP55で複数のプログラム要素を実行した場合は、それらのプログラム要素の実行が同時に終了するとは限らないので、全てのプログラム要素の実行が終了したか否かを判断する。もちろん、STEP55で1つのプログラム要素しか実行していない場合は、そのプログラム要素の実行が終了したか否かを判断することになる。 Then, it is determined whether or not the execution of all the program elements is completed (STEP56). That is, when a plurality of program elements are executed in STEP55, the execution of those program elements is not always completed at the same time, so it is determined whether or not the execution of all the program elements is completed. Of course, when only one program element is executed in STEP55, it is determined whether or not the execution of the program element is completed.
その結果、実行中のプログラム要素が残っている場合は、STEP56では「no」と判断して、再び同じ判断(STEP56)を繰り返す。こうすることによって、全てのプログラム要素の実行が終了するまで待機状態となる。そして、全てのプログラム要素の実行が終了したら(STEP56:yes)、部分期間番号Nが最終値に達したか否かを判断する(STEP57)。例えば、YOGOチャート上で自動製造機械1の動作を記述するために、100個の部分期間が用いられていた場合は、部分期間番号Nが「100」に達したか否かを判断する。
As a result, if the program element being executed remains, it is determined as "no" in STEP56, and the same determination (STEP56) is repeated again. By doing so, the program waits until the execution of all the program elements is completed. Then, when the execution of all the 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, when 100 partial periods are 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 STEP 51, the data set whose first element matches the new partial period number N is read from the control program, and then the above-described STEP 52 to STEP 55 operations are performed on the read data set. By doing so, all the basic operations entered in the new partial period are executed by advancing one partial period from the partial period in which the basic operation was executed earlier. Then, when all the basic operations of the new partial period are completed and "yes" is determined in STEP 56, it is determined whether or not the partial period number N of the partial period has reached the final value (STEP 57). As a result, if the partial period number N has not reached the final value (STEP57: no), after increasing the partial period number N by one (STEP58), the process returns to STEP51 and the new partial period number N is described. The above-mentioned operations of STEP 51 to STEP 57 are repeated.
このように、図14の動作制御処理では、YOGOチャートの先頭の部分期間(すなわち、部分期間番号Nが1番の部分期間)から最後の部分期間(部分期間番号Nが最終値の部分期間)に向かって、部分期間を1つずつ選択して、その部分期間に記載された基本動作を実行する動作を繰り返す。そして、最後の部分期間の基本動作が終了したら、STEP57で「yes」と判断して、動作制御処理を終了する。 As described above, in the operation control process of FIG. 14, the first partial period (that is, the partial period number N is the first partial period) to the last partial period (the partial period number N is the final value partial period) of the YOGO chart. The operation of executing the basic operation described in the partial period is repeated by selecting the partial periods one by one. Then, when the basic operation of the last partial period is completed, STEP57 determines "yes" and ends the operation control process.
以上に詳しく説明したように、本実施例の自動製造機械制御装置100では、自動製造機械1の動作をYOGOチャート200で記述することによって、そのYOGOチャート200から制御プログラムを自動で生成して、自動製造機械制御装置100を動作させることができる。また、YOGOチャートは、自動製造機械1の構造や動作が分かっていれば、プログラムに関する知識が無くても簡単に作成することができるので、プログラマが制御プログラムを作成する必要が無い。このため、新たな自動製造機械1を開発するために要する時間を、大幅に(少なくとも半分以下に)短縮することができ、加えて、プログラマを確保しておく必要も無くなる。その結果、製造現場に新たな自動製造機械を導入することが容易になって、産業界での省力化に対する要請に十分に対応することが可能となる。
As described in detail above, in the automatic manufacturing
以上、本実施例の自動製造機械制御装置100について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
Although the automatic manufacturing
例えば、上述した実施例の自動製造機械制御装置100では、図8に示したように、制御プログラム生成部105および制御実行部106の何れも、基本動作記憶部102を参照するものとして説明した。これは、制御プログラム生成部105が制御プログラムを生成する際に参照する対応関係(すなわち、基本動作名206(およびパラメータ)とプログラム要素番号(および具体的な数値)との対応関係)と、制御実行部106が制御プログラムを実行する際に参照する対応関係(すなわち、プログラム要素番号とプログラム要素を格納した先頭アドレス値との対応関係)とが、何れも基本動作記憶部102に記憶されているためである。従って、基本動作記憶部102に記憶されている対応関係を、制御プログラム生成部105が参照する対応関係と、制御実行部106が参照する対応関係とに分割して、制御実行部106が参照する対応関係については、基本動作記憶部102とは別の記憶部で記憶するようにしても良い。
For example, in the automatic manufacturing
図15は、制御プログラム生成部105が参照する対応関係と、制御実行部106が参照する対応関係を分割することにより、制御プログラム生成部105と制御実行部106とが異なる記憶部を参照するようにした変形例の自動製造機械制御装置100についての説明図である。図15に示した変形例の自動製造機械制御装置100は、図8を用いて前述した本実施例の自動製造機械制御装置100に対して、制御実行部106が、基本動作記憶部102ではなくブログラム要素記憶部107を参照している点が異なっている。このブログラム要素記憶部107には、図9を用いて前述した対応関係の中で、プログラム要素番号と、プログラム要素が格納された先頭アドレス値とを対応付けた部分が記憶されている。また、このことに伴って、変形例の基本動作記憶部102に記憶されている対応関係からは、プログラム要素番号に対して先頭アドレス値を対応付けた部分が除かれている。このような変形例の自動製造機械制御装置100では、制御実行部106が制御プログラムを実行する際に、ブログラム要素記憶部107を参照して読み出したプログラム要素を実行することになる。
FIG. 15 shows that the control
尚、上述した変形例の基本動作記憶部102が記憶している対応関係について、疑義を招かないように補足説明しておく。前述した本実施例の自動製造機械制御装置100では、図9に例示したように、プログラム要素を格納した先頭アドレス値と、基本動作名206との対応関係が基本動作記憶部102に記憶されていた。これに対して、上述した変形例では、基本動作記憶部102に対応付けて記憶されているのは、基本動作名206とプログラム要素番号との対応関係に過ぎず、基本動作名206とプログラム要素の先頭アドレス値との対応関係が記憶されているわけではない。従って、変形例の基本動作記憶部102を参照しても、基本動作を実現するプログラム要素が直ちに読み出せるわけではない。しかし、プログラム要素番号を特定すれば、プログラム要素は決まってしまう。このことから、変形例の基本動作記憶部102が記憶している対応関係も、実質的には、基本動作名206とプログラム要素とを対応付けた対応関係に該当している。
It should be noted that the correspondence relationship stored in the basic
また、前述した本実施例の自動製造機械制御装置100は、YOGOチャートを作成して、そのYOGOチャートから制御プログラムを生成する機能(図8のYOGOチャート作成部101、基本動作記憶部102、YOGOチャート読込部103、YOGOチャート解析部104、制御プログラム生成部105に対応)に加えて、制御プログラムに従って制御を実行する機能(図8の制御実行部106に対応)も備えているものとして説明した。しかし、これらの複数の機能の一部を搭載した複数の装置を組み合わせることによって、全体として自動製造機械制御装置100を形成するようにしても良い。
Further, the automatic manufacturing
例えば、図16に例示したように、自動製造機械制御装置100を、YOGOチャート処理装置100aと、制御実行装置100bとに分割してもよい。そして、自動製造機械制御装置100には、YOGOチャートの作成から制御プログラムの生成までの一連の機能(すなわち、YOGOチャート作成部101、基本動作記憶部102、YOGOチャート読込部103、YOGOチャート解析部104、制御プログラム生成部105)を搭載する。また、制御実行装置100bには、制御プログラムに従ってプログラム要素を実行する機能(すなわち、制御実行部106、ブログラム要素記憶部107)を搭載する。
For example, as illustrated in FIG. 16, the automatic manufacturing
こうすれば、YOGOチャートを作成したり、制御プログラムを生成したりする作業は事務室に設置しておいたYOGOチャート処理装置100aで行い、自動製造機械1の傍に設置しておいた制御実行装置100bに、生成した制御プログラムを読み込ませることによって、自動製造機械1を動作させることが可能となる。尚、図16に示した例では、YOGOチャート処理装置100aが、本発明における「制御プログラム生成装置」に対応する。
In this way, the work of creating the YOGO chart and generating the control program is performed by the YOGO
また、前述した本実施例では、YOGOチャート200に記入される動作は、基本動作(あるいは基本動作に準じた動作)であるものとして説明した。しかし、他自由度の複雑な動作をする部品を購入して、その部品に所定の動作を行わせることによって、自動製造機械1のアクチュエータとして利用する場合もある。このような場合は、その部品に行わせる所定の動作を、基本動作に準じた動作として取り扱って基本動作名206を付与した上でYOGOチャート200に記入するようにしても良い。このような場合でも、基本動作名206に対応するプログラム要素を予め作成しておけば、自動製造機械制御装置100を用いて制御プログラムを自動で生成することが可能となる。
Further, in the above-described embodiment, the operation entered in the
1…自動製造機械、 2…レール、 3…搬送ユニット、 3a…把持軸、
3b…チャック、 4…加工ユニット、 10〜20…アクチュエータ、
10d〜20d…ドライバ回路、 50…コンピュータ、
100…自動製造機械制御装置、 100a…YOGOチャート処理装置、
100b…制御実行装置、 100m…モニター画面、
100s…操作入力ボタン、 102…基本動作記憶部、
105…制御プログラム生成部、 106…制御実行部、
107…ブログラム要素記憶部、 110…制御プログラム生成装置、
201…仕切線、 202…トリガー線、 203…動作線、
204…始点、 205…終点、 206…基本動作名。
1 ... automatic manufacturing machine, 2 ... rail, 3 ... transfer unit, 3a ... gripping shaft,
3b ... Chuck, 4 ... Machining unit, 10-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, 110 ... Control program generator,
201 ... Partition line, 202 ... Trigger line, 203 ... Operation line,
204 ... start point, 205 ... end point, 206 ... basic operation name.
Claims (8)
前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する基本動作を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
を備えることを特徴とする制御プログラム生成装置。 A control program generator (100a, 110) for generating a control program of an automatic manufacturing machine (1) provided with a plurality of actuators (10 to 20).
A basic motion storage unit (102) that stores a basic motion in which the actuator operates in the direction of freedom of the actuator with a specified motion amount in association with a program element that realizes the basic motion.
The 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 the plurality of basic operations, and the basic operation is divided into a plurality of basic operations. , An operation chart reading unit that reads an operation chart (200) in which the operation of the automatic manufacturing machine is described by being assigned to any one of the partial periods selected for each of the basic operations. (103) and
The automatic manufacturing machine is operated by combining the program elements of the basic operation assigned to the partial period on the operation chart in the order of the partial periods on the operation chart. A control program generation device including a control program generation unit (105) for generating a control program.
前記動作チャート読込部は、複数の前記部分期間が横方向または縦方向の何れか一方に並んで配置され、前記横方向または縦方向の何れか他方には、複数の前記アクチュエータが並んで割り当てられた表形式の動作チャート上で、対応する座標位置に前記基本動作が記入されることによって、前記自動製造機械の動作が記述された前記動作チャートを読み込む
ことを特徴とする制御プログラム生成装置。 The control program generator according to claim 1.
In the operation chart reading unit, a plurality of the partial periods are arranged side by side in either the horizontal direction or the vertical direction, and a plurality of the actuators are arranged side by side in either the horizontal direction or the vertical direction. A control program generator, characterized in that the operation chart in which the operation of the automatic manufacturing machine is described is read by entering the basic operation at a corresponding coordinate position on a tabular operation chart.
前記基本動作記憶部は、前記基本動作に加えて、タイマによる計時動作または計数器による計数動作の少なくとも一方を、前記計時動作または前記計数動作を実現する前記プログラム要素と対応付けて記憶しており、
前記動作チャート読込部は、前記計時動作または前記計数動作の少なくとも一方が、前記複数の部分期間の何れかに割り当てられた前記動作チャートを読込可能となっている
ことを特徴とする制御プログラム生成装置。 The control program generator according to claim 1 or 2.
In addition to the basic operation, the basic operation storage unit stores at least one of the timing operation by the timer and the counting operation by the counter in association with the program element that realizes the timing operation or the counting operation. ,
The operation chart reading unit is a control program generation device characterized in that at least one of the timing operation and the counting operation can read the operation chart assigned to any of the plurality of partial periods. ..
前記基本動作記憶部は、前記基本動作に加えて、スイッチの状態を監視することによってスイッチが切り換わったことを検知するスイッチ検知動作と、前記スイッチ検知動作を実現する前記プログラム要素と対応付けて記憶しており、
前記動作チャート読込部は、前記スイッチ検知動作が前記複数の部分期間の何れかに割り当てられた前記動作チャートを読込可能となっている
ことを特徴とする制御プログラム生成装置。 The control program generator according to any one of claims 1 to 3.
In addition to the basic operation, the basic operation storage unit associates a switch detection operation that detects that the switch has been switched by monitoring the state of the switch with the program element that realizes the switch detection operation. I remember
The operation chart reading unit is a control program generation device characterized in that the operation chart reading unit can read the operation chart whose switch detection operation is assigned to any of the plurality of partial periods.
前記基本動作記憶部は、前記基本動作に加えて、スピーカーによる音声出力動作またはライトによる発光動作の少なくとも一方を、前記音声出力動作または前記発光動作を実現するための前記プログラム要素と対応付けて記憶しており、
前記動作チャート読込部は、前記音声出力動作または前記発光動作の少なくとも一方を含んだ前記動作チャートを読込可能となっている
ことを特徴とする制御プログラム生成装置。 The control program generator according to any one of claims 1 to 4.
In addition to the basic operation, the basic operation storage unit stores at least one of the voice output operation by the speaker and the light emission operation by the light in association with the program element for realizing the voice output operation or the light emission operation. And
The operation chart reading unit is a control program generation device capable of reading the operation chart including at least one of the voice output operation and the light emission operation.
前記基本動作記憶部は、前記基本動作に加えて、ヒーターによる加熱動作を、前記加熱動作を実現するための前記プログラム要素と対応付けて記憶しており、
前記動作チャート読込部は、前記加熱動作を含んだ前記動作チャートを読込可能となっている
ことを特徴とする制御プログラム生成装置。 The control program generator according to any one of claims 1 to 5.
In addition to the basic operation, the basic operation storage unit stores the heating operation by the heater in association with the program element for realizing the heating operation.
The operation chart reading unit is a control program generation device characterized in that the operation chart including the heating operation can be read.
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析工程(STEP2)と、
前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP3)と
を備えることを特徴とする制御プログラム生成方法。 An automatic manufacturing machine (1) control program generating method a control program Ru is generated on a computer having a plurality of actuators (10-20),
The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine has a degree of freedom of the actuator with a specified operating amount. while being decomposed into a plurality of basic operations which operate in the direction, the automatic prepared by the basic operation is assigned to any one of the partial periods are selected for each of the basic operation from among the plurality of partial periods The operation chart reading process (STEP1) for reading the operation chart (200) in which the operation of the machine is described, and
An operation chart analysis step (STEP2) of extracting a plurality of the basic operations included in the operation chart and the partial period to which the plurality of basic operations are assigned by analyzing the operation chart.
By referring to the correspondence relationship stored in association with the basic operation and the program element for realizing the basic operation, the basic operation described in the operation chart is converted into the program element, and the program element is converted into the program element. A control program generation method comprising: a control program generation step (STEP3) for generating the control program for operating the automatic manufacturing machine by combining the program elements in the order of the partial periods.
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析機能(STEP2)と、
前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP3)と
を、コンピュータを用いて実現するプログラム。 A program that realizes a method of generating a control program of an automatic manufacturing machine (1) provided with a plurality of actuators (10 to 20) by using a computer.
The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine has a degree of freedom of the actuator with a specified operating amount. while being decomposed into a plurality of basic operations which operate in the direction, the automatic prepared by the basic operation is assigned to any one of the partial periods are selected for each of the basic operation from among the plurality of partial periods The operation chart reading function (STEP1) that reads the operation chart (200) that describes the operation of the machine, and
An operation chart analysis function (STEP2) for extracting a plurality of the basic operations included in the operation chart and the partial period to which the plurality of basic operations are assigned by analyzing the operation chart.
By referring to the correspondence relationship stored in association with the basic operation and the program element for realizing the basic operation, the basic operation described in the operation chart is converted into the program element, and the program element is converted into the program element. A program that uses a computer to realize a control program generation function (STEP3) that generates the control program that operates the automatic manufacturing machine by combining the program elements in the order of the partial periods.
Priority Applications (20)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020075017A JP6829505B1 (en) | 2020-04-20 | 2020-04-20 | Control program generator, control program generation method, program |
JP2021001236A JP7074378B2 (en) | 2020-04-20 | 2021-01-07 | Control program generator, control program generation method, program |
TW110101500A TW202147048A (en) | 2020-01-28 | 2021-01-14 | Control program generation device, control program generation method, and program |
TW110101501A TW202147049A (en) | 2020-01-28 | 2021-01-14 | Operation control device, operation control method, and program |
TW112138804A TW202403480A (en) | 2020-01-28 | 2021-01-14 | 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 |
EP21747401.4A EP4099110A4 (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, and program |
CN202180011351.0A CN115023671A (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, and program |
PCT/JP2021/002546 WO2021153533A1 (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, and program |
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 |
KR1020227010541A KR102476170B1 (en) | 2020-01-28 | 2021-01-26 | Control program generation device, control program generation method, program |
CN202180011396.8A CN115023672A (en) | 2020-01-28 | 2021-01-27 | Operation control device, operation control method, and program |
KR1020227014615A KR102476171B1 (en) | 2020-01-28 | 2021-01-27 | Motion control device, motion control method, program |
PCT/JP2021/002768 WO2021153591A1 (en) | 2020-01-28 | 2021-01-27 | Operation control device, operation control method, and program |
EP21747218.2A EP4099108A4 (en) | 2020-01-28 | 2021-01-27 | Operation control device, operation control method, and program |
US17/842,503 US20220308558A1 (en) | 2020-01-28 | 2022-06-16 | Control program generation apparatus, control program generation method, and program |
US17/852,009 US20220326688A1 (en) | 2020-01-28 | 2022-06-28 | Control program generation apparatus, control program generation method, and program |
US17/864,205 US20220350310A1 (en) | 2020-01-28 | 2022-07-13 | Operation control apparatus, operation control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020075017A JP6829505B1 (en) | 2020-04-20 | 2020-04-20 | Control program generator, control program generation method, program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021001236A Division JP7074378B2 (en) | 2020-04-20 | 2021-01-07 | Control program generator, control program generation method, program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6829505B1 true JP6829505B1 (en) | 2021-02-10 |
JP2021174072A JP2021174072A (en) | 2021-11-01 |
Family
ID=74529680
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020075017A Active JP6829505B1 (en) | 2020-01-28 | 2020-04-20 | Control program generator, control program generation method, program |
JP2021001236A Active JP7074378B2 (en) | 2020-04-20 | 2021-01-07 | Control program generator, control program generation method, program |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021001236A Active JP7074378B2 (en) | 2020-04-20 | 2021-01-07 | Control program generator, control program generation method, program |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP6829505B1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11202912A (en) * | 1998-01-20 | 1999-07-30 | Takashi Nishikawa | Sequence control method |
JP2000259216A (en) * | 1999-03-12 | 2000-09-22 | Digital Electronics Corp | System and method for programming industrial controller and recording medium recording software of the system and method |
JP2003228403A (en) * | 2002-02-01 | 2003-08-15 | Ide Keiki:Kk | Sequence control method and sequencer device |
KR20160075629A (en) * | 2013-10-31 | 2016-06-29 | 미쓰비시덴키 가부시키가이샤 | Program creating device, program creating method, and program |
JP6821497B2 (en) * | 2017-04-27 | 2021-01-27 | 株式会社日立産機システム | Data sharing method in the program development system of the industrial controller and the program development system of the industrial controller |
-
2020
- 2020-04-20 JP JP2020075017A patent/JP6829505B1/en active Active
-
2021
- 2021-01-07 JP JP2021001236A patent/JP7074378B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021174072A (en) | 2021-11-01 |
JP2021174522A (en) | 2021-11-01 |
JP7074378B2 (en) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021153521A1 (en) | Control program generation device, control program generation method, and program | |
CN109388096B (en) | Information processing apparatus and method, and non-volatile computer-readable recording medium | |
US20220326688A1 (en) | Control program generation apparatus, control program generation method, and program | |
JP6829505B1 (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 | |
JP2008071015A (en) | Numerical controller | |
JP7114034B2 (en) | Control program generation device, control program generation method, program | |
JP7347169B2 (en) | Information presentation device, information presentation method, and information presentation program | |
JP7523116B2 (en) | Control program generator | |
KR102476171B1 (en) | Motion control device, motion control method, program | |
JP2022026361A (en) | Control program production system | |
JP7276359B2 (en) | Motion command generation device, mechanism control system, computer program, motion command generation method, and mechanism control method | |
JP2023104873A (en) | Control program generation device, control program generation method, and program | |
TW202403480A (en) | Control program generation device, control program generation method, and program | |
JPS6260006A (en) | Interference checking method for robot control program | |
CN118103182A (en) | Simulation device and control system for generating auxiliary file | |
JPH0463402B2 (en) | ||
KR20090119208A (en) | Apparatus and method for controlling robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200420 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200923 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201204 |
|
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: 20210105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6829505 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |