JPH09171405A - Device and method for controlling fa system, and control program generating method - Google Patents

Device and method for controlling fa system, and control program generating method

Info

Publication number
JPH09171405A
JPH09171405A JP7331666A JP33166695A JPH09171405A JP H09171405 A JPH09171405 A JP H09171405A JP 7331666 A JP7331666 A JP 7331666A JP 33166695 A JP33166695 A JP 33166695A JP H09171405 A JPH09171405 A JP H09171405A
Authority
JP
Japan
Prior art keywords
control
program
processor
automatic machine
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7331666A
Other languages
Japanese (ja)
Other versions
JP3658061B2 (en
Inventor
Masahiro Koyama
昌宏 小山
Norihisa Miyake
徳久 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP33166695A priority Critical patent/JP3658061B2/en
Publication of JPH09171405A publication Critical patent/JPH09171405A/en
Application granted granted Critical
Publication of JP3658061B2 publication Critical patent/JP3658061B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Control By Computers (AREA)
  • General Factory Administration (AREA)
  • Stored Programmes (AREA)
  • Feedback Control In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To describe control programs of FA system integrating into one, to automatically allocate it to respective processors and to convert the control program into programs for these processors. SOLUTION: The work specifications of respective cells consisting of the FA system are described in a single language, program module groups by functions are generated for performing sequence control, control of automatic machine and control of programmable peripheral equipment, and these respective program modules 1601 by functions are separated into program groups 1803 by processors composed of plural programs 1802 by processors. At this time, a unit block processing time estimating and evaluating means 1801d evaluates the processing time of each unit block corresponding to processor configuration and function data 1801c, and a unit block connecting means 1801e connects unit blocks 1602 so as to optimize the distribution of processing load at plural processors.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ロボットを含むF
Aシステムの制御装置と方法に係り、特に、ロボットな
どの自動機械と視覚センサなどのプログラミング可能な
周辺機器を含む複数機器によって構成されるFAシステ
ムの制御装置と方法、さらには、かかるシステムにおけ
る制御プログラムの生成方法に関する。
TECHNICAL FIELD The present invention relates to an F including a robot.
The present invention relates to a control device and method of an A system, and more particularly, to a control device and method of an FA system configured by a plurality of devices including an automatic machine such as a robot and programmable peripheral devices such as a visual sensor, and control in such a system. It relates to a program generation method.

【0002】[0002]

【従来の技術】ロボットなどの自動機械と、視覚センサ
などのプログラミング可能な周辺機器とを含む複数の機
器によって構成されるFA(Factory Automation)シス
テムは、既に広く知られ、かつ、実用化されている。そ
して、かかる従来のFAシステム及びその制御方法は、
一般に、各種機器の入出力(以下、「I/O」と略記)
を制御するプログラマブルコントローラと、ロボットを
制御するロボットコントローラと、画像処理装置など
を、パラレルI/O、または、ネットワークによって接
続し、FAシステムを構成する各機器の制御を行うとい
うものであった。そして、かかる従来技術になるFAシ
ステムの制御においては、各機器の制御対象毎に異なる
制御装置(例えば、プログラマブルコントローラ、ロボ
ットコントローラ、画像処理装置など)を組み合わせて
使用し、しかも、制御装置毎に異なるプログラミング言
語を使用していた。
2. Description of the Related Art FA (Factory Automation) systems composed of a plurality of devices including automatic machines such as robots and programmable peripheral devices such as visual sensors have been widely known and put into practical use. There is. And, such a conventional FA system and its control method are
Generally, input / output of various devices (hereinafter abbreviated as "I / O")
A programmable controller for controlling the robot, a robot controller for controlling the robot, an image processing device, and the like are connected by parallel I / O or a network to control each device constituting the FA system. In the control of the FA system according to the related art, different control devices (for example, programmable controller, robot controller, image processing device, etc.) are used in combination for each control target of each device, and furthermore, each control device is controlled. Used a different programming language.

【0003】このため、FAシステムを構築する場合、
幾つもの異なったプログラム言語を習得する必要があ
り、一つのFAシステムを制御するためには、このよう
な異なったプログラム言語を駆使して、互いに関連し合
う複数のプログラムを作成しなければならなかった。ま
た、FAシステムの機能が高度化するにつれて、FAシ
ステムの制御装置の構成も複雑となり、そのプログラム
の作成には多大な労力を要し、その際にも、上記異なる
プログラミング言語の使用が、やはり、FAシステムを
制御するプログラムの開発効率を向上させる上で、大き
な阻害要因となっていた。
Therefore, when constructing an FA system,
It is necessary to learn several different programming languages, and in order to control one FA system, it is necessary to make full use of such different programming languages to create multiple programs that are related to each other. It was Further, as the functions of the FA system have become more sophisticated, the configuration of the control device of the FA system has become more complicated, and a great deal of labor has been required to create the program. , Was a major impediment to improving the development efficiency of programs that control FA systems.

【0004】ところで、従来、上記のような課題を解決
するものとして、例えば、特開平7−84768号公報
によれば、FA用機器を作動させるプログラムを一つに
統合した形で作成するFAシステムの制御方法が記載さ
れている。また、やはり上記のような課題を解決するた
め、例えば、特開平7−72920号公報によれば、F
Aシステムの制御プログラムを一括して記述するFAシ
ステムの制御方法が既に提案されている。
By the way, conventionally, as a means for solving the above-mentioned problems, for example, according to Japanese Patent Laid-Open No. 7-84768, an FA system is created in which a program for operating FA equipment is integrated into one form. Is described. In order to solve the above problems, for example, according to Japanese Patent Laid-Open No. 7-72920, F
A control method for an FA system that collectively describes a control program for the A system has already been proposed.

【0005】すなわち、上記従来技術の前者である特開
平7−84768号公報に記載されているFAシステム
の制御方法は、ロボットや画像処理装置などのFA用機
器を一つのプログラミング言語で統一的に作動させるた
めの統合プログラムを作成して、これをプログラマブル
コントローラ、ロボットコントローラ、画像処理装置で
実行されるプログラムに分解するものである。なお、こ
こで述べられている統合プログラムは、従来のプログラ
マブルコントローラのラダープログラムに、ロボットプ
ログラムと画像処理プログラムをサブルーチンのような
形で付加した、いわゆる拡張型ラダープログラムなどで
あり、これをラダープログラム、ロボットプログラム、
画像処理プログラムの三つに分解する方法をとってい
る。
That is, in the control method of the FA system described in Japanese Patent Application Laid-Open No. 7-84768, which is the former of the above-mentioned prior art, FA devices such as a robot and an image processing device are unified in one programming language. An integrated program for operating is created and decomposed into a program executed by a programmable controller, a robot controller, and an image processing device. The integrated program described here is a so-called extended ladder program in which a robot program and an image processing program are added in the form of a subroutine to a conventional programmable controller ladder program. , Robot program,
The method is divided into three image processing programs.

【0006】また、上記後者の従来技術である特開平7
−72920号公報に記載されているFAシステムの制
御方法は、FAシステムの作業を一括して記述した制御
プログラムから、シーケンス制御プログラムとロボット
制御プログラムを自動的に生成するものである。ここで
述べられているFAシステムの制御プログラムは、ペト
リネットを応用したプログラミング言語により、FAシ
ステム全体としての作業仕様を明示的に表現したもので
ある。
Further, the latter prior art mentioned above, Japanese Laid-Open Patent Publication No.
In the FA system control method described in Japanese Patent No. 72920, a sequence control program and a robot control program are automatically generated from a control program that collectively describes the work of the FA system. The control program of the FA system described here explicitly expresses the work specifications of the FA system as a whole by a programming language that applies Petri nets.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、上記従
来技術により提案されるFAシステムの制御方法や制御
プログラムは、FAシステムの機能の高度化に伴うプロ
グラムの開発の効率を向上させる上ではその効果を発揮
するものの、以下に指摘する問題点については言及され
ていなかった。
However, the control method and control program of the FA system proposed by the above-mentioned prior art are effective in improving the efficiency of the program development accompanying the sophistication of the functions of the FA system. Although it works, the problem pointed out below was not mentioned.

【0008】すなわち、FAシステムの機能が高度化す
るに伴い、複数の制御装置または制御用プロセッサによ
る分散協調化が進んだ場合、上記二つの従来技術により
提案されるFAシステムの制御方法や制御プログラムの
ように、単に、プログラムをシーケンス制御やロボット
制御などのような機能別に分離するだけでなく、さら
に、制御装置や制御プロセッサの構成と性能に応じた最
適な処理負荷の配分になるように、各制御装置毎または
プロセッサ毎のプログラムの分割を行う必要性が生じ
る。例えば、シーケンス制御プロセッサ、ロボット制御
プロセッサ、画像処理プロセッサのそれぞれが複数個組
み合わされたような制御システムにおいては、各プロセ
ッサに対する最適なプログラム分割を自動的に行うこと
ができれば、複雑なFAシステムを構築する際にも、ユ
ーザは制御システムのハードウェア構成を意識すること
なく、より効率のよいFAシステムの制御プログラムを
一本化して作成することができることとなる。
That is, when the distributed cooperation by a plurality of control devices or control processors is advanced as the function of the FA system is advanced, the control method and the control program of the FA system proposed by the above two prior arts. In addition to simply separating the program by function such as sequence control or robot control, as described above, it is also necessary to distribute the optimum processing load according to the configuration and performance of the control device or control processor. It becomes necessary to divide the program for each control device or each processor. For example, in a control system in which a plurality of sequence control processors, robot control processors, and image processing processors are combined, a complicated FA system can be constructed if automatic optimal program division for each processor can be performed. Also in this case, the user can create a more efficient control program for the FA system as a single program without paying attention to the hardware configuration of the control system.

【0009】そこで、本発明では、上記の従来技術にお
ける問題点に鑑み、さらには、上記発明者等による従来
技術に対する認識に基づいて、すなわち、FAシステム
の制御プログラムを一本化して作成することができるだ
けではなく、さらに、作成される制御プログラムにより
FAシステムをより効率的に制御することを可能にする
FAシステムの制御装置と方法、さらには、かかるシス
テムにおける制御プログラムの生成方法を提供すること
を目的とする。
Therefore, in the present invention, in view of the above-mentioned problems in the prior art, further, based on the recognition of the prior art by the inventors, that is, the control program of the FA system is created as a single program. In addition to the above, it is also possible to provide a control device and method for an FA system that enables the FA system to be controlled more efficiently by a created control program, and a method for generating a control program in such a system. With the goal.

【0010】[0010]

【課題を解決するための手段】上記の本発明の目的を達
成するため、本発明によれば、それぞれが、少なくとも
自動機械と、前記自動機械に関連するプログラミング可
能な周辺機器とを含む、複数のセルから構成されるFA
システムの制御装置であって、前記複数のセルに対し
て、それぞれ、前記セル全体としての作業仕様を同一言
語で記述したセル制御プログラムと、前記セル制御プロ
グラムから、前記自動機械と周辺機器の作業順序の制御
に関するプログラムと、前記自動機械の動作制御に関す
るプログラムと、前記プログラミング可能な周辺機器の
制御に関するプログラムとに分離変換する分離変換手段
と、前記分離変換手段により分離変換された各プログラ
ムに基づいて、当該セルを構成する前記自動機械と前記
プログラミング可能な周辺機器の動作をそれぞれ制御す
る複数のプロセッサ手段とを備えており、前記分離変換
手段は、さらに、少なくとも前記自動機械あるいは前記
プログラミング可能な周辺機器の動作をそれぞれ制御す
る複数の前記プロセッサ手段における処理負荷の配分を
行う処理負荷配分手段を備えているFAシステムの制御
装置が提起されている。
In order to achieve the objects of the invention set forth above, according to the invention, a plurality is provided, each comprising at least an automatic machine and programmable peripherals associated with said automatic machine. FA composed of cells
A system control device, wherein for each of the plurality of cells, a work control of the entire cell is described in the same language, and a work of the automatic machine and peripheral devices from the cell control program. Based on the separation conversion means for separating and converting into a program related to sequence control, a program related to operation control of the automatic machine, and a program related to control of the programmable peripheral device, and each program separated and converted by the separation conversion means. And a plurality of processor means for respectively controlling the operations of the automatic machine and the programmable peripheral device forming the cell, wherein the separation conversion means further includes at least the automatic machine or the programmable device. A plurality of the above-mentioned processes for controlling the operation of peripheral devices respectively. Control device for FA system comprising a processing load allocation means for performing the allocation of processing load in support means is raised.

【0011】また、本発明によれば、やはり上記の本発
明の目的を達成するため、それぞれが、少なくとも自動
機械と、前記自動機械に関連するプログラミング可能な
周辺機器とを含む、複数のセルから構成されるFAシス
テムを制御するための制御方法において、前記複数のセ
ルの少なくとも1のセルを構成する機器をそれぞれ複数
のプロセッサにより制御するため、前記セル全体として
の作業仕様を同一言語で記述してセル制御プログラムを
作成し、当該作成したセル制御プログラムから、前記自
動機械と周辺機器の作業順序の制御に関するプログラム
と、前記自動機械の動作制御に関するプログラムと、前
記プログラミング可能な周辺機器の制御に関するプログ
ラムとに分離変換し、前記分離変換した各プログラムに
基づいて、当該セルを構成する前記自動機械と前記プロ
グラミング可能な周辺機器の動作をそれぞれ前記複数の
プロセッサにより制御するFAシステムの制御方法であ
って、当該プログラムの分離変換の際に、さらに、少な
くとも前記自動機械あるいは前記プログラミング可能な
周辺機器の動作を制御するそれぞれの前記複数のプロセ
ッサにおける処理負荷の配分を行うFAシステムの制御
方法が提案されている。
According to the invention, also in order to achieve the above-mentioned object of the invention, from a plurality of cells each comprising at least an automatic machine and programmable peripherals associated with said automatic machine. In a control method for controlling a configured FA system, a work specification of the entire cell is described in the same language in order to control devices constituting at least one cell of the plurality of cells by a plurality of processors. A cell control program is created by using the created cell control program, and a program related to control of the work order of the automatic machine and peripheral devices, a program related to operation control of the automatic machine, and a programmable peripheral device control Separately converted into a program and based on each of the separated and converted programs, A method of controlling an FA system for controlling the operations of the automatic machine and the programmable peripheral device, each of which comprises a plurality of processors, at the time of separating and converting the program, and further at least the automatic machine or the A method of controlling an FA system has been proposed in which the processing load is distributed in each of the plurality of processors that controls the operation of a programmable peripheral device.

【0012】さらに、本発明によれば、やはり上記の本
発明の目的を達成するため、それぞれが、少なくとも自
動機械と、前記自動機械に関連するプログラミング可能
な周辺機器とを含む、複数のセルから構成されるFAシ
ステムにおいて、前記複数のセルの少なくとも1のセル
を構成する機器をそれぞれ複数のプロセッサにより制御
するための制御プログラムを生成するためのFAシステ
ムの制御プログラム生成方法であって、前記セル全体と
しての作業仕様を同一言語で記述してセル制御プログラ
ムを作成し、当該作成したセル制御プログラムから、前
記自動機械と周辺機器の作業順序の制御に関するプログ
ラムと、前記自動機械の動作制御に関するプログラム
と、前記プログラミング可能な周辺機器の制御に関する
プログラムとに自動的に分離変換し、そして、少なくと
も前記自動機械あるいは前記プログラミング可能な周辺
機器の動作を制御するそれぞれの前記複数のプロセッサ
における処理負荷の配分を自動的に行うFAシステムの
制御プログラム生成方法が提案されている。
Furthermore, according to the present invention, also in order to achieve the above-mentioned objects of the present invention, a plurality of cells each comprising at least an automatic machine and programmable peripherals associated with said automatic machine are provided. A FA system control program generation method for generating a control program for controlling equipment constituting at least one cell of the plurality of cells by a plurality of processors, respectively, in the FA system configured A cell control program is created by describing overall work specifications in the same language, and a program related to control of the work order of the automatic machine and peripheral devices and a program related to operation control of the automatic machine are created from the created cell control program. And the program for controlling the programmable peripherals There is proposed a control program generation method for an FA system, which performs separate conversion into, and automatically distributes a processing load in each of the plurality of processors that controls at least the operation of the automatic machine or the programmable peripheral device. There is.

【0013】加えて、本発明によれば、上記の目的は、
ロボットを含む自動機械と視覚センサなどのプログラミ
ング可能な周辺機器とを含む複数機器の単位(セル)か
ら構成されるFAシステムの制御方法において、前記セ
ル全体としての作業仕様を直接記述し、前記複数機器の
作業順序の制御に関する情報と、前記複数機器の入出力
の制御に関する情報と、前記自動機械の動作制御に関す
る情報と、前記プログラミング可能な周辺機器の制御に
関する情報と、前記複数機器間の同期をとるための動作
タイミングに関する情報とを有するセル制御プログラム
から、機能別モジュール分離変換手段によって、前記複
数機器の作業順序に関する情報と、前記入出力の制御に
関する情報を分離及び抽出して、前記複数機器の作業順
序の制御と前記入出力の制御を行う処理が記述されたシ
ーケンス制御プログラムモジュールを生成し、また、前
記自動機械の動作制御と前記動作タイミングに関する情
報を分離及び抽出して、前記自動機械の位置決め及び軌
道の制御を行う処理が記述された自動機械制御プログラ
ムモジュールを生成し、また、前記プログラミング可能
な周辺機器の制御と前記動作タイミングに関する情報を
分離及び抽出して、前記プログラミング可能な周辺機器
の制御を行う処理が記述された周辺機器制御プログラム
モジュールを生成し、さらにこのシーケンス制御プログ
ラムモジュールと自動機械制御プログラムモジュールと
周辺機器制御プログラムモジュールとを、それぞれシー
ケンス制御プロセッサ別モジュール分割手段と自動機械
制御プロセッサ別モジュール分割手段と周辺機器制御プ
ロセッサ別モジュール分割手段によって、前記セルを制
御するプロセッサの構成と性能に基づいて、各プロセッ
サの処理負荷の配分が最適となるようなプログラムモジ
ュールに分割し、さらにこれらの分割したプログラムモ
ジュールを各プロセッサが実行可能な形式のプログラム
に変換して、シーケンス制御プロセッサ用プログラム群
と自動制御プロセッサ用プログラム群と周辺装置制御プ
ロセッサ用プログラム群とを生成し、これらの各プロセ
ッサ用プログラム群を、それぞれを解釈実行するプロセ
ッサ群に対して出力するFAシステムの制御方法によっ
て達成される。
In addition, according to the present invention, the above objects are
In a control method of an FA system composed of a unit (cell) of a plurality of devices including an automatic machine including a robot and programmable peripheral devices such as a visual sensor, a work specification of the entire cell is directly described, Information regarding control of work order of equipment, information regarding control of input / output of the plurality of equipment, information regarding operation control of the automatic machine, information regarding control of the programmable peripheral equipment, and synchronization between the plurality of equipment From the cell control program having the information on the operation timing to obtain the information, the function-based module separation conversion unit separates and extracts the information on the work order of the plurality of devices and the information on the input / output control, A sequence control program that describes the process for controlling the work order of the equipment and the input / output control. A ram module, and an automatic machine control program module in which a process for separating and extracting information on the operation control of the automatic machine and the operation timing to control the positioning and the trajectory of the automatic machine is described. In addition, a control program for the programmable peripheral device and information regarding the operation timing are separated and extracted to generate a peripheral device control program module in which a process for controlling the programmable peripheral device is described. The sequence control program module, the automatic machine control program module, and the peripheral equipment control program module are respectively provided by the sequence control processor-specific module dividing means, the automatic machine control processor-specific module dividing means, and the peripheral equipment control processor-specific module dividing means. Based on the configuration and performance of the processor that controls the cell, it is divided into program modules that optimize the distribution of the processing load of each processor, and these divided program modules are executable by each processor. To generate a sequence control processor program group, an automatic control processor program group, and a peripheral device control processor program group, and convert each processor program group into a processor group that interprets and executes each program. This is achieved by the control method of the FA system that outputs the output.

【0014】すなわち、本発明では、FAシステムを構
成する、一つのまとまった複数機器からなる単位要素
(以下、セルとする)を構築する際に、セルに含まれる
ロボットなどの自動機械と視覚センサなどのプログラミ
ング可能な周辺機器とその他の機器を制御するプログラ
ムをセル制御プログラムとして一本化して記述し、さら
に、このセル制御プログラムから、FAシステムの制御
装置のプロセッサの構成と性能に応じて、各プロセッサ
の処理負荷の配分が最適となるように、各プロセッサ用
のプログラムを自動的に生成することで、従来のように
制御装置の構成に応じて複数のプログラムを作成した
り、幾つものプログラミング言語を習得したりする必要
もなく、その結果として、FAシステムの制御プログラ
ムの開発効率を向上することができるFAシステムの制
御方法を提供することが可能となる。
That is, according to the present invention, when constructing a unit element (hereinafter, referred to as a cell) that constitutes an FA system and includes one set of a plurality of devices, an automatic machine such as a robot included in the cell and a visual sensor. A program for controlling programmable peripheral devices such as the above and other devices is integrated and described as a cell control program. Further, from this cell control program, according to the configuration and performance of the processor of the control device of the FA system, By automatically generating a program for each processor so that the processing load of each processor is optimally distributed, multiple programs can be created according to the configuration of the control device as in the past, and several programs can be programmed. There is no need to learn a language, and as a result, the efficiency of developing FA system control programs is improved. It becomes possible to provide a control method of the FA system capable.

【0015】[0015]

【発明の実施の形態】以下、添付の図面を参照して、本
発明の実施の形態について詳細に説明する。図2は、本
発明に係るFAシステムの制御装置における処理プロセ
スを模式的に示すブロック図である。一般に、FAシス
テムは、自動機器であるロボットを含む複数の機器から
構成され、これら複数の機器は、それぞれ、複数の機器
の単位としての「セル」と呼ばれている。この図2の場
合には、制御対象であるFAシステムの機器であるセル
116は、例えば、2体のロボット116a、116b
と、視覚センサ116c、116dと、そして、その他
の周辺機器116e、116fなどから構成されてい
る。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. FIG. 2 is a block diagram schematically showing a processing process in the control device of the FA system according to the present invention. Generally, an FA system is composed of a plurality of devices including a robot which is an automatic device, and each of the plurality of devices is called a "cell" as a unit of the plurality of devices. In the case of FIG. 2, the cell 116 which is the device of the FA system to be controlled is, for example, two robots 116a and 116b.
And visual sensors 116c and 116d, and other peripheral devices 116e and 116f.

【0016】かかるFAシステムのセル116の作業を
制御するプログラミングを作成する場合、まず、このセ
ル116全体としての作業仕様を記述したセル制御プロ
グラム102を、コンピュータなどにより構成される、
いわゆる、セル制御プログラム編集手段101によって
作成する。なお、このセル制御プログラム編集手段10
1は、例えば、セル116の制御装置に接続された端末
(図3に示す)の画面上において、セル116の各機器
の動作シーケンスをペトリネットの形式で記述すること
ができるグラフィカル・ユーザ・インタフェースを有す
るものである。また、セル制御プログラム102のペト
リネット表現については、後に具体例を用いて説明す
る。
When creating a program for controlling the work of the cell 116 of the FA system, first, the cell control program 102 describing the work specifications of the cell 116 as a whole is configured by a computer or the like.
It is created by the so-called cell control program editing means 101. The cell control program editing means 10
1 is a graphical user interface capable of describing the operation sequence of each device of the cell 116 in a Petri net format on the screen of a terminal (shown in FIG. 3) connected to the control device of the cell 116. Is to have. The Petri net representation of the cell control program 102 will be described later using a specific example.

【0017】セル制御プログラム102には、(1)ロ
ボット116a、116bの動作制御に関する情報、
(2)視覚センサ116c、116dの画像処理に関す
る情報、(3)その他の周辺装置に接続されるI/Oの
制御に関する情報、(4)これら各機器の動作順序と各
機器間の動作タイミングの同期に関する情報が、セル1
16全体の作業仕様として、一種類のプログラミング言
語(以下、セル制御言語とする)によって記述されてい
る。このようにセル116の作業仕様を一つのプログラ
ムとして記述することで、セル116全体としての動作
シーケンスを明示的に表現することができる。なお、セ
ル制御言語の仕様は、前記の従来技術、特開平7−72
920号公報に記載されているものに拡張を加えたもの
であり、シーケンス表現にペトリネットを応用している
ところなど、基本的な部分は共通の手法を用いている。
The cell control program 102 includes (1) information relating to operation control of the robots 116a and 116b,
(2) Information regarding image processing of the visual sensors 116c and 116d, (3) Information regarding control of I / O connected to other peripheral devices, (4) Operation sequence of these devices and operation timing between the devices. Information about synchronization is in cell 1
The work specifications of the entire 16 are described in one type of programming language (hereinafter referred to as a cell control language). By thus describing the work specifications of the cell 116 as one program, the operation sequence of the cell 116 as a whole can be explicitly expressed. The specifications of the cell control language are described in the above-mentioned prior art, Japanese Patent Laid-Open No. 7-72
This is an extension of the one described in Japanese Patent Publication No. 920, and a common method is used for the basic parts such as the application of Petri nets to the sequence expression.

【0018】このセル制御プログラム102は、まず、
機能別モジュール分離変換手段103によって、(a)
シーケンス制御プログラムモジュール104と、(b)
ロボット制御プログラムモジュール105と、そして、
(c)画像処理プログラムモジュール106の3個のモ
ジュールに分離及び変換される。ここで、上記のシーケ
ンス制御プログラムモジュール104とは、セル116
全体としてのシーケンス制御と、各種周辺機器116
e、116fなどのI/Oの制御に関するプログラムモ
ジュールであり、ロボット制御プログラムモジュール1
05とは、ロボット116a、116bの動作制御に関
するモジュールであり、そして、画像処理プログラムモ
ジュール106とは、視覚センサ116c、116dの
画像処理に関するプログラムである。なお、以下の説明
では、これらのシーケンス制御、ロボット制御、画像処
理などのように制御機能別に分類されたプログラムモジ
ュールのことを、場合により、まとめて機能別プログラ
ムモジュールと呼ぶ。
The cell control program 102 is as follows.
By the function-based module separation conversion means 103, (a)
Sequence control program module 104, (b)
A robot control program module 105, and
(C) The image processing program module 106 is separated and converted into three modules. Here, the sequence control program module 104 is the cell 116.
Sequence control as a whole and various peripheral devices 116
The robot control program module 1 is a program module for controlling I / O such as e and 116f.
Reference numeral 05 is a module relating to operation control of the robots 116a and 116b, and the image processing program module 106 is a program relating to image processing of the visual sensors 116c and 116d. In the following description, the program modules classified according to control functions such as sequence control, robot control, and image processing are collectively referred to as function-specific program modules in some cases.

【0019】これら機能別プログラムモジュールは、そ
れぞれが処理される制御用プロセッサ(プログマブルコ
ントローラ、ロボットコントローラなどの独立したコン
トローラも、それぞれ広義の制御用プロセッサと考える
ものとする)の構成に応じたプログラムモジュールに変
換される。すなわち、本発明によれば、セル116の制
御装置が複数の制御用プロセッサから構成されることを
想定して、これらの各プロセッサの処理負荷の配分が最
適になるように、機能別プログラムモジュールをプロセ
ッサ別に分割することで、最終的に各プロセッサで実行
されるプロセッサ別プログラムを生成する。具体的に
は、シーケンス制御プログラムモジュール104から、
シーケンス制御プロセッサ別モジュール分割手段107
によって、シーケンス制御プロセッサ別プログラム群1
10を生成する。また、ロボット制御プログラムモジュ
ール105から、ロボット制御プロセッサ別モジュール
分割手段108によって、ロボット制御プロセッサ別プ
ログラム群111を生成する。また、画像処理プログラ
ムモジュール106から、画像処理プロセッサ別モジュ
ール分割手段109によって、画像処理プロセッサ別プ
ログラム群112を生成する。
These function-specific program modules correspond to the configuration of a control processor (each independent controller such as a programmable controller or robot controller is also considered to be a control processor in a broad sense) in which it is processed. Converted into a program module. That is, according to the present invention, assuming that the control device of the cell 116 is composed of a plurality of control processors, a function-specific program module is provided so as to optimize the distribution of the processing load of each of these processors. By dividing each processor, a processor-specific program that is finally executed by each processor is generated. Specifically, from the sequence control program module 104,
Sequence control processor-specific module dividing means 107
By sequence control processor program group 1
Generate 10. In addition, the robot control processor-specific module grouping unit 108 generates the robot control processor-specific program group 111 from the robot control program module 105. Further, the image processing processor module dividing unit 109 generates an image processing processor program group 112 from the image processing program module 106.

【0020】そして、これらシーケンス制御プロセッサ
別プログラム群110、ロボット制御プロセッサ別プロ
グラム群111、画像処理プロセッサ別プログラム群1
12は、これら各プロセッサ用プログラム群110、1
11、112を解釈実行するプロセッサに対して出力さ
れる。すなわち、シーケンス制御プロセッサ用プログラ
ム群110はシーケンス制御プロセッサ群113に対し
て、ロボット制御プロセッサ用プログラム114はロボ
ット制御プロセッサ群114に対して、画像処理プロセ
ッサ用プログラム群112は画像処理プロセッサ群11
5に対して出力され、それぞれのプロセッサがこれらの
プログラムを解釈実行することで、セル116は制御さ
れる構成となっている。
The sequence control processor-specific program group 110, the robot control processor-specific program group 111, and the image processing processor-specific program group 1
12 is a program group 110 for each of these processors,
It is output to the processor that interprets and executes 11, 112. That is, the sequence control processor program group 110 is for the sequence control processor group 113, the robot control processor program 114 is for the robot control processor group 114, and the image processing processor program group 112 is for the image processing processor group 11.
5, and the respective processors interpret and execute these programs to control the cell 116.

【0021】図3は、上記図2に示したFAシステムの
制御装置の構成要件のうち、セル制御プログラム編集手
段101における端末の画面表示の一例を示したもので
ある。図示のように、このセル制御プログラム編集手段
101は、セル制御プログラム102における動作シー
ケンスを、いわゆる、ペトリネットの形式で編集するた
めのグラフィカル・ユーザ・インタフェースを有してい
る。このセル制御プログラム102の記述言語であるセ
ル制御言語は、セル116の動作シーケンスの記述に対
して、ペトリネットの図的表現形式を応用した一種のグ
ラフィック言語である。この図3の例では、ペトリネッ
トのプレース(図中、「○」で表記)をセル116を構
成する機器の動作状態、トランジション(図中、「−」
で表記)を次の動作状態に遷移するときの遷移条件、ト
ークン(図中、表記せず)の置かれたプレースを現在の
活性化された状態(以下、活性化状態とする)と定義
し、各プレースには高々一個のトークンしか存在しない
セーフペトリネットを考えている。
FIG. 3 shows an example of the screen display of the terminal in the cell control program editing means 101 among the constituent requirements of the control device of the FA system shown in FIG. As shown in the figure, the cell control program editing means 101 has a graphical user interface for editing the operation sequence in the cell control program 102 in the so-called Petri net format. The cell control language, which is the description language of the cell control program 102, is a kind of graphic language that applies the graphical representation form of Petri net to the description of the operation sequence of the cell 116. In the example of FIG. 3, the place of the Petri net (indicated by “◯” in the figure) is the operating state of the device forming the cell 116, and the transition (“−” in the figure).
Is defined as the transition condition for transition to the next operating state, and the place where the token (not shown in the figure) is placed is defined as the current activated state (hereinafter referred to as the activated state). , I'm thinking of a safe petri net where each place has at most one token.

【0022】なお、図3のネット編集ウィンドウ201
では、マウス等のポインティングデバイスを用いて、画
面上でグラフィックイメージのまま、ペトリネットを編
集することができる。コマンド編集ウィンドウ202
は、ネット編集ウィンドウ201の中でマウスのカーソ
ルが指示している編集中の状態S106における機器の
動作(ロボットの動作命令、I/OのON/OFFな
ど)やその他の処理を定義するためのコマンドを編集す
るためのウィンドウである。状態終了条件編集ウィンド
ウ203は、編集中のS106の正常終了の条件(OK
条件)及び異常終了の条件(NG条件)を編集するため
のウィンドウである。それぞれのウィンドウには、マウ
スやファンクションキーによるメニュー選択形式を利用
した簡便な入力環境が用意されている。
The net editing window 201 shown in FIG.
Then, using a pointing device such as a mouse, it is possible to edit the Petri net without changing the graphic image on the screen. Command edit window 202
Is for defining the operation of the device (robot operation command, I / O ON / OFF, etc.) and other processing in the editing state S106 indicated by the mouse cursor in the net editing window 201. A window for editing commands. The state end condition edit window 203 displays the condition (OK) of the normal end of S106 being edited.
This is a window for editing the conditions) and the abnormal termination conditions (NG conditions). Each window has a simple input environment that uses a menu selection format with a mouse or function keys.

【0023】図4には、上記したセル制御プログラム編
集手段101によって作成されたペトリネットの一例を
示す。なお、この図4のペトリネットは、一例として、
以下の図5及び図6に示す電子部品の挿入作業を表した
ものである。
FIG. 4 shows an example of a Petri net created by the cell control program editing means 101 described above. The Petri net of FIG. 4 is, for example,
FIG. 7 illustrates an inserting operation of the electronic components shown in FIGS. 5 and 6 below.

【0024】これら図5及び図6に示す作業は、プリン
ト基板406にIC等の電子部品405を挿入するもの
で、まず、コンベアなどで搬送されてきたプリント基板
406を位置決めし、パーツフィーダなどによって供給
される部品405を部品挿入ロボット401の先端に設
けられたハンド402により把持し、所定の位置へ挿入
する。さらに、挿入の終了した部品405のリードを、
プリント基板406の下方からアクセスするクリンチロ
ボット407の先端のクリンチハンド408によって曲
げ、部品405がプリント基板406から脱落するのを
防止する。また、それぞれのロボット401、407の
プリント基板406に対する位置補正のために、視覚セ
ンサ404、409によって位置ずれ計測を行う。図5
は、このような部品挿入直前における各機器の状態を示
し、図6は部品挿入直後の状態を示している。
The work shown in FIGS. 5 and 6 is to insert an electronic component 405 such as an IC into the printed circuit board 406. First, the printed circuit board 406 conveyed by a conveyor or the like is positioned, and the parts are fed by a parts feeder or the like. The supplied component 405 is grasped by the hand 402 provided at the tip of the component insertion robot 401 and inserted into a predetermined position. Furthermore, the lead of the component 405 that has been inserted is
The clinch hand 408 at the tip of the clinch robot 407, which is accessed from below the printed board 406, bends to prevent the component 405 from falling off the printed board 406. Further, in order to correct the positions of the robots 401 and 407 with respect to the printed circuit board 406, the visual sensors 404 and 409 measure the displacement. FIG.
Shows the state of each device immediately before such component insertion, and FIG. 6 shows the state immediately after component insertion.

【0025】上記図4においてペトリネットで表された
セル全体の動作シーケンスは、大きく分けると、部品挿
入ロボット401(以下、「ROB1」と略記)のモジ
ュール304、クリンチロボット407(以下、「RO
B2」と略記)のモジュール305、部品挿入用の視覚
センサ404(以下、「CAM1」と略記)のモジュー
ル306、クリンチ用の視覚センサ409(以下、「C
AM2」と略記)のモジュール307の4個のモジュー
ルから構成される。各モジュールは、あるまとまった機
器群で、その機器群同士で互いに並行動作可能なもの
(以下、このような機器群のことを「ユニット」とす
る)毎にまとめられたシーケンスであり、これらのモジ
ュールは同期プレース303(図中、二重丸で表記)で
接続されることで、互いに関連付けられる。
The operation sequence of the entire cell represented by a Petri net in FIG. 4 is roughly divided into a module 304 of a component insertion robot 401 (hereinafter, abbreviated as “ROB1”) and a clinch robot 407 (hereinafter, “RO”).
B2 "module 305, component insertion visual sensor 404 (hereinafter abbreviated as" CAM1 ") module 306, clinch visual sensor 409 (hereinafter" C ").
AM2 ”) (module abbreviated as“ AM2 ”). Each module is a group of devices and is a sequence that is grouped for each device that can operate in parallel with each other (hereinafter, such a device group is referred to as a "unit"). The modules are associated with each other by being connected by a synchronous place 303 (denoted by a double circle in the figure).

【0026】次に、上記図4のプレース301は、ユニ
ットの動作状態を示しており、これを状態プレースと呼
ぶ。例えば、状態プレース301に付記された「S10
6」は、動作状態の整理番号を示す。この状態プレース
301における動作の具体的な内容は、ロボット命令や
I/O制御命令などのコマンド列として定義する。ま
た、トランジション302は、ある状態から次の状態に
遷移するための条件を示している。トランジション30
2の遷移条件は、ペトリネットの接続関係と各状態の終
了条件によって決まる。なお、このトランジション30
2に付記されている「OK1」は、このトランジション
302への入力となる状態の正常終了を意味し、この正
常終了の判定条件は、状態終了条件の式として定義され
る。同期プレース303は、モジュール間の動作タイミ
ングの同期を定義するものであり、例えば、「REQ
6」は、状態S105が正常終了し、かつ、状態S20
4が正常終了したとき、次の状態S106への遷移条件
が満たされる、という二つの状態終了の同期をとる。な
お、図4の状態プレース301の横には、その状態にお
ける動作の内容を示すコメントを付記している。
Next, the place 301 in FIG. 4 shows the operating state of the unit, which is called a state place. For example, “S10 added to the state place 301
"6" indicates the reference number of the operating state. The specific content of the operation in the status place 301 is defined as a command sequence such as a robot command or an I / O control command. Further, the transition 302 indicates a condition for making a transition from one state to the next state. Transition 30
The transition condition of 2 is determined by the connection relationship of the Petri net and the ending condition of each state. In addition, this transition 30
“OK1” added to 2 means a normal end of the state that is an input to the transition 302, and the determination condition of the normal end is defined as an expression of the state end condition. The synchronization place 303 defines synchronization of operation timing between modules, and for example, "REQ"
6 ”means that the state S105 is normally completed and the state S20 is
4 ends normally, the transition condition to the next state S106 is satisfied, and the two end states are synchronized. A comment indicating the content of the operation in that state is added beside the state place 301 in FIG.

【0027】上記図4に示す動作シーケンスの概略を以
下に説明する。まず、ROB1が、ハンド402で把持
した部品405を、位置決めされたプリント基板406
の上の所定の位置(挿入点)まで移動する(S100)
と、CAM1がROB1の目標位置(プリント基板40
6との相対的な位置)からの位置ずれを計測し(S15
1)、その位置ずれ量に基づいてROB1は位置補正の
動作を行う(S102)。さらに、ROB1は、そのリ
ストを所定の高さまで下降させた後、ハンド402を開
いて部品103を解放する(S103)。この間にRO
B2は、プリント基板406の直下の所定の位置(クリ
ンチ点)まで移動(S200)し、CAM2によって位
置ずれ計測(S251)した結果に基づいてROB2は
位置補正を行い(S202)、さらに、そのリストを所
定の高さまで上昇させる(S203)。ROB1のハン
ド402に設けられたセンサ(図示せず)によって部品
405の解放が検知されると、ROB1の手先に設けら
れたセンタプッシャ403が下降することで部品405
を押し下げ、プリント基板406の所定の穴に部品40
5を深く挿入する(S104)。ROB1の手先に設け
られたセンサ(図示せず)によりセンタプッシャ403
が所定の高さまで下降したことが検知されると、ROB
2のクリンチハンド408が閉じて、部品405のリー
ドが折り曲げられる(S204)。クリンチハンド40
8に設けられたセンサ(図示せず)により、クリンチが
完了したことが検知されると、クリンチハンド408が
開かれ(S205)、ROB1のセンタプッシャ403
が上昇する(S106)。その後、ROB1は挿入準備
点まで移動し(S107)、ROB2はリストを下降し
(S206)、クリンチ準備点まで移動する(S20
7)。
The outline of the operation sequence shown in FIG. 4 will be described below. First, the ROB 1 positions the component 405 gripped by the hand 402 on the printed circuit board 406 on which the component 405 is positioned.
Move to a predetermined position (insertion point) on the table (S100)
And CAM1 is the target position of ROB1 (printed circuit board 40
The position deviation from (relative position to 6) is measured (S15
1) Then, the ROB 1 performs a position correction operation based on the position shift amount (S102). Further, the ROB 1 lowers the list to a predetermined height, then opens the hand 402 and releases the component 103 (S103). RO during this
B2 moves to a predetermined position (clinch point) immediately below the printed circuit board 406 (S200), and the ROB2 performs position correction based on the result of the position shift measurement (S251) by the CAM2 (S202). Is raised to a predetermined height (S203). When release of the component 405 is detected by a sensor (not shown) provided in the hand 402 of the ROB 1, the center pusher 403 provided at the end of the ROB 1 is lowered to cause the component 405.
Down to place the component 40 in the predetermined hole on the printed circuit board 406.
5 is inserted deeply (S104). A center pusher 403 is provided by a sensor (not shown) provided at the end of the ROB 1.
When it is detected that the
The second clinch hand 408 is closed and the leads of the component 405 are bent (S204). Clinch hand 40
When a sensor (not shown) provided on the ROB 1 detects that the clinch is completed, the clinch hand 408 is opened (S205), and the center pusher 403 of the ROB 1 is opened.
Rises (S106). Thereafter, ROB1 moves to the insertion preparation point (S107), ROB2 moves down the list (S206), and moves to the clinch preparation point (S20).
7).

【0028】次に、図7と図8には、上記図3にも説明
したセル制御プログラム編集手段101によって、図4
のペトリネットを編集し、それをコード化したもの、す
なわち、図2のセル制御プログラム102の一例を示
す。図からも明らかなように、セル制御プログラム10
2は、2種類のブロックから構成されており、一つは図
7に示すcellブロック(”cell”文に続くブロ
ック)であり、もう一つは、図8に示すdefブロック
(”def”文に続くブロック)である。
Next, in FIGS. 7 and 8, the cell control program editing means 101 described in FIG.
FIG. 2 shows an example of the edited Petri net of FIG. 1 and coded, that is, an example of the cell control program 102 of FIG. As is clear from the figure, the cell control program 10
2 is composed of two types of blocks, one is a cell block (a block following the "cell" sentence) shown in FIG. 7, and the other is a def block (a "def" sentence shown in FIG. 8). Is the block that follows).

【0029】このセル制御プログラム102について、
さらに、その詳細な内容を説明すると、図7のcell
ブロックには、ペトリネットの接続関係と各状態におけ
る機器の動作が定義されている。cellラベル601
には、状態の整理番号とその状態における動作主体であ
るユニットの種別とその整理番号が定義される。例え
ば、状態S106のユニットはROB1であり、これは
部品挿入ロボット401とそれに付随するハンド402
等の周辺機器から構成されるユニットを示す。遷移条件
式602は、ペトリネットの接続関係を定義する式であ
り、その状態の入力トランジションに入力として接続さ
れる状態の整理番号とその状態の終了条件を定義する。
状態S106の入力トランジションは、状態S105の
正常終了OK1と同期プレースREQ6のOKとに接続
されている。コマンド列603は、その状態におけるユ
ニットを構成する機器の動作とその他の処理を定義する
コマンド列である。状態S106における処理は、RE
SET Y101(出力Y101のOFF、すなわちセ
ンタプツシャ403の上昇)と、SET TD121
0.(オンディレイタイマTD12のセット)である。
Regarding this cell control program 102,
Furthermore, the detailed contents will be explained.
The block defines the connection relationship of the Petri net and the operation of the device in each state. cell label 601
In, the serial number of the state, the type of the unit that is the main operating body in the state, and the serial number are defined. For example, the unit in the state S106 is ROB1, which is the component insertion robot 401 and the hand 402 accompanying it.
Shows a unit composed of peripheral devices such as. The transition condition expression 602 is an expression that defines the connection relationship of the Petri net, and defines the serial number of the state connected as an input to the input transition of that state and the end condition of that state.
The input transition of the state S106 is connected to the normal end OK1 of the state S105 and the OK of the synchronous place REQ6. The command string 603 is a command string that defines the operation of the devices that make up the unit in that state and other processing. The process in the state S106 is RE
SET Y101 (OFF of output Y101, that is, rise of center pusher 403) and SET TD121
0. (Set of on-delay timer TD12).

【0030】また、図8のdefブロックには、各状態
の終了条件が定義される。defラベル701には状態
の整理番号が定義され、定義式702には状態の正常終
了(OK)と異常終了(NG)の条件式が定義される。
状態S106の正常終了条件(OK1)は、X101=
OFF(入力X101がOFF、すなわち部品405の
接触検出のセンサがOFF)かつTD12=OFF(オ
ンディレイタイマTD12がOFF、すなわちタイムア
ップしていない)である。状態S106の異常終了条件
(NG1)は、X101=ONかつTD102=ON
(オンディレイタイマTD102がタイムアップして
も、センサがONのまま)である。なお、図中の「=
=」は、条件式であることを示す。
The def block in FIG. 8 defines the ending condition for each state. The def label 701 defines a reference number of the state, and the definitional expression 702 defines a conditional expression of a normal end (OK) and an abnormal end (NG) of the status.
The normal end condition (OK1) in the state S106 is X101 =
It is OFF (the input X101 is OFF, that is, the contact detection sensor of the component 405 is OFF) and TD12 = OFF (the on-delay timer TD12 is OFF, that is, the time has not expired). The abnormal termination condition (NG1) in the state S106 is X101 = ON and TD102 = ON.
(Even when the on-delay timer TD102 is up, the sensor remains ON). In the figure, "=
= Indicates that it is a conditional expression.

【0031】このように、上記図4にも示すように、セ
ル制御プログラム102の記述にペトリネットの表現を
応用することで、各機器の動作シーケンスが構造的かつ
明示的に記述することができる。さらに、図7、図8の
ように、セル内の機器の制御プログラムをセル制御プロ
グラム102として一本化し、しかも、各機器の動作シ
ーケンスの明示性を持たせることで、FAシステムのソ
フトウェアの開発者にとって、セル内の機器の制御装置
の構成やプログラム言語の違いを意識せずに、セル全体
としての作業仕様を直接記述する形で、セル制御プログ
ラム102を容易に作成することが可能になる。すなわ
ち、セル制御プログラム102の開発者は、従来のよう
にいくつかの異なったプログラム言語を習得する必要が
なくなり、その結果、プログラムの開発効率が向上し、
ソフトウェアとしての保守性も向上する。
As described above, as shown in FIG. 4, the operation sequence of each device can be structurally and explicitly described by applying the Petri net expression to the description of the cell control program 102. . Further, as shown in FIGS. 7 and 8, the control program for the devices in the cell is unified as the cell control program 102, and the operation sequence of each device is explicitly provided to develop the software of the FA system. It becomes possible for a person to easily create the cell control program 102 by directly describing the work specifications of the entire cell without being aware of the configuration of the control device of the device in the cell and the difference in the programming language. . That is, the developer of the cell control program 102 does not need to learn several different programming languages as in the past, and as a result, the development efficiency of the program is improved,
Maintainability as software is also improved.

【0032】そして、本発明によれば、上記図7、図8
のようなセル制御プログラム102から、機能別モジュ
ール分離変換手段103によって、セルを構成する機器
の動作順序の制御とこれらの機器に接続されたI/Oの
制御を行うする処理が記述されたシーケンス制御プログ
ラムモジュール104と、ロボット116a、116b
の位置決め及び軌道の制御を行う処理が記述されたロボ
ット制御プログラムモジュール105と、視覚センサ1
16c、116dの画像に関する処理を記述した画像処
理プログラムモジュール106を生成する。
According to the present invention, the above-mentioned FIGS.
From the cell control program 102 as described above, a sequence in which the function-based module separation conversion means 103 describes the processing for controlling the operation order of the devices that make up the cell and controlling the I / O connected to these devices Control program module 104 and robots 116a and 116b
Robot control program module 105 in which processing for positioning the robot and controlling the trajectory is described, and the visual sensor 1.
The image processing program module 106 that describes the processing relating to the images 16c and 116d is generated.

【0033】図9には、上記機能別モジュール分離変換
手段103の処理プロセス示す。なお、セル制御プログ
ラム102のcellブロックには、上記の図7及び図
8に示したように、セル制御プログラム102のcel
lブロックには、ペトリネットにおける各プレースの接
続関係、すなわちネット構造と、各状態における機器の
動作が定義され、また、defブロックには、各状態の
終了条件が定義される。
FIG. 9 shows a processing process of the functional module separation conversion means 103. Note that the cell block of the cell control program 102 is stored in the cell block of the cell control program 102, as shown in FIGS.
The l block defines the connection relation of each place in the Petri net, that is, the net structure and the operation of the device in each state, and the def block defines the ending condition of each state.

【0034】図の機能別モジュール分離変換手段103
の機能別データ抽出手段103aは、まず、cellブ
ロックの内容からネット構造103bを、defブロッ
クの内容から状態終了条件103cを抽出する。さら
に、cellブロックからI/O制御命令列103dを
抜き出す。そして、シーケンス制御プログラム生成手段
103iは、上記抽出したネット構造103b、状態終
了条件103c、そして、I/O制御命令列103dか
ら、シーケンス制御プログラムモジュール104を生成
する。
Function-dependent module separation conversion means 103 in the figure
The function-specific data extraction means 103a first extracts the net structure 103b from the contents of the cell block and the state end condition 103c from the contents of the def block. Further, the I / O control instruction sequence 103d is extracted from the cell block. Then, the sequence control program generating means 103i generates the sequence control program module 104 from the extracted net structure 103b, the state end condition 103c, and the I / O control command sequence 103d.

【0035】また、機能別データ抽出手段103aは、
cellブロックの内容から、ロボット制御命令列10
3eとロボット動作タイミング103fに関する情報を
抽出する。そして、ロボット制御プログラム生成手段1
03jは、これら抽出した情報に基づいて、ロボット制
御プログラムモジュール105を生成する。
Further, the function-specific data extraction means 103a is
From the contents of the cell block, the robot control command sequence 10
Information regarding 3e and the robot operation timing 103f is extracted. Then, the robot control program generation means 1
03j generates the robot control program module 105 based on the extracted information.

【0036】同様に、機能別データ抽出手段103a
は、cellブロックの内容から画像処理命令列103
gと画像処理タイミング103hに関する情報を抽出
し、さらに、画像処理プログラム生成手段103kは、
これらの情報に基づいて画像処理プログラムモジュール
106を生成する。
Similarly, function-specific data extraction means 103a
Is the image processing instruction sequence 103 based on the contents of the cell block.
g and information on the image processing timing 103h, and further, the image processing program generation means 103k
The image processing program module 106 is generated based on these pieces of information.

【0037】図10、図11、及び、図12には、上記
図7、図8に例示したセル制御プログラム102から、
上記図9に示した機能別モジュール分離変換手段103
によって生成された、シーケンス制御プログラムモジュ
ール104の一例を示す。なお、本例におけるシーケン
ス制御用のプログラミング言語は、IF〜THEN〜形
式のルール型の記述を基本とする。すなわち、各ルール
には、各状態における機器の動作の実行ステータス、セ
ンサなどの外部からの入力信号、内部変数の値などにつ
いての評価式を条件とし、ここで所定の条件が満たされ
れば、その状態における機器の動作を終了し、次の段階
の状態における機器の動作を起動する、という処理が記
述される。例えば、図11中に示したルール1001
は、状態S203が正常終了し、かつ同期プレースRE
Q5が正常終了すれば、状態S204の実行ステータス
を実行中にし(EXEC S204)、出力Y200と
オンディレイタイマTD20をセットすることを表す。
FIGS. 10, 11, and 12 show the cell control program 102 illustrated in FIGS.
Function-specific module separation conversion means 103 shown in FIG. 9 above.
An example of the sequence control program module 104 produced | generated by FIG. The programming language for sequence control in this example is based on a rule type description of IF-THEN-type. That is, each rule is conditional on the execution status of the operation of the device in each state, an input signal from the outside such as a sensor, an evaluation formula for the value of an internal variable, etc., and if a predetermined condition is satisfied here, A process of ending the operation of the device in the state and starting the operation of the device in the next state is described. For example, the rule 1001 shown in FIG.
Indicates that the status S203 ended normally and the synchronous place RE
If Q5 ends normally, it means that the execution status of the state S204 is set to executing (EXEC S204), and the output Y200 and the on-delay timer TD20 are set.

【0038】なお、シーケンス制御用のプログラミング
言語としては、本例のようなルール型のプログラミング
言語の他にも、例えばラダー図などのプログラミング言
語を用いることも可能であり、その場合、機能別モジュ
ール分離変換手段103は、シーケンス制御プログラム
モジュール104としてラダープログラムを生成するこ
ととなることは当業者にとっては当然であろう。
As the programming language for sequence control, a programming language such as a ladder diagram can be used in addition to the rule-based programming language as in this example. In that case, a module for each function is used. It will be apparent to those skilled in the art that the separation conversion means 103 will generate a ladder program as the sequence control program module 104.

【0039】図13には、上記図7、図8のセル制御プ
ログラム102から、上記機能別モジュール分離変換手
段103によって生成された、ロボット制御プログラム
モジュール105の一例を示す。この図13の中に示し
たブロック1203は、状態S203(STT203)
において、ROB2のリストを10mmだけ上昇させる
(MOVE L,*+(0.,0.,10.))ことを
表す。ここで、STTn(nは状態Snのnと同じ)
は、先に示したシーケンス制御プログラムモジュール1
04と共通する状態の整理番号(以下、状態NO.とす
る)を示す状態ラベルであり、この状態NO.を各プロ
グラムの間で共有することによって、セル全体の状態遷
移を制御することができる。
FIG. 13 shows an example of the robot control program module 105 generated by the function-specific module separation conversion means 103 from the cell control program 102 shown in FIGS. 7 and 8. A block 1203 shown in FIG. 13 is in a state S203 (STT203).
In, the ROB2 list is raised by 10 mm (MOVE L, * + (0., 0., 10.)). Here, STTn (n is the same as n in state Sn)
Is the sequence control program module 1 shown above.
04 is a state label indicating a reference number of a state common to the state No. 04 (hereinafter referred to as state No.). Is shared by each program, the state transition of the entire cell can be controlled.

【0040】図14には、上記図7、図8のセル制御プ
ログラム102から、上記機能別モジュール分離変換手
段103によって生成された画像処理プログラムモジュ
ール106の一例を示す。ここで生成される画像処理プ
ログラムモジュール106は、ロボット制御プログラム
モジュール105と同様の構成を持っており、STTn
文に続けて各種の画像処理命令列が記述されている。
FIG. 14 shows an example of the image processing program module 106 generated by the function-specific module separation conversion means 103 from the cell control program 102 shown in FIGS. 7 and 8. The image processing program module 106 generated here has the same configuration as the robot control program module 105, and STTn
Following the sentence, various image processing instruction sequences are described.

【0041】さらに、図15〜図24には、上記機能別
モジュール分離変換手段103の処理の詳細を説明する
フローチャートを示す。まず、図15は、上記機能別モ
ジュール分離変換手段103における機能別モジュール
分離変換処理の概略を示す。この機能別モジュール分離
変換処理では、処理がスタートすると、まず、セル制御
プログラムを解析して機能別データの抽出を行い(処理
1100a)、ここで得られたデータに基づいて、機能
別モジュールを生成する。すなわち、シーケンス制御プ
ログラム生成手段103iによってシーケンス制御プロ
グラムモジュール104を生成し(処理1100b)、
ロボット制御プログラム生成手段103jによってロボ
ット制御プログラムモジュール105を生成し(処理1
100c)、画像処理プログラム生成手段103kによ
って画像処理プログラムモジュール106を生成する
(処理1100d)。
Further, FIGS. 15 to 24 show flowcharts for explaining the details of the processing of the function-based module separation conversion means 103. First, FIG. 15 shows an outline of the function-specific module separation conversion processing in the function-specific module separation conversion means 103. In this function-specific module separation conversion process, when the process is started, first, the cell control program is analyzed to extract the function-specific data (process 1100a), and the function-specific module is generated based on the data obtained here. To do. That is, the sequence control program generation means 103i generates the sequence control program module 104 (process 1100b),
The robot control program generation means 103 j generates the robot control program module 105 (Process 1
100c), the image processing program generating means 103k generates the image processing program module 106 (processing 1100d).

【0042】図16は、上記図15に示した機能別モジ
ュール分離変換処理の機能別データ抽出処理1100a
の詳細を示す。この機能別データ抽出処理1100aで
は、処理がスタートすると、セル制御プログラムのce
llブロック、defブロックの順にコード解析を行
い、それぞれ必要なデータ抽出を行う。まず、cell
ブロックの解析では、各ロボット毎の動作タイミング1
03fとロボット制御命令列103eを格納するための
データ領域の確保(処理1101a)、各視覚センサ毎
の画像処理タイミング103hと画像処理命令列103
gを格納するためのデータ領域の確保(処理1101
b)、I/O制御命令列103dを格納するためのデー
タ領域の確保(処理1101c)を行う。次に、セル制
御プログラムを、ペトリネットの1プレースに相当する
ブロック単位で、先頭から順に処理していき、プレース
の接続関係、すなわち、ネット構造103bをコード解
析によって抽出し(処理1101d)、さらに、各プレ
ースにおいて定義されるコマンド列を解析する(処理1
101e)。これらの解析は、次のプレースのブロック
がなくなるまで繰り返す(処理1101f)。defブ
ロックの解析では、1プレース毎に状態の終了条件10
3cをコード解析によって抽出し(処理1101g)、
次のプレースのブロックがなくなるまで、これを繰り返
して(処理1101h)、終了する。
FIG. 16 is a function-specific data extraction process 1100a of the function-specific module separation conversion process shown in FIG.
The details are shown below. In this function-specific data extraction process 1100a, when the process starts, the cell control program ce
Code analysis is performed in the order of the ll block and the def block, and necessary data extraction is performed for each. First, cell
In the block analysis, the operation timing 1 for each robot
03f and a robot control command sequence 103e to secure a data area (process 1101a), image processing timing 103h and image processing command sequence 103 for each visual sensor.
Securing a data area for storing g (process 1101
b), securing a data area for storing the I / O control command sequence 103d (process 1101c). Next, the cell control program is sequentially processed from the beginning in a block unit corresponding to one place of the Petri net, and the connection relation of the places, that is, the net structure 103b is extracted by code analysis (process 1101d), and further, , Analyze the command sequence defined in each place (Process 1
101e). These analyzes are repeated until there is no block in the next place (process 1101f). In the analysis of the def block, the end condition 10
3c is extracted by code analysis (process 1101g),
This is repeated until there are no blocks in the next place (process 1101h), and the process ends.

【0043】次に、図17及び図18は、1プレース毎
のネット構造解析処理101dの詳細を示す。この1プ
レース毎のネット構造解析処理101dでは、まず、1
プレース毎のネット構造データ領域を確保し(処理11
02a)、次に、cellラベル601と遷移条件式6
02の解析を行う。図17のcellラベルの解析で
は、まず、そのcellラベルが状態プレースのラベル
か、あるいは、同期プレースのラベルかを調べ(処理1
102b)、その結果、状態プレースであれば、その状
態NO.を抽出し、ネット構造データの一つとして格納
する(処理1102c)。さらに、cellラベルから
ユニット種別とユニットNO.を抽出し、ネット構造デ
ータとして格納する(処理1102d、1102e)。
ここで、ユニット種別がロボットであれば(処理110
2f)、ロボット動作タイミング103fのデータとし
て先に抽出した状態NO.を格納する(処理1102
g)。また、ユニット種別が視覚センサであれば(処理
1102h)、画像処理タイミング103hのデータと
して先の状態NO.を格納する(処理1102i)。一
方、cellラベルが同期プレースのラベルであれば
(処理1102b)、その同期プレースの整理番号(以
下、同期NO.)を抽出し、ネット構造データとして格
納する(処理1102j)。
Next, FIGS. 17 and 18 show the details of the net structure analysis processing 101d for each place. In the net structure analysis processing 101d for each place, first,
Secure a net structure data area for each place (Process 11
02a), then the cell label 601 and the transition condition expression 6
02 analysis is performed. In the cell label analysis of FIG. 17, first, it is checked whether the cell label is the label of the state place or the label of the synchronous place (Process 1
102b), and if the result is status place, the status NO. Is extracted and stored as one of the net structure data (process 1102c). Further, from the cell label, the unit type and the unit number. Is extracted and stored as net structure data (processes 1102d and 1102e).
Here, if the unit type is a robot (process 110)
2f), the state No. previously extracted as the data of the robot operation timing 103f. Is stored (processing 1102
g). If the unit type is the visual sensor (processing 1102h), the data of the image processing timing 103h is used as the previous status NO. Is stored (processing 1102i). On the other hand, if the cell label is the label of the synchronous place (process 1102b), the reference number of the synchronous place (hereinafter, synchronous NO.) Is extracted and stored as net structure data (process 1102j).

【0044】一方、図18の遷移条件式の解析では、ま
ず、遷移条件式602(上記図7の例では、S105:
OK1 REQ6:OK)から状態NO.(S105)
と終了条件(OK1)を抽出し、これらをネット構造デ
ータとして格納する(処理1103a、1103b)。
ここで、同期条件があれば(処理1103c)、同期N
O.(REQ6)を抽出し、ネット構造データとして格
納する(処理1103d)。さらに、別の遷移条件があ
れば、その遷移条件について同様の解析処理を行い、遷
移条件がなければ解析処理を完了する(処理1103
e)。
On the other hand, in the analysis of the transition condition expression of FIG. 18, first, the transition condition expression 602 (in the example of FIG. 7, S105:
OK1 REQ6: OK) to status NO. (S105)
And the end condition (OK1) are extracted and stored as net structure data (processes 1103a and 1103b).
Here, if there is a synchronization condition (process 1103c), synchronization N
O. (REQ6) is extracted and stored as net structure data (process 1103d). Further, if there is another transition condition, the same analysis process is performed for the transition condition, and if there is no transition condition, the analysis process is completed (process 1103).
e).

【0045】以上のように、上記図17と図18に示し
たネット構造解析処理により、与えられたセル制御プロ
グラムと等価なペトリネットの各プレースの接続関係、
すなわち、ネット構造103bの情報が得られる。
As described above, by the net structure analysis processing shown in FIGS. 17 and 18, the connection relation of each place of the Petri net equivalent to the given cell control program,
That is, information on the net structure 103b is obtained.

【0046】次に、図19は、上記1プレース毎のコマ
ンド列解析101eの詳細を示す。ここでは、cell
ラベル601(図7を参照)と遷移条件式602に続く
コマンド列603の解析を行う。まず、コマンド列60
3のブロックから1コマンドを抽出し(処理1104
a)、これがI/O制御命令であれば(処理1104
b)、I/O制御命令列データとして格納する(処理1
104c)。また、抽出したコマンドがロボット制御命
令であれば(処理1104d)、これをロボット制御命
令列データとして格納する(処理1104e)。抽出し
たコマンドが画像処理命令であれば(処理1104
f)、画像処理命令列データとして格納する(処理11
04g)。なお、次のコマンドがあれば、処理1104
a以降を繰り返し、コマンドがなければ、解析処理を完
了する(処理1104h)。
Next, FIG. 19 shows the details of the command sequence analysis 101e for each place. Here, cell
The command sequence 603 following the label 601 (see FIG. 7) and the transition condition expression 602 is analyzed. First, the command sequence 60
One command is extracted from the block of 3 (process 1104
a), if this is an I / O control instruction (process 1104)
b), stored as I / O control instruction sequence data (Process 1)
104c). If the extracted command is a robot control command (process 1104d), this is stored as robot control command sequence data (process 1104e). If the extracted command is an image processing command (process 1104)
f), it is stored as image processing instruction sequence data (processing 11)
04g). If there is the next command, the process 1104
Repeat a and subsequent steps, and if there is no command, the analysis process is completed (process 1104h).

【0047】図20は、上記1プレース毎の終了条件解
析101gの詳細を示す。ここでは、セル制御プログラ
ムのdefブロックに定義された各プレース(状態)の
終了条件の解析を行う。まず、1プレース毎の終了条件
データを格納する領域を確保する(処理1105a)。
さらに、defラベル701から状態NO.(図8の例
では、S106)を抽出する(処理1105b)。次
に、defラベル701に続くOK条件の定義式(図8
の例では、X101=OFF & TD12=OFF)
を抽出し、これを終了条件データとして格納する(処理
1105c)。次のOK条件がなくなるまで、この処理
を繰り返す(処理1105d)。さらに、NG条件の定
義式(図8の例では、X101=ON & TD12=
ON)を抽出し、これを終了条件データとして格納する
(処理1105e)。次のNG条件がなくなるまで、こ
の処理を繰り返す(処理1105f)。以上の処理によ
り、各状態の終了条件を得ることができる。
FIG. 20 shows the details of the end condition analysis 101g for each place. Here, the ending condition of each place (state) defined in the def block of the cell control program is analyzed. First, an area for storing the end condition data for each place is secured (process 1105a).
Further, from the def label 701, the status NO. (In the example of FIG. 8, S106) is extracted (processing 1105b). Next, the definition formula of the OK condition following the def label 701 (see FIG. 8).
In the example, X101 = OFF & TD12 = OFF)
Is extracted and stored as termination condition data (process 1105c). This process is repeated until the next OK condition disappears (process 1105d). Furthermore, the definition formula of the NG condition (in the example of FIG. 8, X101 = ON & TD12 =
ON) is extracted and stored as termination condition data (process 1105e). This process is repeated until the next NG condition disappears (process 1105f). Through the above processing, the ending condition of each state can be obtained.

【0048】図21及び図22は、上記シーケンス制御
プログラム生成処理100bの詳細を示す。ここでは、
先の機能別データ抽出処理100aによって得られたネ
ット構造103b、状態終了条件103c、I/O制御
命令列103dのデータに基づいて、各ユニット毎にシ
ーケンス制御プログラムを生成する。まず、各ユニット
毎のプログラムバッファ領域を確保する(処理1106
a)。次に、先に生成したネット構造データを1プレー
スずつ順に調べ、プレース毎にシーケンス制御プログラ
ムを生成していく。
21 and 22 show details of the sequence control program generation processing 100b. here,
A sequence control program is generated for each unit based on the data of the net structure 103b, the state end condition 103c, and the I / O control instruction sequence 103d obtained by the above-described function-specific data extraction processing 100a. First, a program buffer area is secured for each unit (process 1106).
a). Next, the previously generated net structure data is sequentially examined one place at a time, and the sequence control program is generated for each place.

【0049】そこで、まず、1プレース毎のネット構造
データからプレース種別を獲得し(処理1106b)、
そのプレースが状態プレースであれば(処理1106
c)、その状態NO.(整理番号をiとおく。以下、
「=i」と略記)とユニットNO.を獲得する(処理1
106d)。そのプレースが状態プレースでなければ、
ネット構造データから同期NO.(=i)を獲得する
(処理1106e)。さらに、ネット構造データと終了
条件データから、現在着目しているプレースに接続す
る、一つ前の状態プレースの状態NO.(=j)と終了
条件の定義式を獲得する(処理1106f)。この一つ
前の状態の終了条件が、”CompeleteNorm
ally”であれば(処理1106g)、”IF Sj
=CompleteNormally”をプログラムバ
ッファに出力し(処理1106h)、”AnyErro
rOccur”であれば(処理1106i)、”IF
Sj=AnyErrorOccur”をバッファに出力
する(処理1106j)。それ以外の定義式の場合、”
IF Sj=Executing & (定義式)”を
バッファに出力する(処理1106k)。
Therefore, first, the place type is acquired from the net structure data for each place (process 1106b),
If the place is a state place (process 1106)
c), the state NO. (The reference number is i. Below,
"= I") and the unit number. (Process 1
106d). If that place is not a state place,
Synchronous NO. From the net structure data. (= I) is acquired (process 1106e). Further, from the net structure data and the end condition data, the status NO. (= J) and the definition formula of the end condition are acquired (process 1106f). The ending condition of the previous state is "CompleteNorm"
If "ally" (process 1106g), "IF Sj
= CompleteNormally "is output to the program buffer (process 1106h), and" AnyErrro "is output.
If rOccur ”(process 1106i), then“ IF
"Sj = AnyErrorOccur" is output to the buffer (step 1106j).
"IF Sj = Executing & (definition formula)" is output to the buffer (process 1106k).

【0050】ここで、現プレースが状態プレースであれ
ば(処理1106l)、現プレースに接続する同期プレ
ースがあるかどうか調べ、同期プレースがあれば(処理
1107a)、その同期NO.(=k)をネット構造デ
ータから獲得し(処理1107b)、”& REQk=
CompleteNormally”をバッファに出力
する(処理1107c)。以上の処理で、1プレースあ
たりのシーケンス制御プログラム、すなわち、ルール1
001(図11を参照)の条件部が生成される。
If the current place is the status place (process 1106l), it is checked whether or not there is a synchronous place connected to the current place. If there is a synchronous place (process 1107a), the synchronization NO. (= K) is acquired from the net structure data (process 1107b), and "& REQk =
"CompleteNormally" is output to the buffer (process 1107c). With the above process, the sequence control program for one place, that is, rule 1
The conditional part of 001 (see FIG. 11) is generated.

【0051】次に、ルール1001の実行部として、ま
ず、”−> TERM Sj”をバッファに出力する
(処理1107d)。ここで、現プレースに接続する同
期プレースがあれば(処理1107e)、”TERM
REQk”をバッファに出力する(処理1107f)。
さらに、”EXEC Si”をバッファに出力し(処理
1107g)、現プレース(Si)のI/O制御命令列
データの内容をバッファに出力する(処理1107
h)。また、現プレースが同期プレースであれば(処理
1106l)、”−> TERM Sj”と”EXEC
REQi”をバッファに出力する(処理1107i、
1107j)。以上の処理で、ルール1001の実行部
が生成される。この後、さらに、ネット構造データを調
べ、次のプレースが見つかれば(処理1107k)、処
理1106b以降を繰り返す。次のプレースがなけれ
ば、各ユニット毎のプログラムバッファを結合し、シー
ケンス制御プログラムモジュール104(図9を参照)
を生成する(処理1107l)。
Next, as an execution unit of the rule 1001, first, "-> TERM Sj" is output to the buffer (process 1107d). If there is a synchronous place connected to the current place (process 1107e), "TERM"
REQk "is output to the buffer (process 1107f).
Furthermore, "EXEC Si" is output to the buffer (processing 1107g), and the contents of the I / O control instruction string data of the current place (Si) is output to the buffer (processing 1107).
h). If the current place is a synchronous place (process 1106l), "-> TERM Sj" and "EXEC"
REQi "is output to the buffer (process 1107i,
1107j). Through the above processing, the execution part of the rule 1001 is generated. Thereafter, the net structure data is further examined, and if the next place is found (process 1107k), the process 1106b and subsequent processes are repeated. If there is no next place, the program buffer for each unit is combined, and the sequence control program module 104 (see FIG. 9).
Is generated (processing 1107l).

【0052】図23は、上記ロボット制御プログラム生
成処理100cの詳細を示す。まず、各ユニット毎のプ
ログラムバッファ領域を確保する(処理1108a)。
次に、先の機能別データ抽出処理100aで得られたユ
ニット毎のロボット動作タイミング103fのデータか
ら、状態NO.(=i)を一つずつ獲得し(処理110
8b)、状態ラベル”STTi”をプログラムバッファ
に出力する(処理1108c)。さらに、上記の機能別
データ抽出処理100aで得られたロボット制御命令列
103eのデータがあれば(処理1108d)、そのロ
ボット制御命令列データの内容をバッファに出力する
(処理1108e)。ロボット制御命令列データがなけ
れば、”NOP”をバッファに出力する(処理1108
f)。以上の処理で1状態分のロボット制御プログラム
が生成される。ここで、ロボット動作タイミングデータ
を調べ、次に続く状態が見つかれば(処理1108
g)、処理1108b以降を繰り返す。次の状態がなけ
れば、これで1ユニット分のロボット制御プログラムが
生成されたことになる。さらに、次のユニットのロボッ
ト動作タイミングデータがあるかどうか調べ、次のユニ
ットのデータがあれば(処理1108h)、処理110
8b以降を繰り返す。次のユニットのデータがなけれ
ば、各ユニット毎のプログラムバッファを結合し、ロボ
ット制御プログラムモジュール105(図9を参照)を
生成する(処理1108i)。
FIG. 23 shows details of the robot control program generation processing 100c. First, a program buffer area is secured for each unit (process 1108a).
Next, from the data of the robot operation timing 103f for each unit obtained in the function-specific data extraction processing 100a, the state No. (= I) is acquired one by one (Process 110
8b), the status label "STTi" is output to the program buffer (process 1108c). Further, if there is data of the robot control command sequence 103e obtained in the above-described function-specific data extraction process 100a (process 1108d), the content of the robot control command sequence data is output to the buffer (process 1108e). If there is no robot control command sequence data, "NOP" is output to the buffer (process 1108).
f). By the above processing, the robot control program for one state is generated. Here, the robot operation timing data is examined, and if a next subsequent state is found (process 1108).
g), processing 1108b and subsequent steps are repeated. If there is no next state, this means that the robot control program for one unit has been generated. Further, it is checked whether or not there is robot operation timing data for the next unit, and if there is data for the next unit (process 1108h), process 110
Repeat 8b and subsequent steps. If there is no data for the next unit, the program buffer for each unit is combined to generate the robot control program module 105 (see FIG. 9) (process 1108i).

【0053】図24は、画像処理プログラム生成処理1
00dの詳細を示す。なお、図からも明らかなように、
ここでは、上記図23と同様の処理により、図15の機
能別データ抽出処理1100aで得られた画像処理タイ
ミング103h(図9を参照)のデータと、画像処理命
令列103gのデータから、画像処理プログラムモジュ
ール106を生成する。
FIG. 24 shows the image processing program generation processing 1
Details of 00d are shown. In addition, as is clear from the figure,
Here, the image processing is performed from the data of the image processing timing 103h (see FIG. 9) obtained in the function-specific data extraction processing 1100a of FIG. The program module 106 is generated.

【0054】次に、図25は、セル制御プログラム10
2(図9を参照)からシーケンス制御プログラム104
と、ロボット制御プログラムモジュール105とを生成
する手順を、上記図7、図8に示したセル制御プログラ
ムの一部を例にして、具体的に示すものである。
Next, FIG. 25 shows the cell control program 10.
2 (see FIG. 9) to the sequence control program 104
The procedure for generating the robot control program module 105 and the robot control program module 105 will be specifically described by taking a part of the cell control program shown in FIGS. 7 and 8 as an example.

【0055】この図25の符号1401、1402は、
それぞれ、上記セル制御プログラム102のcellブ
ロック、defブロックの一部を示す。このcellブ
ロック1401において、先に述べたcellラベル6
01(図7を参照)と状態遷移式602を合わせたもの
が、この図中のペトリネットの状態接続関係1401
a、1401cである。この状態接続関係1401a
は、状態S106への入力トランジションが一つであ
り、そこに状態S105の正常終了OK1と同期プレー
スREQ6のOKが入力として接続されていることを示
す。同様に、状態接続関係1401cは、状態S107
のトランジションは一つで、そこに状態S106のOK
1が接続されていることを示す。
Reference numerals 1401 and 1402 in FIG.
Part of the cell block and the def block of the cell control program 102 are shown respectively. In the cell block 1401, the cell label 6 described above is used.
01 (see FIG. 7) and the state transition expression 602 are combined to indicate the state connection relation 1401 of the Petri net in this figure.
a, 1401c. This state connection relation 1401a
Indicates that there is one input transition to the state S106, and the normal end OK1 of the state S105 and the OK of the synchronous place REQ6 are connected thereto as inputs. Similarly, the state connection relation 1401c has a state S107.
There is only one transition, and there is OK in state S106.
1 is connected.

【0056】また、defブロック1402には、各状
態の終了条件が定義されており、状態S105の正常終
了OK1の状態終了条件1402aは、状態S105に
おける動作がエラーなしで完了することを示す。同様
に、状態S106のOK1の状態終了条件1402c
は、入力X101がOFFであり、かつ、オンディレイ
タイマTD12がタイムアップしていないことを示す。
The def block 1402 defines the end condition of each state. The normal end OK1 state end condition 1402a of the state S105 indicates that the operation in the state S105 is completed without any error. Similarly, the status end condition 1402c of OK1 in status S106
Indicates that the input X101 is OFF and the on-delay timer TD12 has not timed up.

【0057】これら状態接続関係1401aと状態終了
条件1402aから、シーケンス制御プログラム140
3におけるルールの条件部1403aと、実行部の状態
遷移命令1403b(EXEC S106など)が生成
される(処理1405、1406)。すなわち、ルール
条件部1403aとして「もし、状態S105が正常終
了であり、かつ同期プレースREQ6が満たされれば」
が生成され、状態遷移命令1403bとして「状態S1
06を実行する」などが生成される。同様にして、状態
接続関係1401cと状態終了条件1402cから、ル
ールの条件部1403dと、実行部の状態遷移命令14
03eが生成される(処理1407、1408)。
From the state connection relation 1401a and the state end condition 1402a, the sequence control program 140
The condition part 1403a of the rule in FIG. 3 and the state transition instruction 1403b (EXEC S106 etc.) of the execution part are generated (processing 1405, 1406). In other words, the rule condition part 1403a "If the state S105 is normally completed and the synchronous place REQ6 is satisfied"
Is generated, and the state transition command 1403b is "state S1.
Execute 06 ”and the like are generated. Similarly, from the state connection relation 1401c and the state end condition 1402c, the rule condition part 1403d and the execution part state transition instruction 14
03e is generated (processing 1407, 1408).

【0058】また、このとき同時に、状態接続関係14
01a、1401cから、状態NO.すなわちロボット
動作タイミング103fが抜き出され、ロボット制御プ
ログラム1404の中の状態ラベル1404a、140
4cが生成される(処理1409、1410)。
At the same time, the state connection relation 14
01a and 1401c, the status NO. That is, the robot operation timing 103f is extracted and the status labels 1404a and 140 in the robot control program 1404 are extracted.
4c is generated (processing 1409, 1410).

【0059】さらに、cellブロック1401のコマ
ンド列から、I/O制御命令列1401bが抜き出され
て、シーケンス制御プログラム1403のルールの後件
部のコマンド列1403cが生成される(処理141
1)。さらに、cellブロック1401のコマンド列
のうち、ロボット制御命令列1401dが抜き出され、
ロボット制御プログラム1404のコマンド列1404
b、1404dが生成される(処理1412、141
3)。
Further, the I / O control instruction sequence 1401b is extracted from the command sequence of the cell block 1401 to generate the command sequence 1403c of the consequent part of the rule of the sequence control program 1403 (process 141).
1). Furthermore, the robot control command sequence 1401d is extracted from the command sequence of the cell block 1401,
Command sequence 1404 of robot control program 1404
b, 1404d is generated (processing 1412, 141)
3).

【0060】図26は、セル制御プログラム102(図
9を参照)から、シーケンス制御プログラム104と画
像処理プログラムモジュール106を生成する手順を、
やはり、図7、図8に示したセル制御プログラムの一部
を例にして、具体的に示すものである。すなわち、上記
の図25と同様に、セル制御プログラム102のcel
lブロック1501と、defブロック1502とか
ら、シーケンス制御プログラム1503と、画像処理プ
ログラム1504とを生成する手順を示している。
FIG. 26 shows a procedure for generating the sequence control program 104 and the image processing program module 106 from the cell control program 102 (see FIG. 9).
Again, this is specifically shown by taking a part of the cell control program shown in FIGS. 7 and 8 as an example. That is, as in the case of FIG. 25 described above, the cel of the cell control program 102 is
The procedure for generating the sequence control program 1503 and the image processing program 1504 from the 1 block 1501 and the def block 1502 is shown.

【0061】以上のようにして、機能別モジュール分離
変換手段103によって生成される機能別プログラムモ
ジュールは、共通のプログラム構造を持ち、その構造を
図27に示す。すなわち、図27に示すように、そのプ
ログラム構造において、機能別プログラムモジュール1
601は、いくつかのユニットブロック1602によっ
て構成され、さらに、このユニットブロック1602
は、状態ブロック1603によって構成される。このユ
ニットブロック1602は、ユニットラベル(#UNI
Tn、#ROBn、#CAMnなど、nはユニットの整
理番号)に続くプログラムのブロックである。また、状
態ブロック1603は、シーケンス制御プログラムでは
ルール1001に相当し、ロボット制御プログラムと画
像処理プログラムでは状態ラベル(STTn、nは状態
NO.)に続くブロックに相当する。
As described above, the function-specific program modules generated by the function-specific module separation conversion means 103 have a common program structure, and the structure is shown in FIG. That is, as shown in FIG. 27, in the program structure, the function-specific program module 1
601 is composed of several unit blocks 1602, and further, this unit block 1602
Is configured by the status block 1603. This unit block 1602 has a unit label (#UNI
Tn, #ROBn, #CAMn and the like, n is a block of the program following the unit serial number). A state block 1603 corresponds to the rule 1001 in the sequence control program, and a block following the state label (STTn, n is the state NO.) In the robot control program and the image processing program.

【0062】例えば、図11に例示したシーケンス制御
プログラムは、ROB1のユニットブロック1602で
あり、ルール1001は状態S203の状態ブロック1
603に相当する。また、図14のロボット制御プログ
ラムは、ROB1のユニットブロック1201と、RO
B2のユニットブロック1202から構成されており、
また、図中のブロック1203は、図27の状態S20
3の状態ブロック1603に相当する。また、図14の
画像処理プログラムも、図13と同様、図27に示す、
CAM1のユニットブロック1602と、CAM2のユ
ニットブロック1602とから構成されている。
For example, the sequence control program illustrated in FIG. 11 is the unit block 1602 of ROB1, and the rule 1001 is state block 1 of state S203.
Corresponding to 603. In addition, the robot control program of FIG. 14 includes the unit block 1201 of ROB1 and RO
It is composed of the unit block 1202 of B2,
Further, the block 1203 in the figure is the state S20 of FIG.
3 corresponds to the state block 1603. The image processing program of FIG. 14 is also shown in FIG. 27, as in FIG.
It is composed of a unit block 1602 of CAM1 and a unit block 1602 of CAM2.

【0063】この図27に示した機能別プログラムモジ
ュール1601のブロック構造は、この機能別プログラ
ムモジュール1601を分割することで得られるプロセ
ッサ別プログラムのコード実行手順と密接な関係があ
る。すなわち、プログラム実行時には、あるユニットブ
ロック1602の中のうち、現在活性化されている状態
ブロック1603が選び出され、そのブロックに記述さ
れた命令列が順番に実行される。さらに、別のユニット
ブロック1602においても、同様の処理が行われる。
ここで、処理中のユニットブロック1602を指すユニ
ットラベルの番号(#UNITnのnなど)は、ユニッ
トそのものの整理番号(以下、ユニットNO.とする)
と同じものであり、このユニットNO.は、プログラム
の実行時にプログラム制御を行うための情報(以下、プ
ログラム制御用データとする)として管理される。ま
た、機器の現在の状態、すなわち活性化状態における動
作が記述された状態ブロック1603を指す状態ラベル
の番号は、状態NO.として管理される。
The block structure of the function-specific program module 1601 shown in FIG. 27 is closely related to the code execution procedure of the processor-specific program obtained by dividing the function-specific program module 1601. That is, when the program is executed, the currently activated state block 1603 is selected from a certain unit block 1602, and the instruction sequence described in that block is sequentially executed. Further, similar processing is performed in another unit block 1602.
Here, the unit label number indicating the unit block 1602 being processed (such as n in #UNITn) is the reference number of the unit itself (hereinafter referred to as the unit number).
This unit is the same as this unit. Are managed as information (hereinafter, referred to as program control data) for performing program control when the program is executed. Further, the number of the state label indicating the state block 1603 in which the operation in the current state of the device, that is, the activated state is described, is the state number. Managed as.

【0064】次に、図28には、このプロセッサ別プロ
グラムの実行手順を示す。同図に示す処理フローにおい
て、まず、現在のユニットNO.をプログラム制御用デ
ータから読み込み(処理1701)、そのユニットN
O.と同じ番号を持つユニットラベルへジャンプする
(処理1702)。次に、活性化状態の状態NO.を読
み込み(処理1703)、その状態ラベルへジャンプす
る(処理1704)。この状態ラベルに続く命令列を順
番に実行し(処理1705、1706)、その実行が終
了すると次のユニットブロック1602を処理するため
にユニットNO.を更新し(処理1707)、再びフロ
ーの最初に戻る。このように、プログラムはユニットブ
ロック1602を単位として実行されるので、機能別プ
ログラムモジュール1601はこのユニットブロック1
602を単位として、さらに分割することができる。ま
た、先に述べたプロセッサ別プログラムは、機能別プロ
グラムモジュール1601を、上記ユニットブロック1
602を単位として分解することによって、生成され
る。
Next, FIG. 28 shows an execution procedure of this processor-specific program. In the processing flow shown in FIG. Is read from the program control data (process 1701), and the unit N
O. A jump is made to a unit label having the same number as (step 1702). Next, the state No. of the activated state. Is read (process 1703) and the state label is jumped to (process 1704). The instruction sequence following this state label is executed in sequence (processes 1705 and 1706), and when the execution is completed, the unit No. 1 is processed to process the next unit block 1602. Is updated (process 1707) and the flow returns to the beginning. As described above, the program is executed in the unit block 1602 as a unit, and therefore the function-specific program module 1601 is
It can be further divided in units of 602. In addition, the above-described processor-specific program includes the function-specific program module 1601 and the unit block 1 described above.
It is generated by decomposing 602 as a unit.

【0065】続いて、図1には、上記の機能別プログラ
ムモジュール1601から、プロセッサ別プログラム群
1803を生成する、いわゆる、プロセッサ別モジュー
ル分割手段1801の処理プロセスを示す。このプロセ
ッサ別モジュール分割手段1801では、まず、機能別
プログラムモジュール1601をユニットブロック分割
手段1801aによって、個々のユニットブロック16
02に分解して、ユニットブロック群1801bを生成
する。
Next, FIG. 1 shows a processing process of so-called processor-specific module dividing means 1801 for generating a processor-specific program group 1803 from the function-specific program module 1601. In the processor-based module dividing unit 1801, first, the function-based program module 1601 is divided into individual unit blocks 16 by the unit block dividing unit 1801a.
02 to generate a unit block group 1801b.

【0066】なお、ここで、実際に機器を制御するプロ
セッサ構成及びその性能に関するデータ(プロセッサ構
成及び性能データ)1801c、すなわち、制御用プロ
セッサを何台用いて、それらをどのような形態で接続す
るか、ということに関する情報と、制御用プロセッサの
プログラムコードの処理時間などに関する情報に基づい
て、各ユニットブロック1602(図27を参照)の処
理時間を推定し、それが制御上必要とされる処理時間
(例えば、シーケンス制御におけるスキャンタイムやロ
ボット制御におけるサンプリング周期など)の基準を満
たしているかどうかを評価する。これを行うのがユニッ
トブロック処理時間推定及び評価手段1801dであ
り、これにより各ユニットブロック1602の処理時間
に関するデータが作成される。なお、プログラムコード
の処理時間については、各命令コードの処理に要する時
間(制御用プロセッサ毎に予め調べられているものとす
る)を実行される命令コードの分だけ加算することで求
めることができる。例えば、シーケンス制御プロセッサ
におけるスキャンタイム(1処理に要する時間)であれ
ば、1スキャンで実行する分だけ命令コードの処理時間
を加算することにより、スキャンタイムを推定すること
ができる。
Here, the data (processor configuration and performance data) 1801c regarding the processor configuration and its performance for actually controlling the device, that is, how many control processors are used and connected in what form. Whether the processing time of each unit block 1602 (see FIG. 27) is estimated based on the information on that, and the information on the processing time of the program code of the control processor, and the processing required for the control. It is evaluated whether the time (for example, scan time in sequence control or sampling period in robot control) is satisfied. This is done by the unit block processing time estimation and evaluation means 1801d, which creates data on the processing time of each unit block 1602. Note that the processing time of the program code can be obtained by adding the time required for processing each instruction code (assuming that it has been checked in advance for each control processor) by the amount of the executed instruction code. . For example, if the scan time in the sequence control processor (the time required for one process), the scan time can be estimated by adding the process time of the instruction code for the amount of execution in one scan.

【0067】次に、ユニットブロック結合手段1801
eは、各ユニットブロック1602の処理時間の推定デ
ータに基づいて、いくつかのユニットブロック1602
を結合し、最終的に各プロセッサで実行されるプロセッ
サ別プログラム群1803を生成する。本実施例では、
図28のようなプログラムコードの実行手順をとるた
め、各プロセッサにおいては、その制御上必要とされる
処理時間の基準を満たす範囲内で、複数のユニットブロ
ック1602を実行することが可能である。すなわち、
いくつかのユニットブロック1602の推定処理時間を
加算して、それが制御上の基準の範囲内であれば、それ
らのユニットブロック1602を結合し、それをプロセ
ッサ別プログラム1802とすることができる。ただ
し、ユニットブロック1602を結合するとき、特定の
プロセッサに処理負荷が集中しないように、プロセッサ
の性能に応じた最適な負荷配分がされていることが望ま
しい。そこで、ユニットブロック結合手段1801e
は、このように処理負荷の配分が最適になるように、ユ
ニットブロック1801eを結合して、プロセッサ別プ
ログラム群1803を生成する。すなわち、個々のプロ
セッサの能力をオーバーしないよう、かつ、最大時間を
要するプロセッサの処理時間が最小になるように処理負
荷を配分する。
Next, unit block connecting means 1801
e is based on the estimation data of the processing time of each unit block 1602, and
To generate a processor-specific program group 1803 which is finally executed by each processor. In this embodiment,
Since the execution procedure of the program code as shown in FIG. 28 is taken, each processor can execute a plurality of unit blocks 1602 within a range satisfying the criterion of the processing time required for its control. That is,
It is possible to add the estimated processing times of several unit blocks 1602, and if they are within the range of control criteria, combine these unit blocks 1602 and make it a processor-specific program 1802. However, when the unit blocks 1602 are combined, it is desirable that optimal load distribution is performed according to the performance of the processors so that the processing load is not concentrated on a specific processor. Therefore, the unit block coupling means 1801e
In this way, the unit blocks 1801e are combined to generate the processor-specific program group 1803 so that the processing load distribution is optimized. That is, the processing load is distributed so that the capacity of each processor is not exceeded and the processing time of the processor that requires the maximum time is minimized.

【0068】図29には、上記のプロセッサ別モジュー
ル分割手段1801によって、機能別プログラムモジュ
ール1601を分割して、プロセッサ別プログラム群1
802を生成した例を示す。ここでは、機能別プログラ
ムモジュール1601に含まれる3個のユニットブロッ
ク1901、1902、1903から、2個のプロセッ
サ別プログラム1904、1905を生成した例を示し
ている。
In FIG. 29, the function-specific program module 1601 is divided by the processor-specific module dividing means 1801 to obtain the processor-specific program group 1
The example which generated 802 is shown. Here, an example is shown in which two processor-specific programs 1904 and 1905 are generated from three unit blocks 1901, 1902 and 1903 included in the function-specific program module 1601.

【0069】既述の図10、図11、図12に示したシ
ーケンス制御プログラムを例に取って説明すると、これ
らのプログラムを実行するシーケンス制御プロセッサが
1個であり、これらのプログラムの全てを実行した場合
のスキャンタイムが所定の時間以内であれば、これらの
プログラムを一つのシーケンス制御プログラムとして結
合する。これに対し、例えばシーケンス制御プロセッサ
が2個の場合、例えば、図10を一つのプログラム、図
11と図12を結合して一つのプログラムとし、これら
二つのプログラムをそれぞれのシーケンス制御プロセッ
サに対して出力する。
The sequence control programs shown in FIGS. 10, 11 and 12 will be described as an example. There is one sequence control processor that executes these programs, and all of these programs are executed. If the scan time in this case is within a predetermined time, these programs are combined as one sequence control program. On the other hand, for example, when there are two sequence control processors, for example, FIG. 10 is made into one program, and FIG. 11 and FIG. 12 are combined into one program, and these two programs are given to each sequence control processor. Output.

【0070】なお、上記図1に示したユニットブロック
結合手段1801eにおいて生成されるプロセッサ別プ
ログラム1802は、さらに、その出力先となるプロセ
ッサで実行可能な形式のプログラムコードに変換する必
要があることも想定される。このような場合、ユニット
ブロック結合手段1801eの後に、各プロセッサ用言
語に変換するためのプロセッサ別のコード変換手段を予
め設けることで対応することができる。
The processor-specific program 1802 generated by the unit block combining means 1801e shown in FIG. 1 may also need to be converted into a program code that can be executed by the output destination processor. is assumed. Such a case can be dealt with by previously providing a code conversion means for each processor for converting the language for each processor after the unit block combination means 1801e.

【0071】続いて、図30には、以上のようにしてセ
ル制御プログラム102(図9を参照)から生成された
プロセッサ別プログラム群1803(図1を参照)、す
なわち、シーケンス制御プロセッサ用プログラム群11
0、ロボット制御プロセッサ用プログラム群111、画
像処理プロセッサ用プログラム群112(図2を参照)
を解釈実行し、セルを制御するFAコントローラの一例
を示す。なお、この図30に示されるコントローラは、
シーケンス制御プロセッサ群113、ロボット制御プロ
セッサ群114、画像処理プロセッサ群115を共有バ
ス2004によって結合した、いわゆる、マルチプロセ
ッサ型コントローラ2001を構成している。また、図
中の符号2014はセルを示しており、このセルは、周
辺機器(I/O)2011、ロボット2012、視覚セ
ンサ2013を含んでいる。
Next, FIG. 30 shows a processor group program group 1803 (see FIG. 1) generated from the cell control program 102 (see FIG. 9) as described above, that is, a sequence control processor program group. 11
0, robot control processor program group 111, image processing processor program group 112 (see FIG. 2)
An example of an FA controller that interprets and executes the above and controls the cell is shown. The controller shown in FIG. 30 is
The sequence control processor group 113, the robot control processor group 114, and the image processing processor group 115 are connected by a shared bus 2004 to form a so-called multiprocessor controller 2001. In addition, reference numeral 2014 in the drawing denotes a cell, and this cell includes a peripheral device (I / O) 2011, a robot 2012, and a visual sensor 2013.

【0072】この図の構成において、シーケンス制御プ
ロセッサ2005は、共有バス2004とのインタフェ
ースであるバスドライバ2005d、さらに、シーケン
ス制御プロセッサ用プログラムを解釈実行する演算手段
2005aなどを含んで構成されており、また、I/O
インタフェース2008を介して、その制御対象である
周辺機器(I/O)2011に接続されている。
In the configuration shown in this figure, the sequence control processor 2005 is configured to include a bus driver 2005d that is an interface with the shared bus 2004, and a computing means 2005a that interprets and executes the program for the sequence control processor. Also, I / O
It is connected to the peripheral device (I / O) 2011, which is the control target, via the interface 2008.

【0073】ロボット制御プロセッサ2006は、バス
ドライバ2006f、ロボットの手先の位置姿勢を教示
するための教示手段2006b、ロボット制御プロセッ
サ用プログラムを解釈実行する演算手段2006aなど
から構成され、モータ駆動回路2009を介して、その
制御対象であるロボット2012に接続される。
The robot control processor 2006 is composed of a bus driver 2006f, a teaching means 2006b for teaching the position and orientation of the hand of the robot, an arithmetic means 2006a for interpreting and executing a robot control processor program, and the like, and a motor drive circuit 2009. Through the robot 2012, which is the control target.

【0074】そして、画像処理プロセッサ2007は、
バスドライバ2007f、基準画像を教示するための教
示手段2007b、画像処理プロセッサ用プログラムを
解釈実行する演算手段2007aなどから構成され、画
像インタフェース2010を介して、工業用テレビカメ
ラなどで構成される視覚センサ2013に接続されてい
る。
Then, the image processor 2007
A visual sensor including a bus driver 2007f, a teaching unit 2007b for teaching a reference image, an arithmetic unit 2007a for interpreting and executing a program for an image processor, and the like, which is configured by an industrial television camera or the like via an image interface 2010. It is connected to 2013.

【0075】さらに、上記のシーケンス制御プロセッサ
群113、ロボット制御プロセッサ群114、画像処理
プロセッサ群115で実行されるプログラムには、機器
の動作タイミングに関する情報が組み込まれており、各
プログラムを実行する際に、このような動作タイミング
の同期を取るためには、各プロセッサの間で必要なデー
タを共有する必要がある。そこで、各プロセッサがアク
セスできる共有バス2004には、共有データ記憶手段
2003が接続されている。
Further, the programs executed by the sequence control processor group 113, the robot control processor group 114, and the image processing processor group 115 have information on the operation timing of the equipment incorporated therein. Moreover, in order to synchronize such operation timing, it is necessary to share necessary data among the processors. Therefore, the shared data storage means 2003 is connected to the shared bus 2004 that can be accessed by each processor.

【0076】図31には、上記共有データ記憶手段20
03に格納される共有データ2101の構成を示す。先
に述べたように、セル制御プログラム102(図9を参
照)では、各ユニットの動作シーケンスを状態遷移の考
え方に基づいて記述しているので、それから生成された
各プログラムを実行する際にも、活性化された状態N
O.を各プロセッサの間で共有することによって、ユニ
ットの動作タイミングの同期をとることができる。そこ
で、共有データ2101には、ユニット別状態データ2
102として、活性化された状態NO.2101aと、
その実行ステータス2102b(活性化状態に関するよ
り詳細な情報)が格納されている。各プロセッサは、そ
れぞれのプログラムを実行中に、このユニット別状態デ
ータ2102にアクセスすることで、各プログラム中に
記述された動作タイミングの同期をとることができる。
また、共有データ2101には、ユニット別状態データ
2102の他に、各プロセッサ間で共有すべき各種デー
タを、共有変数2103として格納することができる。
FIG. 31 shows the shared data storage means 20.
The structure of the shared data 2101 stored in 03 is shown. As described above, in the cell control program 102 (see FIG. 9), the operation sequence of each unit is described based on the concept of state transition, so that each program generated from it is also executed. , Activated state N
O. Is shared among the processors, the operation timing of the units can be synchronized. Therefore, the shared data 2101 includes the unit-specific status data 2
102, the activated state NO. 2101a,
The execution status 2102b (more detailed information regarding the activation state) is stored. Each processor can synchronize the operation timing described in each program by accessing the unit-by-unit state data 2102 during execution of each program.
Further, in the shared data 2101, in addition to the unit-based state data 2102, various data to be shared between the processors can be stored as shared variables 2103.

【0077】なお、上記の図30に示したマルチプロセ
ッサ型コントローラ2001は、通信手段2002によ
って、例えばパーソナルコンピュータなどのホストコン
ピュータ2015と接続される。このホストコンピュー
タ2015には、セル制御プログラム編集手段101
(図2を参照)や機能別モジュール分離変換手段10
3、プロセッサ別モジュール分割手段1801のソフト
ウェアを搭載することが可能であり、ここで作成された
プログラムは、上記の通信手段2002によって各プロ
セッサに送信することができる。
The multiprocessor type controller 2001 shown in FIG. 30 is connected to a host computer 2015 such as a personal computer by a communication means 2002. The host computer 2015 has a cell control program editing means 101.
(See FIG. 2) and function-based module separation conversion means 10
3. The software of the processor module dividing unit 1801 can be installed, and the program created here can be transmitted to each processor by the communication unit 2002.

【0078】また、図32は、上記図30に示したマル
チプロセッサ型コントローラ2001とは異なり、従来
の一般的な構成を持つFAシステムの制御装置の構成を
示すものである。すなわち、セル2207を制御するた
めに、プログラマブルコントローラ2201、ロボット
コントローラ2202、画像処理装置2203をネット
ワーク2208で接続した例である。このように幾つか
のコントローラを組み合わせた構成の場合でも、図31
に示したような共有データ2101を、ネットワーク2
208を通じて、それぞれのコントローラ同士で交換
し、共有することで、ユニット間の動作タイミングの同
期をとることができる。よって、本発明の制御方法は、
従来型の構成を持つ制御装置にも適用することが可能で
ある。
Further, FIG. 32 shows a configuration of a control device of an FA system having a conventional general configuration, which is different from the multiprocessor type controller 2001 shown in FIG. That is, this is an example in which the programmable controller 2201, the robot controller 2202, and the image processing device 2203 are connected by the network 2208 in order to control the cell 2207. Even in the case of the configuration in which several controllers are combined in this way, FIG.
The shared data 2101 shown in FIG.
By exchanging and sharing between the controllers via 208, the operation timing between the units can be synchronized. Therefore, the control method of the present invention is
It can also be applied to a control device having a conventional configuration.

【0079】また、図33には、さらに別の構成を持つ
FAシステムの制御装置を示す。これは複数のマルチプ
ロセッサ型コントローラ2301、2302をネットワ
ーク2306で接続したもので、この場合でも、各コン
トローラが、ネットワーク2306を経由して、図31
に示したような共有データ2101を交換することで、
ユニット間の同期を取ることができ、よって、図33の
ようなセル集合2305、つまり、より規模の大きいF
Aシステムに対しても、本発明は適用可能であることが
理解される。
Further, FIG. 33 shows a control device of the FA system having another configuration. In this case, a plurality of multiprocessor controllers 2301 and 2302 are connected by a network 2306. Even in this case, each controller passes through the network 2306 and
By exchanging shared data 2101 as shown in
The units can be synchronized with each other, so that the cell set 2305 as shown in FIG. 33, that is, the larger F
It is understood that the present invention can be applied to the A system.

【0080】さらに、上記の図30に示したようなマル
チプロセッサ型コントローラ2001と、上記の図32
に示したような従来型のコントローラが混在した制御シ
ステムの場合でも、上記の図33と同様にして、本発明
は適用可能である。なお、上記した実施の形態の例で
は、自動機械としてロボットを含んだセルを対象とした
が、ロボット以外の自動機械、例えばNC工作機械など
を含んだセルに対しても、同様にして本発明を適用する
ことは可能である。
Further, the multiprocessor type controller 2001 as shown in FIG. 30 and the FIG.
Even in the case of the control system in which the conventional controllers as shown in FIG. In the example of the above-described embodiment, the cell including the robot is targeted as the automatic machine, but the present invention is similarly applied to the cell including the automatic machine other than the robot, for example, the NC machine tool. It is possible to apply

【0081】また、上記の例ではプログラミング可能な
周辺機器として視覚センサを含んだセルを対象とした
が、視覚センサ以外のプログラミング可能な周辺機器を
含んだセルに対しても、同様にして本発明を適用するこ
とは可能である。加えて、上記の実施の形態では、通常
のFAシステムを対象としたが、さらに、複数のマニピ
ュレータ、センサ、周辺機器などから構成される知能ロ
ボットシステムに対しても、同様にして本発明を適用す
ることは可能であり、それ故、本発明におけるFAシス
テムとは、かかる知能ロボットシステムをも含む概念で
ある。
Further, in the above example, the cell including the visual sensor was targeted as the programmable peripheral device, but the present invention is similarly applied to the cell including the programmable peripheral device other than the visual sensor. It is possible to apply In addition, in the above-described embodiment, the normal FA system is targeted, but the present invention is similarly applied to an intelligent robot system including a plurality of manipulators, sensors, peripheral devices, and the like. Therefore, the FA system in the present invention is a concept including such an intelligent robot system.

【0082】[0082]

【発明の効果】以上の詳細な説明からも明らかなよう
に、本発明によれば、ユーザが、ロボットなどの自動機
械と視覚センサなどのプログラミング可能な周辺機器を
含む複数機器を組み合わせて、FAシステムを構築する
際に、各機器を制御するプログラムをセル制御プログラ
ムとして一本化して記述することができることはもちろ
んのこと、さらに、このセル制御プログラムから、FA
システムの制御装置のプロセッサの構成と性能に応じ
て、各プロセッサの処理負荷の配分が最適となるよう
に、各プロセッサ用のプログラムを自動的に生成するこ
とができるので、従来のように制御装置の構成に応じて
複数のプログラムを作成したり、幾つものプログラミン
グ言語を習得したりする必要がなくなり、その結果とし
て、FAシステムの制御プログラムの開発効率を向上す
ることができるという効果を発揮する。
As is apparent from the above detailed description, according to the present invention, a user combines an automatic machine such as a robot with a plurality of devices including programmable peripheral devices such as a visual sensor, and FA When constructing a system, it goes without saying that a program for controlling each device can be integrated and described as a cell control program.
A program for each processor can be automatically generated so that the processing load of each processor is optimally distributed according to the configuration and performance of the processor of the system control device. It is not necessary to create a plurality of programs or learn a number of programming languages according to the configuration of (1), and as a result, it is possible to improve the development efficiency of the control program of the FA system.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の特徴点であるFAシステムの制御装置
におけるプロセッサ別モジュール分割手段のプロセッサ
別プログラム生成の処理プロセスを示す図である。
FIG. 1 is a diagram showing a processing process of generating a program for each processor of a module dividing unit for each processor in a control device of an FA system, which is a feature of the present invention.

【図2】本発明の実施の形態になるFAシステムの制御
装置における処理プロセスを模式的に示すブロック図で
ある。
FIG. 2 is a block diagram schematically showing a processing process in the control device of the FA system according to the embodiment of the present invention.

【図3】上記図2のセル制御プログラム編集手段におけ
る端末の画面表示の一例を示す図である。
3 is a diagram showing an example of a screen display of a terminal in the cell control program editing means of FIG.

【図4】上記本発明を適用した電子部品挿入作業の一部
を表すペトリネットの一例を示す図である。
FIG. 4 is a diagram showing an example of a Petri net representing a part of the electronic component inserting operation to which the present invention is applied.

【図5】上記図4の電子部品挿入作業における部品挿入
直前の様子を示す図である。
5 is a diagram showing a state immediately before component insertion in the electronic component insertion work of FIG.

【図6】上記図4の電子部品挿入作業における部品挿入
直後の様子を示す図である。
FIG. 6 is a diagram showing a state immediately after component insertion in the electronic component insertion work of FIG. 4;

【図7】上記図4のペトリネットをコード化したセル制
御プログラムのcellブロックを示す図である。
FIG. 7 is a diagram showing a cell block of a cell control program in which the Petri net of FIG. 4 is coded.

【図8】上記図4のペトリネットをコード化したセル制
御プログラムのdefブロックを示す図である。
FIG. 8 is a diagram showing a def block of a cell control program in which the Petri net of FIG. 4 is coded.

【図9】上記図2の機能別モジュール分離変換手段にお
いて、機能別プログラムモジュールを生成する処理プロ
セスを示すブロック図である。
9 is a block diagram showing a processing process for generating a function-specific program module in the function-specific module separation conversion unit of FIG. 2;

【図10】上記図7及び図8に示したセル制御プログラ
ムから生成したシーケンス制御プログラムの一部(RO
B1のユニットブロック)を示す図である。
FIG. 10 is a part of a sequence control program generated from the cell control programs shown in FIGS. 7 and 8 (RO
It is a figure which shows the unit block of B1.

【図11】上記図7及び図8に示したセル制御プログラ
ムから生成したシーケンス制御プログラムの一部(RO
B2のユニットブロック)を示す図である。
11 is a part of the sequence control program generated from the cell control program shown in FIG. 7 and FIG. 8 (RO
It is a figure which shows the unit block of B2.

【図12】上記図7及び図8に示したセル制御プログラ
ムから生成したシーケンス制御プログラムの一部(CA
M1及びCAM2のユニットブロック)を示す図であ
る。
FIG. 12 is a part of a sequence control program generated from the cell control programs shown in FIGS. 7 and 8 (CA
It is a figure which shows the unit block of M1 and CAM2.

【図13】上記図7及び図8に示したセル制御プログラ
ムから生成したロボット制御プログラムの一例を示す図
である。
FIG. 13 is a diagram showing an example of a robot control program generated from the cell control program shown in FIGS. 7 and 8;

【図14】上記図7及び図8に示したセル制御プログラ
ムから生成した画像処理プログラムの一例を示す図であ
る。
FIG. 14 is a diagram showing an example of an image processing program generated from the cell control program shown in FIGS. 7 and 8;

【図15】上記図9に示す機能別モジュール分離変換手
段の処理の概略を示すフローチャートである。
FIG. 15 is a flowchart showing an outline of the processing of the function-based module separation conversion means shown in FIG. 9;

【図16】上記図15に示すフローの機能別データ抽出
処理の詳細を示すフローチャートである。
16 is a flowchart showing details of function-specific data extraction processing of the flow shown in FIG. 15;

【図17】上記図16に示すフローの1プレース毎のネ
ット構造解析処理の詳細を示すフローチャートの前半部
分である。
FIG. 17 is the first half of the flowchart showing the details of the net structure analysis processing for each place of the flow shown in FIG. 16;

【図18】上記図16に示すフローの1プレース毎のネ
ット構造解析処理の詳細を示すフローチャートの後半部
分である。
FIG. 18 is the latter half of the flowchart showing the details of the net structure analysis processing for each place in the flow shown in FIG. 16;

【図19】上記図16に示すフローの1プレース毎のコ
マンド列解析処理の詳細を示すフローチャートである。
19 is a flowchart showing details of command sequence analysis processing for each place in the flow shown in FIG.

【図20】上記図16に示すフローの1プレース毎の終
了条件解析処理の詳細を示すフローチャートである。
20 is a flowchart showing details of the end condition analysis processing for each place in the flow shown in FIG.

【図21】上記図15に示すフローのシーケンス制御プ
ログラム生成処理の詳細を示すフローチャートの前半部
分である。
FIG. 21 is the first half of the flowchart showing the details of the sequence control program generation processing of the flow shown in FIG. 15;

【図22】上記図15に示すフローシーケンス制御プロ
グラム生成処理の詳細を示すフローチャートの後半部分
である。
22 is the latter half of the flowchart showing the details of the flow sequence control program generation processing shown in FIG.

【図23】上記図15に示すフローのロボット制御プロ
グラム生成処理の詳細を示すフローチャートである。
23 is a flowchart showing details of the robot control program generation processing of the flow shown in FIG.

【図24】上記図15に示すフローの画像処理プログラ
ム生成処理の詳細を示すフローチャートである。
FIG. 24 is a flowchart showing details of image processing program generation processing of the flow shown in FIG. 15;

【図25】上記図9に示した機能別モジュール分離変換
手段によって、セル制御プログラムからシーケンス制御
プログラムとロボット制御プログラムを生成する処理プ
ロセスの一例を示す図である。
25 is a diagram showing an example of a processing process for generating a sequence control program and a robot control program from a cell control program by the function-specific module separation conversion means shown in FIG. 9;

【図26】上記図9に示した機能別モジュール分離変換
手段によって、セル制御プログラムからシーケンス制御
プログラムと画像処理プログラムを生成する処理プロセ
スの一例を示す図である。
FIG. 26 is a diagram showing an example of a processing process for generating a sequence control program and an image processing program from a cell control program by the function-specific module separation conversion means shown in FIG. 9;

【図27】上記図1に示した機能別プログラムモジュー
ルのブロック構成を示す図である。
27 is a diagram showing a block configuration of a program module for each function shown in FIG. 1. FIG.

【図28】上記図1に示した機能別プログラムモジュー
ルのコード実行手順を示すフロー図である。
28 is a flowchart showing a code execution procedure of the function-specific program module shown in FIG.

【図29】上記図2に示した機能別プログラムモジュー
ルからプロセッサ別プログラム群を生成する処理プロセ
スの一例を示す図である。
FIG. 29 is a diagram showing an example of a processing process for generating a processor-specific program group from the function-specific program module shown in FIG. 2;

【図30】本発明を適用した一実施の形態になる制御装
置(マルチプロセッサ型コントローラ)の構成を示すブ
ロック図である。
FIG. 30 is a block diagram showing a configuration of a control device (multiprocessor type controller) according to an embodiment to which the present invention is applied.

【図31】上記図30に示した制御装置における共有デ
ータの構成を示す図である。
FIG. 31 is a diagram showing a structure of shared data in the control device shown in FIG. 30.

【図32】本発明を適用した他の実施の形態になる制御
装置(従来型のコントローラを組み合わせた制御システ
ム)の構成を示す図である。
FIG. 32 is a diagram showing a configuration of a control device (control system in which a conventional controller is combined) according to another embodiment of the present invention.

【図33】本発明を適用したさらに他の実施の形態にな
る制御装置(マルチプロセッサ型コントローラを複数個
組み合わせた制御システム)の構成を示す図である。
FIG. 33 is a diagram showing the configuration of a control device (a control system in which a plurality of multiprocessor controllers are combined) according to still another embodiment of the present invention.

【符号の説明】[Explanation of symbols]

101 セル制御プログラム編集手段 102 セル制御プログラム 103 機能別モジュール分離変換手段 103a 機能別データ抽出手段 103b ネット構造 103c 状態終了条件 103d I/O制御命令列 103e ロボット制御命令列 103f ロボット動作タイミング 103g 画像処理命令列 103h 画像処理タイミング 103i シーケンス制御プログラム生成手段 103j ロボット制御プログラム生成手段 103k 画像処理プログラム生成手段 104 シーケンス制御プログラムモジュール 105 ロボット制御プログラムモジュール 106 画像処理プログラムモジュール 107 シーケンス制御プロセッサ別モジュール分割手
段 108 ロボット制御プロセッサ別モジュール分割手段 109 画像処理プロセッサ別モジュール分割手段 110 シーケンス制御プロセッサ用プログラム群 111 ロボット制御プロセッサ用プログラム群 112 画像処理プロセッサ用プログラム群 113 シーケンス制御プロセッサ群 114 ロボット制御プロセッサ群 115 画像処理プロセッサ群 116 セル 116a、116b ロボット 116c、116d 視覚センサ 116e、116f 周辺機器 1601 機能別プログラムモジュール 1801 プロセッサ別モジュール分割手段 1801a ユニットブロック分割手段 1801b ユニットブロック群 1801c プロセッサ構成及び性能データ 1801d ユニットブロック処理時間推定及び結合手
段 1801e ユニットブロック結合手段 1802 プロセッサ別プログラム 1803 プロセッサ別プログラム群
101 cell control program editing means 102 cell control program 103 function-specific module separation conversion means 103a function-specific data extraction means 103b net structure 103c state end condition 103d I / O control command sequence 103e robot control command sequence 103f robot operation timing 103g image processing command Column 103h Image processing timing 103i Sequence control program generation means 103j Robot control program generation means 103k Image processing program generation means 104 Sequence control program module 105 Robot control program module 106 Image processing program module 107 Sequence control processor-specific module division means 108 Robot control processor Separate module dividing means 109 Module for each image processor Dividing means 110 Sequence control processor program group 111 Robot control processor program group 112 Image processing processor program group 113 Sequence control processor group 114 Robot control processor group 115 Image processing processor group 116 Cells 116a, 116b Robot 116c, 116d Visual sensor 116e , 116f Peripheral device 1601 Function-specific program module 1801 Processor-specific module dividing means 1801a Unit block dividing means 1801b Unit block group 1801c Processor configuration and performance data 1801d Unit block processing time estimation and combining means 1801e Unit block combining means 1802 Processor specific program 1803 Processor Another program group

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 それぞれが、少なくとも自動機械と、前
記自動機械に関連するプログラミング可能な周辺機器と
を含む、複数のセルから構成されるFAシステムの制御
装置であって、前記複数のセルに対して、それぞれ、 前記セル全体としての作業仕様を同一言語で記述したセ
ル制御プログラムと、 前記セル制御プログラムから、前記自動機械と周辺機器
の作業順序の制御に関するプログラムと、前記自動機械
の動作制御に関するプログラムと、前記プログラミング
可能な周辺機器の制御に関するプログラムとに分離変換
する分離変換手段と、 前記分離変換手段により分離変換された各プログラムに
基づいて、当該セルを構成する前記自動機械と前記プロ
グラミング可能な周辺機器の動作をそれぞれ制御する複
数のプロセッサ手段と、を備えており、前記分離変換手
段は、さらに、少なくとも前記自動機械あるいは前記プ
ログラミング可能な周辺機器の動作をそれぞれ制御する
複数の前記プロセッサ手段における処理負荷の配分を行
う処理負荷配分手段を備えていることを特徴とするFA
システムの制御装置。
1. A controller of an FA system comprising a plurality of cells, each of which includes at least an automatic machine and programmable peripherals associated with the automatic machine, wherein: A cell control program in which work specifications of the entire cell are described in the same language, a program related to control of the work order of the automatic machine and peripheral devices, and an operation control of the automatic machine from the cell control program. Separation and conversion means for separating and converting into a program and a program related to control of the programmable peripheral device; and the automatic machine and the programmable device that configure the cell based on each program separated and converted by the separation and conversion means. Multiple processor means for controlling the operation of various peripheral devices, respectively. In addition, the separation conversion means further includes a processing load distribution means for distributing a processing load in the plurality of processor means for controlling the operation of at least the automatic machine or the programmable peripheral device, respectively. Characteristic FA
The control unit of the system.
【請求項2】 前記請求項1に記載のFAシステムの制
御装置において、前記分離変換手段の処理負荷配分手段
は、さらに、前記分離変換されたプログラムをユニット
毎に分解する手段と、前記ユニット毎に分解されたプロ
グラムの前記プロセッサ手段による処理時間を評価する
手段とを備えていることを特徴とするFAシステムの制
御装置。
2. The FA system control device according to claim 1, wherein the processing load distribution unit of the separation conversion unit further includes a unit that decomposes the separated and converted program for each unit, and a unit for each unit. And a means for evaluating the processing time of the program decomposed into the above by the processor means.
【請求項3】 前記請求項2に記載のFAシステムの制
御装置において、前記分離変換手段の処理負荷配分手段
は、さらに、当該セルを構成する前記自動機械あるいは
前記プログラミング可能な周辺機器の動作をそれぞれ制
御する複数のプロセッサ手段の構成あるいは性能に関す
るデータを提供する手段を備えていることを特徴とする
FAシステムの制御装置。
3. The FA system control device according to claim 2, wherein the processing load distribution unit of the separation conversion unit further operates the automatic machine or the programmable peripheral device forming the cell. A control device for an FA system, comprising means for providing data relating to the configuration or performance of a plurality of processor means for controlling each.
【請求項4】 前記請求項3に記載のFAシステムの制
御装置において、前記ユニット毎に分解されたプログラ
ムの処理時間を評価する手段は、前記データ提供手段か
らのプロセッサ手段の構成あるいは性能に関するデータ
を基にして評価するように構成されていることを特徴と
するFAシステムの制御装置。
4. The FA system control device according to claim 3, wherein the means for evaluating the processing time of the program decomposed into each unit is data relating to the configuration or performance of the processor means from the data providing means. A controller for an FA system, characterized in that it is configured to be evaluated based on.
【請求項5】 前記請求項4に記載のFAシステムの制
御装置において、前記分離変換手段の処理負荷配分手段
は、さらに、前記分解手段によりユニット毎に分解され
たプログラムを、前記プログラムの処理時間評価手段に
よる評価により結合する手段を備えていることを特徴と
するFAシステムの制御装置。
5. The FA system control device according to claim 4, wherein the processing load distribution unit of the separation conversion unit further includes a program decomposed into units by the decomposition unit, and a processing time of the program. A control device for an FA system, characterized in that it is provided with means for connecting by evaluation by an evaluation means.
【請求項6】 それぞれが少なくとも自動機械と、前記
自動機械に関連するプログラミング可能な周辺機器とを
含む、複数のセルから構成されるFAシステムを制御す
るための制御方法において、 前記複数のセルの少なくとも1のセルを構成する機器を
それぞれ複数のプロセッサにより制御するため、前記セ
ル全体としての作業仕様を同一言語で記述してセル制御
プログラムを作成し、当該作成したセル制御プログラム
から、前記自動機械と周辺機器の作業順序の制御に関す
るプログラムと、前記自動機械の動作制御に関するプロ
グラムと、前記プログラミング可能な周辺機器の制御に
関するプログラムとに分離変換し、前記分離変換した各
プログラムに基づいて、当該セルを構成する前記自動機
械と前記プログラミング可能な周辺機器の動作をそれぞ
れ前記複数のプロセッサにより制御するFAシステムの
制御方法であって、当該プログラムの分離変換の際に、
さらに、少なくとも前記自動機械あるいは前記プログラ
ミング可能な周辺機器の動作を制御するそれぞれの前記
複数のプロセッサにおける処理負荷の配分を行うことを
特徴とするFAシステムの制御方法。
6. A control method for controlling an FA system comprising a plurality of cells, each comprising at least an automatic machine and programmable peripherals associated with the automatic machine, the method comprising: In order to control the devices constituting at least one cell by a plurality of processors respectively, a work control specification for the entire cell is described in the same language to create a cell control program, and the created cell control program is used to generate the automatic machine. And a program related to control of the work order of peripheral devices, a program related to operation control of the automatic machine, and a program related to control of the programmable peripheral device, and the cells are converted based on the respective separated and converted programs. Of the automatic machine and the programmable peripherals that make up the The A control method for each FA system controlled by said plurality of processors, upon separation conversion of the program,
Furthermore, the control method of the FA system is characterized in that at least the processing loads of the plurality of processors that control the operation of the automatic machine or the programmable peripheral device are distributed.
【請求項7】 前記請求項6に記載のFAシステムの制
御方法において、前記プロセッサにおける処理負荷の配
分は、前記それぞれの機器の動作を制御する複数のプロ
セッサにおいて、特定のプロセッサに処理負荷が集中し
ないように分配されることを特徴とするFAシステムの
制御方法。
7. The FA system control method according to claim 6, wherein the processing load is distributed to the processors in a plurality of processors controlling the operations of the respective devices. A method for controlling an FA system, characterized in that the FA system is distributed so as not to perform.
【請求項8】 前記請求項6に記載のFAシステムの制
御方法において、前記複数のプロセッサにおける処理負
荷の配分は、前記分離変換されたプログラムをユニット
毎に分解し、前記それぞれの機器の制御を行う前記複数
のプロセッサの構成あるいは性能に基づいて前記ユニッ
ト毎に分解されたプログラムの各々を評価し、当該評価
の結果に基づいて、前記各プロセッサ毎に結合すること
により行うことを特徴とするFAシステムの制御方法。
8. The FA system control method according to claim 6, wherein the distribution of the processing load in the plurality of processors is performed by dividing the separated and converted program into units, and controlling the respective devices. The FA is characterized in that each of the programs decomposed for each unit is evaluated based on the configuration or performance of the plurality of processors to be executed, and the programs are combined for each processor based on the result of the evaluation. How to control the system.
【請求項9】 それぞれが、少なくとも自動機械と、前
記自動機械に関連するプログラミング可能な周辺機器と
を含む、複数のセルから構成されるFAシステムにおい
て、前記複数のセルの少なくとも1のセルを構成する機
器をそれぞれ複数のプロセッサにより制御するための制
御プログラムを生成するためのFAシステムの制御プロ
グラム生成方法であって、 前記セル全体としての作業仕様を同一言語で記述してセ
ル制御プログラムを作成し、 当該作成したセル制御プログラムから、前記自動機械と
周辺機器の作業順序の制御に関するプログラムと、前記
自動機械の動作制御に関するプログラムと、前記プログ
ラミング可能な周辺機器の制御に関するプログラムとに
自動的に分離変換し、そして、 少なくとも前記自動機械あるいは前記プログラミング可
能な周辺機器の動作を制御するそれぞれの前記複数のプ
ロセッサにおける処理負荷の配分を自動的に行う、こと
を特徴とするFAシステムの制御プログラム生成方法。
9. An FA system comprising a plurality of cells, each comprising at least an automatic machine and programmable peripherals associated with the automatic machine, wherein at least one cell of the plurality of cells is configured. Is a control program generation method of an FA system for generating a control program for controlling each of the devices to be controlled by a plurality of processors, wherein a work control specification of the entire cell is described in the same language to create a cell control program. , The created cell control program is automatically separated into a program related to control of work order of the automatic machine and peripheral devices, a program related to operation control of the automatic machine, and a program related to control of the programmable peripheral devices. Convert and, at least, the automatic machine or the professional A method for generating a control program for an FA system, characterized in that the processing load is automatically distributed in each of the plurality of processors that controls the operation of a peripheral device capable of programming.
【請求項10】 前記請求項9に記載のFAシステムの
制御プログラム生成方法において、前記複数のプロセッ
サにおける処理負荷の配分は、前記分離変換されたプロ
グラムをユニット毎に分解し、前記それぞれの機器の制
御を行う前記複数のプロセッサの構成あるいは性能に基
づいて前記ユニット毎に分解されたプログラムの各々を
評価し、そして、当該評価の結果に基づいて、前記各プ
ロセッサ毎に結合することにより行うことを特徴とする
FAシステムの制御プログラム生成方法。
10. The control program generation method for an FA system according to claim 9, wherein the distribution of the processing load among the plurality of processors is performed by disassembling the separated and converted program into units, Evaluating each of the programs decomposed for each unit based on the configuration or performance of the plurality of processors to be controlled, and based on the result of the evaluation, by connecting for each of the processors. A characteristic FA system control program generating method.
【請求項11】 ロボットを含む自動機械と視覚センサ
などのプログラミング可能な周辺機器とを含む複数機器
の単位(セル)から構成されるFAシステムの制御方法
において、 前記セル全体としての作業仕様を直接記述し、前記複数
機器の作業順序の制御に関する情報と、前記複数機器の
入出力の制御に関する情報と、前記自動機械の動作制御
に関する情報と、前記プログラミング可能な周辺機器の
制御に関する情報と、前記複数機器間の同期をとるため
の動作タイミングに関する情報とを有するセル制御プロ
グラムから、セル制御プログラム変換手段によって、前
記複数機器の作業順序に関する情報と、前記入出力の制
御に関する情報を分離及び抽出して、前記複数機器の作
業順序の制御と前記入出力の制御を行う処理が記述され
たシーケンス制御プログラムを生成し、また、前記自動
機械の動作制御と前記動作タイミングに関する情報を分
離及び抽出して、前記自動機械の位置決め及び軌道の制
御を行う処理が記述された自動機械制御プログラムを生
成し、また、前記プログラミング可能な周辺機器の制御
と前記動作タイミングに関する情報を分離及び抽出し
て、前記プログラミング可能な周辺機器の制御を行う処
理が記述された周辺機器制御プログラムを生成し、この
シーケンス制御プログラムと自動機械制御プログラムと
周辺機器制御プログラムとを、それぞれシーケンス制御
プログラム解釈実行手段と自動機械制御プログラム解釈
実行手段と周辺機器制御プログラム解釈実行手段とに出
力することを特徴とするFAシステムの制御方法。
11. A control method of an FA system comprising a unit (cell) of a plurality of devices including an automatic machine including a robot and programmable peripheral devices such as a visual sensor, wherein a work specification of the entire cell is directly specified. The information about the control of the work order of the plurality of devices, the information about the input / output control of the plurality of devices, the information about the operation control of the automatic machine, the information about the control of the programmable peripheral device, From the cell control program having the information on the operation timing for synchronizing the plurality of devices, the cell control program conversion means separates and extracts the information on the work order of the plurality of devices and the information on the input / output control. And a process for controlling the work order of the plurality of devices and the input / output control is described. And a control program for the automatic machine, and a process for separating and extracting information regarding the operation timing and the operation timing to control the positioning and the trajectory of the automatic machine. In addition, the control of the programmable peripheral device and the information on the operation timing are separated and extracted to generate a peripheral device control program in which a process for controlling the programmable peripheral device is generated, and this sequence is generated. A FA system characterized by outputting a control program, an automatic machine control program, and a peripheral device control program to sequence control program interpretation execution means, automatic machine control program interpretation execution means, and peripheral equipment control program interpretation execution means, respectively. Control method.
【請求項12】 ロボットなどの自動機械と視覚センサ
などのプログラミング可能な周辺機器とを含む複数機器
の単位(セル)から構成されるFAシステムの制御方法
において、 前記セル全体としての作業仕様を直接記述し、前記複数
機器の作業順序の制御に関する情報と、前記複数機器の
入出力の制御に関する情報と、前記自動機械の動作制御
に関する情報と、前記プログラミング可能な周辺機器の
制御に関する情報と、前記複数機器間の同期をとるため
の動作タイミングに関する情報とを有するセル制御プロ
グラムから、機能別モジュール分離変換手段によって、
前記複数機器の作業順序に関する情報と、前記入出力の
制御に関する情報を分離及び抽出して、前記複数機器の
作業順序の制御と前記入出力の制御を行う処理が記述さ
れたシーケンス制御プログラムモジュールを生成し、ま
た、前記自動機械の動作制御と前記動作タイミングに関
する情報を分離及び抽出して、前記自動機械の位置決め
及び軌道の制御を行う処理が記述された自動機械制御プ
ログラムモジュールを生成し、また、前記プログラミン
グ可能な周辺機器の制御と前記動作タイミングに関する
情報を分離及び抽出して、前記プログラミング可能な周
辺機器の制御を行う処理が記述された周辺機器制御プロ
グラムモジュールを生成し、さらにこのシーケンス制御
プログラムモジュールと自動機械制御プログラムモジュ
ールと周辺機器制御プログラムモジュールとを、それぞ
れシーケンス制御プロセッサ別モジュール分割手段と自
動機械制御プロセッサ別モジュール分割手段と周辺機器
制御プロセッサ別モジュール分割手段によって、前記セ
ルを制御するプロセッサの構成と性能に基づいて、各プ
ロセッサの処理負荷の配分が最適となるようなプログラ
ムモジュールに分割し、さらにこれらの分割したプログ
ラムモジュールを各プロセッサが実行可能な形式のプロ
グラムに変換して、シーケンス制御プロセッサ用プログ
ラム群と自動制御プロセッサ用プログラム群と周辺装置
制御プロセッサ用プログラム群とを生成し、これらの各
プロセッサ用プログラム群を、それぞれを解釈実行する
プロセッサ群に対して出力することを特徴とするFAシ
ステムの制御方法。
12. A control method of an FA system comprising a unit (cell) of a plurality of devices including an automatic machine such as a robot and programmable peripheral devices such as a visual sensor, wherein a work specification of the whole cell is directly specified. The information about the control of the work order of the plurality of devices, the information about the input / output control of the plurality of devices, the information about the operation control of the automatic machine, the information about the control of the programmable peripheral device, From a cell control program having information on operation timing for synchronizing a plurality of devices, by function-specific module separation conversion means,
A sequence control program module that describes a process for separating and extracting information regarding the work order of the plurality of devices and information regarding the input / output control, and performing the work order control and the input / output control of the plurality of devices. And generating an automatic machine control program module in which a process of performing operation control of the automatic machine and information regarding the operation timing is separated and extracted to perform positioning and trajectory control of the automatic machine, and Generating a peripheral device control program module in which a process for controlling the programmable peripheral device is separated and extracted by separating and extracting information on the control of the programmable peripheral device and the operation timing, and further, this sequence control Program module and automatic machine control Program module and peripheral device control The program module is divided into sequence control processor-specific module dividing means, automatic machine control processor-specific module dividing means, and peripheral equipment control processor-specific module dividing means, respectively, based on the configuration and performance of the processor that controls the cell. Divide into program modules so that the processing load is optimally distributed, and then convert these divided program modules into programs that can be executed by each processor, and then program groups for sequence control processors and programs for automatic control processors Group and a peripheral device control processor program group are generated, and each processor program group is output to a processor group that interprets and executes each program.
【請求項13】 前記セル制御プログラムは、ペトリネ
ットによって前記複数機器の動作状態の遷移を表現し、
これに前記複数機器の動作内容を定義するコマンド列
と、前記動作状態の終了を定義する条件式とを付加した
プログラムであることを特徴とする請求項12記載のF
Aシステムの制御方法。
13. The cell control program expresses a transition of operating states of the plurality of devices by a Petri net,
13. The program according to claim 12, which is a program in which a command string defining operation contents of the plurality of devices and a conditional expression defining end of the operation state are added thereto.
A system control method.
【請求項14】 前記セル制御プログラムは、前記ペト
リネットを編集するウィンドウと、前記コマンド列を編
集するウィンドウと、前記条件式を編集するウィンドウ
とを含むグラフィカル・ユーザ・インタフェースを備え
たセル制御プログラム編集手段によって作成することを
特徴とする請求項13記載のFAシステムの制御方法。
14. The cell control program includes a graphical user interface including a window for editing the Petri net, a window for editing the command sequence, and a window for editing the conditional expression. 14. The FA system control method according to claim 13, wherein the FA system is created by editing means.
【請求項15】 前記セル制御プログラムは、前記ペト
リネットの構造と一対一に対応するプログラムコードと
して表現し、記憶することを特徴とする請求項13記載
のFAシステムの制御方法。
15. The control method of the FA system according to claim 13, wherein the cell control program is expressed and stored as a program code corresponding to the structure of the Petri net on a one-to-one basis.
【請求項16】 前記シーケンス制御プログラムモジュ
ールと前記自動機械制御プログラムモジュールと前記周
辺機器制御プログラムモジュールは、前記複数機器の動
作タイミングの同期をとるための情報として、前記動作
状態の整理番号を示す命令コードを含むことを特徴とす
る請求項13記載のFAシステムの制御方法。
16. The sequence control program module, the automatic machine control program module, and the peripheral device control program module, as information for synchronizing operation timings of the plurality of devices, an instruction indicating a serial number of the operation state. The method for controlling an FA system according to claim 13, further comprising a code.
【請求項17】 前記セル制御プログラムは、前記複数
機器のうち、あるまとまった機器群で、その機器群どう
しが互いに並行動作可能なもの(ユニット)の動作シー
ケンスをペトリネットの一つのモジュールとして記述
し、これらのモジュールどうしを同期をとるためのプレ
ースによって結合することを特徴とする請求項13記載
のFAシステムの制御方法。
17. The cell control program describes, as one module of a Petri net, an operation sequence of a group of devices among the plurality of devices, which are capable of operating in parallel with each other. 14. The FA system control method according to claim 13, wherein the modules are connected by a place for synchronization.
【請求項18】 前記セル制御プログラムは、前記モジ
ュールを一つのプログラムブロック(ユニットブロッ
ク)とした構造を有するプログラムコードとして表現す
ることを特徴とする請求項17記載のFAシステムの制
御方法。
18. The control method for an FA system according to claim 17, wherein the cell control program is expressed as a program code having a structure in which the module is one program block (unit block).
【請求項19】 前記シーケンス制御プロセッサ別モジ
ュール分割手段と前記自動機械制御プロセッサ別モジュ
ール分割手段と前記周辺機器制御プロセッサ別モジュー
ル分割手段は、前記ユニットブロックを単位としてプロ
グラムモジュールの分割を行うことを特徴とする請求項
18記載のFAシステムの制御方法。
19. The sequence control processor-specific module dividing means, the automatic machine control processor-specific module dividing means, and the peripheral device control-processor-specific module dividing means divide the program module in units of the unit block. The control method for the FA system according to claim 18.
【請求項20】 前記シーケンス制御プロセッサ別モジ
ュール分割手段と前記自動機械制御プロセッサ別モジュ
ール分割手段と前記周辺機器制御プロセッサ別モジュー
ル分割手段は、前記ユニットブロックの対象とするプロ
セッサによる処理時間を推定し、その処理時間が制御上
必要とされる基準を満たす範囲で前記ユニットブロック
を結合し、前記シーケンス制御プロセッサ用プログラム
群と前記自動制御プロセッサ用プログラム群と前記周辺
装置制御プロセッサ用プログラム群とを生成することを
特徴とする請求項19記載のFAシステムの制御方法。
20. The sequence control processor-specific module dividing unit, the automatic machine control processor-specific module dividing unit, and the peripheral device control processor-specific module dividing unit estimate a processing time by a processor as a target of the unit block, The unit blocks are combined within a range in which the processing time satisfies a control requirement, and the sequence control processor program group, the automatic control processor program group, and the peripheral device control processor program group are generated. 20. The FA system control method according to claim 19, wherein:
【請求項21】 前記シーケンス制御プロセッサ用プロ
グラム群と前記自動制御プロセッサ用プログラム群と前
記周辺装置制御プロセッサ用プログラム群は、共有バス
を介して結合されるシーケンス制御プロセッサ群と自動
機械制御プロセッサ群と周辺機器制御プロセッサ群によ
って解釈実行することを特徴とする請求項12記載のF
Aシステムの制御方法。
21. The sequence control processor program group, the automatic control processor program group, and the peripheral device control processor program group are connected via a shared bus to a sequence control processor group and an automatic machine control processor group. 13. The F according to claim 12, which is interpreted and executed by a peripheral device control processor group.
A system control method.
【請求項22】 前記シーケンス制御プロセッサ群と前
記自動機械制御プロセッサ群と前記周辺機器制御プロセ
ッサ群とは、前記共有バスに接続された共有データ記憶
手段に格納される前記複数機器の動作タイミングの同期
をとるための情報にアクセス可能であることを特徴とす
る請求項21記載のFAシステムの制御方法。
22. The sequence control processor group, the automatic machine control processor group, and the peripheral device control processor group are synchronized in operation timing of the plurality of devices stored in shared data storage means connected to the shared bus. 22. The method for controlling an FA system according to claim 21, wherein the information for obtaining the information is accessible.
【請求項23】 前記シーケンス制御プロセッサ用プロ
グラム群と前記自動制御プロセッサ用プログラム群と前
記周辺装置制御プロセッサ用プログラム群は、それぞれ
ネットワークで接続された複数のプログラマブルコント
ローラと自動機械コントローラと周辺機器コントローラ
であることを特徴とする請求項12記載のFAシステム
の制御方法。
23. The sequence control processor program group, the automatic control processor program group, and the peripheral device control processor program group are respectively composed of a plurality of programmable controllers, automatic machine controllers, and peripheral device controllers connected by a network. The FA system control method according to claim 12, wherein the FA system control method is provided.
【請求項24】 前記プログラマブルコントローラと前
記自動機械コントローラと前記周辺機器コントローラ
は、前記ネットワークを介して、前記複数機器の動作タ
イミングの同期をとるための情報を互いに交換し、共有
し合うことを特徴とする請求項23記載のFAシステム
の制御方法。
24. The programmable controller, the automatic machine controller, and the peripheral device controller exchange and share information for synchronizing operation timings of the plurality of devices with each other via the network. The FA system control method according to claim 23.
【請求項25】 前記シーケンス制御プロセッサ用プロ
グラム群と前記自動制御プロセッサ用プログラム群と前
記周辺装置制御プロセッサ用プログラム群は、共有バス
を介して結合されるシーケンス制御プロセッサ群と自動
機械制御プロセッサ群と周辺機器制御プロセッサ群とか
ら構成されるマルチプロセッサ型コントローラを、ネッ
トワークによって複数個接続したものであることを特徴
とする請求項12記載のFAシステムの制御方法。
25. The sequence control processor program group, the automatic control processor program group, and the peripheral device control processor program group are connected via a shared bus to a sequence control processor group and an automatic machine control processor group. 13. The method of controlling an FA system according to claim 12, wherein a plurality of multiprocessor type controllers each including a peripheral device control processor group are connected by a network.
【請求項26】 前記マルチプロセッサ型コントローラ
は、前記ネットワークを介して、前記複数機器の動作タ
イミングの同期をとるための情報を互いに交換し、共有
し合うことを特徴とする請求項25記載のFAシステム
の制御方法。
26. The FA according to claim 25, wherein the multiprocessor type controller exchanges and shares information for synchronizing operation timings of the plurality of devices with each other via the network. How to control the system.
JP33166695A 1995-12-20 1995-12-20 FA system control device and method, control program generation method Expired - Fee Related JP3658061B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33166695A JP3658061B2 (en) 1995-12-20 1995-12-20 FA system control device and method, control program generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33166695A JP3658061B2 (en) 1995-12-20 1995-12-20 FA system control device and method, control program generation method

Publications (2)

Publication Number Publication Date
JPH09171405A true JPH09171405A (en) 1997-06-30
JP3658061B2 JP3658061B2 (en) 2005-06-08

Family

ID=18246229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33166695A Expired - Fee Related JP3658061B2 (en) 1995-12-20 1995-12-20 FA system control device and method, control program generation method

Country Status (1)

Country Link
JP (1) JP3658061B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000011526A1 (en) * 1998-08-21 2000-03-02 Matsushita Electric Industrial Co., Ltd. Robot controller and control method
JP2007080049A (en) * 2005-09-15 2007-03-29 Ricoh Co Ltd Built-in program generation method, built-in program development system and information table section
JP2007199869A (en) * 2006-01-24 2007-08-09 Univ Nagoya Automatic decentralization program and apparatus of device cooperation mechanism, and device cooperation mechanism
JP2008071314A (en) * 2006-09-15 2008-03-27 Ricoh Co Ltd Program development apparatus for integration and automatic generation method of program
JP2008299763A (en) * 2007-06-01 2008-12-11 Hitachi Ltd Distributed object development tool
US7519968B2 (en) 1999-03-10 2009-04-14 Hitachi, Ltd. Decentralized control system for network connection
JP2009245362A (en) * 2008-03-31 2009-10-22 Nec Corp Automatic distribution system and method
JP2010528361A (en) * 2007-05-22 2010-08-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Compiler and compiling method for network control system having a plurality of devices
JP2011170732A (en) * 2010-02-22 2011-09-01 Internatl Business Mach Corp <Ibm> Parallelization method, system, and program
JP2012063826A (en) * 2010-09-14 2012-03-29 Nec Corp Program generation device, method and program, and remote management system
WO2013131457A1 (en) * 2012-03-08 2013-09-12 南京埃斯顿机器人工程有限公司 Dual-system assembly type industrial robot controller
TWI497240B (en) * 2013-04-08 2015-08-21 Mitsubishi Electric Corp Program editing device, program editing method and editing program of the program products
US9846570B2 (en) 2016-03-07 2017-12-19 Luxrobo Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium
US10216163B2 (en) 2016-01-29 2019-02-26 Fanuc Corporation Manufacturing system for driving plural types of manufacturing apparatuses with program based on common language specification
WO2020026622A1 (en) * 2018-07-30 2020-02-06 オムロン株式会社 Control device

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6472838B1 (en) 1998-08-21 2002-10-29 Matsushita Electric Industrial Co., Ltd. Robot controller and control method
WO2000011526A1 (en) * 1998-08-21 2000-03-02 Matsushita Electric Industrial Co., Ltd. Robot controller and control method
US7519968B2 (en) 1999-03-10 2009-04-14 Hitachi, Ltd. Decentralized control system for network connection
JP2007080049A (en) * 2005-09-15 2007-03-29 Ricoh Co Ltd Built-in program generation method, built-in program development system and information table section
JP2007199869A (en) * 2006-01-24 2007-08-09 Univ Nagoya Automatic decentralization program and apparatus of device cooperation mechanism, and device cooperation mechanism
JP2008071314A (en) * 2006-09-15 2008-03-27 Ricoh Co Ltd Program development apparatus for integration and automatic generation method of program
JP2010528361A (en) * 2007-05-22 2010-08-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Compiler and compiling method for network control system having a plurality of devices
JP2008299763A (en) * 2007-06-01 2008-12-11 Hitachi Ltd Distributed object development tool
JP2009245362A (en) * 2008-03-31 2009-10-22 Nec Corp Automatic distribution system and method
JP2011170732A (en) * 2010-02-22 2011-09-01 Internatl Business Mach Corp <Ibm> Parallelization method, system, and program
US8959498B2 (en) 2010-02-22 2015-02-17 International Business Machines Corporation Parallelization method, system and program
JP2012063826A (en) * 2010-09-14 2012-03-29 Nec Corp Program generation device, method and program, and remote management system
WO2013131457A1 (en) * 2012-03-08 2013-09-12 南京埃斯顿机器人工程有限公司 Dual-system assembly type industrial robot controller
US9114529B2 (en) 2012-03-08 2015-08-25 Nanjing Estun Robotics Co. Ltd Dual-system component-based industrial robot controller
TWI497240B (en) * 2013-04-08 2015-08-21 Mitsubishi Electric Corp Program editing device, program editing method and editing program of the program products
KR20150127163A (en) 2013-04-08 2015-11-16 미쓰비시덴키 가부시키가이샤 Program editing device, program editing method and program editing program
US10216163B2 (en) 2016-01-29 2019-02-26 Fanuc Corporation Manufacturing system for driving plural types of manufacturing apparatuses with program based on common language specification
US9846570B2 (en) 2016-03-07 2017-12-19 Luxrobo Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium
WO2020026622A1 (en) * 2018-07-30 2020-02-06 オムロン株式会社 Control device

Also Published As

Publication number Publication date
JP3658061B2 (en) 2005-06-08

Similar Documents

Publication Publication Date Title
JPH09171405A (en) Device and method for controlling fa system, and control program generating method
JP3446256B2 (en) Control method and apparatus for FA system
US7734357B2 (en) System for operating an installation by editing graphic objects
JP3620860B2 (en) Simulation device
EP2597566B1 (en) Software maintenance supporting device and electronic control device verified by the same
EP0584828B1 (en) LSI automated design system and method
US20110246963A1 (en) Race Structure for a Graphical Program
EP3499392A1 (en) Process design device, procedure generation device, method of controlling process design device, and recording medium
CN101957745A (en) Method for converting ladder diagram language into structure text language
EP2866108A1 (en) Control device
Alvarez et al. A novel approach for supporting the development cycle of automation systems
US20200104103A1 (en) Method for modifying models for generating source code
EP0597646B1 (en) Apparatus and method for synthesizing program specifications
US4432047A (en) Sequence control apparatus
CN107295810B (en) Engineering tools
US6330527B1 (en) Apparatus and method for modeling frameworks via use of object-oriented analysis information
Bourne CML: a meta-interpreter for manufacturing
ZA200506289B (en) Method for determining the processing sequence of function blocks of an automated system and corresponding automated system
US20050166190A1 (en) Method for generating an automation program
EP0377939A1 (en) Robot control system for controlling a set of industrial robots
CN101615016A (en) Engineering tools
EP2163958A1 (en) Automated derivation of a logic controller behaviour model from a mechanical machine operation model
EP0881568A2 (en) Procedure for partitioning control functions in distributed systems.
Angelov et al. Model-based design and verification of embedded software
JPH09230913A (en) Programming tool for programmable controller

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050208

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: 20050308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090318

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090318

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100318

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees