JP4672695B2 - 制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム - Google Patents

制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム Download PDF

Info

Publication number
JP4672695B2
JP4672695B2 JP2007075374A JP2007075374A JP4672695B2 JP 4672695 B2 JP4672695 B2 JP 4672695B2 JP 2007075374 A JP2007075374 A JP 2007075374A JP 2007075374 A JP2007075374 A JP 2007075374A JP 4672695 B2 JP4672695 B2 JP 4672695B2
Authority
JP
Japan
Prior art keywords
program
transfer
variable
control system
condition
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
JP2007075374A
Other languages
English (en)
Other versions
JP2008234469A (ja
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 JP2007075374A priority Critical patent/JP4672695B2/ja
Publication of JP2008234469A publication Critical patent/JP2008234469A/ja
Application granted granted Critical
Publication of JP4672695B2 publication Critical patent/JP4672695B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、複数の制御機器によって構成される制御システムを動作させるプログラムの作成を支援する制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラムに関するものである。
複数の制御機器を用いた制御システムを開発する際には、他の制御機器での実行結果を利用して制御を行うために、制御機器間でデータを送受信する必要がある。そのため、制御機器間をフィールドネットワークやコントローラ間ネットワークなどのネットワークを用いて接続し、接続したネットワークを介して制御機器間でデータの送受信を行っている。
制御機器が多数接続される大規模な制御システムの作成は、少数のシステム設計者と多数のプログラム作成者によって行われることが一般的である。システム設計者は、制御システム全体の動作の設計、使用する制御機器や制御機器間を結ぶネットワークの設計、プログラム間や制御機器間におけるデータの送受信の設計などを行う。一方のプログラム作成者は、システム設計者による設計を基に個別のプログラムを作成する。
ネットワーク設計は、他の制御機器の設定情報も踏まえて設計する必要があるために、大きな工数を必要とする。そのため、従来から、機器を示すブロックを配置し、ブロック間を結線することで機器間のネットワークを図的表現で設定可能とし、コネクション情報を各機器に対してダウンロードするといった設計支援ツールが提案されてきた(たとえば、特許文献1参照)。
特開2000−276508号公報
ところで、制御システムにおける制御機器間の通信は常に起こるわけではなく、所定の転送条件が成立したときにのみ出力側から入力側に対してデータの転送を行うように設計することが多い。そして、その転送条件には様々な制御機器(特に出力側と入力側の制御機器)のデバイス値が用いられる。このような転送条件を判定するためには、システム設計者が前もって適切なデバイス領域設計やネットワーク設計を行う必要がある。しかし、転送条件に用いる値の数が多くなると、多くの通信が発生するため、設計工数が多くなるという問題点があった。
また、一度作成した制御システム内の制御機器を変更したり、更新したりする際に、その変更コストを削減するためにプログラムを再利用することがある。しかし、データの入出力や転送条件判定、その他の制御プログラムを合わせて作成しているために、スムーズにプログラムの再利用ができないことが多いという問題点があった。また、データの入出力や転送条件判定プログラムを変更するためには、はじめに作成したときと同様のコストがかかってしまうという問題点もあった。
さらに、制御機器のメンテナンスや微調整は、システム設計者を中心に行われるが、制御機器のプログラムにはラダー言語などの特殊なプログラム言語が用いられることが多い。しかし、現実的には、このようなプログラム言語を習得しているシステム設計者が少ないために、簡単な微調整を行う場合にもプログラム開発者が必要となっているという問題点もあった。
この発明は、上記に鑑みてなされたもので、設計工数が多く、煩雑となる制御システムを構成する制御機器間のデータの転送用のプログラムの作成を支援することができる制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラムを得ることを目的とする。
また、この発明は、制御システム向けに既に作成済みのプログラムを、はじめからプログラムを作成する場合と比較してコストを抑えながら、制御システム内の制御機器の変更や更新時に、容易に再利用することができる制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラムを得ることも目的とする。
さらに、この発明は、ラダー言語を習得しているプログラム開発者を必要とすることなく、制御機器のメンテナンスや微調整を行うことができる制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラムを得ることも目的とする。
上記目的を達成するため、この発明にかかる制御システム開発支援装置は、プログラムの作成対象となる制御機器を有する制御システムの接続構成を含む制御システム管理情報を格納する制御システム管理情報格納手段と、外部より入力された、前記制御システムでの処理単位であるプログラムブロック間の変数の受け渡し関係を規定する工程フロー設定情報と、前記工程フロー設定情報中の前記プログラムブロックを実行する制御機器についての情報を含むプログラムブロック設定情報と、前記プログラムブロック間での変数の転送条件を、制御機器に割りつくデバイスや変数を用いて規定した転送条件設定情報と、を含む工程フロープログラム設定情報を格納する工程フロープログラム設定情報格納手段と、転送条件を判定する制御機器(以下、転送条件判定機器という)と同じでない前記転送条件設定情報中の変数が割りつく制御機器の前記変数を、前記制御システム管理情報中の制御システムの接続構成を参照して、前記転送条件判定機器に出力する変数出力プログラムを作成し、この変数出力プログラムを含む前記転送条件設定情報で定義された転送条件が成立したか否かを判定する条件判定プログラムを生成する条件判定プログラム生成手段と、前記条件判定プログラムの条件成立時に、前記工程フロー設定情報と前記プログラムブロック設定情報に基づいて変数を、前記プログラムブロックに対応する制御機器間で転送する転送プログラムを生成する転送プログラム生成手段と、を備えることを特徴とする。
この発明によれば、プログラムブロック間のデータ転送を転送条件が成立したときに行う転送制御プログラムを自動生成することによって、使用者は、煩雑なデータ転送以外のプログラムの作成のみに注力すればよくなるために、使用者による作業工数が減少するという効果を有する。また、転送条件の設定やデータの転送先の設定を変更する際に、制御機器の構成によらずに自由に変更することができるために、使用者が作成するプログラムの再利用性が向上するという効果も有する。
以下に添付図面を参照して、この発明にかかる制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、この発明にかかる制御システム開発支援装置の実施の形態1の機能構成を模式的に示すブロック図である。この制御システム開発支援装置10は、入力部11と、表示部12と、制御システム情報管理部13と、工程フロープログラム管理部14と、転送制御プログラム生成部15と、これらの各処理部を制御する制御部16と、を備える。
入力部11は、転送制御プログラムを作成する際に必要なデータを、この制御システム開発支援装置10に設定する際の入力インタフェースである。この入力部11として、キーボードや、マウスなどのポインティングデバイスなどが用いられる。また、表示部12は、転送制御プログラムを作成する際に必要なデータ入力画面などを表示する機能を有し、液晶ディスプレイなどの表示装置によって構成される。
制御システム情報管理部13は、開発対象となる制御システムを構成する制御機器全体の情報である制御システム管理情報を管理する処理部であり、制御システム管理情報設定部131と、制御システム管理情報格納部132と、を有する。制御システム管理情報設定部131は、転送制御プログラムの作成対象となる制御システムに関する制御システム管理情報(制御システム構成情報と制御機器構成情報)を取得し、制御システム管理情報格納部132に格納する。この制御システム管理情報設定部131は、ソフトウェアに組み込む形でもよいし、制御システム管理情報を他のソフトウェアや実際の制御機器からインポートする形のものでもよい。また、制御システム管理情報設定部131は、プログラムの生成時に使用するデバイスの領域を各制御機器に対して設定する。
制御システム管理情報格納部132は、開発対象となる制御システムの構成に関する制御システム構成情報と、制御システム内の個々の制御機器の構成に関する制御機器構成情報と、を含む制御システム管理情報を格納する。また、制御システム管理情報格納部132は、制御システム管理情報設定部131で各制御機器に対して設定されたプログラムの生成時に使用するデバイスの領域についても保持する。
制御システム構成情報は、制御システムを構成するためにどのような制御機器を用い、制御機器間がどのようなネットワーク構成でつながれているか、またはベースユニット上にCPU(Central Processing Unit)ユニットや他の機能ユニット、入出力ユニットなどがどのような構成で接続されているかを示す情報である。図2−1は、制御システム構成情報の一例を示す図である。この図では、制御システム構成情報は図形式のデータとなっている。この図に示されるように、制御システムは、制御機器A〜D(図中、CtrlA〜Dと表記)の4つの制御機器が制御機器A−制御機器C−制御機器D−制御機器B−制御機器Aの順にリング状に接続され、各制御機器間でのデータの受け渡しは共有メモリを用いて行われることを示している。
制御機器構成情報は、制御システムを構成する各制御機器に関して、その制御機器に書込むプログラムや制御機器の設定情報、制御機器内でローカルに用いられる変数情報などの情報を含む。この制御機器構成情報は、制御機器ごとに個別に管理するようにしてもよいし、制御システムに用いられるすべての制御機器構成情報を一括管理してもよい。図2−2は、制御機器構成情報の一例を示す図である。この図に示されるように、制御機器構成情報には、対象となる制御機器と、この制御機器に書き込むプログラム名と、制御機器内で使用されるローカルな変数のデバイスへの割付を含む情報が格納される。
工程フロープログラム管理部14は、制御システムにおける処理の単位ごとに作成されるプログラムをプログラムブロックという単位で扱い、プログラムブロック間におけるデータの受け渡し(接続関係)を管理する。この工程フロープログラム管理部14は、工程フロー設定管理部141と、プログラムブロック設定管理部142と、転送条件設定部143と、工程フロープログラム設定情報格納部144と、を有する。
工程フロー設定管理部141は、制御システムにおける処理の単位をプログラムブロックという形で表し、他のプログラムブロックの変数との対応関係を示した工程フロー設定情報を管理する。具体的には、ある処理の単位であるプログラムブロックについて、他のプログラムブロックとの間の変数の受け渡しを示す工程フロー設定情報を設定するための工程フロー設定画面を表示部12に表示させる。そして、この工程フロー設定画面に入力部11を介して使用者によって入力された内容を工程フロー設定情報として、工程フロープログラム設定情報格納部144に格納し、管理する。
工程フロー設定情報は、プログラムブロック間のデータの受け渡しが定義されていれば、テキスト形式のデータでも、図形式のデータでも、その他の形式の情報であってもよい。この明細書では、工程フロー設定情報は、図形式のデータで表示部12上に表示するものとする。ここで、プログラムブロックは矩形で表現され、変数は矩形内にさらに小さな矩形を配置することで表現される。また、変数の受け渡しは、出力値となる変数から入力値となる変数に向けて矢印を有する転送線を引くことで表現される。なお、これらの図形は予め用意されており、使用者がこれらの図形を入力部11を介して所望の形に配置することで設定される。
図3−1〜図3−2は、工程フロー設定管理部によって表示部に表示される表示画面の一例を示す図である。図3−1の工程フロー設定画面500には、処理の1単位を表すプログラムブロックA,Bが示されている。プログラムブロックAには、変数1と変数2が設定され、プログラムブロックBには、変数3と変数4が設定されている。そして、プログラムブロックAの変数1からプログラムブロックBの変数3に向けて、転送線503が引かれている。この転送線503は、プログラムブロックAとプログラムブロックBとの間でデータ転送を行うことを示している。つまり、プログラムブロックAの出力デバイスを示す変数1からプログラムブロックBの入力デバイスを示す変数3に向けて結線することで、出力デバイスの値を入力デバイスに対して転送することを示している。
また、図3−2の工程フロー設定画面500には、プログラムブロックA,B間を結ぶ転送線503上に、転送条件を示す条件ブロック504が配置されている。この条件ブロック504は、データ転送に関する転送条件を設定することを明示するためのブロックである。その他の構成要素は、図3−1のものと同一であるので、その説明を省略する。なお、これらの図3−1と図3−2では、工程フロー設定情報を図の形で表現した場合を示しているが、上述したようにテキスト形式でプログラムブロック間の関係を示すようにしてもよい。
プログラムブロック設定管理部142は、工程フロー設定管理部141で設定した各プログラムブロックに対して設定されるプログラムブロック設定情報を管理する。具体的には、プログラムブロックについてのプログラムブロック設定情報を設定するためのプログラムブロック設定画面を表示部12に表示させる。そして、このプログラムブロック設定画面に入力部11を介して使用者によって入力された内容をプログラムブロック設定情報として、工程フロープログラム設定情報格納部144に格納し、管理する。
プログラムブロック設定情報は、プログラムを実行する制御機器名、対応するプログラムの名称、プログラムからデータを出力する出力デバイス、プログラムに対してデータを入力する入力デバイスを含む。そして、このプログラムブロック設定情報は、工程フロー設定情報で作成されたプログラムブロックと関連付けされている。
図4は、プログラムブロック設定管理部によって表示部に表示される表示画面の一例を示す図である。このプログラムブロック設定画面520には、プログラムブロックが実際に実行される制御機器である「実行制御機器」と、プログラムブロックに対応する「プログラム名」と、プログラムブロックに設定される入力デバイスを示す「入力デバイス情報」と、プログラムブロックに設定される出力デバイスを示す「出力デバイス情報」と、を含む。
ここで、「実行制御機器」と「プログラム名」とは、制御システム情報管理部13で管理されている制御システム管理情報(制御システム構成情報と制御機器構成情報)に含まれる情報が用いられる。そのため、たとえばこれらの項目は、制御システム管理情報から選択可能な構成としてもよい。また、「プログラム名」に対応するプログラムは、1つのプログラムファイルであってもよいし、ファンクションブロックのような1つの機能を示すプログラムファイル内の一部分であってもよい。さらに、「入力デバイス情報」と「出力デバイス情報」は、「D100」や「D101」のように実デバイス名で指定してもよいし、実デバイスに対応して付された「変数1」のような変数名を用いてもよい。この実デバイスに対応する変数名は、制御機器構成情報で管理されているものを用いる。なお、図4で設定されたプログラムブロック設定情報は、図2−1や図2−2に示される各プログラムブロックに対して設定される。
転送条件設定部143は、各プログラムブロック間のデータの転送条件設定情報を管理する。具体的には、複数のプログラムブロック間で受け渡しされるデータの転送条件を設定するための転送条件設定画面を表示部12に表示させる。そして、この転送条件設定画面に入力部11を介して使用者によって入力された内容を転送条件設定情報として、工程フロープログラム設定情報格納部144に格納し、管理する。転送条件設定情報には、プログラムブロック間でデータの転送を行うための条件(転送条件)を、制御機器(プログラムブロック)で使用される変数を用いた算術式と、この算術式を組み合わせた論理式で表現したものと、この転送条件を判定する制御機器名と、が含まれる。この転送条件設定部143によって設定された内容に基づいて、後述する転送制御プログラム生成部15は、転送制御プログラムを作成する。
図5は、転送条件設定画面の一例を示す図である。この転送条件設定画面540は、たとえば図3−1の場合には転送線503を選択した後に、図3−2の場合には条件ブロック504を選択した後に、転送条件設定画面540を表示するコマンドを実行することによって、表示部12上に表示される。
この転送条件設定画面540は、デバイス名や変数名を用いた算術式を入力する算術式入力領域541と、算術式入力領域541に入力された算術式の結果を用いて転送条件である論理式を入力する論理式入力領域542と、この転送条件の判定をどの制御機器で行うのかを示す条件判定用制御機器入力領域543と、を有する。
算術式入力領域541には、図に示されるように、算術式に対して一意に付される条件番号と、変数と、その変数がどの制御機器で得られるかを示す制御機器識別情報と、複数の変数間で行う算術処理を示す算術演算子と、複数の変数間の比較を行う比較演算子と、が含まれる。たとえば、図の条件番号1では、制御機器識別情報が「制御機器A(CtrlA)」である制御機器に割り当てられた変数「Var1」を、制御機器識別情報がそれぞれ「制御機器B(CtrlB)」である制御機器に割り当てられた変数「Var2」と「Var3」の和と比較して、両者が等しいか否かを判定するものである。
論理式入力領域542では、算術式入力領域541で入力された算術式の結果を用いて論理演算を行う条件が示されるが、算術式に一意に付された条件番号を用いて、論理式が使用者によって組み立てられる。たとえば、図に示される例では、それぞれ条件番号1〜3で示される算術式の結果を用いて、「1 AND (2 OR 3)」という論理式が転送条件として指定される。
工程フロープログラム設定情報格納部144は、上記の工程フロー設定管理部141で管理される工程フロー設定情報と、プログラムブロック設定管理部142で管理されるプログラムブロック設定情報と、転送条件設定部143で管理される転送条件設定情報と、を関連付けて格納する。
転送制御プログラム生成部15は、工程フロープログラム管理部14で作成された工程フロー設定情報に対応する転送制御プログラムを作成する処理部であり、条件判定プログラム生成部151と、データ転送プログラム生成部152と、を有する。
条件判定プログラム生成部151は、転送条件設定部143で設定された転送条件設定情報に基づいて、転送条件を判定するための条件判定プログラムを生成する。そして、生成した条件判定プログラムを、転送条件設定情報に定められた条件判定制御機器に設定する。
データ転送プログラム生成部152は、条件判定プログラム生成部151によって生成された条件判定プログラムを利用して、工程フロー設定管理部141で設定された工程フロー設定情報とプログラムブロック設定情報とに基づいてデータ転送プログラムを生成する。そして、生成したデータ転送プログラムを、関連する制御機器に対して設定する。
なお、転送制御プログラム生成部15では、転送条件を判定するための条件判定プログラムを条件判定プログラム生成部151によって生成し、条件成立時にデータ転送を行うためのデータ転送プログラムをデータ転送プログラム生成部152で生成することを、転送線503で結線された出力デバイスと入力デバイスのすべての組に対して繰り返し行う。
つぎに、このような構成の制御システム開発支援装置10の制御システム開発支援方法における転送条件判定プログラムの作成処理手順と、データ転送プログラムの作成処理手順とについて、順に説明する。図6は、転送条件判定プログラムの作成処理手順を示すフローチャートである。予め、入力部11を介して、開発対象となる制御システムのプログラムブロック間のデータの受け渡し関係を示す工程フロー設定情報、各プログラムブロックの設定情報を示すプログラムブロック設定情報、およびプログラムブロック間のデータの転送条件を示す転送条件が、使用者によって設定され、工程フロープログラム設定情報格納部144に格納されている状態にあるものとする。
まず、条件判定プログラム生成部151は、工程フロープログラム設定情報格納部144から転送条件設定情報を抽出し、転送条件を判定する制御機器名を取得する(ステップS11)。たとえば、図5に示される転送条件設定画面540をそのまま転送条件設定情報としてみなすと、この中の条件判定用制御機器入力領域543に入力される値を参照して、転送条件を判定する制御機器名を取得する。
ついで、転送条件設定情報に含まれるデバイス(変数)の内、抽出していないものが存在するか否かを判定する(ステップS12)。抽出していないものが存在する場合(ステップS12でYesの場合)には、転送条件判定情報の中から転送条件の判定に用いるデバイス(変数)を1つ抽出する(ステップS13)。この抽出は、たとえば図5の算術式入力領域541に入力された各変数の内の1つの変数を抽出する。
その後、抽出した転送条件の判定に用いるデバイス(変数)の制御機器と、ステップS11で抽出した転送条件の判定を行う制御機器とが異なるか否かを判定する(ステップS14)。たとえば図5の例では、その算術式入力領域541から、ステップS13で抽出したデバイス(変数)の制御機器識別情報を抽出し、この制御機器識別情報とステップS11で取得した条件判定用の制御機器名とが異なるかを判定する。
抽出したデバイス(変数)の制御機器と判定を行う制御機器とが異なる場合(ステップS14でYesの場合)には、条件判定プログラム生成部151は、条件を判定する制御機器が異なる制御機器のデバイス(変数)を利用するための変数出力プログラムを生成する(ステップS15)。このとき、条件判定プログラム生成部151は、制御システム管理情報格納部132の制御システム構成情報を参照し、プログラムを作成する制御システムのネットワーク構成に適した変数出力プログラムを生成する。たとえば、イーサネット(登録商標)で接続されたネットワーク構成の場合には、抽出したデバイス(変数)の制御機器が、判定を行う制御機器に対して変数を送信する変数出力プログラムを作成し、共有メモリを有するネットワークで接続された構成の場合には、抽出したデバイス(変数)の制御機器が、判定を行う制御機器との間の共有メモリに変数を書込み、判定を行う制御機器が共有メモリに書き込まれた変数を読込む変数出力プログラムを作成する。
その後またはステップS14で抽出したデバイス(変数)の制御機器と判定を行う制御機器とが同じ場合(ステップS14でNoの場合)には、ステップS12へと戻り、転送条件設定情報に含まれるデバイス(変数)の内、抽出していないデバイス(変数)がなくなるまで、上述した処理が繰り返し実行される。
一方、ステップS12で条件に用いるデバイス(変数)の内、抽出していないものが存在しない場合(ステップS12でNoの場合)には、転送条件設定情報に含まれる算術式と論理式と、ステップS15で作成した異なる制御機器のデバイス(変数)を利用するための変数出力プログラムとを用いて、条件判定プログラムを作成する(ステップS16)。以上によって、転送条件判定プログラムの作成処理が終了する。
図7は、図5の転送条件に基づいて作成された条件判定プログラムの内容の一例を示す図である。このプログラムは、条件判定を行う制御機器A(CtrlA)で実行されるラダープログラムである。ここで、制御機器B(CtrlB)、制御機器C(CtrlC)および制御機器D(CtrlD)のデバイス値が制御機器Aに転送されるプログラムは、この図7のプログラムとは別に用意されているものと仮定する。つまり、そのプログラムでは、制御機器BのVar2,Var3,Var4の値を、それぞれ制御機器AにあるB_Var2,B_Var3,B_Var4に転送し、制御機器CのVar5,Var6の値を、それぞれ制御機器AにあるC_Var5,C_Var6に転送し、制御機器DのVar7の値を、制御機器AにあるD_Var7に転送している。
この図7の1行目は、制御機器Aが、B_Var2+B_Var3の結果の値をD500に代入することを示している。なお、接点のSM400は、その右に記載されている式を、常時実行することを示いている。また、この2行目は、Var1とD500の値が等しく、かつB_Var4がC_Var5よりも大きいかまたはC_Var6がD_Var7よりも小さいときに条件が成立することを示している。なお、この図7のラダープログラムにおけるD500は、このプログラムで使用するデバイス領域として、プログラム生成時に予め設定されたものである。
図8は、データ転送プログラムの作成処理手順を示すフローチャートである。まず、データ転送プログラム生成部152は、出力デバイスが割り付く制御機器と条件判定を行う制御機器が同一であるか否かを判定する(ステップS31)。ここで、出力デバイスが割り付く制御機器は、出力デバイスを有するプログラムブロックのプログラムブロック設定情報に含まれる実行制御機器から取得することができ、条件判定を行う制御機器は、転送条件設定情報中の条件判定用制御機器から取得することができる。そして、取得したこれらの値を比較することによって出力デバイスが割り付く制御機器と条件判定を行う制御機器が同一であるか否かを判定することができる。
判定の結果、出力デバイスが割り付く制御機器と条件判定を行う制御機器が同じでない場合(ステップS31でNoの場合)には、データ転送プログラム生成部152は、条件判定結果を、出力デバイスを保持する制御機器に伝えるプログラムを生成する(ステップS32)。このとき、データ転送プログラム生成部152は、制御システム構成情報を参照し、ネットワーク構成に基づいてプログラムを作成する。たとえば、イーサネット(登録商標)で接続されたネットワーク構成の場合には、条件判定を行う制御機器が出力デバイスを保持する制御機器に対して条件判定結果を送信するプログラムを作成し、共有メモリを有するネットワークで接続された構成の場合には、条件判定を行う制御機器が、出力デバイスを保持する制御機器との間の共有メモリに条件判定結果を書込み、出力デバイスを保持する制御機器が共有メモリに書き込まれた条件判定結果を読込むプログラムを作成する。
その後またはステップS31で出力デバイスが割り付く制御機器と条件判定を行う制御機器が同じである場合(ステップS31でYesの場合)には、さらに出力デバイスが割り付く制御機器と、入力デバイスが割り付く制御機器とが同じであるか否かを判定する(ステップS33)。ここで、出力デバイスと入力デバイスが割り付く制御機器は、それぞれ出力デバイスと入力デバイスを有するプログラムブロックのプログラムブロック設定情報に含まれる実行制御機器から取得することができる。そして、取得したこれらの値を比較することによって、出力デバイスが割り付く制御機器と入力デバイスが割り付く制御機器とが同じであるか否かを判定することができる。
判定の結果、出力デバイスと入力デバイスにそれぞれ割り付く制御機器が同じ場合(ステップS33でYesの場合)には、図6で作成した条件判定プログラムで転送条件が成立したときに、出力デバイスを保持する制御機器内で出力デバイスのデータを入力デバイスに転送するプログラムを生成し(ステップS34)、データ転送プログラムの作成処理が終了する。
また、ステップS33で、出力デバイスと入力デバイスにそれぞれ割り付く制御機器が異なる場合(ステップS33でNoの場合)には、図6で作成した条件判定プログラムで転送条件が成立したときに、出力デバイスが割り付く制御機器から入力デバイスが割り付く制御機器に対してデータを転送するプログラムを生成し(ステップS35)、データ転送プログラムの作成処理が終了する。このステップS35でも、データ転送プログラム生成部152は、制御システム構成情報を参照して、ネットワーク構成に基づいたプログラムを作成する。
なお、ステップS32で生成されたプログラムは、条件判定を行う制御機器に設定され、ステップS34とステップS35で生成されたプログラムは、出力デバイスを保持する制御機器に設定される。
また、図8のフローチャートでは、出力デバイスが割り付く制御機器に対して条件判定結果を送信する場合を示したが、入力デバイスが割り付く制御機器に対して条件判定結果を送信し、転送条件が成立したときのみ出力デバイスから送信された値を入力デバイスが読取るようにしてもよい。この場合には、ステップS31で入力デバイスを保持する制御機器が、条件判定を行う制御機器と同じか否かを判定し、ステップS32で条件判定結果を入力デバイスに伝えるプログラムを生成すればよい。
以上のようにして、プログラムブロック間で変数のやり取りを行う際の条件判定プログラムと転送条件が成立した際のデータ転送プログラムを作成することができる。
このようにして作成された条件判定プログラムとデータ転送プログラムの動作の一例について説明する。図9は、制御システムの構成の一例を示す図である。この図に示されるように、制御機器A〜制御機器C(図中、CtrlA〜Cと表記)はネットワークを介して接続され、制御機器Aは条件判定用制御機器であり、制御機器Bは出力デバイスが割り付く制御機器であり、制御機器Cは入力デバイスが割り付く制御機器であるとする。
条件判定用制御機器の制御機器Aでは、条件判定プログラムが組み込まれ、その転送条件判定プログラムにしたがって、自装置や他の制御機器B,Cからデバイス(変数)を読込む場合には読込む処理を行って、転送条件の判定を行う。そして、この転送条件の判定結果を、たとえば出力デバイスを保持する制御機器Bに渡す。制御機器Bは、転送条件が成立しない場合には、何の処理も行わず、転送条件が成立するまで待ち状態となるが、転送条件が成立した場合には、制御機器Bは、出力デバイスの値を、入力デバイスを保持する制御機器Cへと転送する。以上のようにして、出力デバイスの値が、入力デバイスへと転送される。なお、出力デバイスを保持する制御機器Bと入力デバイスを保持する制御機器Cとが同じである場合には、同一の制御機器の出力デバイスから入力デバイスへとデータが渡されることになる。
つぎに、条件判定プログラムとデータ転送プログラムの作成の具体的な例について説明する。なお、以下では、図2−1に示されるように、共有メモリを有するネットワークに複数の制御機器が接続されている場合を例に挙げて説明する。ここで、図示していないが、各制御機器A〜Dの間には、共有メモリが設けられており、出力デバイス側の制御機器が所定の出力デバイスの値を共有メモリに書込み、入力デバイス側の制御機器が共有メモリに書込まれた値を読込む仕組みとなっている。
(1)条件判定制御機器、出力デバイスが割り付く制御機器、入力デバイスが割り付く機器ともに同じ場合
図10は、条件判定制御機器、出力デバイスが割り付く制御機器、および入力デバイスが割り付く制御機器がともに同じ場合の工程フロー設定情報を示す図である。ここでは、プログラムブロックαの出力デバイスである変数1の値が、所定の条件を満たす場合に、プログラムブロックβの入力デバイスの変数2に転送される(書込まれる)ものとする。また、プログラムブロックα,βともに同一の制御機器(たとえば、制御機器Aとする)に割り付けられているものとする。
この条件ブロック504には、上述した仮定のように、条件判定制御機器も出力デバイスを保持する制御機器も入力デバイスを保持する制御機器もすべて制御機器Aであり、転送条件は、「VarS = TRUE & VarT = FALSE」であるとする。ここで、変数VarS,VarTともに制御機器Aのデバイスに割り付けられる変数であるものとする。
このような条件を満たす制御機器A用のプログラムの概要は図11に示すようになる。
(A)転送条件「VarS = TRUE & VarT = FALSE」を実行する条件判定プログラムを作成する。
(B)制御機器Aは、(A)の条件判定用プログラムを用いて転送条件成立の判定を行い、その結果、転送条件が満たされる場合に、制御機器A内の変数1の値を、同じく制御機器A内の変数2へとコピーするデータ転送プログラムを作成する。
(2)条件判定制御機器、出力デバイスが割り付く制御機器、入力デバイスが割り付く制御機器がすべて異なる場合
図12は、条件判定制御機器、出力デバイスが割り付く制御機器、および入力デバイスが割り付く制御機器がすべて異なる場合の工程フロー設定情報を示す図である。ここでは、条件判定制御機器は、制御機器Bであり、プログラムブロックαは制御機器Aに割り付けられ、プログラムブロックβは制御機器Cに割り付けられているものとする。転送条件は、「VarS = TRUE & VarT = FALSE」であるとする。ここで、VarSは制御機器Bのデバイスに割り付けられる変数であり、VarTは制御機器Dのデバイスに割り付けられる変数であるものとする。
このような条件を満たす制御システム用の条件判定プログラムの概要は、図13−1に示すようになる。
(A)制御機器Dは、条件判定用制御機器Bとは異なる制御機器であるので、制御機器Dのデバイス(変数)を制御機器Bで読取ることが可能なように、自装置のデバイスに割り付けられる変数VarTを共有メモリにVarT’として書込むプログラムが作成される。
(B)制御機器Bは、条件判定用制御機器であるので、自装置のデバイスに割り付けられる変数VarSを読取るとともに、共有メモリに記憶された制御機器Dに割り付けられた変数VarT’を読取り、これらの変数を用いて、転送条件「VarS = TRUE & VarT’ = FALSE」を実行する条件判定プログラムが作成される。
また、この制御システム用のデータ転送プログラムの概要は、図13−2に示すようになる。図13−2は、図13−1にデータ転送プログラムを組み込んだ場合のプログラムの概要を示す図である。
(C)出力デバイスに割り付く制御機器Aは、条件判定用制御機器Bとは異なるので、制御機器Bの転送条件判定結果を制御機器Aで読取ることが可能なように、その結果を変数VarUとして共有メモリに書込むデータ転送プログラムが作成される。
(D)出力デバイスに割り付く制御機器Aと入力デバイスに割り付く制御機器Cとは異なるので、転送条件成立時に、制御機器Aの出力デバイスの値である変数1を制御機器Cで読み込めるように、その変数1をVarVとして共有メモリに書き込むデータ転送プログラムが生成される。つまり、このプログラムは、共有メモリに格納されたVarUの値が転送条件成立を示すものである場合に、共有メモリに変数1をVarVとして書込むものである。
(E)制御機器Cでは、共有メモリに書込まれたVarVの値を読み込むプログラムが作成される。このVarVの値は、制御機器Cで変数2として所定の処理に使用される。
(3)プログラムブロックを流用する場合
ここでは、プログラムブロックを流用する場合について説明する。図14は、プログラムブロックを流用する前後の工程フロー設定情報の一例を示す図である。流用前の工程フロー設定情報は、図3−2に示されるものと同じものである。つまり、プログラムブロックαの変数1が、所定の条件の下でプログラムブロックβの変数2に渡される場合が示されている。
このような流用前の工程フロー設定情報中のプログラムブロックαを、別の制御システムでまたは別の制御機器用に作成されたプログラムブロックγに変更させる。この場合は、たとえば、図3−2に示されるような工程フロー設定画面500に、プログラムブロックγを呼び出し、プログラムブロックαと入れ替える操作を行えばよい。そして、流用後の工程フロー設定情報に示されるように、工程フロー設定画面500において、プログラムブロックγのたとえば変数3から、プログラムブロックβの変数2に向けて転送線503を引くことで、プログラムブロックγ−プログラムブロックβ間の変数の受け渡し関係が規定される。また、転送条件設定情報を変更する場合には、条件ブロック504を選択して図5に示されるような転送条件設定画面540を表示部12に表示させて、必要な箇所を変更すればよい。
なお、プログラムブロックγを配置する際に、プログラムブロックγに関するプログラムブロック設定情報がプログラムブロックγに関連付けされて工程フロープログラム設定情報格納部144に格納される。また、プログラムブロックγを配置する前に予め、制御機器構成情報にプログラムブロックγに関する情報が登録されているものとする。
そして、条件判定プログラム生成部151とデータ転送プログラム生成部152は、流用後の工程フロー設定情報と転送条件に基づいて、条件判定プログラムとデータ転送プログラムを作成する。
このように、プログラムブロックを入れ替えて転送線503を引き、必要ならば転送条件設定画面540で転送条件設定情報を変更するだけで、入れ替えたプログラムブロックと元からある他のプログラムブロックとの間の条件判定プログラムとデータ転送プログラムを自動的に生成することができる。また、図10に示されるように、条件判定を行う制御機器、出力デバイスが割り付く制御機器、入力デバイスが割り付く制御機器が異なる場合のように、複数の制御機器に処理が分散しているものを、1つの制御機器で実行するような場合にも、工程フロー設定情報と転送条件を変えることによって、容易に条件判定プログラムとデータ転送プログラムを変更することができる。
この実施の形態1によれば、データ転送を行いたいプログラムブロック間の出力デバイスと入力デバイスとを指定し、転送条件設定情報を設定することによって、転送制御プログラムを自動的に生成することができる。その結果、使用者は、制御システムを新規開発する際のプログラム間の転送制御プログラムを人手で作成する必要がなくなり、すなわち、データ転送以外のプログラムの作成にのみ注力すればよくなるため、開発工数を削減することができるという効果を有する。
また、複数の制御機器に設定しているものをすべて同じ1つの制御機器に変更した場合や、すでに存在する条件判定プログラムやデータ転送プログラムを流用する場合に、制御機器の構成によらず、またプログラムブロックを入れ替えてデータの受け渡しを定義し、必要ならば転送条件を変更するだけで、条件判定プログラムとデータ転送プログラムとを自動的に再生成することが可能となる。その結果、制御システムにおける装置構成の変更にも柔軟に対応することができるという効果も有する。
実施の形態2.
図15は、この発明にかかる制御システム開発支援装置の実施の形態2の機能構成を模式的に示すブロック図である。この制御システム開発支援装置10Aは、実施の形態1の図1の制御システム管理情報格納部132が、制御システム全体で使用されるユニークな変数(グローバル変数)と、制御機器で使用されるローカル変数またはデバイス名との間の関係を示す制御システム内変数管理情報をさらに含んだ制御システム管理情報を管理する制御システム管理情報格納部132Aとなる。また、制御システム情報管理部13には、この制御システム内変数管理情報を管理するとともに、制御システム内変数管理情報を参照して、転送制御プログラム生成部15から問い合わせのあったグローバル変数に対応する制御機器のローカル変数またはデバイス名を返す機能を有する制御システム内変数管理部133を備える。なお、実施の形態1と同一の構成要素には同一の符号を付して、その説明を省略する。
図16は、制御システム内変数管理情報の一例を示す図である。この制御システム内変数管理情報は、制御システム全体で使用される変数と、制御システムを構成する各制御機器で使用されるデバイス名またはローカル変数と、を対応付けるものである。そのため、制御システム内変数管理情報は、制御システム全体で使用されるユニークな変数名である「制御システム用変数名」と、その変数が使用される「制御機器名」と、その制御機器内のデバイス名、ローカル変数を示すための項目である「デバイス名」、「制御機器ローカル変数名」とを含む。
たとえば、図16において、制御システム用変数名が「G_変数1」は、制御機器「CtrlA」のローカル変数「L_変数1」に割り付けられることを示している。また、制御システム用変数名「G_変数2」は、制御機器「CtrlA」のデバイス「M200」に割り付けられることを示している。
制御システム内変数管理情報で管理される変数名は、転送条件設定部143で設定する転送条件設定情報で用いることができる。つまり、使用者は、転送条件設定情報の設定において、制御システム全体で用いられる変数(グローバル変数)を使用してもよいし、制御システムを構成する各制御機器内で定義されたローカル変数やデバイス名を使用してもよい。
そして、条件判定プログラム生成部151では、図6の転送条件判定プログラムの作成処理のステップS14で抽出した変数が、制御システム全体で使用されるユニークな変数(グローバル変数)である場合には、制御システム内変数管理部133に対してそのグローバル変数に対応する制御機器とデバイス名または制御機器のローカル変数名を問い合わせる。制御システム内変数管理部133は、制御システム管理情報格納部132内の制御システム内変数管理情報を参照して、グローバル変数に対応付けされた制御機器とそのローカル変数やデバイス名を取得し、条件判定プログラム生成部151に返す。そして、条件判定プログラム生成部151は、その問い合わせ結果であるローカル変数を用いて、各制御機器に対応するプログラムを生成する。
この実施の形態2によれば、転送条件に用いた変数が割り付く制御機器が変わっても、制御システム管理情報格納部132内の制御システム内変数管理情報(変数設定)のみを変更すればよく、個別の転送条件を変更する必要がなくなる。その結果、制御システムの装置構成の変更に対しても柔軟に対応することができるという効果を有する。
実施の形態3.
この実施の形態3では、プログラムブロック間のデータ転送の種類の設定機能について説明する。図17−1〜図17−2は、プログラムブロック間のデータ転送の種類の一例を示す図であり、図17−1は、通常転送を示し、図17−2は、パルス転送を示している。図17−1に示されるように、通常転送は、転送条件が成立している間は常にデータ転送を行うものである。具体的には、転送条件が成立している間に、出力デバイスの値が変わると、それに応じて入力デバイスの値が変化する。また、図17−2に示されるように、パルス転送は、転送条件が成立した瞬間の値のみをデータ転送するものである。具体的には、転送条件が成立後に、出力デバイスの値が変化しても、入力デバイスの値は変わらないため、入力デバイスの値が、転送条件が成立した瞬間の出力デバイスの値であることを保証することができる。
この実施の形態3では、工程フロープログラム設定情報格納部144の工程フロー設定情報に、通常転送とパルス転送の区別を示すデータ転送種類情報がさらに格納される。図3−1や図3−2の工程フロー設定画面500において、プログラムブロック間に引く転送線503の種類と、データ転送の種類とを予め対応付けておき、転送線503の種類を変えることによって、データ転送の種類を設定することができる。たとえば、通常転送の場合には、プログラムブロックA,Bの変数1,2間を実線で結び、パルス転送の場合には、プログラムブロックA,Bの変数1,2間を破線で結ぶ、というように、データ転送の種類と線種との対応付けを任意に定めることができる。なお、テキストで工程フロー設定条件を作成する場合には、工程フロー設定情報に転送の種類を定める項目を設ければよい。
そして、データ転送プログラム生成部152では、工程フロー設定情報に含まれるデータ転送の種類を加味して、データ転送プログラムを生成する。
この実施の形態3によれば、通常転送だけでなく、パルス転送などの他のデータ転送の種類も用意するようにしたので、用途に合わせたデータ転送プログラムを自動生成することが容易となり、開発工数の削減を行うことができるという効果を有する。また、転送条件が成立した瞬間のデータのみを転送するプログラムを自動生成することができるので、ある瞬間の値だけを転送したい場合に、条件設定や出力値の制御に気を配る必要性が減少し、工数の削減を行うことができるという効果も有する。
実施の形態4.
実際の運用に当っては、複数の出力デバイスの内の所定の条件を満たす1つの出力デバイスから1つの入力デバイスへとデータ転送を行う場合が存在する。また、逆に、1つの出力デバイスの値を、複数の入力デバイスの内の所定の条件を満たす1つの入力デバイスへとデータ転送する場合も存在する。この実施の形態4では、このような場合でも、データ転送を自動的に行うことができる制御システム開発支援装置について説明する。
この実施の形態4では、工程フロー設定管理部141に、複数の出力デバイスと1つの入力デバイスとを結びデータ転送の条件を設定する選択条件ブロックと、1つの出力デバイスと複数の入力デバイスとを結びデータ転送の条件を設定する分岐条件ブロックと、を設定可能な機能をさらに設けたことを特徴とする。これらの選択条件ブロックや分岐条件ブロックは、条件ブロックとともに用意され、いずれかを選択可能な構成となっている。
また、転送条件設定部143に、選択条件ブロックにデータ転送を選択するための選択条件設定情報と、分岐条件ブロックにデータ分岐を選択するための分岐条件設定情報と、を設定可能な機能をさらに設けたことを特徴とする。
図18は、選択条件設定情報の設定画面の一例を示す図である。この図では、複数の出力側のプログラムブロックA,Bと、1つの入力側のプログラムブロックCとの間に、選択条件ブロック505を設けた場合を示している。つまり、選択条件ブロック505は、複数の出力デバイス(変数)と接続するための複数の接点を有し、入力デバイス(変数)と接続するための1つの接点を有する。そして、この接点によって、各プログラムブロックA〜Cとの間に転送線503が引かれている。
また、選択条件ブロック505には、選択条件設定情報600が関連付けされる。ここでは、選択条件設定情報600として、選択条件ブロックに接続されるプログラムブロック数である「選択数」601と、複数のプログラムブロックの出力デバイスの変数から、1つのプログラムブロックの入力デバイスの変数へとデータ転送を行うための選択条件が入力される選択条件入力領域602と、各選択条件間の優先順位を示す「優先度」603と、を含む。この優先度として、選択条件ブロック505に接続される位置が、左のものほど優先順位を高くしたり、または使用者によって任意に設定したりすることができる。
図18の例では、選択条件ブロック505に接続される出力デバイスを有するプログラムブロックの数が2個であるので、選択数が「2」となっている。そして、プログラムブロックAの変数1からプログラムブロックCの変数3へのデータが転送される条件は、「変数1=TRUE」の場合であり、プログラムブロックBの変数2からプログラムブロックCの変数3へのデータが転送される条件は、「変数2=FALSE」の場合となっている。また、優先度にはデフォルト値が設定されている。ここで、デフォルトは、選択条件ブロック505の接点の位置が左側のものほど優先順位が高くなるものに設定されているものとする。
つまり、「変数1=TRUE」の場合には、プログラムブロックCの変数3へと転送されるデータとして、プログラムブロックAの変数1の値が選択される。このとき、プログラムブロックBの変数2の値はプログラムブロックCの変数3へはデータ転送されない。一方、「変数2=FALSE」の場合には、プログラムブロックCの変数3へと転送されるデータとして、プログラムブロックBの変数2の値が選択される。このとき、プログラムブロックAの変数1の値はプログラムブロックCの変数3へはデータ転送されない。
また、2つの条件が満たされる場合には、優先度に設定された優先順位によって、いずれか1つのプログラムブロックの出力デバイスの変数が、プログラムブロックCの変数3へと転送されることになる。
図19は、分岐条件設定情報の設定画面の一例を示す図である。この図では、1つの出力側のプログラムブロックDと、複数の入力側のプログラムブロックE,Fとの間に、分岐条件ブロック506を設けた場合を示している。つまり、分岐条件ブロック506は、出力デバイスと接続するための1つの接点を有し、複数の入力デバイスと接続するための複数の接点を有する。そして、この接点によって、各プログラムブロックD〜Fとの間に転送線503が引かれている。
また、分岐条件ブロック506には、分岐条件設定情報610が関連付けされる。ここでは、分岐条件設定情報610として、分岐条件ブロック506から分岐するプログラムブロック数である「分岐数」611と、1つのプログラムブロックの出力デバイスの変数から、複数のプログラムブロックのうちの1つのプログラムブロックの入力デバイスの変数へとデータ転送を行うための分岐条件が入力される分岐条件入力領域612と、各分岐条件間の優先順位を示す「優先度」613と、を含む。この優先度として、分岐条件ブロック506に接続される位置が、左のものほど優先順位を高くしたり、または使用者によって任意に設定したりすることができる。
図19の例では、分岐条件ブロック506から分岐される入力デバイスを有するプログラムブロック数が2個であるので、分岐数が「2」となっている。また、プログラムブロックDの変数4からプログラムブロックEの変数5へデータが転送される条件は、「変数1=TRUE」の場合であり、プログラムブロックDの変数4からプログラムブロックFの変数6へのデータが転送される条件は、「変数2=FALSE」の場合となっている。さらに、優先度にはデフォルト値が設定されている。ここで、デフォルトは、分岐条件ブロック506の接点の位置が左側のものほど優先順位が高くなるものに設定されているものとする。
つまり、「変数1=TRUE」の場合には、プログラムブロックDの変数4の値は、プログラムブロックEの変数5へと分岐される。このとき、プログラムブロックFの変数6にはプログラムブロックDの変数4からデータ転送されない。一方、「変数2=FALSE」の場合には、プログラムブロックDの変数4の値は、プログラムブロックFの変数6へと分岐される。このとき、プログラムブロックEの変数5にはプログラムブロックDの変数4からデータ転送されない。
また、この分岐条件ブロックの場合にも、2つの条件が満たされる場合には、分岐条件設定情報610中の優先度によって、プログラムブロックの出力デバイスの変数が、いずれか1つのプログラムブロックの入力デバイス(変数)へと転送されることになる。
つぎに、このような選択条件ブロックまたは分岐条件ブロックが工程フロー設定情報に設定された場合の条件判定プログラムの生成方法について説明する。図20は、転送条件判定プログラムの作成処理手順を示すフローチャートである。まず、実施の形態1の図6のステップS11〜S15の処理と同様に、転送条件設定情報中のデバイス(変数)の制御機器の内、条件判定を行う制御機器と異なる場合に、条件判定を行う制御機器が異なる制御機器のデバイス(変数)を利用するためのプログラムを作成する(ステップS51〜S55)。
その後、ステップS52で条件に用いるデバイス(変数)の内、抽出していないものが存在しない場合(ステップS52でNoの場合)には、選択条件ブロック505または分岐条件ブロック506のまだ選択していない条件から最も優先度の高い接続先に対する転送条件を選択する(ステップS56)。その後、選択した条件より優先度が高い転送条件が成立しておらず、選択した転送条件が成立したときのみ転送条件が成立したとみなすプログラムを生成する(ステップS57)。
そして、すべての接続先に対する条件判定プログラムを生成済みか否かを判定する(ステップS58)。すべての接続先に対する条件判定プログラムが生成されていない場合(ステップS58でNoの場合)には、ステップS56へと戻り、選択条件ブロック505または分岐条件ブロック506に設定されている全ての転送条件に対して、上述した処理が繰り返し実行される。また、すべての接続先に対する条件判定プログラムが生成済みの場合(ステップS58でYesの場合)には、転送条件判定プログラムの作成処理が終了する。
この実施の形態4によれば、複数の出力デバイスや複数の入力デバイスから1つだけを選択する排他制御を行うプログラムを用いたデータ転送プログラムも自動的に生成することができ、工数の削減を行うことができるという効果を有する。
なお、ここでは、複数の制御機器がネットワークを介して接続された場合を例に挙げて説明しているが、1つのベースユニット上に複数のCPUユニットが設置されて制御システムが構成されるような場合でも、この発明を適用することができる。
なお、上述した制御システム開発支援方法は、その処理手順を書込んだプログラムを、CPU(中央演算処理装置)を有するパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。この場合、コンピュータのCPU(制御手段)が、プログラムにしたがって、上述したプログラム作成支援方法の各処理工程を実行することになる。これらのプログラムは、ハードディスク、フロッピー(登録商標)ディスク、CD(Compact Disk)−ROM(Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile DiskまたはDigital Video Disk)などのコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、これらのプログラムは、インタネットなどのネットワーク(通信回線)を介して配布することもできる。
以上のように、この発明にかかる制御システム開発支援装置は、制御システムにおける複数の制御機器間における転送プログラムの作成に有用である。
この発明による制御システム開発支援装置の実施の形態1の機能構成を模式的に示すブロック図である。 制御システム構成情報の一例を示す図である。 制御機器構成情報の一例を示す図である。 工程フロー設定管理部によって表示部に表示される表示画面の一例を示す図である。 工程フロー設定管理部によって表示部に表示される表示画面の一例を示す図である。 プログラムブロック設定管理部によって表示部に表示される表示画面の一例を示す図である。 転送条件設定画面の一例を示す図である。 転送条件判定プログラムの作成処理手順を示すフローチャートである。 図5の転送条件に基づいて作成された条件判定プログラムの内容の一例を示す図である。 データ転送プログラムの作成処理手順を示すフローチャートである。 制御システムの構成の一例を示す図である。 工程フロー設定情報の一例を示す図である。 図10の条件を満たす制御機器用のプログラムの概要を示す図である。 工程フロー設定情報の一例を示す図である。 図12の条件を満たす制御システム用の条件判定プログラムの概要を示す図である。 図13−1にデータ転送プログラムを組み込んだ場合のプログラムの概要を示す図である。 プログラムブロックを流用する前後の工程フロー設定情報の一例を示す図である。 この発明による制御システム開発支援装置の実施の形態2の機能構成を模式的に示すブロック図である。 制御システム内変数管理情報の一例を示す図である。 プログラムブロック間のデータ転送の種類の一例を示す図である。 プログラムブロック間のデータ転送の種類の一例を示す図である。 選択条件設定情報の設定画面の一例を示す図である。 分岐条件設定情報の設定画面の一例を示す図である。 転送条件判定プログラムの作成処理手順を示すフローチャートである。
符号の説明
10,10A 制御システム開発支援装置
11 入力部
12 表示部
13 制御システム情報管理部
14 工程フロープログラム管理部
15 転送制御プログラム生成部
16 制御部
131 制御システム管理情報設定部
132,132A 制御システム管理情報格納部
133 制御システム内変数管理部
141 工程フロー設定管理部
142 プログラムブロック設定管理部
143 転送条件設定部
144 工程フロープログラム設定情報格納部
151 条件判定プログラム生成部
152 データ転送プログラム生成部

Claims (13)

  1. プログラムの作成対象となる制御機器を有する制御システムの接続構成を含む制御システム管理情報を格納する制御システム管理情報格納手段と、
    外部より入力された、前記制御システムでの処理単位であるプログラムブロック間の変数の受け渡し関係を規定する工程フロー設定情報と、前記工程フロー設定情報中の前記プログラムブロックを実行する制御機器についての情報を含むプログラムブロック設定情報と、前記プログラムブロック間での変数の転送条件を、制御機器に割りつくデバイスや変数を用いて規定した転送条件設定情報と、を含む工程フロープログラム設定情報を格納する工程フロープログラム設定情報格納手段と、
    転送条件を判定する制御機器(以下、転送条件判定機器という)と同じでない前記転送条件設定情報中の変数が割りつく制御機器の前記変数を、前記制御システム管理情報中の制御システムの接続構成を参照して、前記転送条件判定機器に出力する変数出力プログラムを作成し、この変数出力プログラムを含む前記転送条件設定情報で定義された転送条件が成立したか否かを判定する条件判定プログラムを生成する条件判定プログラム生成手段と、
    前記条件判定プログラムの条件成立時に、前記工程フロー設定情報と前記プログラムブロック設定情報に基づいて変数を、前記プログラムブロックに対応する制御機器間で転送する転送プログラムを生成する転送プログラム生成手段と、
    を備えることを特徴とする制御システム開発支援装置。
  2. 前記制御システム管理情報格納手段は、前記制御システム全体で使用されるグローバル変数と、前記制御システムを構成する各制御機器で使用されるデバイス名またはローカル変数とを関連付けた制御システム内変数管理情報をさらに格納し、
    前記転送条件設定情報に含まれるグローバル変数に対応する制御機器のデバイス名またはローカル変数を、前記制御システム内変数管理情報から取得して、前記条件判定プログラム生成手段に渡す制御システム内変数管理手段をさらに備えることを特徴とする請求項1に記載の制御システム開発支援装置。
  3. 前記工程フロー設定情報には、前記条件判定プログラムの条件成立時に常にデータ転送を行う通常転送と、前記条件が成立した瞬間の変数のみを転送するパルス転送とのいずれかのデータ転送種類がさらに設定され、
    前記転送プログラム生成手段は、前記工程フロー設定情報に設定されたデータ転送種類に応じた前記転送プログラムを生成することを特徴とする請求項1または2に記載の制御システム開発支援装置。
  4. 前記転送条件設定情報は、1つの出力元から1つの入力先に対して変数を転送する場合の転送条件であることを特徴とする請求項1〜3のいずれか1つに記載の制御システム開発支援装置。
  5. 前記転送条件設定情報は、複数の出力元から1つの入力先に対して変数を転送する場合に、各出力元から前記入力先へ変数を転送する条件と、各条件間の優先順位と、を含み、
    前記条件判定プログラム生成手段は、前記転送条件設定情報に基づいて前記複数の出力元の内1つの出力元から前記1つの入力先への変数の転送が実行される条件判定プログラムを生成することを特徴とする請求項1〜3のいずれか1つに記載の制御システム開発支援装置。
  6. 前記転送条件設定情報は、1つの出力元から複数の入力先に対して変数を転送する場合に、前記出力元から前記各入力先へ変数を転送する条件と、各条件間の優先順位と、を含み、
    前記条件判定プログラム生成手段は、前記転送条件設定情報に基づいて前記1つの出力元から前記複数の入力先の内1つの入力先への変数の転送が実行される条件判定プログラムを生成することを特徴とする請求項1〜3のいずれか1つに記載の制御システム開発支援装置。
  7. 外部より入力された、開発する制御システムにおける制御機器の接続構成を含む制御システム管理情報と、ある処理単位のプログラムブロックの間で変数の受け渡しを定義する工程フロー設定情報と、前記工程フロー設定情報中の前記プログラムブロックを実行する制御機器についての情報を含むプログラムブロック設定情報と、前記プログラムブロック間での変数の転送条件を、制御機器に割りつくデバイスや変数を用いて規定した転送条件設定情報と、の内容を記憶手段に格納する条件設定工程と、
    転送条件を判定する制御機器(以下、転送条件判定機器という)と同じでない前記転送条件設定情報中の変数が割りつく制御機器の前記変数を、前記制御システム管理情報中の制御システムの接続構成を参照して、前記転送条件判定機器に出力する変数出力プログラムを生成する変数出力プログラム生成工程と、
    前記転送条件設定情報と前記変数出力プログラムとに基づいて、転送条件が成立したか否かを判定する条件判定プログラムを生成する条件判定プログラム生成工程と、
    前記条件判定プログラムの条件成立時に、前記工程フロー設定情報と前記プログラムブロック設定情報とに基づいて変数を、前記プログラムブロックに対応する制御機器間で転送する転送プログラムを生成する転送プログラム生成工程と、
    を含むことを特徴とする制御システム開発支援方法。
  8. 前記制御システム管理情報は、前記制御システム全体で使用されるグローバル変数と、前記制御システムを構成する各制御機器で使用されるデバイス名またはローカル変数とを関連付けた制御システム内変数管理情報をさらに含み、
    前記条件判定プログラム生成工程では、前記制御システム内変数管理情報を参照して、前記転送条件設定情報に含まれるグローバル変数を対応する制御機器のデバイス名またはローカル変数に変換し、前記条件判定プログラムを生成することを特徴とする請求項7に記載の制御システム開発支援方法。
  9. 前記工程フロー設定情報には、前記条件判定プログラムの条件成立時に常にデータ転送を行う通常転送と、前記条件が成立した瞬間の変数のみを転送するパルス転送とのいずれかのデータ転送種類がさらに設定され、
    前記転送プログラム生成工程では、前記工程フロー設定情報に設定されたデータ転送種類に応じた前記転送プログラムを生成することを特徴とする請求項7または8に記載の制御システム開発支援方法。
  10. 前記転送条件設定情報は、1つの出力元から1つの入力先に対して変数を転送する場合の転送条件であることを特徴とする請求項7〜9のいずれか1つに記載の制御システム開発支援方法。
  11. 前記転送条件設定情報は、複数の出力元から1つの入力先に対して変数を転送する場合に、各出力元から前記入力先へ変数を転送する条件と、各条件間の優先順位と、を含み、
    前記条件判定プログラム生成工程では、前記転送条件設定情報に基づいて前記複数の出力元の内1つの出力元から前記1つの入力先への変数の転送が実行される条件判定プログラムを生成することを特徴とする請求項7〜9のいずれか1つに記載の制御システム開発支援方法。
  12. 前記転送条件設定情報は、1つの出力元から複数の入力先に対して変数を転送する場合に、前記出力元から前記各入力先へ変数を転送する条件と、各条件間の優先順位と、を含み、
    前記条件判定プログラム生成工程では、前記転送条件設定情報に基づいて前記1つの出力元から前記複数の入力先の内1つの入力先への変数の転送が実行される条件判定プログラムを生成することを特徴とする請求項7〜9のいずれか1つに記載の制御システム開発支援方法。
  13. 請求項7〜12のいずれか1つに記載の制御システム開発支援方法をコンピュータに実行させるプログラム。
JP2007075374A 2007-03-22 2007-03-22 制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム Expired - Fee Related JP4672695B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007075374A JP4672695B2 (ja) 2007-03-22 2007-03-22 制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007075374A JP4672695B2 (ja) 2007-03-22 2007-03-22 制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム

Publications (2)

Publication Number Publication Date
JP2008234469A JP2008234469A (ja) 2008-10-02
JP4672695B2 true JP4672695B2 (ja) 2011-04-20

Family

ID=39907148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007075374A Expired - Fee Related JP4672695B2 (ja) 2007-03-22 2007-03-22 制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム

Country Status (1)

Country Link
JP (1) JP4672695B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CL2008003785A1 (es) * 2007-12-21 2009-10-09 Du Pont Compuestos derivados de piridazina; composiciones herbicidas que comprenden a dichos compuestos; y método para controlar el crecimiento de la vegetación indeseada.
JP5279619B2 (ja) * 2009-06-03 2013-09-04 三菱電機株式会社 制御プログラム開発支援装置、制御プログラム開発支援方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190409A (ja) * 1995-01-10 1996-07-23 Yaskawa Electric Corp 生産ラインにおけるトラッキング制御方法
JPH09282153A (ja) * 1996-04-18 1997-10-31 Hitachi Ltd 画面・帳票、データベース、プロトコル作成システム
JP2000276508A (ja) * 1999-03-26 2000-10-06 Omron Corp ツール装置及びネットワークシステム構築方法並びに記録媒体
JP2005215936A (ja) * 2004-01-29 2005-08-11 Keyence Corp 制御機器のリンク設定装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190409A (ja) * 1995-01-10 1996-07-23 Yaskawa Electric Corp 生産ラインにおけるトラッキング制御方法
JPH09282153A (ja) * 1996-04-18 1997-10-31 Hitachi Ltd 画面・帳票、データベース、プロトコル作成システム
JP2000276508A (ja) * 1999-03-26 2000-10-06 Omron Corp ツール装置及びネットワークシステム構築方法並びに記録媒体
JP2005215936A (ja) * 2004-01-29 2005-08-11 Keyence Corp 制御機器のリンク設定装置

Also Published As

Publication number Publication date
JP2008234469A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
JP5980320B2 (ja) マルチテナント共同レビューサービス
JP5941541B2 (ja) モバイル・アプリケーション開発のためのシステムおよび方法
US8296721B2 (en) Template-based software development
US7886284B2 (en) Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems
US20020053070A1 (en) Application development system and method
CN106062711A (zh) 复合控件
US20130117710A1 (en) System and Method of Viewing Updating for Planning Item Assemblies
US20080208554A1 (en) Simulator development system and simulator development method
US20150143267A1 (en) SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
JP4672695B2 (ja) 制御システム開発支援装置、制御システム開発支援方法およびその方法をコンピュータに実行させるプログラム
WO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
US11922142B1 (en) Bi-directional design-to-code
US20090100341A1 (en) Iterative development of services from wsdl
JP2016009423A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP4905258B2 (ja) グラフィック情報生成装置
US20200013034A1 (en) Remote document generation
JP2004070810A (ja) ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体
JP7004930B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP6097231B2 (ja) プログラム生成装置および方法
JP2014228990A (ja) 制御プログラム作成装置および制御プログラム作成方法
JP5319643B2 (ja) ソフトウェアプロダクトライン開発支援装置およびその方法
JP2009020821A (ja) ワークフローにおける条件分岐定義方法の改善
US20220413688A1 (en) Seamless Content Presentation
JP4779164B2 (ja) ソフトウェア仕様書/設計書作成装置、そのプログラム及び方法
JP4904712B2 (ja) プログラム自動生成装置、方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090205

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110119

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees