JP3598732B2 - Configuration management method for distributed control system and data used for the method - Google Patents

Configuration management method for distributed control system and data used for the method Download PDF

Info

Publication number
JP3598732B2
JP3598732B2 JP12963897A JP12963897A JP3598732B2 JP 3598732 B2 JP3598732 B2 JP 3598732B2 JP 12963897 A JP12963897 A JP 12963897A JP 12963897 A JP12963897 A JP 12963897A JP 3598732 B2 JP3598732 B2 JP 3598732B2
Authority
JP
Japan
Prior art keywords
configuration information
controller
configuration
information
control system
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.)
Expired - Fee Related
Application number
JP12963897A
Other languages
Japanese (ja)
Other versions
JPH10320005A (en
Inventor
勉 吉川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP12963897A priority Critical patent/JP3598732B2/en
Publication of JPH10320005A publication Critical patent/JPH10320005A/en
Application granted granted Critical
Publication of JP3598732B2 publication Critical patent/JP3598732B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Feedback Control In General (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば工場の製造ラインの分散制御システムにおいて、システムの設計、開発、運用を行う場合に、システムを制御するコントローラ、およびコントローラの制御プログラムを作成する開発環境が使用する構成情報の管理方法に関するものである。
【0002】
【従来の技術】
一般に工場の製造ラインなどの分散制御システムにおいて、システムを制御するコントローラ、例えば製造ラインのシーケンス制御で使用されるPLC(Programmable Logic Controller)は、実行に最低限必要な構成情報を持つ。具体的には、入出力ユニットについては、型,接点数,個数,挿入されたスロット番号などの情報を持つ。また、実行する制御プログラムについては、プログラム名,実行周期,実行順序,実行の優先順位などの情報を持つ。また、コントローラ本体の構成については、CPUの形式,メモリのサイズなどの情報を持つ。
【0003】
複雑な製造ラインにおいて、複数のコントローラを使用する場合もある。このようなシステムにおいて、コントローラはそれぞれ自分自身に装着された入出力デバイスの構成情報しか保有していない。このため、システムを構成する一部の機器を変更した場合、その変更がどの範囲に及ぶかの判定は困難であり、それぞれのコントローラを別々に再設定する必要があった。通常この再設定作業は、システムの設計書に記述された仕様を作業者が機器変更に応じて再検討し、それぞれのコントローラに対して入出力ユニットの構成や制御プログラムを逐一変更していた。このような作業は煩雑で時間がかかり、またミスを生じやすいという問題があった。
【0004】
また、システム構成の変更作業を容易に行うために、制御プログラムの作成にマクロや別名を使用することがある。マクロは一連の定型的な処理にコマンド名を付けて定義し、簡単に実行できるようにしたものである。例えば、マクロの定義中の特定の文字列を引数で与えた文字列に置き換えて入出力デバイス名などを変更できる。これにより、システム変更時の制御プログラム変更作業の軽減を行うことができる。別名は入出力デバイス名に意味のある名前を付け、それを制御プログラム中で使用する方法である。別名を管理するテーブルを書き換えることで、システム構成を変更したときの制御プログラム変更作業の軽減を行うことができる。
しかし、これらの方法は制御プログラム中の入出力デバイス名を変更するだけであり、機器構成の変更に伴うコントローラの変更の整合性を保証するものではない。
【0005】
また、制御プログラムのデバッグのためにコントローラの制御対象である機器の挙動をシミュレーションすることがある。シミュレーションを行うことによって、実際の機器がなくても制御プログラムの動作を確認できるため、機器の開発や発注と、制御プログラムの開発を同時に行うことができ、開発期間を短縮できる。機器の挙動のシミュレーションでは、コントローラから機器への出力信号を受けて、機器からの入力信号を生成する。例えば、加工機のシミュレーションでは、加工開始の出力信号を受け、一定時間後に加工完了の入力信号を生成する。また、人間がコントローラからの出力信号の状態を見て、入力信号を与えることもある。
このようなシミュレーションでは、実際の製造ラインに存在する加工物の影響をシミュレーションすることは困難である。例えば、複数の種類の加工物を扱う製造ラインでは加工物毎に処理時間が異なることがあり、これを考慮していないシミュレーションでは正確なデバッグができない。
【0006】
また、システム全体の論理的動作の確認のためのシミュレーションを行うことがある。このとき、通常は制御プログラムとは別の言語でシミュレーションモデルを作成する必要がある。このシミュレーション言語には、例えばSLAM,GPSSなどがあり、これらのシミュレーション言語を用いて製造ラインをモデル化し離散系のシミュレータを用いてシミュレーションを行う。システムの機器構成や動作パラメータを変更してシミュレーションを繰り返すことで、最適なシステム構成を決定することができる。これらについては「計測と制御」Vol.20,No.2,第101頁−第104頁,1991年に解説されている。これらの言語で記述されたシミュレーションモデルは、制御プログラムや制御システムの構成とは関連がない。このため、実際のシステムを構成する場合には、システム開発者はシミュレーション結果に基づいて仕様を検討し、新たに制御用の言語を用いて制御プログラムを作成する必要があった。
【0007】
【発明が解決しようとする課題】
近年、製造ラインの開発および改良のコストを下げるため、また短納期化による市場競争力強化のために、シミュレーションを利用して実際の機器なしでのソフトウェア開発が求められている。さらに、シミュレーションモデルと実際の工場を可能な限り一致させ、システム構成の変更に対して効率的に作業支援を行う開発環境が求められている。
【0008】
ところが上記のように従来のコントローラの構成情報は、入出力デバイスの構成やタスクの周期などコントローラの実行に必要なパラメータを形式的に持つだけのものであった。このため、複数のコントローラから構成される分散制御システムにおいて、タスクを実行するコントローラを変更したり、機器構成を変更した場合、それぞれのコントローラを別々に再設定し、再調整する必要があった。
【0009】
また、従来の制御プログラムの作成方法やシミュレーション方法では、システムの挙動モデルと、システムの物理仕様と、システムの制御プログラムとが独立しており、紙または電子データのシステム仕様として開発者の手でその関連を管理していた。このため、システム開発のためにシミュレーションを繰り返したり、システム改良のために再設計するたびに、これらのデータの関連をシステム仕様に記述し、開発者が整合性を検討する必要があった。また、現場で調整した実行パラメータは、その都度変更してシステム仕様に反映させる必要があるが、これも同様の作業が必要であった。このように作業が煩雑で、開発期間を短縮することが困難であった。
【0010】
さらに、複数のコントローラで構成される分散制御システムの開発において、
(1)コントローラの処理負荷を平準化するために、あるコントローラで実行していたタスクを別のコントローラに変更した場合
(2)機器を変更した場合
(3)処理対象物を変更した場合
などのシステムの変更に対応するためには、複数のコントローラ間の相互関係まで考慮して再設計する必要があり、開発コストが増大するという問題があった。
【0011】
本発明は、上記のような問題点を解消するためになされたもので、コントローラ本体の構成情報だけでなく、コントローラが制御する制御対象の機器、さらには機器が扱う処理対象物までもモデル化することで、システム全体を統合モデルとして表現し、シミュレーションと制御で使用するモデルの統合を目的としており、機器の変更があった場合でもデータ間の関連を自動的に再構築し、モデルの整合性が保証できる分散制御システムの構成管理方法および分散制御システム用データを提供するものである。
【0012】
【課題を解決するための手段】
本発明の第1の構成に係る分散制御システムの構成管理方法は、複数の機器とこの機器を制御する複数のコントローラとで構成される分散制御システムの開発環境で、機器の挙動をイベントと機器の状態から成る状態遷移モデルで表現し、イベントの協調関係に基づいて状態遷移モデルを結合した論理モデルを作成し、コントローラを制御する制御プログラムの構成情報、コントローラの構成情報、機器の構成情報、および機器が扱う処理対象物の構成情報で構成される実装モデルを作成し、論理モデルと実装モデルの構成情報の関係を管理する関連情報および実装モデルの構成情報間の関係を管理する関連情報のうちで少なくとも1つの関連情報を作成し、分散制御システムの設計、シミュレーション、および制御を行うものである。
【0013】
また、本発明の第2の構成に係る分散制御システムの構成管理方法は、第1の構成において、制御プログラムの構成情報、コントローラの構成情報、機器の構成情報、および処理対象物の構成情報を、木構造のそれぞれ独立した枝として構成し、コントローラに対するダウンロードおよびアップロードする際、枝ごとに行うものである。
【0014】
また、本発明の第3の構成に係る分散制御システムの構成管理方法は、第2の構成において、開発環境からコントローラのそれぞれに対する構成情報Aをダウンロードする際、コントローラ側でダウンロードされた構成情報Aに基づいて制御プログラムの実行に必要なタスクの生成およびメモリ領域の確保に関する資源の獲得を行い、その結果、必要に応じて構成情報Aを変更し、変更した構成情報Aを開発環境にアップロードして構成情報を変更するものである。
【0015】
また、本発明の第4の構成に係る分散制御システムの構成管理方法は、第2の構成において、実行中のコントローラにおいて発生した入出力の変更に関する構成情報Aを、自動的またはあらかじめ設定したタイミングで開発環境にアップロードし、既存の構成情報と構成情報Aとを合成して構成情報を再構築するものである。
【0017】
【発明の実施の形態】
実施の形態1.
図1は本発明の実施の形態1による分散制御システムの構成管理方法を用いた製造ラインの分散制御システムを示す構成図である。図1において、1はコントローラの制御プログラムのプログラミングを行う開発環境、2は構成管理システム、3は構成決定モジュール、4は構成チェックモジュール、5は構成情報ファイル、6はユーザプログラムファイル、7はコントローラ、8はコントローラ7上の構成管理モジュール、9は資源管理モジュール、10は構成情報A、11はユーザプログラムAである。構成情報A10,ユーザプログラムA11は、開発環境1における構成情報5,ユーザプログラム6を構成するデータのうちで、コントローラ7に関係する部分のみのデータである。また、分散制御システムが複数のコントローラで構成されている場合には、コントローラ7と同様の構成のものが複数設けられている。
【0018】
また、図2は本実施の形態に係わる構成情報5のデータ構造の一例を示す説明図である。構成情報5は木構造を持ち、システムを構成するコントローラ,機器,制御対象物である加工物に関する情報が枝として接続され、そのルートはシステム21を表す。そして、分散制御システムを管理するための情報が分類されて独立した枝を構成している。図2に示すように、システム21の下には論理モデル22と実装モデル23がある。論理モデル22の下には複数の挙動モデル24がある。実装モデル23は、制御プログラム25,制御システム26,制御対象27で構成される。ここで、制御プログラム25は、実際にはユーザプログラムの構成情報28の管理テーブルであり、その下には1つまたは複数のユーザプログラムの構成情報28がある。制御システム26は、実際にはコントローラの構成情報29の管理テーブルであり、その下には1つまたは複数のコントローラの構成情報29がある。制御対象27は、実際には機器の構成情報30と加工物の構成情報31の管理テーブルであり、その下には1つまたは複数の機器の構成情報30と1つまたは複数の加工物の構成情報31がある。また、32はユーザプログラムの構成情報28に接続する変数などのデータ、33はコントローラの構成情報29に接続するコントローラI/Oなどのデータ、34は機器の構成情報30に接続する機器I/Oなどのデータ、35は加工物の構成情報31に接続する工程情報などのデータである。
これらの情報で枝を構成し、ルートであるシステム21に近い方を上位、末端に近い方を下位と称し、各枝はそれに接続する上位と下位の枝に関する情報を有する。
【0019】
上記のように本実施の形態では、システム21を論理モデル22と実装モデル23で表し、制御プログラムの構成情報25、制御システムの構成情報26、機器の構成情報30、および処理対象物である加工物の構成情報31を、木構造のそれぞれ独立した枝として構成している。そして、ユーザプログラム28や変数32などの制御プログラムに係わる構成情報は、制御プログラムの構成情報25である枝の下位の枝として接続する。同様に、コントローラ29やコントローラI/O33などの制御システムに係わる構成情報は、制御システムの構成情報26である枝の下位の枝として接続する。また、機器I/O34などの機器に係わる構成情報は、機器の構成情報30である枝の下位の枝として接続し、工程情報35などの加工物に係わる構成情報は、加工物の構成情報31である枝の下位の枝として接続する。
【0020】
構成情報5の各枝が保持する情報の一例を図3に示す。各枝には、枝の名前41,枝属性42,木構造を構成するための上位の枝情報としてポインタ43,下位の枝情報としてポインタ44,データ45などが保持される。ここで、上位の枝へのポインタ43は1つだけ、下位の枝へのポインタ44は複数、データ45も複数持つことができる。ルートであるシステム21の枝は上位の枝へのポインタ43は持たない。また、末端の枝も下位の枝へのポインタ44を持たない。枝属性42はダウンロード及びアップロードの際に使用されるもので、共通属性と個別属性の2種類がある。
【0021】
また、データ45はさらに詳しくは、例えば図4に示す構造を持つ。データ45は名前N1 ,データ属性N2 ,データ型N3 ,データ値N4 から構成される。データ属性N2 には読み込みのみ,読み書き可の2種類がある。コントローラのCPUの型名など、固定された仕様は読み込みのみの属性となる。データ型N3 には、文字列,整数,実数がある。このデータ型N3 によってデータ値に入っている値の型が決定される。
【0022】
この分散制御システムの動作を図5に示す製造ラインの説明図を基に説明する。図5に示す製造ラインは、入力コンベア51、出力コンベア52、加工機53、加工機53へのロードとアンロードを行うロボット54などの機器からなる加工ラインである。55は到着検知センサ、56は排出検知センサ、57は処理対象物、例えば加工物である。
【0023】
入力コンベア51によって加工物57がロボット54の前まで運ばれると、到着検知センサ55が作動し、到着信号が出される。この到着信号を受けて入力コンベア51を停止し、ロボット54にロード指令を送り、ロボット54が加工物57を加工機53にロードする。加工が完了すると、加工機53から完了信号が出される。この完了信号を受けてロボット54にアンロード指令を送り、ロボット54が加工機53から加工物57をアンロードし、出力コンベア52に置く。出力コンベア52に加工物57が置かれると、排出検知センサ56が作動し、排出信号が出される。この排出信号を受けて出力コンベア52を動かす。
【0024】
図5に示す構成のシステムを分散管理する際の構成管理方法について、以下、説明する。まず、開発環境1として、構成情報5の作成を行う。構成情報5の作成手順を図6のフローチャートに従って説明する。
ステップST1で論理モデルを作成する。ここで論理モデルとは、例えば図7に示すように、システムを構成する機器の挙動モデルを状態遷移モデルで表現したものである。状態遷移モデルは丸で表された機器の状態と、四角で表されたセンサ入力などのイベントで構成される。機器の状態には機器の動作のコマンドが割り当てられる。イベントの発生によりこれに呼応して状態が遷移し、機器はコマンドの動作を行う。機器の協調関係は2つ以上の機器のイベントを関連づけ、同時にイベントを発生させることで行う。分散制御システムを構成する機器はすべてなんらかのイベントに呼応して動作を行うものであり、上記協調関係を全ての機器間に設定することでシステム全体の機器の挙動を表現し、論理モデル22を構築する。
【0025】
さらに論理モデルを図5に示した製造ラインを例として詳しく説明する。入力コンベア51,ロボット54,加工機53,出力コンベア52の4つの機器があり、それぞれの挙動を状態遷移モデルで表現する。例えば、入力コンベア51の状態遷移モデルを構成するイベントは、到着検知センサ55のONと到着検知センサ55のOFFであり、コマンドは停止と動作である。そして、状態遷移は、到着検知センサ55のONのイベントで停止し、OFFのイベントで動作するというモデルで表現される。また、ロボット54は到着検知センサ55のONのイベントでロード動作を開始し、ロード終了のイベントで停止する。つまり、到着検知センサ55のONのイベントを用いて、入力コンベア51とロボット54の協調関係として定義することができる。このようにして、分散制御システム全体の論理モデルを作成する。
【0026】
次に、図6のフローチャートにおけるステップST2〜ステップST5で実装モデルを設定する。ユーザプログラム28には、システム全体の制御プログラムとして論理モデル22のイベントとコマンドの流れを制御用の言語、例えばラダーなどで記述したプログラムと、ロボットのプログラムのように制御対象にダウンロードして動かす制御プログラムがあり、それぞれ専用のエディタで作成する(ステップST2)。そして、作成したユーザプログラム本体をユーザプログラムのファイル6に格納し、ユーザプログラムの構成情報28を実装モデル23の枝として生成する。
ただし、システム全体の制御プログラムは論理モデル22から自動生成することも可能である。構成情報5には作成したユーザプログラムに関する構成情報と、そのプログラム中で使用される変数32と、実行周期などのプログラムの実行パラメータをデータとして保持する。
【0027】
次にステップST3で、コントローラの構成情報29の設定を行う。コントローラの構成情報は、コントローラ自体の仕様、入出力デバイス(コントローラI/O)の構成をデータ33として持つ。コントローラ自体の仕様としては、CPUの型,処理速度,メモリサイズ,2次記憶装置の有無とサイズ,通信機能の型と通信速度などがある。コントローラI/Oの構成としては、I/Oユニットの型,スロットの位置,入出力点数などがある。
【0028】
次にステップST4で、制御対象である機器の構成情報30の設定を行う。機器の構成情報30は、型,形状,機器のI/Oの構成,コマンドなどのデータ34を持つ。ここで、機器のI/OはコントローラのI/Oと結線するための情報である。コマンドは、例えば加工機ではドアのオープンとクローズ,加工の開始と停止といったものである。
【0029】
次にステップST5で、制御対象である加工物の構成情報31の設定を行う。加工物の構成情報31は、型,形状,工程情報などのデータ36を持つ。ここで、工程情報はその加工物の加工順序と必要な加工機を記述したものである。
【0030】
これで図2の各枝、および各枝に実線で接続する構成情報5の作成が終了し、この後、ステップST6で、これらの情報間の関連情報を定義する。関連情報とは図2では点線矢印で記載したものであり、他の枝に属する情報間の関連を示すもので、その内容の一例を図8に示す。
関連情報には、名前T1 ,関連属性T2 ,関連元データの木構造の位置T3 ,関連先データの木構造の位置T4 ,パラメータT5 などの各項目がある。
ここで、関連属性T2 には、探索要,探索不要の2つがあり、ダウンロード時に枝の関連を辿るために使用する。
【0031】
また、パラメータT5 は複数設定することが可能であり、各パラメータT5 は図9に示すように、制約条件式P1 と、計算式P2 からなる。制約条件式P1 は、関連元の枝のデータと関連先の枝のデータとの関係式である。
関係式の記述は、例えば、==(等号),!=(不等号),>(より大きい),>=(以上),<(より小さい),<=(以下)で結ばれた式と、AND,ORによる論理演算で構成される。ここで使用する式は、データ名と四則演算が使用できる。また、sin()などのように一般的な関数は使用してもよい。計算式P2 は、左辺にデータ名、右辺に式を置いて、=(代入)で結んだものである。ここで右辺の式は制約条件の式と同様に四則演算や関数を使用することができる。
また、これらの制約条件式や計算式は複数記述してもよいし、記述しなくてもよい。例えばこのパラメータT5 に基づいて、構成チェックモジール4はその構成をチェックできる。例えば、制約条件式の全ての評価結果が真であるならば、関連は成立し、計算式を実行する。この時、もし1つでも偽の制約条件式が存在するならば、関連は成立せず、計算式も実行しない。
【0032】
図2の点線矢印で示すように、関連情報の種類は、1)挙動モデル24とユーザプログラム28との関連、2)ユーザプログラム28とコントローラ29との関連、3)変数32とコントローラのI/O33との関連、4)コントローラのI/O33と機器のI/O34との関連、5)機器30と加工物の工程情報35との関連の5種類である。
【0033】
挙動モデル24とユーザプログラム28の関連では、各機器の挙動モデル24とシステム全体を制御するユーザプログラム28の対応を定義する。また、挙動モデル24内のコマンドと各機器にダウンロードするユーザプログラム28の関連を定義する。
【0034】
ユーザプログラム28とコントローラ29との関連では、各ユーザプログラム28をどのコントローラ29で実行するかを定義する。この時、制約条件式P1 としてプログラムの種類とコントローラの持つエンジンの種類を比較する。例えば、ラダープログラムの場合、実行にはラダーのエンジンが必要であるため、プログラムの型のデータ名とエンジンの型のデータ名を==で結ぶ。また、これ以外にもCPUの型、メモリサイズなどの制約条件式も記述する必要がある。また、計算式P2 としてユーザプログラム28のデータである実行周期をコントローラ29のタスクの周期に設定する代入式を記述する。
【0035】
また、変数32とコントローラのI/O33との関連は、別名の機能である。ここでは、変数の型とI/Oの種類に関する制約条件式を記述する。例えば、I/Oの種類が接点の場合には、変数のデータ型は整数である必要なければならない。
【0036】
コントローラのI/O33と機器のI/O34との関連は、コントローラと機器の結線情報を作成するために使用される。ここでは、I/Oの型と入出力方向に関する制約条件式を記述する。I/Oの型は、電気信号の仕様が完全に一致しなければならない。また、入出力方向は互いに反対、または両方とも双方向でなくてはならない。例えば、コントローラのI/O33が出力なら関連する機器のI/O34は入力でなくてはならない。また、コントローラのI/O33がシリアル接続のように双方向なら機器のI/O34も双方向でなくてはならない。
【0037】
機器の構成情報30と加工物の工程情報36との関連は、制約条件式として機器の加工の種類と、加工物の工程情報の中の加工の種類の一致を記述する。これにより、システムのシミュレーションを実行する時の加工物の挙動のチェックが可能になる。
具体的には例えば、機器30と加工物に接続するデータ35との関連情報において、制約条件式P1 としては、ロボットハンドの大きさ>加工物の大きさなどであり、計算式P2 としては、ロボットの移動する平面=加工物のある高さ+X(Xはロボットが上下移動できる幅とする)などである。
【0038】
上記のようにして図6に示したフローチャートのステップST6で関連情報を設定した後、ステップST7で構成決定モジュール4を実行する。構成決定モジュール4は関連情報の制約条件式を評価し、全ての制約条件式が真ならば計算式を実行し値を枝に書き込む。もし、制約条件式が成立しないならば、その旨を設計者に通知する。
【0039】
以上の処理により、開発環境1における構成情報5が生成できる。このように、コントローラ本体の構成情報だけでなく、コントローラが制御する制御対象の機器、さらには機器が扱う処理対象物までもモデル化することで、システム全体を統合モデルとして表現できる。さらにはこのように表現しておけば、シミュレーションと制御で使用するモデルは統合され、機器の変更があった場合でもデータ間の関連を自動的に再構築し、モデルの整合性が保証できる。
【0040】
実施の形態2.
実施の形態1では開発環境において、分散制御システムを作成するときの構成情報の形式について説明した。実施の形態2では、上記実施の形態で作成された構成情報を用い、実際に分散制御システムを管理する形態について説明する。
【0041】
分散制御システムを構成するコントローラ7のそれぞれに、そのコントローラ7で使用する構成情報A10をダウンロードする。ダウンロードの処理手順を図10のフローチャートに従って説明する。
まず、ステップST11では、実施の形態1の処理に従って作成した構成情報5を、通信機能を用いて開発環境1からコントローラ7にダウンロードする。ダウンロードする構成情報A10は、図11に示すように、枝属性によって決定する。即ち、枝属性が共通情報ならば、全てのコントローラにダウンロードする。枝属性が個別情報ならば、該当するコントローラの構成の枝と、その枝に対する関連情報を持つ枝を再帰的に探索して全ての関連する枝を抽出し、それらをダウンロードする。この探索は関連情報の関連属性に探索不要の属性があった場合、そこで打ち切る。
【0042】
ダウンロード完了後、コントローラ7側の資源管理モジュール9は構成情報A10に設定されたユーザプログラムAの構成に基づき、ステップST12でOSにタスクまたはプロセスの生成を要求する。このとき、OSのタイマの分解能などの制約により、設計者が構成情報A10に指定したタスクの実行周期を正確に実現できないことがある。例えば構成情報A10の指定が10ミリ秒であったとしても、コントローラ7のタイマの分解能が3ミリ秒であったならば、正確に10ミリ秒で実行することができない。このような場合は実際の実行周期を9ミリ秒、または12ミリ秒にしてタスクまたはプロセスを生成する。資源管理モジュール9は、タスクまたはプロセスの生成の結果として、実際のタスクまたはプロセスの実行周期とメモリサイズを構成情報A10に書き込む。上記タスクまたはプロセス生成の処理をコントローラ7で実行する全てのユーザプログラムに対して行い、実際の実行パラメータを含む更新された構成情報A10を作成する(ステップST13)。
【0043】
全てのタスクまたはプロセスを生成後、コントローラの構成管理モジュール8は開発環境1に資源確保終了のメッセージを送信する。このメッセージを受けて、開発環境1は更新された構成情報A10をコントローラ7からアップロードする(ステップST14)。アップロードされた構成情報A10は元の構成情報5と置き換えられる。このときに関連情報は変更しない。同様の手順で、開発環境1はダウンロードした全てのコントローラ7から実際の実行パラメータを含む更新された構成情報A10をアップロードして、元の構成情報5と置き換える。
【0044】
次に、ステップST15で構成チェックモジュール4を実行する。構成チェックモジュール4は、更新された構成情報5に対して、分散制御システムが実行可能かどうか判断する(ステップST16)。具体的には、関連情報の制約条件式と計算式をチエックする。この時、実際の実行パラメータを含む更新された構成情報5が全ての制約条件式と計算式を満たしていると判断した場合、ダウンロードの正常終了を設計者に表示などにより通知する(ステップST17)。また、ステップST16の判断で全ての制約条件式と計算式を満たさない場合、ステップST18でその旨のエラーを設計者に表示などにより通知し、構成情報の再編集を促す。
【0045】
このように、構成情報はコントローラ7に分散してダウンロードされ、コントローラ7側で構成情報に基づいて資源を確保することで、複数種類のコントローラがあった場合でも、開発環境1側にコントローラの詳細な情報を持つ必要がない。また、構成決定モジュール3や構成チェックモジュール4は簡単なルールだけで処理可能である。
また、現場での調整作業による構成情報の変更を行っておき、開発環境1を接続したときに直ちにアップロードして構成情報を再構築するというように、システム管理を簡単に行うことができる。
【0046】
実施の形態3.
実施の形態1のように分散制御システムを管理すれば、コントローラ7において制御の実行中やデバッグ中の変更も、比較的容易にできる。
例えば入出力ユニットの挿入や取り外しなどによって入出力デバイスの構成を変更した場合、コントローラの種類によってはその変更を検知することができる。コントローラ7で検知した構成情報Aの変更を、アップロード処理を用いて開発環境1に通知し、開発環境1では既存の構成情報と合成して構成情報5を再構築する。
また、アップロードするタイミングは、予め設定した所定の時間間隔でアップロードするように構成してもよいし、構成情報A10が変更されたことを検知して随時、自動的にアップロードするように構成してもよい。
【0047】
また、アップロード処理において対応する開発環境1が存在しない場合、または開発環境1とコントローラ7の通信が切れている場合には、構成情報の変更が発生した時に開発環境1に通知することができない。このような時には、例えば、コントローラ7は変更したデータ項目にフラグを付ける。このフラグには追加,変更,削除の種類を備え、開発環境1とコントローラ7の通信が開始されたときにアップロードされて、開発環境1が有する構成情報5に対してフラグに従ってデータの追加,データの変更,データの削除を行うように構成すればよい。
【0048】
そして上記データの変更を行なった後、開発環境1の構成情報管理システム2は構成情報5の正当性を確認するために構成チェックモジュール4を起動し、制約条件式P1 と計算式P2 をチェックし、実行に問題がないかどうか確認する。この確認によって、問題がなければ構成管理システム2は構成変更の通知を設計者に行う。問題があればその旨を設計者に通知する。
【0049】
ところで、実施の形態1〜実施の形態3では、分散制御システムとして工場の製造ラインに利用する場合について述べたが、その他の分散制御システムに利用できることは言うまでもない。
【0050】
【発明の効果】
以上のように本発明の第1の構成によれば、複数の機器とこの機器を制御する複数のコントローラとで構成される分散制御システムの開発環境で、機器の挙動をイベントと機器の状態から成る状態遷移モデルで表現し、イベントの協調関係に基づいて状態遷移モデルを結合した論理モデルを作成し、コントローラを制御する制御プログラムの構成情報、コントローラの構成情報、機器の構成情報、および機器が扱う処理対象物の構成情報で構成される実装モデルを作成し、論理モデルと実装モデルの構成情報の関係を管理する関連情報および実装モデルの構成情報間の関係を管理する関連情報のうちで少なくとも1つの関連情報を作成し、分散制御システムの設計、シミュレーション、および制御を行うことにより、論理モデル作成段階での検証と、機器の仕様が決定した段階での検証を同一のモデルでできるため、開発作業を大幅に削減でき、さらに、一部の機器を変更した場合でも、システム全体の整合性を保証したまま作業できるため、作業時間を短縮できる分散制御システムの構成管理方法が得られる効果がある。
【0051】
また、本発明の第2の構成によれば、第1の構成において、制御プログラムの構成情報、コントローラの構成情報、機器の構成情報、および処理対象物の構成情報を、木構造のそれぞれ独立した枝として構成し、コントローラに対するダウンロードおよびアップロードする際、枝ごとに行うことにより、構成情報の変更や管理が比較的容易にできる分散制御システムの構成管理方法が得られる効果がある。
【0052】
また、本発明の第3の構成によれば、第2の構成において、開発環境からコントローラのそれぞれに対する構成情報Aをダウンロードする際、コントローラ側でダウンロードされた構成情報Aに基づいて制御プログラムの実行に必要なタスクの生成およびメモリ領域の確保に関する資源の獲得を行い、その結果、必要に応じて構成情報Aを変更し、変更した構成情報Aを開発環境にアップロードして構成情報を変更することにより、開発環境側で、分散制御システムを構成する全てのコントローラの完全な情報を管理する必要のない分散制御システムの構成管理方法が得られる効果がある。
【0053】
また、本発明の第4の構成によれば、第2の構成において、実行中のコントローラにおいて発生した入出力の変更に関する構成情報Aを、自動的またはあらかじめ設定したタイミングで開発環境にアップロードし、既存の構成情報と構成情報Aとを合成して構成情報を再構築することにより、実行時に変更された構成情報をシステムの整合性を保証したまま再構築できるため、現場で調整する場合や、故障の復旧も容易な分散制御システムの構成管理方法が得られる効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1による分散制御システムの構成管理方法を用いた製造ラインの分散制御システムを示す構成図である。
【図2】実施の形態1に係わる構成情報を示す説明図である。
【図3】実施の形態1に係わる木構造の枝に保持される情報を示す説明図である。
【図4】実施の形態1に係わる枝に保持される情報のデータを示す説明図である。
【図5】実施の形態1に係る分散制御システムの一例として、製造ラインを示す構成図である。
【図6】実施の形態1に係わる開発環境の構成情報の作成手順を示すフローチャートである。
【図7】実施の形態1に係わる機器の挙動を状態遷移モデルで表現した論理モデルを示す説明図である。
【図8】実施の形態1に係わる木構造の関連情報を示す説明図である。
【図9】実施の形態1に係わる関連情報のパラメータを示す説明図である。
【図10】本発明の実施の形態2に係わる構成管理システムのダウンロード手順を示すフローチャートである。
【図11】実施の形態2による構成情報のダウンロードとアップロード動作を示す説明図である。
【符号の説明】
1 開発環境、2 構成管理システム、3 構成決定モジュール、4 構成チェックモジュール、5 構成情報、6 制御プログラム、7 コントローラ、8構成管理モジュール、9 資源管理モジュール、10 構成情報A、11 ユーザプログラムA、21 システム、22 論理モデル、23 実装モデル、24 挙動モデル、25 制御プログラム、26 制御システム、27 制御対象、28 ユーザプログラム、29 コントローラ、30 機器、31 処理対象物。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention is, for example, in the case of designing, developing, and operating a system in a distributed control system of a manufacturing line in a factory, management of configuration information used by a controller that controls the system and a development environment that creates a control program for the controller. It is about the method.
[0002]
[Prior art]
Generally, in a distributed control system such as a production line in a factory, a controller that controls the system, for example, a PLC (Programmable Logic Controller) used in sequence control of the production line has the minimum necessary configuration information for execution. Specifically, the input / output unit has information such as the type, the number of contacts, the number, and the inserted slot number. The control program to be executed has information such as a program name, an execution cycle, an execution order, and an execution priority. Further, the configuration of the controller main body has information such as a CPU type and a memory size.
[0003]
In a complicated production line, a plurality of controllers may be used. In such a system, each controller has only the configuration information of the input / output device mounted on itself. For this reason, when a part of the devices constituting the system is changed, it is difficult to determine the range of the change, and it is necessary to separately reset each controller. Usually, in this resetting operation, the operator reexamines the specifications described in the system design document according to the change of the device, and changes the configuration of the input / output unit and the control program for each controller one by one. There is a problem that such an operation is complicated and time-consuming, and that an error is likely to occur.
[0004]
In addition, in order to easily change the system configuration, a macro or another name may be used for creating a control program. A macro defines a series of routine processing with a command name and is easy to execute. For example, the specific input / output device name can be changed by replacing a specific character string in the definition of the macro with a character string given as an argument. As a result, the work of changing the control program when the system is changed can be reduced. An alias is a method of giving a meaningful name to an I / O device name and using it in a control program. By rewriting the table for managing aliases, it is possible to reduce the work of changing the control program when the system configuration is changed.
However, these methods only change the input / output device name in the control program, and do not guarantee the consistency of the change of the controller accompanying the change of the device configuration.
[0005]
In some cases, the behavior of a device controlled by the controller is simulated for debugging the control program. By performing the simulation, the operation of the control program can be confirmed even without an actual device, so that the development and ordering of the device and the control program can be performed at the same time, and the development period can be shortened. In the simulation of the behavior of the device, an output signal from the controller to the device is received, and an input signal from the device is generated. For example, in a simulation of a processing machine, an output signal of processing start is received, and an input signal of processing completion is generated after a predetermined time. In addition, a human may look at the state of the output signal from the controller and give an input signal.
In such a simulation, it is difficult to simulate the influence of a workpiece existing in an actual manufacturing line. For example, in a production line that handles a plurality of types of workpieces, the processing time may be different for each workpiece, and a simulation that does not take this into account cannot perform accurate debugging.
[0006]
Further, a simulation for confirming the logical operation of the entire system may be performed. At this time, it is usually necessary to create a simulation model in a language different from the control program. This simulation language includes, for example, SLAM, GPSS, and the like. A production line is modeled using these simulation languages, and simulation is performed using a discrete system simulator. The optimal system configuration can be determined by changing the device configuration and operation parameters of the system and repeating the simulation. These are described in "Measurement and Control" Vol. 20, no. 2, pages 101-104, 1991. The simulation models described in these languages have no relation to the control program or the configuration of the control system. Therefore, when configuring an actual system, the system developer has to examine the specifications based on the simulation results and create a control program using a new control language.
[0007]
[Problems to be solved by the invention]
2. Description of the Related Art In recent years, in order to reduce the cost of development and improvement of a production line and to enhance market competitiveness by shortening the delivery time, software development without using actual devices using simulation has been required. Further, there is a need for a development environment in which the simulation model and the actual factory are matched as much as possible, and the work environment is efficiently supported for changes in the system configuration.
[0008]
However, as described above, the configuration information of the conventional controller merely has the parameters necessary for the execution of the controller, such as the configuration of the input / output device and the cycle of the task. For this reason, in a distributed control system including a plurality of controllers, when a controller that executes a task is changed or a device configuration is changed, it is necessary to separately reset and re-adjust each controller.
[0009]
In addition, in the conventional control program creation method and simulation method, the system behavior model, the system physical specifications, and the system control program are independent of each other. I managed that association. Therefore, every time a simulation is repeated for system development or redesigned for system improvement, it is necessary to describe the relationship between these data in the system specification, and the developer must examine the consistency. In addition, the execution parameters adjusted on site need to be changed each time and reflected in the system specifications, but the same work is required. As described above, the work is complicated, and it is difficult to shorten the development period.
[0010]
Furthermore, in the development of a distributed control system composed of multiple controllers,
(1) When a task executed by one controller is changed to another controller to equalize the processing load of the controller
(2) When the equipment is changed
(3) When the processing object is changed
In order to cope with a change in the system such as the above, it is necessary to redesign in consideration of the mutual relationship between a plurality of controllers, and there is a problem that the development cost increases.
[0011]
The present invention has been made in order to solve the above-described problems, and models not only the configuration information of the controller main body but also a device to be controlled by the controller and a processing object to be handled by the device. In this way, the entire system is expressed as an integrated model, and the purpose is to integrate models used for simulation and control. Even if there is a change in equipment, the relationship between data is automatically reconstructed, and model matching is performed. The present invention provides a distributed control system configuration management method and data for a distributed control system that can guarantee the performance.
[0012]
[Means for Solving the Problems]
A configuration management method for a distributed control system according to a first configuration of the present invention is a method for managing the behavior of a device by using an event and a device in a distributed control system development environment including a plurality of devices and a plurality of controllers that control the device. It is expressed by a state transition model composed of states, and a logical model is created by combining the state transition models based on the cooperative relationship of the events, and the configuration information of the control program for controlling the controller, the configuration information of the controller, the configuration information of the device, Creates an implementation model composed of the configuration information of the processing object handled by the device and the related information that manages the relationship between the logical model and the configuration information of the implementation model and the related information that manages the relationship between the configuration information of the implementation model. At least one piece of related information is created, and design, simulation, and control of a distributed control system are performed.
[0013]
Further, the configuration management method of the distributed control system according to the second configuration of the present invention, in the first configuration, stores the configuration information of the control program, the configuration information of the controller, the configuration information of the device, and the configuration information of the processing target. , And are configured as independent branches of a tree structure, and are downloaded and uploaded to the controller for each branch.
[0014]
In the configuration management method for a distributed control system according to the third configuration of the present invention, when the configuration information A for each of the controllers is downloaded from the development environment in the second configuration, the configuration information A downloaded on the controller side may be used. And generating resources necessary for executing a control program and securing a memory area based on the configuration information. As a result, the configuration information A is changed as necessary, and the changed configuration information A is uploaded to the development environment. To change the configuration information.
[0015]
Further, the configuration management method for a distributed control system according to the fourth configuration of the present invention, in the second configuration, automatically or automatically sets the configuration information A relating to the change of the input / output that occurred in the executing controller. The configuration information is uploaded to the development environment, and the existing configuration information and the configuration information A are combined to reconstruct the configuration information.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiment 1 FIG.
FIG. 1 is a configuration diagram showing a distributed control system of a manufacturing line using a distributed control system configuration management method according to Embodiment 1 of the present invention. In FIG. 1, 1 is a development environment for programming a control program of a controller, 2 is a configuration management system, 3 is a configuration determination module, 4 is a configuration check module, 5 is a configuration information file, 6 is a user program file, and 7 is a controller. , 8 is a configuration management module on the controller 7, 9 is a resource management module, 10 is configuration information A, and 11 is a user program A. The configuration information A10 and the user program A11 are data of only the portion related to the controller 7 among the data constituting the configuration information 5 and the user program 6 in the development environment 1. When the distributed control system includes a plurality of controllers, a plurality of controllers having the same configuration as the controller 7 are provided.
[0018]
FIG. 2 is an explanatory diagram showing an example of the data structure of the configuration information 5 according to the present embodiment. The configuration information 5 has a tree structure, and information about a controller, a device, and a workpiece that is a control target configuring the system is connected as a branch, and its route represents the system 21. Then, information for managing the distributed control system is classified and forms an independent branch. As shown in FIG. 2, a logical model 22 and an implementation model 23 are provided below the system 21. Below the logical model 22, there are a plurality of behavior models 24. The mounting model 23 includes a control program 25, a control system 26, and a control target 27. Here, the control program 25 is actually a management table of the configuration information 28 of the user program, and below it is the configuration information 28 of one or more user programs. The control system 26 is actually a management table of the configuration information 29 of the controller, and below it is the configuration information 29 of one or more controllers. The control target 27 is actually a management table of the device configuration information 30 and the workpiece configuration information 31, and below the management table, one or a plurality of device configuration information 30 and a configuration of one or more workpieces are provided. There is information 31. 32 is data such as variables connected to the configuration information 28 of the user program, 33 is data such as controller I / O connected to the configuration information 29 of the controller, and 34 is device I / O connected to the configuration information 30 of the device. And 35 are data such as process information connected to the workpiece configuration information 31.
A branch is formed from these pieces of information. A branch closer to the root system 21 is called an upper branch, and a branch closer to the end is called a lower branch. Each branch has information on the upper branch and the lower branch connected thereto.
[0019]
As described above, in the present embodiment, the system 21 is represented by the logical model 22 and the mounting model 23, and the configuration information 25 of the control program, the configuration information 26 of the control system, the configuration information 30 of the device, and the processing that is the processing object The object configuration information 31 is configured as independent branches of a tree structure. The configuration information related to the control program such as the user program 28 and the variable 32 is connected as a lower branch of the branch that is the configuration information 25 of the control program. Similarly, the configuration information relating to the control system such as the controller 29 and the controller I / O 33 is connected as a lower branch of the branch which is the configuration information 26 of the control system. The configuration information relating to the device such as the device I / O 34 is connected as a lower branch of the branch which is the configuration information 30 of the device, and the configuration information relating to the workpiece such as the process information 35 is the configuration information 31 of the workpiece. Is connected as a lower branch of the branch of.
[0020]
FIG. 3 shows an example of information held by each branch of the configuration information 5. Each branch holds a branch name 41, a branch attribute 42, a pointer 43 as upper branch information for forming a tree structure, a pointer 44 as lower branch information, data 45, and the like. Here, there can be only one pointer 43 to the upper branch, a plurality of pointers 44 to the lower branch, and a plurality of data 45. The branch of the system 21, which is the root, does not have the pointer 43 to the higher branch. Also, the terminal branch does not have the pointer 44 to the lower branch. The branch attribute 42 is used at the time of downloading and uploading, and has two types, a common attribute and an individual attribute.
[0021]
More specifically, the data 45 has, for example, a structure shown in FIG. The data 45 includes a name N1, a data attribute N2, a data type N3, and a data value N4. There are two types of data attributes N2: read only and read / write. Fixed specifications such as the model name of the CPU of the controller have read-only attributes. The data type N3 includes a character string, an integer, and a real number. The type of the value included in the data value is determined by the data type N3.
[0022]
The operation of this distributed control system will be described based on the explanatory diagram of the production line shown in FIG. The production line shown in FIG. 5 is a processing line including devices such as an input conveyor 51, an output conveyor 52, a processing machine 53, and a robot 54 for loading and unloading the processing machine 53. 55 is an arrival detection sensor, 56 is a discharge detection sensor, and 57 is a processing target, for example, a workpiece.
[0023]
When the workpiece 57 is conveyed to the robot 54 by the input conveyor 51, the arrival detection sensor 55 is activated, and an arrival signal is output. Upon receiving this arrival signal, the input conveyor 51 is stopped, a load command is sent to the robot 54, and the robot 54 loads the workpiece 57 into the processing machine 53. When the processing is completed, a completion signal is output from the processing machine 53. Upon receiving this completion signal, an unload command is sent to the robot 54, and the robot 54 unloads the workpiece 57 from the processing machine 53 and places it on the output conveyor 52. When the workpiece 57 is placed on the output conveyor 52, the discharge detection sensor 56 operates and a discharge signal is issued. The output conveyor 52 is moved in response to the discharge signal.
[0024]
The configuration management method when the system having the configuration shown in FIG. 5 is distributedly managed will be described below. First, the configuration information 5 is created as the development environment 1. The procedure for creating the configuration information 5 will be described with reference to the flowchart of FIG.
In step ST1, a logical model is created. Here, the logical model is, for example, as shown in FIG. 7, a behavior model of a device constituting the system expressed by a state transition model. The state transition model includes a state of a device represented by a circle and an event such as a sensor input represented by a square. A device operation command is assigned to the device state. The state changes in response to the occurrence of the event, and the device performs a command operation. The cooperative relationship between devices is performed by associating events of two or more devices and generating events at the same time. All the devices constituting the distributed control system operate in response to some event, and by setting the above-mentioned cooperative relationship among all the devices, the behavior of the devices of the entire system is expressed and the logical model 22 is constructed. I do.
[0025]
Further, a logical model will be described in detail using the production line shown in FIG. 5 as an example. There are four devices, an input conveyor 51, a robot 54, a processing machine 53, and an output conveyor 52, and the behavior of each device is represented by a state transition model. For example, events constituting the state transition model of the input conveyor 51 are ON of the arrival detection sensor 55 and OFF of the arrival detection sensor 55, and the commands are stop and operation. The state transition is represented by a model that stops at the event of the arrival detection sensor 55 being ON and operates at the event of OFF. Further, the robot 54 starts the loading operation at the event of the ON of the arrival detection sensor 55 and stops at the event of the loading end. That is, using the ON event of the arrival detection sensor 55, the input conveyor 51 and the robot 54 can be defined as a cooperative relationship. In this way, a logical model of the entire distributed control system is created.
[0026]
Next, an implementation model is set in steps ST2 to ST5 in the flowchart of FIG. The user program 28 includes, as a control program for the entire system, a program in which the flow of events and commands of the logical model 22 are described in a control language, for example, a ladder, and a control for downloading and moving the flow to a control target like a robot program. There are programs, each of which is created by a dedicated editor (step ST2). Then, the created user program body is stored in the file 6 of the user program, and the configuration information 28 of the user program is generated as a branch of the mounting model 23.
However, a control program for the entire system can be automatically generated from the logical model 22. The configuration information 5 holds, as data, configuration information relating to the created user program, variables 32 used in the program, and execution parameters of the program such as an execution cycle.
[0027]
Next, in step ST3, the controller configuration information 29 is set. The configuration information of the controller has, as data 33, the specifications of the controller itself and the configuration of the input / output device (controller I / O). The specifications of the controller itself include the type of CPU, processing speed, memory size, presence and size of secondary storage device, type of communication function and communication speed, and the like. The configuration of the controller I / O includes the type of the I / O unit, the position of the slot, the number of input / output points, and the like.
[0028]
Next, in step ST4, the configuration information 30 of the device to be controlled is set. The device configuration information 30 has data 34 such as a type, a shape, a device I / O configuration, and a command. Here, the device I / O is information for connecting to the controller I / O. The commands are, for example, opening and closing a door and starting and stopping processing in a processing machine.
[0029]
Next, in step ST5, the configuration information 31 of the workpiece to be controlled is set. The workpiece configuration information 31 has data 36 such as mold, shape, and process information. Here, the process information describes the processing order of the workpiece and the necessary processing machine.
[0030]
This completes the creation of each branch in FIG. 2 and the configuration information 5 connected to each branch by a solid line. Thereafter, in step ST6, related information between these pieces of information is defined. The related information is indicated by a dotted arrow in FIG. 2 and indicates a relation between information belonging to other branches. An example of the contents is shown in FIG.
The related information includes items such as a name T1, a related attribute T2, a position T3 of a tree structure of related source data, a position T4 of a tree structure of related destination data, and a parameter T5.
Here, there are two related attributes T2, search required and search unnecessary, which are used for tracing the relationship between branches at the time of download.
[0031]
Further, a plurality of parameters T5 can be set, and each parameter T5 is composed of a constraint condition expression P1 and a calculation expression P2 as shown in FIG. The constraint condition expression P1 is a relational expression between the data of the related branch and the data of the related branch.
The description of the relational expression is, for example, == (equal sign),! = (Inequality sign),> (greater than),> = (greater than), <(smaller), <= (less than or equal to), and a logical operation by AND and OR. The expression used here can use a data name and four arithmetic operations. Also, a general function such as sin () may be used. The calculation expression P2 is obtained by placing a data name on the left side and an expression on the right side and connecting them with = (assignment). Here, as for the expression on the right side, four arithmetic operations and functions can be used similarly to the expression of the constraint condition.
In addition, a plurality of these constraint condition expressions and calculation expressions may or may not be described. For example, based on the parameter T5, the configuration check module 4 can check the configuration. For example, if all the evaluation results of the constraint expression are true, the relation is established and the calculation expression is executed. At this time, if at least one false constraint expression exists, the relation is not established and the calculation expression is not executed.
[0032]
As indicated by the dotted arrows in FIG. 2, the types of related information are: 1) the relationship between the behavior model 24 and the user program 28, 2) the relationship between the user program 28 and the controller 29, 3) the variable 32 and the I / O of the controller. There are five kinds of relations, namely, the relation with O33, 4) the relation between I / O 33 of the controller and the I / O 34 of the equipment, and 5) the relation between the equipment 30 and the process information 35 of the workpiece.
[0033]
The relationship between the behavior model 24 and the user program 28 defines the correspondence between the behavior model 24 of each device and the user program 28 that controls the entire system. In addition, an association between the command in the behavior model 24 and the user program 28 to be downloaded to each device is defined.
[0034]
In relation to the user program 28 and the controller 29, it is defined which controller 29 executes each user program 28. At this time, the type of program and the type of engine of the controller are compared as a constraint condition expression P1. For example, in the case of a ladder program, since a ladder engine is required for execution, the data name of the program type and the data name of the engine type are connected with ==. In addition to this, it is necessary to describe a constraint condition expression such as a CPU type and a memory size. In addition, an assignment formula for setting the execution cycle, which is data of the user program 28, to the task cycle of the controller 29 is described as the calculation formula P2.
[0035]
The association between the variable 32 and the I / O 33 of the controller is a function of another name. Here, a constraint condition expression relating to a variable type and an I / O type is described. For example, if the type of I / O is a contact, the data type of the variable must be an integer.
[0036]
The association between the controller I / O 33 and the device I / O 34 is used to create connection information between the controller and the device. Here, a constraint condition expression concerning an I / O type and an input / output direction is described. The type of I / O must exactly match the electrical signal specifications. Also, the input and output directions must be opposite to each other, or both must be bidirectional. For example, if the I / O 33 of the controller is an output, the I / O 34 of the related device must be an input. If the I / O 33 of the controller is bidirectional like a serial connection, the I / O 34 of the device must also be bidirectional.
[0037]
The relationship between the device configuration information 30 and the process information 36 of the workpiece describes a match between the type of device processing and the type of processing in the process information of the workpiece as a constraint condition expression. This makes it possible to check the behavior of the workpiece when performing a simulation of the system.
Specifically, for example, in the related information between the device 30 and the data 35 connected to the workpiece, the constraint condition expression P1 is: robot hand size> workpiece size, and the calculation expression P2 is The plane on which the robot moves = the height of the workpiece + X (X is the width that the robot can move up and down).
[0038]
After setting related information in step ST6 of the flowchart shown in FIG. 6 as described above, the configuration determining module 4 is executed in step ST7. The configuration determination module 4 evaluates the constraint expression in the related information, and if all the constraint expressions are true, executes the calculation expression and writes the value to the branch. If the constraint expression is not satisfied, the designer is notified of that.
[0039]
Through the above processing, the configuration information 5 in the development environment 1 can be generated. As described above, by modeling not only the configuration information of the controller main body but also a device to be controlled by the controller and a processing target to be handled by the device, the entire system can be represented as an integrated model. Furthermore, by expressing in this way, models used for simulation and control are integrated, and even if there is a change in equipment, the relationship between data is automatically reconstructed, and model consistency can be guaranteed.
[0040]
Embodiment 2 FIG.
In the first embodiment, the format of the configuration information when creating a distributed control system in a development environment has been described. In the second embodiment, a mode in which the distributed control system is actually managed using the configuration information created in the above embodiment will be described.
[0041]
The configuration information A10 used by the controller 7 is downloaded to each of the controllers 7 constituting the distributed control system. The download procedure will be described with reference to the flowchart of FIG.
First, in step ST11, the configuration information 5 created according to the processing of the first embodiment is downloaded from the development environment 1 to the controller 7 using the communication function. The configuration information A10 to be downloaded is determined based on the branch attribute as shown in FIG. That is, if the branch attribute is common information, it is downloaded to all controllers. If the branch attribute is the individual information, a branch having the configuration of the corresponding controller and a branch having related information on the branch are recursively searched to extract all the related branches and download them. If there is an attribute that does not need to be searched for in the related attribute of the related information, this search is terminated.
[0042]
After the download is completed, the resource management module 9 of the controller 7 requests the OS to generate a task or a process in step ST12 based on the configuration of the user program A set in the configuration information A10. At this time, the execution cycle of the task specified by the designer in the configuration information A10 may not be accurately realized due to restrictions such as the resolution of the timer of the OS. For example, even if the specification of the configuration information A10 is 10 milliseconds, if the resolution of the timer of the controller 7 is 3 milliseconds, it cannot be executed accurately in 10 milliseconds. In such a case, a task or a process is generated by setting the actual execution cycle to 9 ms or 12 ms. The resource management module 9 writes the execution cycle and memory size of the actual task or process into the configuration information A10 as a result of the task or process generation. The above task or process generation processing is performed for all user programs executed by the controller 7, and updated configuration information A10 including actual execution parameters is created (step ST13).
[0043]
After creating all the tasks or processes, the configuration management module 8 of the controller transmits a resource securing end message to the development environment 1. Upon receiving this message, the development environment 1 uploads the updated configuration information A10 from the controller 7 (step ST14). The uploaded configuration information A10 is replaced with the original configuration information 5. At this time, the related information is not changed. In a similar procedure, the development environment 1 uploads the updated configuration information A10 including the actual execution parameters from all downloaded controllers 7, and replaces the original configuration information 5.
[0044]
Next, the configuration check module 4 is executed in step ST15. The configuration check module 4 determines whether the distributed control system can be executed on the updated configuration information 5 (step ST16). Specifically, the constraint condition formula and the calculation formula of the related information are checked. At this time, if it is determined that the updated configuration information 5 including the actual execution parameters satisfies all the constraint condition expressions and calculation expressions, the normal completion of the download is notified to the designer by display or the like (step ST17). . If all the constraint conditions and the calculation formulas are not satisfied in the determination in step ST16, an error to that effect is notified to the designer by display or the like in step ST18 to urge re-editing of the configuration information.
[0045]
As described above, the configuration information is distributed and downloaded to the controller 7, and the controller 7 secures resources based on the configuration information. There is no need to have sensitive information. Further, the configuration determination module 3 and the configuration check module 4 can be processed only with simple rules.
Further, the system management can be easily performed such that the configuration information is changed by an on-site adjustment operation, and the configuration information is reconstructed by uploading immediately when the development environment 1 is connected.
[0046]
Embodiment 3 FIG.
If the distributed control system is managed as in the first embodiment, it is relatively easy to change the controller 7 during execution of control or debugging.
For example, when the configuration of the input / output device is changed by inserting or removing the input / output unit, the change can be detected depending on the type of the controller. The change of the configuration information A detected by the controller 7 is notified to the development environment 1 using the upload process, and the development environment 1 reconstructs the configuration information 5 by combining with the existing configuration information.
In addition, the upload timing may be configured so that the upload is performed at a predetermined time interval set in advance, or the configuration information A10 is configured to detect that the configuration information A10 has been changed and to perform the upload automatically whenever necessary. Is also good.
[0047]
Further, if the corresponding development environment 1 does not exist in the upload process, or if the communication between the development environment 1 and the controller 7 is cut off, the development environment 1 cannot be notified when the configuration information is changed. In such a case, for example, the controller 7 flags the changed data item. The flag includes types of addition, change, and deletion. The flag is uploaded when communication between the development environment 1 and the controller 7 is started, and data is added to the configuration information 5 of the development environment 1 according to the flag. May be changed and data may be deleted.
[0048]
Then, after making the above data change, the configuration information management system 2 of the development environment 1 activates the configuration check module 4 to confirm the validity of the configuration information 5, and checks the constraint condition expression P1 and the calculation expression P2. Check if there is any problem in execution. By this confirmation, if there is no problem, the configuration management system 2 notifies the designer of the configuration change. If there is a problem, notify the designer.
[0049]
By the way, in the first to third embodiments, the case where the distributed control system is used for the production line of the factory has been described, but it goes without saying that the present invention can be used for other distributed control systems.
[0050]
【The invention's effect】
As described above, according to the first configuration of the present invention, in a distributed control system development environment including a plurality of devices and a plurality of controllers that control the devices, the behavior of the devices can be changed from events and device states. A logical model is created by combining state transition models based on the cooperative relationship of events, and the configuration information of the control program that controls the controller, the configuration information of the controller, the configuration information of the device, and the device Create an implementation model composed of the configuration information of the processing object to be handled, and at least one of the related information that manages the relationship between the logical model and the configuration information of the implementation model and the related information that manages the relationship between the configuration information of the implementation model. By creating one piece of related information and designing, simulating, and controlling a distributed control system, Since the same model can be used for verification and verification at the stage when the device specifications are determined, development work can be significantly reduced, and even if some devices are changed, the integrity of the entire system is guaranteed. Since the work can be performed, there is an effect that a configuration management method of the distributed control system that can reduce the work time is obtained.
[0051]
Further, according to the second configuration of the present invention, in the first configuration, the configuration information of the control program, the configuration information of the controller, the configuration information of the device, and the configuration information of the processing object are respectively independent of the tree structure. By configuring as a branch and performing downloading and uploading to the controller for each branch, there is an effect that a configuration management method of a distributed control system that can relatively easily change and manage configuration information is obtained.
[0052]
According to the third configuration of the present invention, in the second configuration, when the configuration information A for each of the controllers is downloaded from the development environment, the control program is executed based on the configuration information A downloaded on the controller side. Generating the necessary tasks and acquiring resources related to securing the memory area. As a result, the configuration information A is changed as necessary, and the changed configuration information A is uploaded to the development environment to change the configuration information. Accordingly, there is an effect that a configuration management method of a distributed control system can be obtained in which the development environment does not need to manage complete information of all controllers configuring the distributed control system.
[0053]
Further, according to the fourth configuration of the present invention, in the second configuration, the configuration information A relating to the change of the input / output generated in the controller being executed is uploaded to the development environment automatically or at a preset timing. By synthesizing the existing configuration information and the configuration information A to reconstruct the configuration information, the configuration information changed at the time of execution can be reconstructed while ensuring the consistency of the system. There is an effect that a configuration management method of a distributed control system that can easily recover from a failure can be obtained.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a distributed control system of a production line using a distributed management system configuration management method according to a first embodiment of the present invention.
FIG. 2 is an explanatory diagram showing configuration information according to the first embodiment.
FIG. 3 is an explanatory diagram showing information held in a branch of a tree structure according to the first embodiment;
FIG. 4 is an explanatory diagram showing data of information held in a branch according to the first embodiment;
FIG. 5 is a configuration diagram showing a production line as an example of the distributed control system according to the first embodiment.
FIG. 6 is a flowchart illustrating a procedure for creating configuration information of a development environment according to the first embodiment;
FIG. 7 is an explanatory diagram showing a logical model in which the behavior of the device according to the first embodiment is represented by a state transition model.
FIG. 8 is an explanatory diagram showing relevant information of a tree structure according to the first embodiment;
FIG. 9 is an explanatory diagram showing parameters of related information according to the first embodiment.
FIG. 10 is a flowchart showing a download procedure of the configuration management system according to the second embodiment of the present invention.
FIG. 11 is an explanatory diagram showing download and upload operations of configuration information according to the second embodiment.
[Explanation of symbols]
1 Development Environment, 2 Configuration Management System, 3 Configuration Determination Module, 4 Configuration Check Module, 5 Configuration Information, 6 Control Program, 7 Controller, 8 Configuration Management Module, 9 Resource Management Module, 10 Configuration Information A, 11 User Program A, 21 system, 22 logical model, 23 implementation model, 24 behavior model, 25 control program, 26 control system, 27 controlled object, 28 user program, 29 controller, 30 device, 31 processing object.

Claims (4)

複数の機器とこの機器を制御する複数のコントローラとで構成される分散制御システムの開発環境で、上記機器の挙動をイベントと上記機器の状態から成る状態遷移モデルで表現し、上記イベントの協調関係に基づいて上記状態遷移モデルを結合した論理モデルを作成し、上記コントローラを制御する制御プログラムの構成情報、上記コントローラの構成情報、上記機器の構成情報、および上記機器が扱う処理対象物の構成情報で構成される実装モデルを作成し、上記論理モデルと上記実装モデルの構成情報の関係を管理する関連情報および上記実装モデルの構成情報間の関係を管理する関連情報のうちで少なくとも1つの関連情報を作成し、分散制御システムの設計、シミュレーション、および制御を行うことを特徴とする分散制御システムの構成管理方法。In a development environment of a distributed control system composed of a plurality of devices and a plurality of controllers for controlling the devices, the behavior of the devices is represented by a state transition model including events and states of the devices, and a cooperative relationship between the events is represented. Create a logical model combining the state transition model based on the configuration information of the control program that controls the controller, the configuration information of the controller, the configuration information of the device, and the configuration information of the processing object handled by the device At least one of relevant information for managing the relationship between the logical model and the configuration information of the mounting model and related information for managing the relationship between the configuration information of the mounting model. Control system design, simulation, and control of the distributed control system Configuration management methods. 上記制御プログラムの構成情報、上記コントローラの構成情報、上記機器の構成情報、および上記処理対象物の構成情報を、木構造のそれぞれ独立した枝として構成し、上記コントローラに対するダウンロードおよびアップロードする際、上記枝ごとに行うことを特徴とする請求項1記載の分散制御システムの構成管理方法。The configuration information of the control program, the configuration information of the controller, the configuration information of the device, and the configuration information of the processing target are configured as independent branches of a tree structure, and when downloading and uploading to the controller, 2. The method according to claim 1, wherein the method is performed for each branch. 上記開発環境から上記コントローラのそれぞれに対する構成情報Aをダウンロードする際、上記コントローラ側でダウンロードされた上記構成情報Aに基づいて制御プログラムの実行に必要なタスクの生成およびメモリ領域の確保に関する資源の獲得を行い、その結果、必要に応じて上記構成情報Aを変更し、変更した上記構成情報Aを上記開発環境にアップロードして上記構成情報を変更することを特徴とする請求項2記載の分散制御システムの構成管理方法。When the configuration information A for each of the controllers is downloaded from the development environment, a task necessary for executing a control program and acquisition of resources for securing a memory area are acquired based on the configuration information A downloaded on the controller side. 3. The distributed control according to claim 2, wherein as a result, the configuration information A is changed as necessary, and the changed configuration information A is uploaded to the development environment to change the configuration information. System configuration management method. 実行中のコントローラにおいて発生した入出力の変更に関する構成情報Aを、自動的またはあらかじめ設定したタイミングで上記開発環境にアップロードし、既存の構成情報と上記構成情報Aとを合成して上記構成情報を再構築することを特徴とする請求項2記載の分散制御システムの構成管理方法。The configuration information A relating to the change of input / output generated in the controller being executed is uploaded to the development environment automatically or at a preset timing, and the existing configuration information and the configuration information A are combined to obtain the configuration information. 3. The configuration management method for a distributed control system according to claim 2, wherein the configuration is reconfigured.
JP12963897A 1997-05-20 1997-05-20 Configuration management method for distributed control system and data used for the method Expired - Fee Related JP3598732B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12963897A JP3598732B2 (en) 1997-05-20 1997-05-20 Configuration management method for distributed control system and data used for the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12963897A JP3598732B2 (en) 1997-05-20 1997-05-20 Configuration management method for distributed control system and data used for the method

Publications (2)

Publication Number Publication Date
JPH10320005A JPH10320005A (en) 1998-12-04
JP3598732B2 true JP3598732B2 (en) 2004-12-08

Family

ID=15014461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12963897A Expired - Fee Related JP3598732B2 (en) 1997-05-20 1997-05-20 Configuration management method for distributed control system and data used for the method

Country Status (1)

Country Link
JP (1) JP3598732B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973508B2 (en) * 2002-02-12 2005-12-06 Fisher-Rosemount Systems, Inc. Highly versatile process control system controller
GB0423110D0 (en) * 2004-10-18 2004-11-17 Manthatron Ip Ltd Acting on a subject system
WO2018096694A1 (en) 2016-11-25 2018-05-31 三菱電機株式会社 Monitor system, data model management device, and display data generation method
CN110850818B (en) * 2019-10-21 2022-12-27 温州大学 Method for realizing digital twin modeling of automatic assembly workshop of circuit breaker

Also Published As

Publication number Publication date
JPH10320005A (en) 1998-12-04

Similar Documents

Publication Publication Date Title
US11914933B2 (en) Generation of dynamic design flows for integrated circuits
US10922462B1 (en) Intellectual property block validation and design integration for integrated circuits
US12056476B2 (en) Software defined manufacturing/assembly system
US6298319B1 (en) Incremental compilation of electronic design for work group
US6634008B1 (en) Methodology server based integrated circuit design
JP2006350549A (en) Integrated simulation system
WO1990011569A1 (en) Computer-aided engineering
US11048838B2 (en) Integrated circuits as a service
US7194726B2 (en) Method for automatically decomposing dynamic system models into submodels
KR20070000732A (en) Asadal : system for providing feature-oriented software product line engineering environment
Gruver et al. Intelligent Manufacturing:: Programming Environments for CIM
US8527254B2 (en) Simulator engine development system and simulator engine development method
JP4140917B2 (en) Verification work support system and method
CN114417757A (en) Method for automatically compiling and generating FPGA (field programmable Gate array) engineering with different functions
JP3598732B2 (en) Configuration management method for distributed control system and data used for the method
CN117744548A (en) Chip verification method, device and storage medium
US7353488B1 (en) Flow definition language for designing integrated circuit implementation flows
CN116679974A (en) Multi-software package operation method, computer program product and terminal equipment
KR20070049126A (en) Asadal : system for providing feature-oriented software product line engineering environment
CN107797462A (en) Emulator linkage, control method, message handling program and recording medium
JP4488231B2 (en) Program management device
CN118504299B (en) Method for the automated conversion of the structure of an engine and computer program product
WO2024181367A1 (en) Environment construction assistance system, environment construction assistance program, and environment construction assistance method
CN118862488A (en) Parameterized programming method, parameterized programming device, parameterized programming equipment, parameterized programming medium and parameterized programming program for cooling tower
CN118550784A (en) Automatic test case integration method and device and case test method and device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040906

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

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees