(57)【要約】      （修正有）【課題】プログラミング作業の負担を軽減し、設定ミスを抑制する。【解決手段】プログラミング支援装置（サポートツール１）は、第１の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択し、選択されたプログラム部品に対する入力、出力変数を設定して第１の制御プログラムを作成する解析部１１４と、第２の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択し、選択されたプログラム部品に対する入力、出力変数を設定して第２の制御プログラムを作成する解析部１２４と、互いに関連する第１、第２の制御用のプログラム部品のそれぞれの入力、出力変数の間をリンク付けする関連情報を設定する機能部１４と、解析部１１４、１２４のうち、先に実行された解析部で設定された入力、出力変数に基づいて設定された関連情報を利用して、後に実行される解析部での入力、出力変数の設定を支援する支援機能部１６を備える。【選択図】図２
2019159937.tif 000002
【特許請求の範囲】
【請求項１】
互いに関連する第１の制御プログラム及び第２の制御プログラムを作成するプログラミング支援装置において、
第１の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して第１の制御プログラムを作成する第１の処理部と、
第２の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して第２の制御プログラムを作成する第２の処理部と、
互いに関連する前記第１の制御プログラムの前記プログラム部品及び前記第２の制御プログラムの前記プログラム部品のそれぞれの前記入力変数及び前記出力変数の少なくとも一方における間をリンク付けする関連情報を設定する関連性設定部とを備えたプログラミング支援装置。
【請求項２】
前記第１の処理部で選択されるプログラム部品は、ファンクションブロックを含む請求項１に記載のプログラミング支援装置。
【請求項３】
前記第１、第２の処理部のうち、先に実行された一方の処理部で設定された前記入力変数及び前記出力変数の少なくとも一方に基づいて設定された前記関連情報を利用して、後に実行される他方の処理部での前記入力変数及び前記出力変数の少なくとも一方の設定を行うプログラミング支援部を備えた請求項１又は２に記載のプログラミング支援装置。
【請求項４】
前記一方の処理部は、前記第１の処理部である請求項３に記載のプログラミング支援装置。
【請求項５】
画像を表示する表示部を備え、
前記プログラミング支援部は、前記他方の処理部での前記入力変数及び前記出力変数の少なくとも一方の設定において、前記関連情報を前記表示部に選択可能に表示する請求項３又は４に記載のプログラミング支援装置。
【請求項６】
前記プログラミング支援部は、前記一方の処理部で選択されたプログラム部品に対応するプログラム部品を前記関連情報に基づいて設定する請求項３又は４に記載のプログラミング支援装置。
【請求項７】
前記プログラミング支援部は、前記他方の処理部で設定される前記入力変数及び前記出力変数の少なくとも一方に対する誤選択の有無を判断する判断部を備える請求項３〜６のいずれかに記載のプログラミング支援装置。
【請求項８】
前記プログラミング支援部は、誤選択があった場合、警告を行う警告部を備える請求項７に記載のプログラミング支援装置。
【請求項９】
互いに関連する第１の制御プログラム及び第２の制御プログラムを作成するプログラミング支援方法において、
第１の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して前記第１の制御プログラムを作成する第１の処理ステップと、
第２の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して前記第２の制御プログラムを作成する第２の処理ステップと、
互いに関連する前記第１の制御プログラムの前記制御用のプログラム部品及び前記第２のプログラムの前記プログラム部品のそれぞれの前記入力変数及び前記出力変数の少なくとも一方における間をリンク付けする関連情報を設定する関連性設定ステップと、
前記第１、第２の処理ステップのうち、先に実行された一方の処理ステップで設定された前記入力変数及び前記出力変数の少なくとも一方に基づいて設定された前記関連情報を利用して、後に実行される他方の処理ステップでの前記入力変数及び前記出力変数の少なくとも一方の設定を行うプログラミング支援ステップとを備えたプログラミング支援方法。
【請求項１０】
互いに関連する第１の制御プログラム及び第２の制御プログラムをプロセッサによって作成するプログラムにおいて、
第１の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して前記第１の制御プログラムを作成する第１の処理ステップ、
第２の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して前記第２の制御プログラムを作成する第２の処理ステップ、
互いに関連する前記第１の制御プログラムの前記制御用のプログラム部品及び前記第２のプログラムの前記プログラム部品のそれぞれの前記入力変数及び前記出力変数の少なくとも一方における間をリンク付けする関連情報を設定する関連性設定ステップ、及び
前記第１、第２の処理ステップのうち、先に実行された一方の処理ステップで設定された前記入力変数及び前記出力変数の少なくとも一方に基づいて設定された前記関連情報を利用して、後に実行される他方の処理ステップでの前記入力変数及び前記出力変数の少なくとも一方の設定を行うプログラミング支援ステップ、を前記プロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム等に適用される、互いに関連する制御プログラム及びインターフェイス用プログラムを作成する場合のプログラミング支援技術に関する。
【背景技術】
【０００２】
近年、ネットワーク接続された産業機器等に対する制御システムとしてＰＬＣ（Programmable Logic Controller）が適用されている。ＰＬＣは、内蔵のＣＰＵによって、予め登録されたラダー言語で組み込まれたユーザプログラム（制御プログラム）に基づく処理をサイクリックに繰り返す制御を行う。制御プログラムは、通常、パーソナルコンピュータである制御システム設定装置側で、操作部及び表示部を介してＰＬＣ用のプログラミングツールを用いて生成され、作成後にＰＬＣのＣＰＵユニットにダウンロードされて実行される。また、ＰＬＣには、プログラマブル表示器であるヒューマンマシンインターフェイス（ＨＭＩ：Human Machine Interface）が接続されている。ＨＭＩも同様に、制御システム設定装置側でＨＭＩプログラミングツールを用いてプログラマブル表示器用のプログラムが作成される。
【０００３】
特許文献１には、制御システム設定装置で、ＰＬＣプログラミングツール及びＨＭＩプログラミングツールを用いてそれぞれのプログラムを作成することが記載されている。ここでは、ＨＭＩプログラミングにおいて、対応するプログラマブル表示器に適用されるＨＭＩ機能部品を全て表示部に選択可能に表示するようにして、ＨＭＩプログラミングの作成作業負担を軽減している。
【０００４】
また、今日、制御対象機器の性能向上に鑑みて、より高速かつ高精度で制御が可能な数値制御（ＣＮＣ：Computerized Numerical Control）のプログラミングが汎用されつつある。例えば、ＣＮＣプログラミングにおいて、（ＰＬＣプログラム部品の）変数を割り当てる場合、ＰＬＣ側でグローバル変数を定義し、ラダー図でプログラム部品と結び付けることでＰＬＣプログラムを作成する。一方、ＨＭＩ側では、ＰＬＣ変数とＨＭＩ変数とのマッピング設定を行うことでＨＭＩプログラム部品のプロパティにＨＭＩの変数を設定するといった作業を経て、ＨＭＩプログラムが作成される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５２７９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＨＭＩプログラミングでは、変数の１つ１つを理解してマッピング作業を行う必要があるため、ＰＬＣプログラミングで扱う変数の数が多い場合には、「変数を覚える」、「探す」、「照合する」といった設定時の作業量が勢い増大することになる。また、ＰＬＣ側で異なる変数であっても、ＨＭＩ側では同じ意味で使われるような変数もあることから、設定誤りを招来し易いといった問題がある。
【０００７】
本発明は、上記に鑑みてなされたもので、制御プログラミングとインターフェイスプログラミングとで対応するプログラム部品の変数をリンク付けする関連情報を設定し、プログラミング作業の負担軽減、設定ミスの抑制を可能にするプログラミング支援装置、支援方法及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明に係るプログラミング支援装置は、互いに関連する第１の制御プログラム及び第２の制御プログラムを作成するプログラミング支援装置において、第１の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して第１の制御プログラムを作成する第１の処理部と、第２の制御用の複数のプログラム部品の中から１又は複数のプログラム部品を選択すると共に、選択された前記プログラム部品に対する入力変数及び出力変数の少なくとも一方を設定して第２の制御プログラムを作成する第２の処理部と、互いに関連する前記第１の制御プログラムの前記プログラム部品及び前記第２の制御プログラムの前記プログラム部品のそれぞれの前記入力変数及び前記出力変数の少なくとも一方における間をリンク付けする関連情報を設定する関連性設定部とを備えたものである。一例として、第１の制御プログラムはシーケンス制御用であり、第２の制御プログラムはインターフェイス用であってもよい。
【０００９】
本発明は、第１、第２の処理部と、関連性設定部とを備えている。第１の処理部は、第１の制御用のプログラム部品、さらに、その入力変数及び出力変数の少なくとも一方を設定して第１の制御プログラムを作成する。第２の処理部は、第２の制御用のプログラム部品、さらに、その入力変数及び出力変数の少なくとも一方を設定して第２の制御プログラムを作成する。関連性設定部は、互いに関連する第１の制御プログラムの前記プログラム部品及び第２の制御プログラムの前記プログラム部品のそれぞれの入力変数及び出力変数の少なくとも一方における間をリンク付けする関連情報を自動で、又はユーザの指示に従って設定する。関連情報が設定されることで、第１の制御用のプログラム部品及び第２の制御用のプログラム部品の入力変数、出力変数の選択設定（マッピング処理）に供することが可能となる。
【００１０】
また、前記第１の処理部で選択されるプログラム部品は、ファンクションブロックを含むものである。この構成によれば、多数の各種ファンクションブロックに対して設定される多数の入力変数、出力変数の選択設定に供することが可能となる。
【００１１】
また、本発明は、前記第１、第２の処理部のうち、先に実行された一方の処理部で設定された前記入力変数及び前記出力変数の少なくとも一方に基づいて設定された前記関連情報を利用して、後に実行される他方の処理部での前記入力変数及び前記出力変数の少なくとも一方の設定を行うプログラミング支援部を備えたプログラミング支援装置、プログラミング支援方法、及びプログラムである。この構成によれば、先の処理で設定された入力変数、出力変数の少なくとも一方に対して関連情報が設定され、この関連情報を利用して、後の処理で入力変数、出力変数の少なくとも一方を選択設定できるので、プログラミング作業の負担軽減、設定ミスの抑制が可能となる。なお、第１の処理で設定された関連情報を利用して第２の処理における入力情報、出力情報を選択設定する態様、その逆の態様のいずれにも適用可能である。
【００１２】
また、前記一方の処理部は、前記第１の処理部である。この構成によれば、第１の制御プログラムの作成後の第２の制御プログラムを作成する際のマッピング作業において、プログラミング作業の負担軽減、設定ミスの抑制が可能となる。
【００１３】
また、本発明は、画像を表示する表示部を備え、前記プログラミング支援部は、前記他方の処理部での前記入力変数及び前記出力変数の少なくとも一方の設定において、前記関連情報を前記表示部に選択可能に表示するものである。この構成によれば、表示部に表示された関連情報を参照しながら後の処理における入力情報、出力情報の選択設定が可能となり、プログラミング作業の負担軽減、設定ミスの抑制が可能となる。
【００１４】
また、前記プログラミング支援部は、前記一方の処理部で選択されたプログラム部品に対応するプログラム部品を前記関連情報に基づいて設定するものである。この構成によれば、後の処理における変数情報、出力情報の選択設定が関連情報に基づいて自動で行われるので、ユーザによる操作ミスが解消される。
【００１５】
また、前記プログラミング支援部は、前記他方の処理部で設定される前記入力変数及び前記出力変数の少なくとも一方に対する誤選択の有無を判断する判断部を備えるものである。この構成によれば、関連情報を利用して誤選択の有無が判断可能となるので、反射的にプログラミング作業の負担軽減、設定ミスの抑制が可能となる。
【００１６】
また、前記プログラミング支援部は、誤選択があった場合、警告を行う警報部を備えるものである。この構成によれば、誤選択があった場合、警告が行われるので、設定ミスが確実に防止できる。
【発明の効果】
【００１７】
本発明によれば、プログラミング作業の負担軽減、設定ミスの抑制が可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係るプログラミング支援装置が適用される制御システムの概略構成図である。
【図２】ＰＣのソフトウェア構成の全体図である。
【図３】図２において、主にＨＭＩプログラムの作成を支援するソフトウェア構成部分の図である。
【図４】メタ情報を用いない従来の作業態様におけるＰＬＣ設定と、これに対応するＨＭＩ設定の処理を示す画面図である。
【図５】図４の画面に至る処理手順を示す図である。
【図６】メタ情報を利用してＨＭＩ設定作業を効率的に行う第１の支援態様を示す図である。
【図７】メタ情報を利用してＨＭＩ設定作業を効率的に行う第２の支援態様を示す図である。
【図８】支援態様を説明する図で、図８（Ａ）、（Ｂ）は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第３の支援態様を示す図、図８（Ａ）、（Ｃ）は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第４の支援態様を示す図、図８（Ａ）、（Ｄ）、（Ｅ）は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第５の支援態様を示す図である。
【図９】メタ情報を利用してＨＭＩ設定作業を効率的に行う第６の支援態様を示す図である。
【図１０】メタ情報を利用してＨＭＩ設定作業を効率的に行う第７の支援態様を示す図である。
【図１１】メタ情報を利用してＨＭＩ設定作業を効率的に行う第８の支援態様を示す図である。
【図１２】メタ情報を利用してＨＭＩ設定作業を効率的に行う第９の支援態様を示す図である。
【発明を実施するための形態】
【００１９】
図１は、本発明に係るプログラミング支援装置が適用される制御システムの概略構成図である。図１において、制御システム１００は、プログラミング支援装置であるパーソナルコンピュータ（ＰＣ）１と、製造設備や製造機器等に対する制御を行うプログラマブルコントローラとしてのＰＬＣ２と、ＰＬＣ２を介して又は直接ＰＣ１に接続されるプログラム表示器であるＨＭＩ３とを備えて構成されている。ＰＣ１、ＰＬＣ２及びＨＭＩ３との間はイーサネット（登録商標）Ｌ１で接続されている。また、ＰＬＣ２は、制御対象部（出力機器）４１及びセンサ部（入力機器）４２との間をネットワーク、例えばEtherCAT（登録商標）Ｌ２で接続されて、情報の授受が可能にされている。EtherCAT（登録商標）Ｌ２は、産業用のオープンなネットワークで、フィールドネットワークとして利用されているものである。
【００２０】
ＰＣ１は、後述するようにプログラミング支援装置として機能するもので、ＰＬＣプログラミングツールを用いてＰＬＣ用の制御プログラムを作成すると共に、ＨＭＩプログラミングツールを用いてＨＭＩ用であるインターフェイス用のプログラムを作成する。そして、作成されたＰＬＣ用の制御プログラム及びＨＭＩ用であるインターフェイス用のプログラムは、ＰＬＣ２及び対応するＨＭＩ３にそれぞれインストールされる。ＰＬＣ２は、インストールされた制御プログラムに従って出力機器４１に対する動作制御を実行し、ＨＭＩ３はインストールされたインターフェイス用のプログラムに従ってプログラマブル表示器にインターフェイス用の画像を表示する。
【００２１】
ＰＬＣ２は、公知のように電源ユニットと、ＣＰＵユニットとを備えると共に、ＰＣ１、ＨＭＩ３、出力機器４１及び入力機器４２との間でのデータ通信を行う通信ユニットと、データ入出力用のＩＯユニットと、制御乃至データ収集及び変更を行う高機能ユニット等の複数のユニットから構成されている。なお、出力機器４１には、リレーやモータ等のアクチュエータ類が含まれる。入力機器４２には、温度調節器、カメラ、各種スイッチ及びセンサ等のセンサ類が含まれる。
【００２２】
ＰＬＣ２のＣＰＵユニットにおける制御は、入力機器４２から入力ユニットを経て取得した入力データをＣＰＵユニットのＩ／Ｏメモリに取り込み、予め設定されたファンクションブロック（ＦＢ）等のプログラム部品であってラダー言語で組まれた制御プログラムに基づいて演算し、演算結果をＩＯユニットに送出して、出力機器４１に対する動作制御を典型的にはサイクリックに繰り返すことで行われる。
【００２３】
一方、ＰＬＣ２により制御される制御システムの動作状況は、ＨＭＩ３であるプログラマブル表示器を介してモニタリングが行われる。ＨＭＩ３は、表示画面にグラフィック表示される機能部品であるＨＭＩ部品（インターフェイス用のプログラム部品に対応）によってモニタリング内容を適宜に表示する。
【００２４】
ＰＣ１は、内部メモリに制御システム設定プログラムがインストールされており、内蔵のＣＰＵ（プロセッサ）によって、かかる制御システム設定プログラムが読み出されて実行されることで、プログラミング支援装置として機能する。ＰＣ１は、ＰＬＣ２用の制御プログラムを作成及び編集する機能と、ＨＭＩ３のインターフェイス（表示）用のプログラムを作成及び編集する機能とを備えると共に、それらをＰＬＣ２、ＨＭＩ３にダウンロード等する機能を備えている。なお、制御システム設定プログラムは、記録媒体から乃至ネット経由で外部からダウンロードすることで提供され得る。
【００２５】
図２は、ＰＣ１のソフトウェア構成の全体図である。図３は、図２において、主にＨＭＩプログラムの作成を支援するソフトウェア構成部分の図である。図２、図３は、サポートツールの構成図を示している。ＰＣ１は、ユーザからの入力操作を受け付ける操作部１０ａ、及び受け付けた内容に応じた情報を表示する表示部１０ｂを備えている。操作部１０ａと表示部１０ｂとはパッチパネルを構成されたものを含んでもよい。なお、タッチパネルとは、表示面に積層された透明薄層のシート状感圧素子をいい、表面の押下位置を検出する。
【００２６】
ＰＣ１は、さらに汎用ＯＳの環境下で動作するＧＵＩ（GraphicalUser Interface）１１、変数ＤＢ（データベース）１２、制御プログラム／設定情報部１３、プログラム／設定情報解析機能部１４、メタ情報ＤＢ（データベース）１５、及びプログラミング支援機能部１６を備えている。ＧＵＩ１１は、公知のようにコンピュータグラフィック及びマウスやタッチパッド等のポインティングデバイスを用いて画面上で直感的なエディタ機能を実現する操作機能部（ソフトウェア）で、画面上にウインドウやアイコン、ボタン、各種の部品等のグラフィックスを表示させ、それをマウスやタッチパネルを用いて操作する。例えば、表示中のボタン等に対する所定の操作、例えばドラッグアンドドロップ操作をすることで、ボタンを所望の位置に移動し又はコピーするものである。ＧＵＩ１１は、図３に示すように、ＰＬＣエディタＧＵＩ部１１１とＨＭＩエディタＧＵＩ部１２１とを備えている。ＰＬＣエディタＧＵＩ部１１１は、ＰＬＣプログラミング（ＰＬＣ設定時）において使用され、ＨＭＩエディタＧＵＩ部１２１は、ＨＭＩプログラミング（ＨＭＩ設定時）において使用される。
【００２７】
変数ＤＢ１２は、各プログラム部品に対応する変数データを格納している。制御プログラム／設定情報部１３は、設定されているＰＬＣ用の各種のプログラム部品を格納するライブラリと、プログラマブル表示器用の各種のプログラム部品を格納するライブラリとを備えている。プログラム部品の例としては、ＰＬＣ２において実行される制御プログラムのプログラミングに用いることができる種々のＦＢ、その他の機能ブロックが含まれ、また、ＨＭＩのプログラム部品の例としては、プログラマブル表示器において実行されるインターフェイス用のプログラムのプログラミングに用いることができる種々のＨＭＩ部品が含まれる。
【００２８】
ＰＬＣ用のプログラム部品及びＨＭＩ部品のそれぞれには変数が割り当てられて変数ＤＢ１２に格納されている。ＰＬＣ用のプログラム部品に変数を割り当てる場合、例えばＰＬＣ側でグローバル変数を定義し、ラダー図でプログラム部品と結び付けることでＰＬＣプログラムを作成する。一方、ＨＭＩ側では、ＰＬＣ変数とＨＭＩ変数とのマッピング設定を行ってＨＭＩ部品のプロパティにＨＭＩの変数を設定するといった作業を経てＨＭＩプログラムが作成される。なお、変数にはプログラム部品に対する入力変数及び出力変数を含む。入力変数としては、ＦＢの「起動」を示す「Ｅｘｅｃｕｔｅ」が例示でき、また、出力変数としては、「Ｄｏｎｅ」、「Ｂｕｓｙ」、「Ａｃｔｉｖｅ」、「Ｅｒｒｏｒ」…が例示される。
【００２９】
制御プログラム／設定情報部１３は、ＧＵＩ１１を利用してプログラミング処理を行う機能部で、ＰＬＣプログラム／設定部１１３とＨＭＩプログラム／設定部１２３とを備えている。ＰＬＣプログラム／設定部１１３は、表示部１０ｂに表示されるプログラム部品の一覧リストから所望のプログラム部品に対する選択操作、例えばドラッグアンドドロップ操作を介して、ラダー言語等によって記述された複数のプログラム部品をインスタンス（実態）化して組み合わせることで、制御プログラムとしてのラダープログラムを作成する。ＨＭＩプログラム／設定部１２３は、ＰＬＣ設定において選択されたＨＭＩ部品であって、表示部１０ｂに表示された選択対象のＨＭＩ部品の一覧リストから所望のＨＭＩ部品に対する、後述する種々の支援態様による選択処理を介してプログラム図を作成する。このようにして作成され、ＰＬＣプログラム／設定部１１３及びＨＭＩプログラム／設定部１２３に設定された各制御プログラムは、後にＰＬＣ２，ＨＭＩ３にダウンロードされる。
【００３０】
プログラム／設定情報解析機能部１４は、制御プログラム／設定情報部１３で作成されたプログラムの内容を解析する機能部で、ＰＬＣ解析部１１４とＨＭＩ解析部１２４とを備えている。ＰＬＣ解析部１１４は、プログラム部品の関係構造を解析して、プログラム部品の変数を取得する。ＨＭＩ解析部１２４も同様にして、設定されたＨＭＩ部品の関係構造を解析してプログラム図を認識する。また、プログラム／設定情報解析機能部１４は、ＰＬＣ設定時に選択されたプログラム部品の変数とＨＭＩ部品の変数とを関連付ける（リンクさせる）関連情報、例えばメタ情報を設定する。
【００３１】
メタ情報ＤＢ１５は、プログラム／設定情報解析機能部１４で設定されたメタ情報がプログラム部品と対応するＨＭＩ部品と対応付けられて登録されるものである。メタ情報は、ＨＭＩ部品の変数の選択に際してＰＬＣで選択されたプログラム部品の変数との間でのマッピングに際してユーザ支援に供されるものである。メタ情報は、ＰＬＣで選択されたプログラム部品とＨＭＩ部品の両方に付与されてもよいし、ＨＭＩ部品側のみに付与される態様でもよい。なお、メタ情報の設定は、プログラム／設定情報解析機能部１４によって自動で行われてもよく、あるいはＰＬＣ設定時におけるプログラム部品の変数の設定の都度マニュアルで行ってもよい。自動の場合、プログラム部品の変数の種類に対応して予めメタ情報を準備しておくことで、選択されたプログラム部品の変数の設定に応じて、対応するメタ情報を関連付ける処理を行えばよい。
【００３２】
プログラミング支援機能部１６は、本実施形態では、ＨＭＩプログラム／設定部１２３でのプログラミングにおいて、メタ情報を活用することでＨＭＩ部品の変数の設定操作の支援を行う。本実施形態では、プログラミング支援機能部１６は、変数入力補助部１６１、ＦＢ／ＨＭＩ変換部１６２、及び照合／コンパイル部１６３を備えているが、少なくともいずれか１つを備えた態様であってもよい。
【００３３】
変数入力補助部１６１は、インテリセンス表示を行うものである。なお、インテリセンスとは、統合開発環境において適用される入力支援機能をいう。ＦＢ／ＨＭＩ変換部１６２は、ＨＭＩプログラミングにおいてＨＭＩ部品の設定を自動化の下で行うものである。照合／コンパイル部１６３は、ＨＭＩプログラミングにおいてＨＭＩ部品の誤設定等の判断と警告処理を行うものである。
【００３４】
以下、ＨＭＩ部品設定作業においてプログラミング支援機能部１６による入力支援の具体例について、図４〜図１２を用いて説明する。なお、以下では、ＰＬＣプログラミングにおいて原点復帰用のプログラム部品が選択された場合の例で説明する。原点復帰とは、例えばアクチュエータを用いるなどして制御対象を原点位置から目標位置に移動させた後、原点位置に復帰させる制御をいう。この例で適用される数値制御ＣＮＣとは、制御対象に対する移動量、移動速度などを制御することをいう。
【００３５】
まず、発明を理解するべく、図４、図５により、メタ情報を用いない従来の作業態様におけるＰＬＣ設定と、これに対応するＨＭＩ設定の処理とを、画面を参照しつつ説明する。図４は、ＰＬＣ設定及びＨＭＩ設定がなされた状態を示している。図４の上半部はＰＬＣ設定の内容を示し、下半部はＨＭＩ設定の内容を対応させて示している。ＰＬＣ設定では、ＦＢ５１がインスタンス名「Ｈｏｍｅ１」として選択され、その入力側「Execute」に入力変数５２の「Ｅｘｅｃ＿１」が、出力側「Busy」に出力変数５３の「Ｂｕｓｙ＿１」が選択されて、ラダー回路を形成している。
【００３６】
表示部１０ｂのＨＭＩ設定画面では、右半部に表示されている選択対象の変数リスト中から、「Ｅｘｅｃ＿１」と「Ｂｕｓｙ＿１」とに対して、ＨＭＩプログラム／設定部１２３によって、左半部に示すような設定がなされている。「Ｅｘｅｃ＿１」とは、立ち上がり時に命令を開始するものであり、ここでは原点復帰を指令する実行フラグである。「Ｂｕｓｙ＿１」とは、「Ｅｘｅｃ＿１」の立ち上がり時にＴＲＵＥになる意味であり、ここでは原点復帰処理実行中を示すフラグである。ＨＭＩ画面の左側にはＦＢ５１に対応するＨＭＩ部品であるボタン５１１が表示され、その一部にインジケータ５１２が表示されている。そして、ＨＭＩ３において、ボタン５１１がクリックされると、クリック時に指定変数（Ｂｏｏｌｅａｎ）がＯＮする。例えば、クリック時に「Ｅｘｅｃ＿１」がＯＮする。インジケータ５１２は、指定変数（Ｂｏｏｌｅａｎ）に合わせて、例えば色が変更される。この例では、「Ｅｘｅｃ＿１」がＯＮの時に緑色で、ＯＦＦの時に赤色となる。
【００３７】
次に、図５は、図４の画面に至る処理手順を示している。まず、ＰＬＣ設定において、図５（Ａ）で、グローバル変数で定義されている「Ｅｘｅｃ＿１」と「Ｂｕｓｙ＿１」とが選択設定されて、これにより、図５（Ｂ）に示すように、ＦＢ５１に組み込まれてラダー回路が構成される。次に、図５（Ｃ）は、ＨＭＩ設定時を示しており、ここでは、ＰＬＣ設定時の「Ｅｘｅｃ＿１」及び「Ｂｕｓｙ＿１」と、ＨＭＩ設定側での「Ｅｘｅｃ＿１」及び「Ｂｕｓｙ＿１」とのマッピングがユーザによって行われる。そして、図５（Ｄ）で、ＨＭＩ部品のプロパティにＨＭＩ変数が設定される。ここで、図５（Ｃ）では、ユーザは、変数を１つ１つ理解してマッピングする必要があるが、ＦＢの種類によって又はＦＢの設定数によって変数の個数が多くなると、ユーザにとって変数を覚え、探し出し、そして照合するというマッピング作業が過大となり、作業負担が勢い増大する。
【００３８】
（第１の支援態様例）
次に、図６は、図４、図５に示した従来の作業態様に代えて、メタ情報を利用してＨＭＩ設定作業を効率的に行う第１の支援態様を示している。表示部１０ｂの画面Ｗ６１において、「Ｈｏｍｅ１」、「Ｅｘｅｃ＿１」、「Ｂｕｓｙ＿１」の設定が行われると、選択内容を含むテーブルＴ６１が設定され、表示される。テーブルＴ６１はメタ情報の項目を含む。この例では、「Ｅｘｅｃ＿１」に対して「原点復帰指令フラグ」のメタ情報が設定され、「Ｂｕｓｙ＿１」に対して「原点復帰実行中フラグ」のメタ情報が設定される。その結果、画面Ｗ６２を用いて行われるＨＭＩ設定において、選択対象のＨＭＩ部品のうち、ＰＬＣ設定時にメタ情報が付された「Ｅｘｅｃ＿１」、「Ｂｕｓｙ＿１」に対応する「Ｅｘｅｃ＿１」、「Ｂｕｓｙ＿１」にメタ情報が併記されたテーブルＴ６２として画面に表示される。従って、ユーザは、併記表示されているメタ情報を参照することで（誘導されて）、選択を誤ることなく、対応する適正なＨＭＩ部品の変数を選択指示できる。このように、メタ情報を併記表示するだけで作業支援に供するものとなる。
【００３９】
（第２の支援態様例）
図７は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第２の支援態様を示している。図７（Ａ）、（Ｂ）の画面Ｗ７１、テーブルＴ７１は、図６のＰＬＣ設定と同一であるため説明を省略する。図７（Ｃ）における画面Ｗ７２でのＨＭＩ設定では、設定されているＦＢに対する設定対象項目の変数のリストが表示されている。更に、リストのうち、ＰＬＣで設定された変数「Ｅｘｅｃ＿１」、「Ｂｕｓｙ＿１」に対応する「Ｅｘｅｃ＿１」、「Ｂｕｓｙ＿１」の各表示行に対して、対応するウインドウＷ７３，Ｗ７４が併記表示される。ウインドウＷ７３は、「Ｅｘｅｃ＿１」の表示行に対応して、選択対象となる「ＥＸｅｃｕ」である「Ｅｘｅｃ＿０」、「Ｅｘｅｃ＿１」、「Ｅｘｅｃ＿２」…がリスト表示され、そのうち、メタ情報が対応付けられた「Ｅｘｅｃ＿１」が表示あるいは他とは識別可能に表示されている。同様に、ウインドウＷ７４は、「Ｂｕｓｙ＿１」の表示行に対応して、選択対象となる「Ｂｕｓｙ」である「Ｂｕｓｙ＿０」、「Ｂｕｓｙ＿１」、「Ｂｕｓｙ＿２」…がリスト表示され、そのうち、メタ情報が対応付けられた「Ｂｕｓｙ＿１」が表示あるいは他とは識別可能に表示されている。そこで、ウインドウＷ７３，Ｗ７４の表示に従って、選択操作を行うだけで、対応するＨＭＩ部品の変数を誤選択することなく、効率的に選択指示できる。
【００４０】
（第３の支援態様例）
図８は、支援態様を説明する図で、図８（Ａ）、（Ｂ）は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第３の支援態様を示している。図８（Ｂ）に示すように、画面Ｗ８１でのＨＭＩ設定では、メタ情報が設定された変数と該当する変数の一覧が表示される。この例では、「Ｅｘｅｃ＿１」に該当する変数を備えた「Ｅｘｅｃ＿０」、「Ｅｘｅｃ＿１」、「Ｅｘｅｃ＿２」…がウインドウＷ８２のようにリスト表示される。従って、ユーザは、表示されたウインドウＷ８２のリストの中から対応する変数を選択すればよいため、選択効率が上がり、かつ誤選択が軽減される。
【００４１】
（第４の支援態様例）
次いで、図８（Ａ）、（Ｃ）は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第４の支援態様を示している。図８（Ｃ）に示すように、図８（Ｂ）のウインドウＷ８２の変数名に加えて、ＰＬＣプログラムの詳細情報がウインドウＷ８４に表示される。ユーザは、ウインドウＷ８４のラダー回路のプレビューを参照することで、対応する変数を誤選択することなく、効率的に選択指示できる。
【００４２】
（第５の支援態様例）
次いで、図８（Ａ）、（Ｄ）、（Ｅ）は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第４の支援態様を示している。図８（Ｄ）に示すように、ウィザードによる対話形式が採用されている。すなわち、マッピングする原点復帰指令（ＦＢ）を押下して選択するためのウインドウＷ８５をポップアップ表示するなどして、ＦＢの選択を支援するようにし、かつ選択を確定させる「ＯＫ」ボタンが表示されている。この例では、「Ｈｏｍｅ１」が選択対象である。「ＯＫ」ボタンが操作されると、対応するメタ情報と変数とから、ウインドウＷ８６に示すように、「Ｅｘｅｃ＿１」及び「Ｂｕｓｙ＿１」が自動的にマッピングされる。これにより、対応するＨＭＩ部品に対する変数の誤選択がなくなり、かつ効率的な選択指示が可能となる。
【００４３】
（第６の支援態様例）
図９は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第６の支援態様を示している。図９（Ａ）、（Ｂ）の画面Ｗ９１、テーブルＴ９１は、図７のＰＬＣ設定と同一であるため説明を省略する。図９（Ｃ）に示すＨＭＩ設定では、ＦＢインスタンス名を指定する操作の支援が行われる。すなわち、原点復帰ＦＢのインスタンス名の一覧がウインドウＷ９２に表示される。ここで、該当するＦＢ、すなわち「Ｈｏｍｅ１」を選択押下すると、対応するメタ情報と変数とから、ウインドウＷ９４にて、「Ｅｘｅｃ＿１」及び「Ｂｕｓｙ＿１」が自動的にマッピングされる。これにより、対応するＨＭＩ部品に対する変数の誤選択がなくなり、かつ効率的な選択指示が可能となる。また、プログラミング支援機能部１６では、該当する変数がマッピングされているが、ユーザは変数を意識する必要はない、その分操作が容易となる。
【００４４】
（第７の支援態様例）
図１０は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第７の支援態様を示している。図１０（Ａ）、（Ｂ）に示すＨＭＩ設定の画面において、図１０（Ａ）で、ＰＬＣ設定におけるＦＢの画像を、例えばドラッグアンドドロップ操作して、ＨＭＩ作成画面側にコピーする。ドロップ操作が終了すると、ＦＢ画像は、「Ｈｏｍｅ」ボタンに変換され、変換に連動して変数マッピング処理が実行される。すなわち、図１０（Ｃ）に示すように、ＦＢのＨＭＩ表示画面へのコピー操作に応じて、テーブルＴ１０１のようにメタ情報ＤＢが作成され、コピー操作終了に応じて、対応するメタ情報と変数とから、画面Ｗ１０１のように、ＦＢに対応する「Ｅｘｅｃ＿１」及び「Ｂｕｓｙ＿１」が自動的にマッピングされる。
【００４５】
（第８の支援態様例）
図１１は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第８の支援態様を示している。図１１（Ａ）、（Ｂ）の画面Ｗ１１１、テーブルＴ１１１は、図７のＰＬＣ設定と同一であるため説明を省略する。図１１（Ｃ）のＨＭＩ設定において、「Ｅｘｅｃ＿１」の設定に対して、誤って「Ｂｕｓｙ＿２」が設定された場合、プログラミング支援機能部１６の照合／コンパイル部１６３は、対応するメタ情報と変数とから、原点復帰指令フラグとは異なる変数がＨＭＩ部品の原点復帰指令入力値に割り当てられた（設定された）と判断して、警告画像Ｗ１１４を生成して警告を行う。警告の態様は、文字、図形等種々採用可能であり、例えば、ビルド時の警告メッセージとして「The Variable would not be suitablefor the Home Button property.」でもよい。このように、誤操作を警告報知することで、信頼性の高い操作に対する支援が図れる。
【００４６】
（第９の支援態様例）
図１２は、メタ情報を利用してＨＭＩ設定作業を効率的に行う第９の支援態様を示している。図１２（Ａ）には、メタ情報が付加されたテーブルＴ１２１が表示されている。「Ｅｘｅｃ＿１」と「Ｂｕｓｙ＿１」とはセットで使用されるものであるため、図１２（Ｂ）のＨＭＩ設定画面Ｗ１２１に示すように、セットで設定されていない、すなわち「Ｂｕｓｙ＿２」が設定されている場合、プログラミング支援機能部１６の照合／コンパイル部１６３は、対応するメタ情報と変数及び設定内容から、領域Ｗ１２２のように「Ｂｕｓｙ＿２」が設定されているのは誤りの可能性が高いと判定し、警告を発する。このように、誤操作を警告報知することで、信頼性の高い操作に対する支援が図れる。
【００４７】
なお、前記実施形態では、ＰＬＣ設定後のＨＭＩプログラミングでの支援を説明したが、逆に先にＨＭＩ設定においてメタ情報を作成し、これを後のＰＬＣプログラミングでの支援に利用するようにしてもよい。また、設定する変数は入力変数と出力変数のうち少なくとも一方であってもよい。
【００４８】
前記実施形態では、ラダー言語で説明したが、その他、シーケンス制御のプログラム言語として、ＬＤ（ラダーダイアグラム：LadderDiagram）、ＦＢＤ（ファンクションブロックダイアグラム：Function Block Diagram）、ＳＦＣ（シーケンシャルファンクションチャート：Sequential Function Chart）、ＩＬ（インストラクションリスト：Instruction List）、及びＳＴ（ストラクチャードテキスト：Structured Text）の各言語も適用できる。
【００４９】
前記実施形態では、ＰＬＣ／ＨＭＩのプログラミング支援を説明したが、さらに、セーフティーコントローラ、ロボット、ネットワークにおけるプログラミングの支援にも適用可能である。
【００５０】
この発明は、前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００５１】
１  ＰＣ（プログラミング支援装置）
１０ａ  操作部
１０ｂ  表示部
１４  プログラム／設定情報解析機能部（関連性設定部）
１１４  ＰＬＣ解析部（第１の処理部）
１２４  ＨＭＩ解析部（第２の処理部）
１５  メタ情報ＤＢ
１６１  プログラミング支援機能部（プログラミング支援部）
１６３  照合／コンパイル（判断部、警告部）
【図１】
2019159937.tif 000003
【図２】
2019159937.tif 000004
【図３】
2019159937.tif 000005
【図４】
2019159937.tif 000006
【図５】
2019159937.tif 000007
【図６】
2019159937.tif 000008
【図７】
2019159937.tif 000009
【図８】
2019159937.tif 000010
【図９】
2019159937.tif 000011
【図１０】
2019159937.tif 000012
【図１１】
2019159937.tif 000013
【図１２】
2019159937.tif 000014