(57)【特許請求の範囲】
【請求項１】
複数の機能ブロック及び当該機能ブロック間を結合するコネクタの組み合わせから成るロジックの入力を受付けるロジック受付部と、
前記ロジック内の前記機能ブロックに対する基準のパラメータであるマスタパラメータの入力を受付けるマスタパラメータ受付部と、
前記ロジック内の前記機能ブロックに対するパラメータであって、対応する前記マスタパラメータとは異なるパラメータであるインスタンスパラメータの入力を受付けるインスタンスパラメータ受付部と、
前記ロジック受付部により受付けられたロジック、及び、前記マスタパラメータ受付部により受付けられたマスタパラメータを、マスタとして記憶するマスタ記憶部と、
前記インスタンスパラメータ受付部により受付けられたインスタンスパラメータを、対応する前記マスタに紐付けたインスタンスとして記憶するインスタンス記憶部と
を備えた制御プログラム作成装置。
【請求項２】
前記マスタ記憶部及び前記インスタンス記憶部に記憶された情報に基づいて、前記マスタパラメータ及び前記インスタンスパラメータを表示及び編集するための表示編集画面を生成する画面生成部と、
前記画面生成部により生成された表示編集画面を表示する表示部と、
前記表示部により表示された表示編集画面に対して前記インスタンスパラメータの編集情報が入力された場合に、当該編集情報に基づいて、前記インスタンス記憶部の更新を行う更新部とを備えた
ことを特徴とする請求項１記載の制御プログラム作成装置。
【請求項３】
ロジック受付部は、複数の機能ブロック及び当該機能ブロック間を結合するコネクタの組み合わせから成るロジックの入力を受付け、
マスタパラメータ受付部は、前記ロジック内の前記機能ブロックに対する基準のパラメータであるマスタパラメータの入力を受付け、
インスタンスパラメータ受付部は、前記ロジック内の前記機能ブロックに対するパラメータであって、対応する前記マスタパラメータとは異なるパラメータであるインスタンスパラメータの入力を受付け、
マスタ記憶部は、前記ロジック受付部により受付けられたロジック、及び、前記マスタパラメータ受付部により受付けられたマスタパラメータを、マスタとして記憶し、
インスタンス記憶部は、前記インスタンスパラメータ受付部により受付けられたインスタンスパラメータを、対応する前記マスタに紐付けたインスタンスとして記憶する
ことを特徴とする制御プログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御プログラムを作成する制御プログラム作成装置及び制御プログラム作成方法に関するものである。
【背景技術】
【０００２】
従来から、基準階ベースで構築されるプラント又は建物等の制御システムにおける制御コントローラ用の制御プログラムは、制御プログラム作成装置を利用することで作成される。この制御プログラム作成装置は、ユーザから、プログラムロジック（以下、ロジックと称す）、及び当該ロジック内の後述する機能ブロックに対する調整パラメータ（以下、パラメータと称す）の入力を受付けることで、制御プログラムを作成する。ここで、ロジックは、制御アルゴリズムである複数の機能ブロックと、当該機能ブロック間を結合するコネクタとの組み合わせから成るものである。また、パラメータには名称及び設定値を示す情報が含まれている。また、制御プログラム作成装置は、描画エディタでロジックを図示することで、効率的な作業を実現している。この制御プログラム作成装置により作成された制御プログラムは、制御コントローラにダウンロードされる。
【０００３】
一方、制御システムでは、同一のロジックを有する制御プログラムを搭載した多数の制御コントローラが存在することが多い。そのため、これらの制御コントローラに対し、制御プログラム作成装置を用いて同一のロジックを繰り返し描画して制御プログラムを作成することは不合理である。また、ロジックの修正又は機能拡張が発生した場合に、変更作業を繰り返すことになり、煩雑である。
【０００４】
そこで、制御プログラムを、マスタと当該マスタに紐付けられたインスタンスとから成る構造で表現することで、同一のロジックを有する制御プログラムの作成を効率化したものが知られている（例えば特許文献１参照）。この特許文献１に開示された従来技術では、マスタにはロジックを持たせ、インスタンスには、ロジックは持たせず、紐付けたマスタが有するロジック内の機能ブロックに対するパラメータのみを持たせている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−９４４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、従来技術では、個々のインスタンスが、ロジック内の機能ブロックに対するパラメータを持っている。しかしながら、通常では、パラメータが同一であることが多く、個々のインスタンスで、重複するパラメータを多数持つことになるという課題がある。
【０００７】
そのため、パラメータの変更が発生した場合、マスタを共有する全てのインスタンスに対して、その変更を反映する必要があり、多数のデータに対する変更処理となるためパフォーマンスが出ずユーザ作業に悪影響を与えてしまう。また、全体の設計情報が大きくなるため、ファイルサイズが大きくなり、パラメータの検索及び保存を行う際にもパフォーマンスが出ない。また、ファイルサイズが大きくなるため、扱い難くなる。また、操作上も、パラメータが、個々のインスタンスで共有のものであるのか、インスタンス毎に独自に定義されたものであるのかをユーザが判別することが困難となる。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、重複するパラメータの保有を回避することができる制御プログラム作成装置及び制御プログラム作成方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
この発明に係る制御プログラム作成装置は、複数の機能ブロック及び当該機能ブロック間を結合するコネクタの組み合わせから成るロジックの入力を受付けるロジック受付部と、ロジック内の機能ブロックに対する基準のパラメータであるマスタパラメータの入力を受付けるマスタパラメータ受付部と、ロジック内の機能ブロックに対するパラメータであって、対応するマスタパラメータとは異なるパラメータであるインスタンスパラメータの入力を受付けるインスタンスパラメータ受付部と、ロジック受付部により受付けられたロジック、及び、マスタパラメータ受付部により受付けられたマスタパラメータを、マスタとして記憶するマスタ記憶部と、インスタンスパラメータ受付部により受付けられたインスタンスパラメータを、対応するマスタに紐付けたインスタンスとして記憶するインスタンス記憶部とを備えたものである。
【発明の効果】
【００１０】
この発明によれば、上記のように構成したので、重複するパラメータの保有を回避することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１に係る制御プログラム作成装置の構成例を示す図である。
【図２】この発明の実施の形態１に係る制御プログラム作成装置によるマスタ及びインスタンスの作成動作例を示すフローチャートである。
【図３】この発明の実施の形態１に係る制御プログラム作成装置により作成されるマスタ及びインスタンスを説明する図である。
【図４】この発明の実施の形態１に係る制御プログラム作成装置によるインスタンスの編集動作例を示すフローチャートである。
【図５】この発明の実施の形態１における表示部により表示される表示編集画面の一例を示す図である。
【図６】図６Ａ、図６Ｂは、図５に示す表示編集画面における［Ｉ］フィールドの表示及び編集仕様の一例を示す図であり、初期状態の表示仕様を示す図と、編集仕様を示す図である。
【図７】図５に示す表示編集画面における［設定］フィールドの表示及び編集仕様の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る制御プログラム作成装置１の構成例を示す図である。
制御プログラム作成装置１は、基準階ベースで構築されるプラント又は建物等の制御システムにおける制御コントローラ用の制御プログラムを作成するものである。以下では、制御プログラム作成装置１が有する機能のうち、マスタ２及びインスタンス３の作成及び編集に関する機能についてのみ説明を行う。この制御プログラム作成装置１は、マスタ２及びインスタンス３の作成及び編集に関する機能として、図１に示すように、ロジック受付部１０１、マスタパラメータ受付部１０２、インスタンスパラメータ受付部１０３、マスタ記憶部１０４、インスタンス記憶部１０５、画面生成部１０６、表示部１０７及び更新部１０８を備えている。なお、制御プログラム作成装置１は、システムＬＳＩ等の処理回路や、メモリ等に記憶されたプログラムを実行するＣＰＵ等により実現される。
【００１３】
ロジック受付部１０１は、ロジック２１の入力を受付けるものである。なお、ロジック２１は、複数の機能ブロック及び当該機能ブロック間を結合するコネクタの組み合わせから成るものである。また、ユーザは、マウス又はキーボード等の入力装置（不図示）を介して、ロジック受付部１０１に対し、機能ブロック及びコネクタを入力することでロジック２１の入力を行う。
【００１４】
マスタパラメータ受付部１０２は、上記ロジック２１内の機能ブロックに対する基準のパラメータであるマスタパラメータ２２の入力を受付けるものである。なお、マスタパラメータ２２には名称及び設定値を示す情報が含まれている。また、ユーザは、入力装置を介して、マスタパラメータ受付部１０２に対し、名称及び設定値を入力することでマスタパラメータ２２の入力を行う。
【００１５】
インスタンスパラメータ受付部１０３は、上記ロジック２１内の機能ブロックに対するパラメータであって、対応するマスタパラメータ２２とは異なるパラメータであるインスタンスパラメータ３１の入力を受付けるものである。なお、インスタンスパラメータ３１には名称及び設定値を示す情報のうちの少なくとも一方が含まれている。また、ユーザは、入力装置を介して、インスタンスパラメータ受付部１０３に対し、名称及び設定値のうちの少なくとも一方を入力することでインスタンスパラメータ３１の入力を行う。
【００１６】
マスタ記憶部１０４は、ロジック受付部１０１により受付けられたロジック２１、及び、マスタパラメータ受付部１０２により受付けられたマスタパラメータ２２を、マスタ２として記憶するものである。また、マスタ記憶部１０４に記憶されたマスタ２は、更新部１０８により更新される。
【００１７】
インスタンス記憶部１０５は、インスタンスパラメータ受付部１０３により受付けられたインスタンスパラメータ３１を、対応するマスタ２に紐付けたインスタンス３として記憶するものである。また、インスタンス記憶部１０５に記憶されたインスタンス３は、更新部１０８により更新される。
【００１８】
画面生成部１０６は、マスタ記憶部１０４に記憶されたマスタ２及びインスタンス記憶部１０５に記憶されたインスタンス３に基づいて、マスタパラメータ２２及びインスタンスパラメータ３１を表示及び編集するための表示編集画面１０６１を生成するものである。
【００１９】
表示部１０７は、画面生成部１０６により生成された表示編集画面１０６１をディスプレイ等の表示装置（不図示）に表示するものである。
【００２０】
更新部１０８は、表示部１０７により表示された表示編集画面１０６１に対してインスタンスパラメータ３１の編集情報が入力された場合に、当該編集情報に基づいて、インスタンス記憶部１０５の更新を行うものである。また、更新部１０８は、表示部１０７により表示された表示編集画面１０６１に対してマスタパラメータ２２の編集情報が入力された場合に、当該編集情報に基づいて、マスタ記憶部１０４の更新を行う。なお、ユーザは、入力装置を介して、表示部１０７により表示された表示編集画面１０６１に対して編集情報の入力を行う。
【００２１】
次に、実施の形態１に係る制御プログラム作成装置１の動作例について説明する。
まず、制御プログラム作成装置１によるマスタ２及びインスタンス３の作成動作例について図１〜３を参照しながら説明する。
【００２２】
制御プログラム作成装置１によるマスタ２及びインスタンス３の作成動作例では、図２に示すように、まず、ロジック受付部１０１は、ロジック２１の入力を受付ける（ステップＳＴ２０１）。この際、ユーザは、入力装置を介して、ロジック受付部１０１に対し、機能ブロック及びコネクタを入力することでロジック２１の入力を行う。
【００２３】
次いで、マスタパラメータ受付部１０２は、上記ロジック２１内の機能ブロックに対する基準のパラメータであるマスタパラメータ２２の入力を受付ける（ステップＳＴ２０２）。この際、ユーザは、入力装置を介して、マスタパラメータ受付部１０２に対し、名称及び設定値を入力することでマスタパラメータ２２の入力を行う。
【００２４】
次いで、インスタンスパラメータ受付部１０３は、上記ロジック２１内の機能ブロックに対するパラメータであって、対応するマスタパラメータ２２とは異なるパラメータであるインスタンスパラメータ３１の入力を受付ける（ステップＳＴ２０３）。この際、ユーザは、入力装置を介して、インスタンスパラメータ受付部１０３に対し、名称及び設定値のうちの少なくとも一方を入力することで、インスタンスパラメータ３１の入力を行う。      
【００２５】
次いで、マスタ記憶部１０４は、ロジック受付部１０１により受付けられたロジック２１、及び、マスタパラメータ受付部１０２により受付けられたマスタパラメータ２２を、マスタ２として記憶する（ステップＳＴ２０４）。
【００２６】
次いで、インスタンス記憶部１０５は、インスタンスパラメータ受付部１０３により受付けられたインスタンスパラメータ３１を、対応するマスタ２に紐付けたインスタンス３として記憶する（ステップＳＴ２０５）。
【００２７】
図３は、実施の形態１に係る制御プログラム作成装置１により作成されるマスタ２及びインスタンス３を説明する図である。
図３に示すように、実施の形態１におけるマスタ２は、ロジック２１と、当該ロジック２１内の機能ブロックに対する基準のパラメータであるマスタパラメータ２２とを有している。また、インスタンス３は、ロジック２１は持たず、上記ロジック２１内の機能ブロックに対するパラメータであって、対応するマスタパラメータ２２とは異なるパラメータであるインスタンスパラメータ３１を有している。なお、インスタンス３は、特定のマスタ２と紐付けられている。そして、制御プログラムは、マスタ２が有するロジック２１及びマスタパラメータ２２とインスタンス３が有するインスタンスパラメータ３１とを組合わせることで構成することができる。
【００２８】
このように、マスタ２がマスタパラメータ２２を持つことで、各インスタンス３で共通するパラメータはマスタ２で保持されることになり、重複するパラメータの保有を回避することができ、データ量を削減することができる。
【００２９】
次に、制御プログラム作成装置１によるインスタンス３の編集動作例について図１，４〜７を参照しながら説明する。
制御プログラム作成装置１によるインスタンス３の編集動作例では、図４に示すように、まず、画面生成部１０６は、マスタ記憶部１０４に記憶されたマスタ２及びインスタンス記憶部１０５に記憶されたインスタンス３に基づいて、マスタパラメータ２２及びインスタンスパラメータ３１を表示及び編集するための表示編集画面１０６１を生成する（ステップＳＴ４０１）。
【００３０】
次いで、表示部１０７は、画面生成部１０６により生成された表示編集画面１０６１を表示装置に表示する（ステップＳＴ４０２）。
【００３１】
次いで、更新部１０８は、表示部１０７により表示された表示編集画面１０６１に対してインスタンスパラメータ３１の編集情報が入力された場合に、当該編集情報に基づいて、インスタンス記憶部１０５の更新を行う（ステップＳＴ４０３）。この際、ユーザは、入力装置を介して、表示部１０７により表示された表示編集画面１０６１に対して編集情報の入力を行う。
なお上記では、制御プログラム作成装置１によるインスタンス３の編集動作例について説明したが、マスタ２の編集動作についても同様である。
【００３２】
図５は、実施の形態１における表示部１０７により表示される表示編集画面１０６１の一例を示す図である。
図５に示すように、表示編集画面１０６１には、ロジック２１内の指定された１つの機能ブロックに対するパラメータが表示されており、インスタンスパラメータ３１が定義されていなければマスタパラメータ２２が表示され、インスタンスパラメータ３１が定義されていればインスタンスパラメータ３１が表示される。図５の例では、表示編集画面１０６１に、ロジック２１内の指定された１つの機能ブロックを識別する記号、及び、当該機能ブロックの名称（ブロック名称）が示され、また、当該機能ブロックに対するパラメータを識別する記号、当該パラメータの名称（パラメータ名称）、及び、当該パラメータの設定値が示されている。また、パラメータ名称の欄には、インスタンスパラメータ３１の存在状態、及び、マスタパラメータ２２との差異の有無を示す［Ｉ］フィールドと、名称が記された［設定］フィールドとが示されている。また、設定値の欄には、インスタンスパラメータ３１の存在状態、及び、マスタパラメータ２２との差異の有無を示す［Ｉ］フィールドと、設定値が記された［設定］フィールドとが示されている。
【００３３】
また、図６は、図５に示す表示編集画面１０６１における［Ｉ］フィールドの表示及び編集仕様の一例を示す図であり、図７は、図５に示す表示編集画面１０６１における［設定］フィールドの表示及び編集仕様の一例を示す図である。
図５の例では、パラメータ（ＤＢ）に対しては、パラメータ名称の［Ｉ］フィールドはチェック（×印）無し且つ背景色は白である。そのため、図６，７より、名称のインスタンスパラメータ３１は存在せず、パラメータ名称の［設定］フィールドには、マスタパラメータ２２に含まれる名称「乾球温度」が記されていることが分かる。
一方、設定値の［Ｉ］フィールドはチェック有り且つ背景色がグレーである。そのため、図６，７より、設定値のインスタンスパラメータ３１が存在し、その値がマスタパラメータ２２と同値となっていることが分かる。また、設定値の［設定］フィールドには、インスタンスパラメータ３１に含まれる設定値「２４」が記され、ツールチップにはマスタパラメータ２２に含まれる設定値「２４」が記される。よって、この設定値のインスタンスパラメータ３１は重複するデータであり、削除対象であることが分かる。
【００３４】
また、パラメータ（ＲＨ）に対しては、パラメータ名称の［Ｉ］フィールドはチェック有り且つ背景色は白である。そのため、図６，７より、名称のインスタンスパラメータ３１が存在し、その名称がマスタパラメータ２２とは異なることが分かる。また、パラメータ名称の［設定］フィールドには、インスタンスパラメータ３１に含まれる名称「相対湿度」が記され、ツールチップにはマスタパラメータ２２に含まれる名称が記される。
一方、設定値の［Ｉ］フィールドはチェック無し且つ背景色が白である。そのため、図６，７より、設定値のインスタンスパラメータ３１は存在せず、設定値の［設定］フィールドには、マスタパラメータ２２に含まれる設定値「８０」が記されていることが分かる。
【００３５】
このように、ユーザは、表示編集画面１０６１を参照することで、機能ブロックに対して設定されたマスタパラメータ２２及びインスタンスパラメータ３１を確認することができる。また、ユーザは、表示編集画面１０６１の［Ｉ］フィールドにチェックが有る場合に、当該チェックを外すことで、その項目（名称又は設定値）のインスタンスパラメータ３１を削除することができる。また、ユーザは、表示編集画面１０６１の［Ｉ］フィールドにチェックが有る項目に対して、インスタンスパラメータ３１の編集を行うことができる。また、ユーザは、表示編集画面１０６１の［Ｉ］フィールドにチェックが無い項目に対して、マスタパラメータ２２の編集を行うことができる。その後、ユーザは、［ＯＫ］ボタンを押すことで、表示編集画面１０６１に対する編集を確定する。その後、更新部１０８により、確定された編集情報に基づいて、該当するマスタ２又はインスタンス３の更新が行われる。一方、ユーザは、表示編集画面１０６１に対する編集をキャンセルしたい場合には、［キャンセル］ボタンを押す。
【００３６】
以上のように、この実施の形態１によれば、複数の機能ブロック及び当該機能ブロック間を結合するコネクタの組み合わせから成るロジック２１の入力を受付けるロジック受付部１０１と、ロジック２１内の機能ブロックに対する基準のパラメータであるマスタパラメータ２２の入力を受付けるマスタパラメータ受付部１０２と、ロジック２１内の機能ブロックに対するパラメータであって、対応するマスタパラメータ２２とは異なるパラメータであるインスタンスパラメータ３１の入力を受付けるインスタンスパラメータ受付部１０３と、ロジック受付部１０１により受付けられたロジック２１、及び、マスタパラメータ受付部１０２により受付けられたマスタパラメータ２２を、マスタ２として記憶するマスタ記憶部１０４と、インスタンスパラメータ受付部１０３により受付けられたインスタンスパラメータ３１を、対応するマスタ２に紐付けたインスタンス３として記憶するインスタンス記憶部１０５とを備えたので、重複するパラメータの保有を回避することができる。
【００３７】
よって、実施の形態１に係る制御プログラム作成装置１は、パラメータの変更が発生した場合でも、従来技術とは異なり、マスタ２を共有する全てのインスタンス３に対して、その変更を反映する必要はなくなり、多数のデータに対する変更処理を回避できるため、パフォーマンスを出すことができる。また、全体の設計情報を小さくできるため、ファイルサイズを小さくでき、パラメータの検索及び保存を行う際にもパフォーマンスを出すことができる。また、ファイルサイズを小さくできるため、扱い易くなる。また、操作上も、パラメータが、個々のインスタンス３で共有のものであるのか、インスタンス３毎に独自に定義されたものであるのかをユーザが判別することが容易となる。
【００３８】
また、実施の形態１では、マスタ記憶部１０４及びインスタンス記憶部１０５に記憶された情報に基づいて、マスタパラメータ２２及びインスタンスパラメータ３１を表示及び編集するための表示編集画面１０６１を生成する画面生成部１０６と、画面生成部１０６により生成された表示編集画面１０６１を表示する表示部１０７と、表示部１０７により表示された表示編集画面１０６１に対してインスタンスパラメータ３１の編集情報が入力された場合に、当該編集情報に基づいて、インスタンス記憶部１０５の更新を行う更新部１０８とを備えたので、インスタンス３のメンテナンスが容易となる。
【００３９】
なお上記では、マスタ２に含まれるロジック２１の編集については言及していないが、従来技術と同様に、既存のロジック２１の更新や、新規のロジック２１の追加（マスタ２の分割）は可能である。
【００４０】
また、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００４１】
１  制御プログラム作成装置
２  マスタ
３  インスタンス
２１  ロジック
２２  マスタパラメータ
３１  インスタンスパラメータ
１０１  ロジック受付部
１０２  マスタパラメータ受付部
１０３  インスタンスパラメータ受付部
１０４  マスタ記憶部
１０５  インスタンス記憶部
１０６  画面生成部
１０７  表示部
１０８  更新部
１０６１  表示編集画面
【図１】
0006685169.tif 000002
【図２】
0006685169.tif 000003
【図３】
0006685169.tif 000004
【図４】
0006685169.tif 000005
【図５】
0006685169.tif 000006
【図６】
0006685169.tif 000007
【図７】
0006685169.tif 000008