JP3598732B2 - 分散制御システムの構成管理方法およびこれに用いるデータ - Google Patents
分散制御システムの構成管理方法およびこれに用いるデータ Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Feedback Control In General (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、例えば工場の製造ラインの分散制御システムにおいて、システムの設計、開発、運用を行う場合に、システムを制御するコントローラ、およびコントローラの制御プログラムを作成する開発環境が使用する構成情報の管理方法に関するものである。
【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 処理対象物。
Claims (4)
- 複数の機器とこの機器を制御する複数のコントローラとで構成される分散制御システムの開発環境で、上記機器の挙動をイベントと上記機器の状態から成る状態遷移モデルで表現し、上記イベントの協調関係に基づいて上記状態遷移モデルを結合した論理モデルを作成し、上記コントローラを制御する制御プログラムの構成情報、上記コントローラの構成情報、上記機器の構成情報、および上記機器が扱う処理対象物の構成情報で構成される実装モデルを作成し、上記論理モデルと上記実装モデルの構成情報の関係を管理する関連情報および上記実装モデルの構成情報間の関係を管理する関連情報のうちで少なくとも1つの関連情報を作成し、分散制御システムの設計、シミュレーション、および制御を行うことを特徴とする分散制御システムの構成管理方法。
- 上記制御プログラムの構成情報、上記コントローラの構成情報、上記機器の構成情報、および上記処理対象物の構成情報を、木構造のそれぞれ独立した枝として構成し、上記コントローラに対するダウンロードおよびアップロードする際、上記枝ごとに行うことを特徴とする請求項1記載の分散制御システムの構成管理方法。
- 上記開発環境から上記コントローラのそれぞれに対する構成情報Aをダウンロードする際、上記コントローラ側でダウンロードされた上記構成情報Aに基づいて制御プログラムの実行に必要なタスクの生成およびメモリ領域の確保に関する資源の獲得を行い、その結果、必要に応じて上記構成情報Aを変更し、変更した上記構成情報Aを上記開発環境にアップロードして上記構成情報を変更することを特徴とする請求項2記載の分散制御システムの構成管理方法。
- 実行中のコントローラにおいて発生した入出力の変更に関する構成情報Aを、自動的またはあらかじめ設定したタイミングで上記開発環境にアップロードし、既存の構成情報と上記構成情報Aとを合成して上記構成情報を再構築することを特徴とする請求項2記載の分散制御システムの構成管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12963897A JP3598732B2 (ja) | 1997-05-20 | 1997-05-20 | 分散制御システムの構成管理方法およびこれに用いるデータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12963897A JP3598732B2 (ja) | 1997-05-20 | 1997-05-20 | 分散制御システムの構成管理方法およびこれに用いるデータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10320005A JPH10320005A (ja) | 1998-12-04 |
JP3598732B2 true JP3598732B2 (ja) | 2004-12-08 |
Family
ID=15014461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12963897A Expired - Fee Related JP3598732B2 (ja) | 1997-05-20 | 1997-05-20 | 分散制御システムの構成管理方法およびこれに用いるデータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3598732B2 (ja) |
Families Citing this family (4)
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 (ja) | 2016-11-25 | 2018-05-31 | 三菱電機株式会社 | 監視システム、データモデル管理装置および表示データ生成方法 |
CN110850818B (zh) * | 2019-10-21 | 2022-12-27 | 温州大学 | 一种实现断路器自动化装配车间的数字孪生建模的方法 |
-
1997
- 1997-05-20 JP JP12963897A patent/JP3598732B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10320005A (ja) | 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 | |
US6298319B1 (en) | Incremental compilation of electronic design for work group | |
US6634008B1 (en) | Methodology server based integrated circuit design | |
US11520571B2 (en) | Software defined manufacturing/assembly system | |
US7020852B2 (en) | Automation of the development, testing, and release of a flow framework and methodology to design integrated circuits | |
JP2006350549A (ja) | 統合シミュレーションシステム | |
US20060155387A1 (en) | Architecture for control systems | |
US11610036B2 (en) | Integrated circuits as a service | |
WO1990011569A1 (en) | Computer-aided engineering | |
KR20070000732A (ko) | 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템 | |
Gruver et al. | Intelligent Manufacturing:: Programming Environments for CIM | |
US20040078180A1 (en) | Method for automatically decomposing dynamic system models into submodels | |
US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
JP4140917B2 (ja) | 検証作業支援システム及びその方法 | |
CN114417757A (zh) | 一种自动编译生成不同功能的fpga工程的方法 | |
JP3598732B2 (ja) | 分散制御システムの構成管理方法およびこれに用いるデータ | |
CN117744548A (zh) | 一种芯片验证方法、装置和存储介质 | |
US7353488B1 (en) | Flow definition language for designing integrated circuit implementation flows | |
CN116679974A (zh) | 一种多软件封装运行方法、计算机程序产品及终端设备 | |
KR20070049126A (ko) | 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템 | |
CN107797462A (zh) | 仿真器联动装置、控制方法、信息处理程序以及记录介质 | |
JP4488231B2 (ja) | プログラム管理装置 | |
JPH05159012A (ja) | 設計支援装置 | |
JPH09198415A (ja) | 論理シミュレータ |
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 |