(57)【要約】  制御装置が実行するプログラムを作成する工数を抑制することを目的とする。  プログラム作成装置（１２）は、ラベル管理部（３１）と、数式管理部（３２）と、プログラム作成部（３４）とを含む。ラベル管理部（３１）は、機器を制御する制御装置が実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理する。数式管理部（３２）は、制御装置が実行する計算プログラムに使用される数式を管理する。プログラム作成部（３４）は、数式管理部が管理する数式を選択し、選択した数式で使用する変数ラベルをラベル管理部が管理する変数ラベルから選択し、選択した数式及び変数ラベルに基づいて計算プログラムを作成する。
2017168564.tif 000002
【特許請求の範囲】
【請求項１】
機器を制御する制御装置が実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理するラベル管理部と、  前記制御装置が実行する計算プログラムに使用される数式を管理する数式管理部と、  前記数式管理部が管理する数式を選択し、選択した前記数式で使用する変数ラベルを前記ラベル管理部が管理する変数ラベルから選択し、選択した前記数式及び前記変数ラベルに基づいて前記計算プログラムを作成するプログラム作成部と、  を含むことを特徴とする、プログラム作成装置。
【請求項２】
前記ラベル管理部は、  前記機器の構成に応じて、前記機器の名前と前記制御プログラムの入出力変数に対応する前記変数ラベルのリストとを組み合わせたラベルリストを作成することを特徴とする、請求項１に記載のプログラム作成装置。
【請求項３】
機器の名前と、前記機器を制御する制御装置が実行する制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせたラベルリストを、前記機器の構成に応じて作成して表示装置に表示させるラベル管理部と、  前記制御装置が実行する計算プログラムに使用される数式を含む数式のリストを、前記表示装置に表示させる数式管理部と、  前記数式のリストから選択された数式、及び前記ラベルリストから選択された、前記数式で使用される変数に対応した前記変数ラベルに基づいて、前記計算プログラムを作成するプログラム作成部と、  を含むことを特徴とする、プログラム作成装置。
【請求項４】
入力に応じて前記数式を作成又は編集する数式作成部を有し、  前記数式管理部は、前記数式作成部が作成又は編集した前記数式を、前記数式のリストに追加することを特徴とする、請求項１から請求項３のいずれか１項に記載のプログラム作成装置。
【請求項５】
前記ラベル管理部は、  複数の前記変数ラベルをフィルタリングして表示させること、及び複数の前記変数ラベルをソートして表示させることのうち少なくとも一方を実行することを特徴とする、請求項１から請求項４のいずれか１項に記載のプログラム作成装置。
【請求項６】
前記プログラム作成部によって作成された前記計算プログラムには、前記プログラム作成部によって作成されたことを示す識別子が付され、  前記制御プログラムを生成する際に、前記識別子が付された前記計算プログラムを削除するプログラム出力部を有することを特徴とする、請求項１から請求項５のいずれか１項に記載のプログラム作成装置。
【請求項７】
前記計算プログラムの生成に用いられた前記変数ラベルと、前記数式と、前記機器の構成とが応付けられたテンプレートを記憶する記憶部を有することを特徴とする、請求項１から請求項６のいずれか１項に記載のプログラム作成装置。
【請求項８】
前記ラベル管理部は、  前記プログラム作成部によって作成された前記計算プログラムに用いられた前記変数ラベルを、前記制御装置を介して前記機器を制御する監視制御装置へ送信するか否かを示す通信属性を、前記変数ラベルに付与することを特徴とする、請求項１から請求項７のいずれか１項に記載のプログラム作成装置。
【請求項９】
前記数式を含むリストを記憶する記憶部を有し、  前記数式のリストは、前記数式で使用される前記変数ラベルを選択するための情報を含むことを特徴とする、請求項１から請求項８のいずれか１項に記載のプログラム作成装置。
【請求項１０】
機器を制御する制御装置が実行する計算プログラムに使用される数式を構成する数式を含む数式のリストを表示する工程と、  前記機器の名前と、前記機器を制御する制御装置が実行する制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせたラベルリストを、前記機器の構成に応じて作成して表示する工程と、  前記数式のリストから選択された前記数式、及び前記ラベルリストから選択された、前記数式で使用される変数に対応した前記変数ラベルに基づいて、前記計算プログラムを作成する工程と、  を含むことを特徴とする、プログラム作成方法。
【請求項１１】
請求項１０に記載のプログラム作成方法をコンピュータに実行させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、工場及び各種の社会インフラ設備で用いられる機器を制御する制御装置が実行するプログラムを作成するためのプログラム作成装置、プログラム作成方法及びプログラムに関する。
【背景技術】
【０００２】  工場及び各種の社会インフラ設備で用いられる機器に動作指示を送る制御プログラムは、機器を制御する制御装置内で実行される。制御システムが多くの機器から構成される場合、制御プログラムが作成されるにあたっては、ユーザが多数の入出力変数のラベル、すなわち入出力変数のデータの項目に付される文字列の中から必要とするラベルを探し、そのラベルから所望のデータを計算するプログラムを手作業で作成するため、多くの手間を要していた。【０００３】  プログラムを手作業で作成する手間を軽減する技術として、特許文献１には、物理データを使用して演算／シーケンス処理した定数・変数・関数・履歴データ・平均値等の論理データにタグを割り付け、物理タグと同様の取扱いで、計装シーケンサ等に組み込まれるデシジョンテーブルやプロダクションルールの記述（プログラミング）に利用できるようにする監視制御システムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２７２３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】  特許文献１に記載されている技術は、論理データに割り付けられる論理タグをユーザが定義する必要がある。このため、プログラムを作成する工数の増加を招くことがある。【０００６】  本発明は、上記に鑑みてなされたものであって、制御装置が実行するプログラムを作成する工数を抑制することを目的とする。
【課題を解決するための手段】
【０００７】  上述した課題を解決し、目的を達成するために、本発明に係るプログラム作成装置は、ラベル管理部と、数式管理部と、プログラム作成部とを含む。ラベル管理部は、機器を制御する制御装置が実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理する。数式管理部は、制御装置が実行する計算プログラムに使用される数式を管理する。プログラム作成部は、数式管理部が管理する数式を選択し、選択した数式で使用する変数ラベルをラベル管理部が管理する変数ラベルから選択し、選択した数式及び変数ラベルに基づいて計算プログラムを作成する。
【発明の効果】
【０００８】  本発明に係るプログラム作成装置は、制御装置が実行するプログラムを作成する工数を抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るプログラム作成装置によって作成された制御プログラムが適用される制御システムの一例を示す図
【図２】実施の形態１に係るプログラム作成装置の機能ブロック図
【図３】実施の形態１に係るプログラム作成装置のハードウェア構成を示す図
【図４】実施の形態１に係るプログラム作成装置のハードウェア構成を示す図
【図５】実施の形態１に係るプログラム作成装置のメモリが記憶するライブラリを示す図
【図６】実施の形態１に係るプログラム作成装置が表示装置に表示する画面の一例を示す図
【図７】実施の形態１に係るプログラム作成装置が表示装置に表示する画面の一例を示す図
【図８】実施の形態１に係るプログラム作成装置によって作成された計算プログラム及び計算結果ラベルを示す図
【図９】実施の形態１に係る数式フレームリストを示す図
【図１０】実施の形態１に係る計算プログラム設定データのデータ構成を示す図
【図１１】実施の形態１に係るプログラム作成装置が制御プログラムを作成する処理の一例を示すフローチャート
【図１２】実施の形態２に係るプログラム作成装置の機能ブロック図
【図１３】実施の形態２に係る数式フレームリストを示す図
【図１４】実施の形態３に係るラベルリストを示す図
【図１５】実施の形態３に係るラベルリストをフィルタリングしたラベルリストを示す図
【図１６】実施の形態３に係るラベルリストをフィルタリングしたラベルリストを示す図
【図１７】実施の形態３に係るラベルリストをソートしたラベルリストを示す図
【図１８】実施の形態３に係るラベルリストをソートしたラベルリストを示す図
【図１９】実施の形態４に係る制御プログラムを示す図
【図２０】実施の形態４において、プログラム作成装置が実行する処理の手順を示すフローチャート
【図２１】実施の形態５に係る不揮発性記憶装置に記憶されている適用元プロジェクトデータ、適用先プロジェクトデータ及びライブラリを示すブロック図
【図２２】実施の形態６に係るラベルリストを示す図
【図２３】実施の形態７に係る数式フレームリスト及び計算プログラム設定データを示す図
【発明を実施するための形態】
【００１０】  以下に、本発明の実施の形態に係るプログラム作成装置、プログラム作成方法及びプログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】実施の形態１．  図１は、実施の形態１に係るプログラム作成装置によって作成された制御プログラムが適用される制御システム１の一例を示す図である。実施の形態１に係る制御システム１は、ＳＣＡＤＡ（Supervisory  Control  And  Data  Acquisition）と呼ばれる監視制御システムである。監視制御システムは、産業制御システムの一種であり、コンピュータによるシステム監視とプロセス制御とを行う。監視制御システムの対象は、工場の生産工程及び各種のインフラ設備に関するものである。制御システム１は、監視制御システムに限定されるものではない。
【００１２】  制御システム１は、工場及び各種のインフラ設備において、これらを構成する機器１４を制御するために用いられる。制御システム１は、監視制御装置１１、プログラム作成装置１２、制御装置１３、機器１４及び通信回線１５を含む。監視制御装置１１は、制御装置１３を介して機器１４を制御するとともに、制御装置１３から機器１４の状態に関する情報を取得して、機器１４を監視する。
【００１３】  プログラム作成装置１２は、制御装置１３が機器１４を制御するために実行するコンピュータプログラムを作成する。実施の形態１において、監視制御装置１１及びプログラム作成装置１２は、パーソナルコンピュータのような汎用のコンピュータである。実施の形態１において、監視制御装置１１及びプログラム作成装置１２はそれぞれ別個のコンピュータであるが、両者は同一のコンピュータで実現されてもよい。すなわち、１台のコンピュータが、監視制御装置１１及びプログラム作成装置１２を実現してもよい。
【００１４】  実施の形態１において、制御装置１３は、プログラマブルコントローラ（Programmable  Logic  Controllers（ＰＬＣ））である。プログラマブルコントローラは、ＪＩＳ（日本工業規格）  Ｂ  ３５０２：２０１１により規定されたものである。制御装置１３は、機器１４を制御する装置であればよく、プログラマブルコントローラに限定されるものではない。
【００１５】  制御装置１３は、通信回線１５を介して機器１４と接続されている。実施の形態１において、制御装置１３は、プログラム作成装置１２によって作成されたプログラムを実行することにより、機器１４を制御する。機器１４は、工場の生産工程及び各種のインフラ設備を構成する機器である。機器１４としては、工作機械、組立装置、搬送装置、仕分装置、室外機、室内機、ポンプ、バルブ及びファンが例示されるが、これらに限定されるものではない。実施の形態１において、１台の制御装置１３が複数の機器１４を制御するが、これに限定されない。１台の制御装置１３が１台の機器１４を制御してもよい。この場合、制御装置１３と機器１４とがそれぞれ１台のみであってもよいし、制御装置１３と機器１４とがそれぞれ複数かつ同数であってもよい。
【００１６】  図２は、実施の形態１に係るプログラム作成装置１２の機能ブロック図である。プログラム作成装置１２は、ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５を含む。プログラム作成装置１２は、さらに表示部３７及び入力部３８を含む。ラベル管理部３１は、機器１４を制御する制御装置１３が機器１４を制御するために実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理する。より詳細には、ラベル管理部３１は、工場又は各種のインフラ設備を構成する機器１４の構成に応じて、機器１４の名前と制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせた入出力ラベルリストを作成する。
【００１７】  入出力変数は、機器１４の種類によって異なるが、機器１４がポンプである場合、駆動馬力、消費電力及び吐出量が例示され、機器１４がバルブである場合、バルブ開度指令及びバルブ開度が例示され、機器１４がファンである場合、回転速度指令が例示され、機器１４が電動機である場合、トルク指令及び回転速度指令が例示される。入出力変数はこれらに限定されるものではない。ラベル管理部３１は、作成した入出力ラベルリストを、表示部３７に表示させる。
【００１８】  実施の形態１において、制御プログラムの入出力変数とは、制御プログラムに与えられる変数と、制御プログラムによる演算又は計算により制御プログラムから出力される変数との両方を含む。変数ラベルとは、入出力変数を区別するために、入出力変数のデータの項目に付される文字列である。
【００１９】  数式管理部３２は、制御装置１３が実行する計算プログラムに使用される数式を構成する数式フレームを管理する。より詳細には、数式管理部３２は、複数の数式を含む数式のリストを表示部３７に表示させる。数式のリストに含まれる数式は、制御装置１３が実行する制御プログラムの入出力変数を、制御装置１３が計算処理する際に用いられる。実施の形態１において、数式は、数式フレームを含む。実施の形態１において、数式フレームとは、演算子、関数名及び計算で使用する変数を用いて記述された数式である。以下において、数式のリストを、適宜数式フレームリストと称する。
【００２０】  設定部３３は、入力部３８を介して入力された指令に基づいて、変数ラベル及び数式を選択する。入力部３８は、プログラム作成装置１２へ指令及びデータを入力するための装置である。
【００２１】  プログラム作成部３４は、変数ラベル及び数式の選択情報を元に、制御装置１３が実行する計算プログラムを作成する。詳細には、プログラム作成部３４は、数式管理部３２が管理する数式を選択し、選択した数式で使用する変数ラベルをラベル管理部３１が管理する変数ラベルから選択し、選択した数式及び変数ラベルに基づいて計算プログラムを作成する。また、プログラム作成部３４は、制御装置１３が機器１４を制御する際に実行する制御プログラムを作成する。
【００２２】  選択情報は、プログラム作成装置１２のユーザが、複数の変数ラベル及び複数の数式から、どの変数ラベル及び数式を選択したかを示す情報である。ラベル管理部３１が作成したラベルリスト及び数式管理部３２が作成した数式フレームリストから、ユーザが変数ラベル及び数式を選択すると、選択情報が生成される。
【００２３】  プログラム出力部３５は、作成した計算プログラムを、制御装置１３の制御プログラムに出力する。詳細には、プログラム出力部３５は、作成した計算プログラムを、プログラム作成装置１２の記憶部に制御装置１３の制御プログラムの一部として記憶させる。
【００２４】  図３及び図４は、実施の形態１に係るプログラム作成装置１２のハードウェア構成を示す図である。プログラム作成装置１２は、表示部３７である表示装置２１、入力部３８である入力装置２２、プロセッサ２３及びメモリ２４を含む。表示装置２１は、情報を表示する装置であり、液晶ディスプレイが例示されるがこれに限定されるものではない。入力装置２２は、プログラム作成装置１２に指令及びデータを入力する装置である。キーボード、マウス、ポインティングデバイス及びタッチパネルが例示されるが、これらに限定されるものではない。
【００２５】  プログラム作成装置１２が有するラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の機能は、プロセッサ２３によって実現される。プロセッサ２３は、ＣＰＵ（Central  Processing  Unit：中央処理装置）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）ともいう。
【００２６】  この場合、ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組合せにより実現される。ソフトウェア及びファームウェアはプログラムとして記述され、メモリ２４に記憶される。プロセッサ２３は、メモリ２４に記憶されたプログラムを読み出して実行することにより、ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の機能を実現する。
【００２７】  これらのプログラムは、ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５が実行する手順及び実施の形態１に係るプログラム作成方法をコンピュータに実行させるものであるともいえる。
【００２８】  メモリ２４は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、及びＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）といった揮発性又は不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、及びＤＶＤ（Digital  Versatile  Disc）が該当する。
【００２９】  実施の形態１において、メモリ２４は、ＲＡＭのような揮発性記憶装置２４Ｖと、ＲＯＭのような不揮発性記憶装置２４ＵＶとを有する。不揮発性記憶装置２４ＵＶには、ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の機能を実現するためのプログラムと、制御プログラム及び計算プログラムの作成時に用いられる設定データとが記憶される。プロセッサ２３が処理を実行する際のワークメモリとして、揮発性記憶装置２４Ｖが適宜使用される。
【００３０】  プログラム作成装置１２が有するラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の機能は、専用のハードウェアである処理回路２５によって実現されてもよい。この場合、処理回路２５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、又はこれらを組み合わせたものが該当する。ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５のそれぞれの機能を異なる処理回路２５が実現してもよいし、それぞれの機能をまとめて１つの処理回路２５が実現してもよい。
【００３１】  ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の各機能は、一部が専用のハードウェアで実現され、一部がソフトウェア又はファームウェアで実現されてもよい。このように、プログラム作成装置１２は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組合せによって、ラベル管理部３１、数式管理部３２、設定部３３、プログラム作成部３４及びプログラム出力部３５の各機能を実現することができる。監視制御装置１１のハードウェア構成は、プログラム作成装置１２と同様である。
【００３２】  図５は、実施の形態１に係るプログラム作成装置１２のメモリ２４が記憶するライブラリ４１を示す図である。図６及び図７は、実施の形態１に係るプログラム作成装置１２が表示装置２１に表示する画面の一例を示す図である。図８は、実施の形態１に係るプログラム作成装置１２によって作成された計算プログラム４８及び計算結果ラベル４９を示す図である。
【００３３】  メモリ２４の不揮発性記憶装置２４ＵＶ内に記憶されるライブラリ４１は、制御プログラム４２及び入出力ラベルリスト４３を含む。制御プログラム４２は、図１に示される制御装置１３が機器１４を制御する際に実行するプログラムである。入出力ラベルリスト４３は、制御プログラム４２の入出力変数に対応する変数ラベルＬＶのリストである。実施の形態１において、変数ラベルＬＶは、入出力ラベルリスト４３に含まれる、Ｓｔａｔｕｓ，Ｐｏｗｅｒといった文字列である。実施の形態１において、％１で表される入出力変数は機器１４の運転状態であり、％２で表される入出力変数は機器１４の消費電力を示す。入出力ラベルリスト４３は、変数ラベルＬＶと入出力変数とを対応付けて格納さする。入出力ラベルリスト４３は、１以上の変数ラベル及び入出力変数を含む。
【００３４】  実施の形態１においては、複数の機器１４を制御するための制御プログラム４２Ｐ，４２Ｖ及び複数の機器１４の入出力ラベルリスト４３Ｐ，４３Ｖがライブラリ４１に含まれている。図５に示される例では、ポンプ（Ｐｕｍｐ）の制御プログラム４２Ｐと、バルブ（Ｖａｌｖｅ）の制御プログラム４２Ｖとがライブラリ４１に含まれる。これらを区別しない場合、制御プログラム４２と称する。制御プログラム４２は、機器１４毎に用意される。同じ種別の機器１４は、同じ制御プログラム４２によって制御される。このように、制御プログラム４２は、同じ種別の機器１４に対して汎用性を有する。以下において、制御プログラム４２を、適宜、汎用制御プログラム４２と称する。
【００３５】  図５に示される例では、ポンプ（Ｐｕｍｐ）の入出力ラベルリスト４３Ｐと、バルブ（Ｖａｌｖｅ）の入出力ラベルリスト４３Ｖとがライブラリ４１に含まれる。これらを区別しない場合、入出力ラベルリスト４３と称する。入出力ラベルリスト４３は、機器１４毎に用意される。同じ種別の機器１４は、同じ入出力ラベルリスト４３が適用される。このように、入出力ラベルリスト４３は、同じ種別の機器１４に対して汎用性を有する。以下において、入出力ラベルリスト４３を、適宜、汎用入出力ラベルリスト４３と称する。
【００３６】  プログラム作成装置１２がプログラムを作成する場合、プログラム作成装置１２のプロセッサ２３は、図６に示される機器構成設定画面２１ＭＳを表示装置２１に表示させる。ユーザは、機器構成設定画面２１ＭＳが表示装置２１に表示された状態で入力装置２２を操作し、機器構成設定画面２１ＭＳの入力可能な領域に機器種別ＭＳ及び機器名ＭＮを入力することにより、機器構成４４を設定する。機器構成４４は、図１に示される制御システム１に含まれる機器１４の一覧であり、機器種別ＭＳと機器１４の名前、すなわち機器名ＭＮとの組合せで表される。機器名ＭＮは、同一種類の機器１４が複数存在する場合、それぞれの機器１４を区別するためのものである。機器構成４４が設定されたら、プロセッサ２３は、設定された機器構成４４を、メモリ２４の揮発性記憶装置２４Ｖの記憶領域に一時的に記憶させる。
【００３７】  プロセッサ２３は、図７に示される計算プログラム設定画面２１ＰＳを表示装置２１に表示させる。計算プログラム設定画面２１ＰＳは、計算名４５と、ラベルリスト４６と、数式リスト４７とを含む。計算名４５は、ユーザによってプログラム作成装置１２に入力される文字列であり、プログラム作成装置１２が作成する計算プログラムの出力データ名となる。ラベルリスト４６は、制御システム１に含まれる機器１４の機器名ＭＮと、機器名ＭＮに対応する変数ラベルＬＶとの関係が記述されたリストである。
【００３８】  ラベル管理部３１は、機器名ＭＮと、機器１４を制御する制御装置１３が実行する汎用制御プログラム４２の入出力変数に対応する変数ラベルＬＶのリスト、すなわち汎用入出力ラベルリスト４３とを機器構成４４に応じて組み合わせることにより、ラベルリスト４６を作成する。このとき、ラベル管理部３１は、揮発性記憶装置２４Ｖから機器構成４４を読み出し、機器構成４４の機器名ＭＮに対応する機器種別ＭＳの汎用入出力ラベルリスト４３を、ライブラリ４１から取得する。そしてラベル管理部３１は、取得した汎用入出力ラベルリスト４３とこれに対応する機器名ＭＮとを組み合わせる。ラベル管理部３１は、機器構成４４に含まれるすべての機器名ＭＮに対して汎用入出力ラベルリスト４３をライブラリ４１から取得して組み合わせて一覧を作成することにより、ラベルリスト４６を作成する。ラベル管理部３１は、作成したラベルリスト４６を、表示装置２１に表示させる。
【００３９】  数式リスト４７は、制御装置１３が実行する計算プログラムに使用される数式のリストである。数式リスト４７は、数式名ＥＮと数式ＥＸＰとが対応付けられたリストである。数式リスト４７は、メモリ２４の不揮発性記憶装置２４ＵＶに記憶されている。前述したように、数式ＥＸＰは、数式フレーム、すなわち演算子、関数名及び計算で使用される変数を含む数式であってもよい。数式ＥＸＰは、算術計算が記述されたものであってもよいし、論理計算が記述されたものであってもよい。
【００４０】  ユーザは、計算プログラム設定画面２１ＰＳに表示された数式リスト４７に含まれる数式ＥＸＰを選択し、入力装置２２を介して選択した数式ＥＸＰを示す文字列をプログラム作成装置１２に入力する。設定部３３は、入力装置２２を介して入力された指令、すなわち数式ＥＸＰを選択する指令に基づいて数式ＥＸＰを選択する。
【００４１】  プログラム作成部３４は、制御プログラムＰＧＣを作成する。詳細には、プログラム作成部３４は、機器名ＭＮに対応する機器種別ＭＳの汎用制御プログラム４２をライブラリ４１から読み出して前述の機器名ＭＮを対応付ける。また、プログラム作成部３４は、機器名ＭＮに対応する汎用入出力ラベルリスト４３に前述の機器名ＭＮと対応付ける。このようにして、プログラム作成部３４は、汎用制御プログラム４２及び汎用入出力ラベルリスト４３を、個別の制御プログラム４２及び入出力ラベルリスト４３として識別できるようにする。また、プログラム作成部３４は、計算名４５と、変数ラベルＬＶ及び数式ＥＸＰの選択情報とに基づき、計算プログラム４８及び計算結果ラベル４９を作成する。計算結果ラベル４９は計算名４５、すなわち計算名４５を表す文字列である。
【００４２】  プログラム出力部３５は、機器名ＭＮと対応付けられた汎用制御プログラム４２及び汎用入出力ラベルリスト４３を制御プログラムＰＧＣに出力する。また、プログラム出力部３５は、プログラム作成部３４によって作成された計算プログラム４８及び計算結果ラベル４９を制御プログラムＰＧＣに出力する。このようにして、プログラム作成装置１２は、制御装置１３が制御システム１に含まれる機器１４を制御するための制御プログラムＰＧＣを作成する。制御プログラムＰＧＣの入出力変数は、汎用制御プログラム４２の入出力変数でもある。
【００４３】  図９は、実施の形態１に係る数式フレームリスト５０を示す図である。数式フレームリスト５０は、数式フレーム５２を含む。詳細には、数式フレームリスト５０は、数式名５１と数式フレーム５２との組合せを複数含むリストである。数式名５１がＥｘｐｒｅｓｓｉｏｎＡの文字列で表される数式フレーム５２は、演算子として加算の演算子＋、乗算の演算子＊を有し、関数として合計の関数Ｓｕｍを有し、計算で使用する変数として＄１，＄２，＄３，＄４を有する。数式名５１がＥｘｐｒｅｓｓｉｏｎＢの文字列で表される数式フレーム５２は、演算子として加算の演算子＋、乗算の演算子＊を有し、計算で使用する変数として＄１，＄２，＄３，＄４を有する。数式フレーム５２は、プログラム作成装置１２が有するメモリ２４の不揮発性記憶装置２４ＵＶに記憶される。計算で使用する変数を、以下においては適宜、数式変数と称する。実施の形態１において、数式フレームリスト５０は、数式ＥＸＰを含んでいてもよい。
【００４４】  図１０は、実施の形態１に係る計算プログラム設定データ６０のデータ構成を示す図である。計算プログラム設定データ６０は、計算名データ６１と、数式データ６２と、数式パラメータリスト６３とを有する。計算名データ６１は、ユーザによってプログラム作成装置１２に入力される計算名４５を示す情報である。数式データ６２は、ユーザによって選択された数式ＥＸＰ及び数式フレーム５２の少なくとも一方を含む情報である。数式パラメータリスト６３は、数式データ６２と、数式ＥＸＰで使用する変数及び変数ラベルＬＶの選択情報とを含む情報である。
【００４５】  数式パラメータリスト６３は、複数の入力を持つ関数を計算するため、１つの数式変数について複数の数式変数を選択することができるデータ形式、例えば、配列で構成される。図１０に示される例では、数式変数＄４については＄４［０］，＄４［１］，＄４［２］の３個が設定されている。
【００４６】  図１１は、実施の形態１に係るプログラム作成装置１２が制御プログラムを作成する処理の一例を示すフローチャートである。この処理は、実施の形態１に係るプログラム作成方法である。工程Ｓ１０１において、プログラム作成装置１２のプロセッサ２３は、図６に示される機器構成設定画面２１ＭＳを表示装置２１に表示させる。ユーザは、機器構成設定画面２１ＭＳが表示装置２１に表示された状態で入力装置２２を操作し、機器構成設定画面２１ＭＳの入力可能な領域に機器種別ＭＳ及び機器名ＭＮを入力することにより、図１に示される制御システム１に含まれる機器１４をプログラム作成装置１２に入力することにより、図６に示される機器構成４４を設定する。プログラム作成装置１２のプロセッサ２３は、この入力を受け付けて、設定された機器構成４４を、メモリ２４の揮発性記憶装置２４Ｖの記憶領域に一時的に記憶させる。
【００４７】  工程Ｓ１０２において、プロセッサ２３は、図７に示される計算プログラム設定画面２１ＰＳを表示装置２１に表示させる。ユーザは、入力装置２２により計算プログラム設定画面２１ＰＳの計算名４５に計算プログラムの出力データ名となる文字列を入力する。この入力を受け付けて、数式管理部３２は、図１０に示される計算プログラム設定データ６０の計算名データ６１の計算名４５に、入力された文字列を設定する。
【００４８】  工程Ｓ１０３において、数式管理部３２は、メモリ２４の不揮発性記憶装置２４ＵＶに記憶された数式フレームリスト５０を、計算プログラム設定画面２１ＰＳに表示させる。このとき、数式管理部３２は、数式リスト４７も計算プログラム設定画面２１ＰＳに表示させてもよい。数式フレームリスト５０が計算プログラム設定画面２１ＰＳに表示されると、ユーザは、計算プログラム４８が計算する数式フレーム５２及び数式ＥＸＰの少なくとも一方を、数式フレームリスト５０から選択する。数式リスト４７が計算プログラム設定画面２１ＰＳに表示されている場合、ユーザは、計算プログラム４８が計算する数式ＥＸＰを、数式リスト４７から選択してもよいし、選択した複数の数式を組み合わせて数式フレーム５２を作成してもよい。
【００４９】  数式フレーム５２及び数式ＥＸＰの少なくとも一方が選択されると、工程Ｓ１０４において、設定部３３は、計算プログラム設定データ６０の数式データ６２に、選択された数式フレーム５２及び数式ＥＸＰの少なくとも一方とその数式名５１とを設定する。数式ＥＸＰが選択された場合、設定部３３は、計算プログラム設定データ６０の数式データ６２に、選択された数式ＥＸＰとその数式名ＥＮとを設定する。
【００５０】  工程Ｓ１０５において、ラベル管理部３１は、設定された機器構成４４に応じて、機器名ＭＮと、汎用制御プログラム４２の入出力変数に対応する汎用入出力ラベルリスト４３とを組み合わせることにより、ラベルリスト４６を作成し、計算プログラム設定画面２１ＰＳに表示する。
【００５１】  ラベルリスト４６が表示されると、ユーザは、数式フレーム５２又は数式ＥＸＰで使用される数式変数として、ラベルリスト４６から変数ラベルＬＶを選択する。このとき、ユーザは、どの数式変数にどの変数ラベルＬＶを用いるか、すなわち数式変数と変数ラベルＬＶとの対応関係をプログラム作成装置１２に与える。工程Ｓ１０５は、工程Ｓ１０１と工程Ｓ１０２との間であってもよい。
【００５２】  工程Ｓ１０６において、設定部３３は、選択された変数ラベルＬＶを、数式変数に対応付けて数式パラメータリスト６３に設定する。工程Ｓ１０７において、プログラム作成部３４は、機器構成４４に従い、ライブラリ４１に記憶されている汎用制御プログラム４２及び汎用入出力ラベルリスト４３に対し、機器名ＭＮを与えて特定するか、又は機器名ＭＮに基づく唯一の名前を与えて特定する。
【００５３】  工程Ｓ１０８において、プログラム作成部３４は、計算プログラム設定データ６０の数式パラメータリスト６３に基づき、計算プログラム４８を作成する。計算プログラム４８は、特定された変数ラベルＬＶ、すなわち機器名ＭＮが与えられた変数ラベルＬＶを入力とし、計算名データ６１に設定された計算名４５の文字列の計算結果ラベル４９を出力とするプログラムである。数式データ６２に設定された数式フレーム５２及び数式ＥＸＰの数式変数に、数式パラメータリスト６３で対応付けられた変数ラベルＬＶが与えられたものが、計算プログラム４８となる。制御装置１３が計算プログラム４８を実行すると、機器名ＭＮが与えられた変数ラベルＬＶを数式変数として、数式データ６２に設定された数式フレーム５２及び数式ＥＸＰが計算される。この計算結果は、計算結果ラベル４９と対応付けられる。
【００５４】  工程Ｓ１０９において、プログラム出力部３５は、機器名ＭＮと対応付けられた汎用制御プログラム４２、汎用入出力ラベルリスト４３、作成された計算プログラム４８、及び作成された計算結果ラベル４９を制御プログラムＰＧＣに出力する。このようにして、プログラム作成装置１２は、制御プログラムＰＧＣを作成する。
【００５５】  プログラム作成装置１２は、計算プログラム４８に用いられる数式フレーム５２及び数式ＥＸＰの少なくとも一方と、変数ラベルＬＶとをメモリ２４に記憶しておき、計算プログラム４８で用いられる数式フレーム５２及び数式ＥＸＰの少なくとも一方と、変数ラベルＬＶとをユーザに選択させる。そして、プログラム作成装置１２は、数式フレーム５２及び数式ＥＸＰの少なくとも一方と、変数ラベルＬＶとの選択情報、及び制御システム１の機器１４の構成に基づき、計算プログラム４８を作成する。すなわち、プログラム作成装置１２は、予めメモリ２４に記憶された数式フレーム５２及び数式ＥＸＰと、数式変数となる変数ラベルＬＶとをユーザに選択させ、選択結果に基づいて計算プログラム４８を作成する。このため、制御プログラムＰＧＣを作成する毎又は計算プログラム４８を作成する毎に、ユーザ自身が数式フレーム５２又は数式ＥＸＰを作成する必要はない。その結果、プログラム作成装置１２は、制御装置１３が実行するプログラムを作成する工数を抑制し、ユーザの入力間違いによるプログラムの間違いを抑制することができる。
【００５６】  数式フレーム５２及び数式ＥＸＰは、計算プログラム４８を構成する要素であり、制御システム１の機器１４の構成に応じて数式変数を設定できる。プログラム作成装置１２は、複数の数式フレーム５２及び数式ＥＸＰをメモリ２４に記憶しているので、様々な計算プログラム４８に対応することができる。このため、プログラム作成装置１２は、様々な機器１４の構成に対応することができ、汎用性が高い。ＰＬＣで用いられるラダープログラムは、Ｃ言語とは異なり、計算プログラム４８を簡単に作成することは困難であるが、プログラム作成装置１２は、ラダープログラムにおける計算プログラム４８を容易に作成できるとともに、間違いを抑制することができる。
【００５７】  実施の形態１で開示された構成は、以下の実施の形態においても適宜適用できる。
【００５８】実施の形態２．  図１２は、実施の形態２に係るプログラム作成装置１２ａの機能ブロック図である。図１３は、実施の形態２に係る数式フレームリスト５０ａを示す図である。プログラム作成装置１２ａは、実施の形態１のプログラム作成装置１２に加えて、数式作成部３６を有する。他の構成は実施の形態１と同様である。プログラム作成装置１２ａのハードウェア構成も、実施の形態１のプログラム作成装置１２と同様である。数式作成部３６は、図３に示されるプロセッサ２３及びメモリ２４又は図４に示される処理回路２５により実現される。
【００５９】  数式作成部３６は、入力、より詳細にはユーザの入力に応じて数式フレーム５２を作成又は編集する。数式作成部３６は、数式ＥＸＰを作成又は編集してもよい。数式管理部３２は、数式作成部３６が作成又は編集した数式フレーム５２又は数式ＥＸＰを数式フレームリスト５０ａに追加する。図１３に示される例では、文字列ＥｘｐｒｅｓｓｉｏｎＣで表される数式名５１の数式フレーム５２が数式フレームリスト５０ａに追加されている。
【００６０】  ユーザが数式フレーム５２又は数式ＥＸＰを定義する場合、図３又は図４に示される入力装置２２を用いて、数式フレームリスト５０ａに保持されている数式フレーム５２又は数式ＥＸＰを編集したり、新たな数式フレーム５２又は数式ＥＸＰを作成したりする。数式作成部３６は、ユーザによる編集又は新規のフレーム５２の作成についての指令を入力装置２２から取得すると、取得した指令に応じて数式フレーム５２又は数式ＥＸＰを編集したり、新たな数式フレーム５２又は数式ＥＸＰを作成したりする。数式管理部３２は、編集が完了した数式フレーム５２又は数式ＥＸＰを数式フレームリスト５０ａに書き込んだり、新たに作成した数式フレーム５２数式ＥＸＰを、数式フレームリスト５０ａに書き込んだりする。
【００６１】  ユーザが数式フレーム５２又は数式ＥＸＰを編集する場合、数式作成部３６は、表示装置２１の画面に編集対象の数式フレーム５２又は数式ＥＸＰを表示させる。このようにすることで、ユーザは数式フレーム５２又は数式ＥＸＰを容易に編集できる。
【００６２】  このような処理により、数式管理部３２は、計算プログラム設定画面２１ＰＳに、計算プログラム４８に用いられる数式フレーム５２及び数式ＥＸＰの候補として、ユーザによって定義された数式フレーム５２及び数式ＥＸＰを含む数式フレームリスト５０ａを表示させることができる。設定部３３は、ユーザによって定義された数式フレーム５２又は数式ＥＸＰが選択された場合、これを数式データ６２に設定することができる。プログラム作成部３４はユーザによって定義された数式フレーム５２及び数式ＥＸＰを用いる計算プログラム４８を作成することができる。その結果、プログラム作成装置１２ａは、ユーザによって設定された計算を行わせるための計算プログラム４８を作成することができる。
【００６３】  実施の形態２で開示された構成は、以下の実施の形態においても適宜適用できる。
【００６４】実施の形態３．  実施の形態３において、前述したプログラム作成装置１２，１２ａのラベル管理部３１は、複数の変数ラベルＬＶをフィルタリングして表示装置２１に表示させること、及びソートして表示装置２１に表示させることの少なくとも一方を実行する。変数ラベルＬＶのフィルタリング及びソートには、機器名ＭＮ、変数ラベルＬＶの名前及び機器種別ＭＳの少なくとも１つが用いられる。
【００６５】  図１４は、実施の形態３に係るラベルリスト８０を示す図である。図１５及び図１６は、実施の形態３に係るラベルリスト８０をフィルタリングしたラベルリスト８０ａ，８０ｂを示す図である。図１７及び図１８は、実施の形態３に係るラベルリスト８０をソートしたラベルリスト８０ｃ，８０ｄを示す図である。次に、フィルタリング及びソートの例を説明する。
【００６６】  ラベル管理部３１は、図１４に示されるラベルリスト８０を、機器種別ＭＳがＰｕｍｐでフィルタリングすることにより、機器種別ＭＳがＰｕｍｐの変数ラベルＬＶを抽出して、図１５に示されるラベルリスト８０ａを作成する。ラベル管理部３１は、作成されたラベルリスト８０ａを、ユーザが変数ラベルＬＶを選択する際に表示装置２１に表示させる。実施の形態３において、機器種別ＭＳは、機器名ＭＮの数字を除いた文字列の部分である。また、ラベル管理部３１は、図１４に示されるラベルリスト８０を、Ｐｏｗｅｒを含む変数ラベルＬＶの名前でフィルタリングすることにより、名前にＰｏｗｅｒを含む変数ラベルＬＶを抽出して、図１６に示されるラベルリスト８０ｂを作成する。ラベル管理部３１は、作成されたラベルリスト８０ｂを、ユーザが変数ラベルＬＶを選択する際に表示装置２１に表示させる。
【００６７】  ラベル管理部３１は、図１４に示されるラベルリスト８０を、機器名ＭＮを示す文字列の最初の文字の昇順にソートすることにより、図１７に示されるラベルリスト８０ｃを作成する。ラベル管理部３１は、作成されたラベルリスト８０ｃを、ユーザが変数ラベルＬＶを選択する際に表示装置２１に表示させる。また、ラベル管理部３１は、図１４に示されるラベルリスト８０を、機器名ＭＮを示す文字列の最初の文字の降順にソートすることにより、図１８に示されるラベルリスト８０ｄを作成する。ラベル管理部３１は、作成されたラベルリスト８０ｄを、ユーザが変数ラベルＬＶを選択する際に表示装置２１に表示させる。
【００６８】  実施の形態３のラベル管理部３１は、ラベルリスト８０の項目の絞込み及び並びの変更を可能とする。その結果、ラベル管理部３１は、ラベルリスト８０をユーザが選択しやすい形態に変更することができるので、ユーザが変数ラベルＬＶを選択する際の利便性を向上させることができ、また変数ラベルＬＶの選択の間違いを低減させることができる。
【００６９】  実施の形態３で開示された構成は、以下の実施の形態においても適宜適用できる。
【００７０】実施の形態４．  図１９は、実施の形態４に係る制御プログラムＰＧＣｂ，ＰＧＣａを示す図である。実施の形態４において、前述したプログラム作成装置１２，１２ａのプログラム作成部３４によって作成された制御プログラムＰＧＣｂ，ＰＧＣａに含まれる制御プログラム９１ｂ，９１ａ、計算プログラム９８ｂ，９８ａ及びラベルリスト９２ｂ，９２ａには、コメントＣＭを付すことができるようになっている。コメントＣＭには、プログラム作成部３４によって作成されたことを示す識別子も含まれる。このため、制御プログラム９１ｂ，９１ａ、計算プログラム９８ｂ，９８ａ及びラベルリスト９２ｂ，９２ａには、プログラム作成部３４によって作成されたことを示す識別子を付すことができるようになっている。この識別子を、以下においては適宜、識別用コメントと称する。実施の形態４においては、少なくとも計算プログラム９８ｂ，９８ａに識別用コメントが付されるようになっていればよい。
【００７１】  識別用コメントは、図１９に示される［！！］である。プログラム出力部３５は、識別用コメント［！！］により、プログラム作成部３４によって作成された制御プログラム９１ｂ、９１ａを、ユーザが作成した制御プログラムであるユーザプログラム９５と区別することができる。計算プログラム９８ｂ，９８ａ及びラベルリスト９２ｂ，９２ａも同様に、ユーザが作成した計算プログラムであるユーザ計算プログラム及びユーザが作成したラベルリストであるユーザラベルリスト９２ｉと区別される。
【００７２】  実施の形態４において、制御プログラムＰＧＣｂが作成された後に、新たな制御プログラムＰＧＣａが作成される場合、プログラム作成装置１２，１２ａのプログラム出力部３５は、識別用コメント［！！］が付されている制御プログラム９１ｂ、計算プログラム９８ｂ及びラベルリスト９２ｂを制御プログラムＰＧＣｂから削除する。削除後の制御プログラムＰＧＣｉには、ユーザプログラム９５及びユーザラベルリスト９２ｉが残る。ユーザ計算プログラムが制御プログラムＰＧＣｂに含まれていれば、削除後の制御プログラムＰＧＣｉにはユーザ計算プログラムも残る。
【００７３】  プログラム出力部３５は、ユーザプログラム９５及びユーザラベルリスト９２ｉが残る制御プログラムＰＧＣｉに、プログラム作成部３４によって作成された新たな制御プログラム９１ａ、計算プログラム９８ａ及びラベルリスト９２ａを出力する。このようにして、プログラム作成装置１２，１２ａは、新たな制御プログラムＰＧＣａを作成する。
【００７４】  図２０は、実施の形態４において、プログラム作成装置１２，１２ａが実行する処理の手順を示すフローチャートである。工程Ｓ２０１において、プログラム出力部３５は、既に作成された制御プログラムＰＧＣｂに識別用コメント［！！］があった場合（工程Ｓ２０１においてＹｅｓ）、工程Ｓ２０２において、識別用コメント［！！］が付されている制御プログラム９１ｂ、計算プログラム９８ｂ及びラベルリスト９２ｂを制御プログラムＰＧＣｂから削除する。工程Ｓ２０３において、プログラム出力部３５は、削除後の制御プログラムＰＧＣｉを用いて、新たな制御プログラムＰＧＣａを作成する。プログラム出力部３５は、既に作成された制御プログラムＰＧＣｂに識別用コメント［！！］がない場合（工程Ｓ２０１においてＮｏ）、工程Ｓ２０３において、既に作成された制御プログラムＰＧＣｂに、プログラム作成部３４によって作成された新たな制御プログラム９１ａ、計算プログラム９８ａ及びラベルリスト９２ａを出力して、新たな制御プログラムＰＧＣａを作成する。このようにして、プログラム作成装置１２，１２ａは、新たな制御プログラムＰＧＣａを作成する。
【００７５】  このように、プログラム作成装置１２，１２ａは、既に作成された制御プログラムＰＧＣｂを利用して新たな制御プログラムＰＧＣａを作成することができる。また、プログラム作成装置１２，１２ａは、計算プログラム９８ｂ及び制御プログラム９８ｂを変更する場合、既存の計算プログラム９８ｂ及び制御プログラム９１ｂを削除して新たな計算プログラム９８ｂ及び制御プログラム９８ｂとする。このため、プログラム作成装置１２，１２ａは、既存の計算プログラム９８ｂ及び制御プログラム９１ｂを容易に変更できる。
【００７６】  実施の形態４で開示された構成は、以下の実施の形態においても適宜適用できる。
【００７７】実施の形態５．  図２１は、実施の形態５に係る不揮発性記憶装置２４ＵＶに記憶されている適用元プロジェクトデータ１０４、適用先プロジェクトデータ１０７及びライブラリ１００を示すブロック図である。実施の形態５において、プログラム作成装置１２，１２ａは、計算プログラム４８の生成に用いられた変数ラベルＬＶと、数式フレーム５２と、機器１４の構成とが対応付けられたテンプレート１０１を記憶する記憶部を有する。この記憶部は、メモリ２４であり、より詳細には不揮発性記憶装置２４ＵＶである。テンプレート１０１の数式フレーム５２は、数式ＥＸＰであってもよい。
【００７８】  ユーザは、制御プログラムＰＧＣを作成するため、プログラム作成装置１２，１２ａが必要とするすべてのデータを適用元プロジェクトデータ１０４として作成する。適用元プロジェクトデータ１０４は、メモリ２４の不揮発性記憶装置２４ＵＶに記憶される。設定部３３は、適用元プロジェクトデータ１０４に入力された機器構成１０５と計算プログラム設定データ１０６とを、ライブラリ１００のテンプレート１０１として記憶させる。テンプレート１０１は、機器構成１０２と計算プログラム設定データ１０３とを有する。作成されたテンプレート１０１は、メモリ２４の不揮発性記憶装置２４ＵＶに記憶されているライブラリ１００に書き込まれる。
【００７９】  機器構成１０５，１０２は、機器種別ＭＳと機器名ＭＮとの組合せであり、実施の形態１で説明された機器構成４４と同様の構成である。計算プログラム設定データ１０６，１０３は、実施の形態１で説明された計算プログラム設定データ６０と同様の構成である。
【００８０】  設定部３３は、適用先プロジェクトデータ１０７とテンプレート１０１とを比較する。比較の結果、テンプレート１０１の機器構成１０２と適用先プロジェクトデータ１０７の機器構成１０８とが同じ場合、設定部３３は、テンプレート１０１の計算プログラム設定データ１０３を適用先プロジェクトデータ１０７の計算プログラム設定データ１０９としてライブラリ１００から読み出す。そして、設定部３３は、読み出したテンプレート１０１の計算プログラム設定データ１０３を、適用先プロジェクトデータ１０７の計算プログラム設定データ１０９に設定する。
【００８１】  このような処理により、実施の形態５においては、プログラム作成装置１２，１２ａに一度入力された計算プログラム４８の設定に関する情報、より詳細には計算プログラム設定データ１０３を再利用することができるので、入力の手間が低減される。実施の形態５で開示された構成は、以下の実施の形態においても適宜適用できる。
【００８２】実施の形態６．  図２２は、実施の形態６に係るラベルリスト１１０を示す図である。ラベルリスト１１０は、実施の形態１から実施の形態５に係るラベルリスト４６に、通信属性ＢＧが追加されたものである。通信属性ＢＧは、プログラム作成部３４によって作成された計算プログラム４８に用いられた変数ラベルＬＶを監視制御装置１１へ送信するか否かを示す情報である。
【００８３】  図１に示される監視制御装置１１は、計算プログラム４８からの計算結果が得られれば、数式フレーム５２又は数式ＥＸＰで使用した変数ラベルＬＶは不要となる場合がある。そのため、実施の形態６は、ラベルリスト４６に通信属性ＢＧを追加して、ラベル管理部３１が通信属性ＢＧを変数ラベルＬＶに付与することで、監視制御装置１１が変数ラベルＬＶを送受信するか否かを設定できるようにする。
【００８４】  図２２に示される例では、通信属性ＢＧがＯＮである場合、プログラム作成装置１２，１２ａは変数ラベルＬＶを監視制御装置１１へ送信する。通信属性ＢＧがＯＦＦである場合、プログラム作成装置１２，１２ａは変数ラベルＬＶを監視制御装置１１へ送信しない。実施の形態６は、通信属性ＢＧにより不要な情報の送受信を低減できるので、制御装置１３と監視制御装置１１との間におけるデータ通信のパフォーマンスを向上させることができる。
【００８５】  実施の形態６で開示された構成は、以下の実施の形態においても適宜適用できる。
【００８６】実施の形態７．  図２３は、実施の形態７に係る数式フレームリスト１２３及び計算プログラム設定データ１２６を示す図である。実施の形態７に係る数式フレームリスト１２３は、実施の形態１に係る数式フレームリスト５０に、数式フレーム５２及び数式ＥＸＰで使用される変数ラベルＬＶを選択するための情報であるパラメータ選択条件ＣＤＣを加えたものである。すなわち、数式フレームリスト１２３は、パラメータ選択条件ＣＤＣを含む。詳細には、数式フレームリスト１２３は、数式名５１と、数式フレーム５２と、パラメータ選択条件ＣＤＣとの組合せを含むリストである。数式フレームリスト１２３の数式フレーム５２は、数式ＥＸＰであってもよい。数式フレームリスト１２３は、記憶部であるメモリ２４の不揮発性記憶装置２４ＵＶに記憶される。パラメータ選択条件ＣＤＣは、コメントＣＭ、変数ラベルＬＶ及び変数ラベルＬＶの名前が挙げられるが、これらに限定されるものではない。
【００８７】  ライブラリ１２０に記憶されているラベルリスト１２１は、実施の形態１に係る入出力ラベルリスト４３にコメントＣＭが追加されたものである。ラベルリスト１２１を用いることにより、変数ラベルＬＶにコメントＣＭを付すことができる。
【００８８】  設定部３３は、数式フレームリスト１２３から数式フレーム５２又は数式ＥＸＰがユーザに選択されると、計算プログラム設定データ１２６の数式データ１２４に、選択された数式フレーム５２又は数式ＥＸＰとその数式名５１とを設定する。次に、設定部３３は、選択された数式フレーム５２又は数式ＥＸＰ及びその数式名５１に対応するパラメータ選択条件ＣＤＣを用いて、機器構成１２２に基づき、ライブラリ１２０に記憶されたラベルリスト１２１の変数ラベルＬＶの名前及びコメントＣＭの少なくとも一方をキーワード検索する。そして、設定部３３は、キーワードに対応する変数ラベルＬＶをラベルリスト１２１から選択して、数式フレーム５２又は数式ＥＸＰで使用される数式変数として数式パラメータリスト１２５に設定する。
【００８９】  数式名５１が文字列ＥｘｐＡで表される数式フレーム５２が選択された場合、この数式フレーム５２に対応付けられたパラメータ選択条件ＣＤＣは「コメント」になる。「コメント」は、キーワード検索する対象の項目である。設定部３３は、選択された、数式名５１が文字列ＥｘｐＡで表される数式フレーム５２に対応するパラメータ選択条件ＣＤＣである「コメント」を数式フレームリスト１２３から取得する。
【００９０】  設定部３３は、機器構成１２２を参照し、機器名ＭＮに対応する機器種別ＭＳのラベルリスト１２１のコメントＣＭをキーワード検索する。機器名ＭＮがＰｕｍｐ１である場合、これに対応する機器種別ＭＳはＰｕｍｐであるので、設定部３３は、ポンプ（Ｐｕｍｐ）のラベルリスト１２１のコメントＣＭをキーワード検索する。キーワード検索に用いられるキーワードは、数式名５１、並びに数式フレーム５２又は数式ＥＸＰに含まれる演算子、関数名及び数式変数が挙げられる。
【００９１】  設定部３３は、キーワードとして数式名５１である文字列ＥｘｐＡを用いてポンプ（Ｐｕｍｐ）のラベルリスト１２１のコメントＣＭをキーワード検索すると、文字列Ｐｏｗｅｒで表される変数ラベルＬＶを選択することができる。この場合、キーワードは数式フレームリスト１２３中の数式名５１である。設定部３３は、検索により選択した文字列Ｐｏｗｅｒで表される変数ラベルＬＶを、文字列Ｐｕｍｐ１で表される機器名ＭＮに対応する数式変数として、数式パラメータリスト１２５の変数ラベルＬＶに設定する。
【００９２】  数式名５１が文字列ＥｘｐＢで表される数式フレーム５２が選択された場合、この数式フレーム５２に対応付けられたパラメータ選択条件ＣＤＣは「変数ラベル」になる。設定部３３は、選択された、数式名５１が文字列ＥｘｐＢで表される数式フレーム５２に対応するパラメータ選択条件ＣＤＣである「変数ラベル」を数式フレームリスト１２３から取得する。
【００９３】  設定部３３は、機器構成１２２を参照し、機器名ＭＮに対応する機器種別ＭＳのラベルリスト１２１の変数ラベルＬＶをキーワード検索する。機器名ＭＮがＰｕｍｐ１である場合、これに対応する機器種別ＭＳはＰｕｍｐであるので、設定部３３は、ポンプ（Ｐｕｍｐ）のラベルリスト１２１の変数ラベルＬＶをキーワード検索する。キーワード検索に用いられるキーワードは、数式名５１、並びに数式フレーム５２又は数式ＥＸＰに含まれる演算子、関数名及び数式変数が挙げられる。
【００９４】  設定部３３は、キーワードとして数式名５１である文字列ＥｘｐＢを用いてポンプ（Ｐｕｍｐ）のラベルリスト１２１の変数ラベルＬＶをキーワード検索すると、文字列ＥｘｐＢ＿Ｐａｒａｍ１で表される変数ラベルＬＶを選択することができる。設定部３３は、検索により選択した文字列Ｐｏｗｅｒで表される変数ラベルＬＶを、文字列Ｅｘｐに対応した数式フレーム５２で用いられる数式変数として、数式パラメータリスト１２５の変数ラベルＬＶに設定する。
【００９５】  このように、設定部３３は、パラメータ選択条件ＣＤＣに対応したラベルリスト１２１の項目をキーワード検索して選択した変数ラベルＬＶを、計算プログラム設定データ１２６の数式データ１２４に設定された数式フレーム５２又は数式ＥＸＰで用いられる数式変数として設定する。このような処理により、プログラム作成装置１２，１２ａのユーザは、数式フレーム５２又は数式ＥＸＰの選択のみで、計算プログラム４８を作成することができる。
【００９６】  以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９７】  １  制御システム、１１  監視制御装置、１２，１２ａ  プログラム作成装置、１３  制御装置、１４  機器、１５  通信回線、２１ＭＳ  機器構成設定画面、２１ＰＳ  計算プログラム設定画面、２１  表示装置、２２  入力装置、２３  プロセッサ、２４  メモリ、２４Ｖ  揮発性記憶装置、２４ＵＶ  不揮発性記憶装置、２５  処理回路、３１  ラベル管理部、３２  数式管理部、３３  設定部、３４  プログラム作成部、３５  プログラム出力部、３６  数式作成部、４１，１００，１２０  ライブラリ、４２，４２Ｐ，４２Ｖ，９１ａ，９１ｂ，ＰＧＣ，ＰＧＣａ，ＰＧＣｂ，ＰＧＣｉ  制御プログラム、４３，４３Ｐ，４３Ｖ  入出力ラベルリスト、４４，１０２，１０５，１０８，１２２  機器構成、４５  計算名、４６，８０，８０ａ，８０ｂ，８０ｃ，８０ｄ，９２ａ，９２ｂ，１１０，１２１  ラベルリスト、４７  数式リスト、４８，９８ａ，９８ｂ  計算プログラム、４９  計算結果ラベル、５０，５０ａ，１２３  数式フレームリスト、５１  数式名、５２  数式フレーム、６０，１０３，１０６，１０９，１２６  計算プログラム設定データ、６１  計算名データ、６２，１２４  数式データ、６３，１２５  数式パラメータリスト、９２ｉ  ユーザラベルリスト、９５  ユーザプログラム、１０１  テンプレート、１０４  適用元プロジェクトデータ、１０７  適用先プロジェクトデータ、ＢＧ  通信属性、ＣＤＣ  パラメータ選択条件、ＣＭ  コメント、ＥＮ  数式名、ＥＸＰ  数式、ＬＶ  変数ラベル、ＭＮ  機器名、ＭＳ  機器種別。
【図１】
2017168564.tif 000003
【図２】
2017168564.tif 000004
【図３】
2017168564.tif 000005
【図４】
2017168564.tif 000006
【図５】
2017168564.tif 000007
【図６】
2017168564.tif 000008
【図７】
2017168564.tif 000009
【図８】
2017168564.tif 000010
【図９】
2017168564.tif 000011
【図１０】
2017168564.tif 000012
【図１１】
2017168564.tif 000013
【図１２】
2017168564.tif 000014
【図１３】
2017168564.tif 000015
【図１４】
2017168564.tif 000016
【図１５】
2017168564.tif 000017
【図１６】
2017168564.tif 000018
【図１７】
2017168564.tif 000019
【図１８】
2017168564.tif 000020
【図１９】
2017168564.tif 000021
【図２０】
2017168564.tif 000022
【図２１】
2017168564.tif 000023
【図２２】
2017168564.tif 000024
【図２３】
2017168564.tif 000025
【手続補正書】
【提出日】平成28年10月24日(2016.10.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機器を制御する制御装置が実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理するラベル管理部と、
前記制御装置が実行する計算プログラムに使用される数式を管理する数式管理部と、
前記数式管理部が管理する数式を選択し、選択した前記数式で使用する変数ラベルを前記ラベル管理部が管理する変数ラベルから選択し、選択した前記数式及び前記変数ラベルに基づいて前記計算プログラムを作成するプログラム作成部と、
を含み、
前記プログラム作成部によって作成された前記計算プログラムには、前記プログラム作成部によって作成されたことを示す識別子が付され、
前記制御プログラムを生成する際に、前記識別子が付された前記計算プログラムを削除するプログラム出力部を有することを特徴とする、プログラム作成装置。
【請求項２】
機器を制御する制御装置が実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理するラベル管理部と、
前記制御装置が実行する計算プログラムに使用される数式を管理する数式管理部と、
前記数式管理部が管理する数式を選択し、選択した前記数式で使用する変数ラベルを前記ラベル管理部が管理する変数ラベルから選択し、選択した前記数式及び前記変数ラベルに基づいて前記計算プログラムを作成するプログラム作成部と、
を含み、
前記数式を含むリストを記憶する記憶部を有し、
前記数式のリストは、前記数式で使用される前記変数ラベルを選択するための情報を含むことを特徴とする、プログラム作成装置。
【請求項３】
前記ラベル管理部は、
前記機器の構成に応じて、前記機器の名前と前記制御プログラムの入出力変数に対応する前記変数ラベルのリストとを組み合わせたラベルリストを作成することを特徴とする、請求項１又は請求項２に記載のプログラム作成装置。
【請求項４】
機器の名前と、前記機器を制御する制御装置が実行する制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせたラベルリストを、前記機器の構成に応じて作成して表示装置に表示させるラベル管理部と、
前記制御装置が実行する計算プログラムに使用される数式を含む数式のリストを、前記表示装置に表示させる数式管理部と、
前記数式のリストから選択された数式、及び前記ラベルリストから選択された、前記数式で使用される変数に対応した前記変数ラベルに基づいて、前記計算プログラムを作成するプログラム作成部と、
を含み、
前記プログラム作成部によって作成された前記計算プログラムには、前記プログラム作成部によって作成されたことを示す識別子が付され、
前記制御プログラムを生成する際に、前記識別子が付された前記計算プログラムを削除するプログラム出力部を有することを特徴とする、プログラム作成装置。
【請求項５】
機器の名前と、前記機器を制御する制御装置が実行する制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせたラベルリストを、前記機器の構成に応じて作成して表示装置に表示させるラベル管理部と、
前記制御装置が実行する計算プログラムに使用される数式を含む数式のリストを、前記表示装置に表示させる数式管理部と、
前記数式のリストから選択された数式、及び前記ラベルリストから選択された、前記数式で使用される変数に対応した前記変数ラベルに基づいて、前記計算プログラムを作成するプログラム作成部と、
を含み、
前記数式を含むリストを記憶する記憶部を有し、
前記数式のリストは、前記数式で使用される前記変数ラベルを選択するための情報を含むことを特徴とする、プログラム作成装置。
【請求項６】
入力に応じて前記数式を作成又は編集する数式作成部を有し、
前記数式管理部は、前記数式作成部が作成又は編集した前記数式を、前記数式のリストに追加することを特徴とする、請求項１から請求項５のいずれか１項に記載のプログラム作成装置。
【請求項７】
前記ラベル管理部は、
複数の前記変数ラベルをフィルタリングして表示させること、及び複数の前記変数ラベルをソートして表示させることのうち少なくとも一方を実行することを特徴とする、請求項１から請求項６のいずれか１項に記載のプログラム作成装置。
【請求項８】
前記計算プログラムの生成に用いられた前記変数ラベルと、前記数式と、前記機器の構成とが応付けられたテンプレートを記憶する記憶部を有することを特徴とする、請求項１から請求項７のいずれか１項に記載のプログラム作成装置。
【請求項９】
前記ラベル管理部は、
前記プログラム作成部によって作成された前記計算プログラムに用いられた前記変数ラベルを、前記制御装置を介して前記機器を制御する監視制御装置へ送信するか否かを示す通信属性を、前記変数ラベルに付与することを特徴とする、請求項１から請求項８のいずれか１項に記載のプログラム作成装置。
【請求項１０】
機器を制御する制御装置が実行する計算プログラムに使用される数式を構成する数式を含む数式のリストを表示する工程と、
前記機器の名前と、前記機器を制御する制御装置が実行する制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせたラベルリストを、前記機器の構成に応じて作成して表示する工程と、
前記数式のリストから選択された前記数式、及び前記ラベルリストから選択された、前記数式で使用される変数に対応した前記変数ラベルに基づいて、前記計算プログラムを作成する工程と、
を含み、
前記プログラム作成部によって作成された前記計算プログラムには、前記プログラム作成部によって作成されたことを示す識別子が付され、
前記制御プログラムを生成する際に、前記識別子が付された前記計算プログラムを削除することを特徴とする、プログラム作成方法。
【請求項１１】
機器を制御する制御装置が実行する計算プログラムに使用される数式を構成する数式を含む数式のリストを表示する工程と、
前記機器の名前と、前記機器を制御する制御装置が実行する制御プログラムの入出力変数に対応する変数ラベルのリストとを組み合わせたラベルリストを、前記機器の構成に応じて作成して表示する工程と、
前記数式のリストから選択された前記数式、及び前記ラベルリストから選択された、前記数式で使用される変数に対応した前記変数ラベルに基づいて、前記計算プログラムを作成する工程と、
を含み、
前記数式のリストは、前記数式で使用される前記変数ラベルを選択するための情報を含むことを特徴とする、プログラム作成方法。
【請求項１２】
請求項１０又は請求項１１に記載のプログラム作成方法をコンピュータに実行させることを特徴とする、プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係るプログラム作成装置は、ラベル管理部と、数式管理部と、プログラム作成部と、プログラム出力部とを含む。ラベル管理部は、機器を制御する制御装置が実行する制御プログラムの入出力変数を変数ラベルと対応付けて管理する。数式管理部は、制御装置が実行する計算プログラムに使用される数式を管理する。プログラム作成部は、数式管理部が管理する数式を選択し、選択した数式で使用する変数ラベルをラベル管理部が管理する変数ラベルから選択し、選択した数式及び変数ラベルに基づいて計算プログラムを作成する。プログラム作成部によって作成された計算プログラムには、プログラム作成部によって作成されたことを示す識別子が付される。プログラム出力部は、制御プログラムを生成する際に、識別子が付された前記計算プログラムを削除する。
【国際調査報告】
2017168564.tif 000026
2017168564.tif 000027
2017168564.tif 000028
2017168564.tif 000029