(57)【特許請求の範囲】
【請求項１】
制御システムを構成するプログラマブルロジックコントローラに実行させるシーケンスプログラムを作成する作業を支援するシーケンスプログラム作成支援装置であって、
前記制御システムに適用可能なプログラマブルロジックコントローラが実行可能な専用命令の命令名を含む専用命令情報が、前記プログラマブルロジックコントローラの機種ごとに格納された記憶部と、
シーケンスプログラム作成画面上で前記専用命令を入力するための操作が行われたことを検出した際に、前記制御システムを構成する前記プログラマブルロジックコントローラの機種に対応する前記専用命令情報を前記記憶部から読み出す専用命令情報読出手段と、
前記記憶部から読み出した前記専用命令情報に基づいて、前記専用命令の命令名を一覧表示する専用命令一覧表示手段と、
前記専用命令一覧表示手段が一覧表示させた専用命令の命令名のうちの一つを選択する操作が行われたことを検出した際に、命令名が選択された専用命令を実行するためのコントロールデータをデバイスに格納するためのプログラムのブロックを作成するブロック作成手段と、
前記ブロック作成手段によって作成されたプログラムのブロック及び前記命令名が選択された専用命令を前記シーケンスプログラム作成画面上のシーケンスプログラムに追加する手段と、
を有することを特徴とするシーケンスプログラム作成支援装置。
【請求項２】
前記ブロック作成手段は、前記コントロールデータの設定値を入力するための設定値入力欄と前記設定値を格納するデバイスを指定するための格納先デバイス入力欄とを有する画面を表示し、前記設定値入力欄及び前記格納先デバイス入力欄に対してユーザによって入力された値に基づいて前記プログラムのブロックを作成することを特徴とする請求項１に記載のシーケンスプログラム作成支援装置。
【請求項３】
前記記憶部は、前記プログラマブルロジックコントローラとともに前記制御システムを構成する拡張ユニットが実行可能な専用命令の命令名を含む専用命令情報を、前記拡張ユニットの機種ごとに格納し、
前記専用命令情報読出手段は、前記制御システムを構成する前記プログラマブルロジックコントローラ及び前記拡張ユニットのうち、オペレータ操作により選択された方に対応する前記専用命令情報を前記記憶部から読み出すことを特徴とする請求項１又は２に記載のシーケンスプログラム作成支援装置。
【請求項４】
前記専用命令情報は、前記専用命令を実行するために用いられるコントロールデータの意味を表す項目名称を含み、
前記専用命令一覧表示手段が一覧表示させた専用命令の命令名のうちの一つを選択する操作が行われたことを検出した際に、命令名が選択された専用命令に対応する前記項目名称を、前記専用命令情報を前記記憶部から読み出すことによって取得する項目名称取得手段と、
前記プログラムのブロックに含まれる前記デバイスに対して、前記項目名称取得手段が取得した項目名称をデバイスコメントとして付加する手段とを有し、
前記ブロック作成手段は、前記命令名が選択された専用命令を実行するためのコントロールデータをデバイスに格納するためのプログラムのブロックを作成することを特徴とする請求項１から３のいずれか１項に記載のシーケンスプログラム作成支援装置。
【請求項５】
制御システムを構成するプログラマブルロジックコントローラに実行させるシーケンスプログラムを作成する作業を支援するシーケンスプログラム作成支援装置であって、
専用命令の命令名と、該専用命令を実行するために用いられるコントロールデータの意味を表す項目名称とを関連付けた専用命令情報が、前記制御システムに適用可能なプログラマブルロジックコントローラの機種ごとに格納された記憶部と、
シーケンスプログラム作成画面上で前記専用命令を入力するための操作が行われたことを検出した際に、前記入力するための操作が行われた専用命令に対応する前記項目名称を、前記専用命令情報を前記記憶部から読み出すことによって取得する項目名称取得手段と、
前記入力するための操作が行われた専用命令を実行するためのコントロールデータをデバイスに格納するためのプログラムのブロックを作成するブロック作成手段と、
前記ブロック作成手段が作成したプログラムのブロックに含まれる前記デバイスに対して、前記項目名称取得手段が取得した前記項目名称をデバイスコメントとして付加する手段と、
前記デバイスに前記デバイスコメントが付加された前記プログラムのブロック及び前記入力するための操作が行われた専用命令を前記シーケンスプログラム作成画面上のシーケンスプログラムに追加する手段と、
を有することを特徴とするシーケンスプログラム作成支援装置。
【請求項６】
前記記憶部は、前記プログラマブルロジックコントローラとともに前記制御システムを構成する拡張ユニットが実行可能な専用命令の命令名と、該専用命令を実行するために用いられるコントロールデータの意味を表す項目名称とを関連付けた専用命令情報を、前記拡張ユニットの機種ごとに格納し、
前記項目名称取得手段は、前記拡張ユニットが実行可能な専用命令を入力するための操作がオペレータによって行われた場合には、前記入力するための操作が行われた専用命令に対応する前記項目名称を取得することを特徴とする請求項５に記載のシーケンスプログラム作成支援装置。
【請求項７】
前記専用命令情報は、前記コントロールデータの設定範囲を含み、
前記設定範囲外の値が前記コントロールデータの設定値として入力された場合に、該入力された値を前記コントロールデータの設定値として受け付けないことを特徴とする請求項６に記載のシーケンスプログラム作成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラを制御するシーケンスプログラムの作成作業を容易化するシーケンスプログラム作成支援装置に関する。
【背景技術】
【０００２】
制御システムは、プログラマブルロジックコントローラ（プログラマブルコントローラとも言う。）と、ネットワークユニットなどの拡張ユニットとで構成される。プログラマブルロジックコントローラ及び拡張ユニットは、シーケンスプログラムによって制御される。【０００３】
シーケンスプログラムは、シーケンスプログラム作成支援装置であるエンジニアリングツールによって作成される。シーケンスプログラムからプログラマブルロジックコントローラ及び拡張ユニットに対して処理を実行させる場合、予め定義された機器固有の命令（以下、専用命令と言う。）をシーケンスプログラム内に記述する。【０００４】
専用命令は、命令名とコントロールデータとで構成される。コントロールデータは、プログラマブルロジックコントローラ内のデバイスに格納され、プログラマブルロジックコントローラ及び拡張ユニットは、デバイスに格納された設定値に基づいて処理を実行する。【０００５】
特許文献１には、ＣＰＵユニット（Central  Processing  Unit  module）に接続されている拡張ユニットのシステム構成情報を取得し、拡張ユニットの種類に関する情報に基づいて、拡張ユニットに接続してある被制御機器の操作を指示する命令語を検索対象として、入力した命令語の文字列に対応した命令語を抽出して表示するプログラム作成支援装置が開示されている。特許文献２には、オペレータがガイダンスに従い入力操作を行うことで、シーケンスプログラムを作成するプログラマブルコントローラ用プログラミング装置が開示されている。特許文献３には、ラダー形式で表示された制御プログラムの編集画面において、デバイス指定を付加するために、デバイスを指定するコマンドやメモリアドレスの入力ボックス及びデバイスコメントの入力ボックスに入力することで、デバイスコメント付きのラダー図を表示する制御プログラム作成装置が開示されている。また、特許文献４には、ＰＬＣ（Programmable  Logic  Controller）のプロジェクト情報からシステム構成情報やステータスを読み出すとともに、接続されるネットワークを把握する制御システムエンジニアリング装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２８５６２号公報
【特許文献２】特開平５−８０８１４号公報
【特許文献３】特開２００７−２９９２０５号公報
【特許文献４】国際公開第２００８／１４６３８０号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、専用命令のコントロールデータを設定する場合、シーケンスプログラムを作成するオペレータが、プログラマブルロジックコントローラのデバイスに対して設定値を格納するプログラムを手動で作成する必要がある。熟練されていないオペレータがシーケンスプログラムを作成する場合、設定値の誤りや設定漏れなどのプログラムの誤りによって、作成に時間がかかる問題があった。【０００８】
また、コントロールデータを格納したデバイスは、それ以外の用途で使用しないことが望ましく、コントロールデータ格納用であることを明示する必要がある。デバイスの用途を明示する手段として、デバイスコメントを付加する（デバイス一つ一つに対して文字列を割り当てる）方法があるが、デバイスに一つずつ手動でコメントを付加するのは時間がかかるという問題があった。【０００９】
特許文献１に開示される発明は、ユニットに対応した使用可能な命令を全て表示するものではないため、抽出されなかった命令語を入力する際には、プログラムの作成を支援しない。また、特許文献２に開示される発明は、シーケンスプログラムにデバイスとともに入力するコメント（デバイスコメント）を自動的に入力することについては何の開示もしていない。また、特許文献３に開示される発明は、デバイスを指定するコマンドやメモリアドレスをオペレータ自身が入力するため、設定に誤りが生じる可能性がある。また、特許文献４に開示される発明は、拡張ユニットの構成情報を取得して、該当する拡張ユニットに対応した命令語の一覧を表示することに関して何の開示もしていない。【００１０】
本発明は、上記に鑑みてなされたものであって、シーケンスプログラム内に記述する専用命令及びそのコントロールデータを格納するデバイスの操作を容易にするシーケンスプログラム作成支援装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、制御システムを構成するプログラマブルロジックコントローラに実行させるシーケンスプログラムを作成する作業を支援するシーケンスプログラム作成支援装置であって、制御システムに適用可能なプログラマブルロジックコントローラが実行可能な専用命令の命令名を含む専用命令情報が、プログラマブルロジックコントローラの機種ごとに格納された記憶部と、シーケンスプログラム作成画面上で専用命令を入力するための操作が行われたことを検出した際に、制御システムを構成するプログラマブルロジックコントローラの機種に対応する専用命令情報を記憶部から読み出す専用命令情報読出手段と、記憶部から読み出した専用命令情報に基づいて、専用命令の命令名を一覧表示する専用命令一覧表示手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明にかかるシーケンスプログラム作成支援装置は、シーケンスプログラム作成において専用命令の記述を容易化するため、熟練していないオペレータでも正確なシーケンスプログラムを容易に作成することが可能になるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明にかかるシーケンスプログラム作成支援装置の実施の形態の使用状態を示す図である。
【図２】図２は、エンジニアリングツールソフトウェアを実行するコンピュータのハードウェア構成を示す図である。
【図３】図３は、エンジニアリングツールとして機能しているコンピュータを示す図である。
【図４】図４は、命令情報テーブルのデータ構造例を示す図である。
【図５】図５は、シーケンスプログラム作成画面上で専用命令を入力するための操作を行った場合の処理の流れを示すフローチャートである。
【図６】図６は、シーケンスプログラム作成画面の一例を示す図である。
【図７】図７は、機器一覧ウィンドウの一例を示す図である。
【図８】図８は、命令一覧ウィンドウの一例を示す図である。
【図９】図９は、コントロールデータ入力ウィンドウの一例を示す図である。
【図１０】図１０は、設定値及び格納先デバイスを入力済のコントロールデータ入力ウィンドウの一例を示す図である。
【図１１】図１１は、専用命令を追加したシーケンスプログラムの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかるシーケンスプログラム作成支援装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態．
図１は、本発明にかかるシーケンスプログラム作成支援装置の実施の形態の使用状態を示す図である。シーケンスプログラム作成支援装置としてのエンジニアリングツール１００は、伝送路１０によってプログラマブルロジックコントローラ（ＣＰＵユニット）１０１と接続されている。プログラマブルロジックコントローラ１０１には、複数の拡張ユニット１０２１，１０２２，・・・，１０２ｎが接続されており、プログラマブルロジックコントローラ１０１及び拡張ユニット１０２１，１０２２，・・・，１０２ｎは、制御システム５００を構成している。なお、ここではプログラマブルロジックコントローラ１０１に複数の拡張ユニット１０２１，１０２２，・・・，１０２ｎが接続された構成を例としているが、拡張ユニットは１以上であればよい。
【００１６】
エンジニアリングツール１００は、汎用のコンピュータにエンジニアリングツールソフトウェアをインストールすることによって構成される。図２は、エンジニアリングツールソフトウェアを実行するコンピュータのハードウェア構成を示す図である。コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３０１、ＲＡＭ（Random  Access  Memory）３０２、ＲＯＭ（Read  Only  Memory）３０３、記憶部３０４、入力部３０５、表示部３０６及び通信Ｉ／Ｆ（Interface）３０９を有する。
【００１７】
ＣＰＵ３０１は、エンジニアリングツールソフトウェアを実行する演算装置である。ＲＡＭ３０２は、ＣＰＵ３０１がプログラムを実行する際に用いるワークエリアである。ＲＯＭ３０３は、コンピュータ３００の起動時にＣＰＵ３０１が実行するプログラム（Initial  Program  Loader（ＩＰＬ）等）を不揮発に記憶する。記憶部３０４は、情報を不揮発に記憶する装置であり、ハードディスクドライブ（Hard  Disk  Drive）やソリッドステートドライブ（Solid  State  Drive）などを適用可能である。入力部３０５は、オペレータが情報を入力するためのユーザインタフェースであり、ポインティングデバイス（マウス、タッチパネル等）やキーボードなどを適用可能である。表示部３０６は、情報を表示する装置であり、ＬＣＤ（Liquid  Crystal  Display）やＯＬＥＤ（Organic  Light  Emitting  Display）などを適用可能である。通信Ｉ／Ｆ３０９は、伝送路１０を通じてプログラマブルロジックコントローラ１０１と通信するためのインタフェースである。
【００１８】
コンピュータ３００にインストールされたエンジニアリングツールソフトウェアは、記憶部３０４に格納される。記憶部３０４に格納されたエンジニアリングツールソフトウェア３０７をＣＰＵ３０１が読み出して実行することにより、コンピュータ３００はエンジニアリングツール１００として機能している状態となる。図３は、エンジニアリングツールとして機能しているコンピュータを示す図である。エンジニアリングツール１００は、ＣＰＵ３０１上にエディタ部２０３及び画面表示部２０１が形成されている。また、記憶部３０４に格納されたエンジニアリングツールソフトウェア３０７には、命令情報テーブル２０２１〜２０２ｍが含まれている。命令情報テーブル２０２１〜２０２ｍの各々は、プログラマブルロジックコントローラ１０１や拡張ユニット１０２１，１０２２，・・・，１０２ｎの機種ごとに一つのテーブルが対応している。すなわち、命令情報テーブル２０２１〜２０２ｍは、プログラマブルロジックコントローラ１０１や拡張ユニット１０２１，１０２２，・・・，１０２ｎの機種ごとに一つのテーブルが用意されている。なお、以下の説明では、命令情報テーブル２０２１〜２０２ｍの全般を指す場合には、命令情報テーブル２０２と表記する。
【００１９】
エディタ部２０３は、表示部３０６にシーケンスプログラム作成画面を表示させ、入力部３０５に対して行われたオペレータの操作に応じて、シーケンスプログラム作成・編集する処理を行う。エディタ部２０３の機能は、一般的なエンジニアリングツールのエディタ機能と同様である。
【００２０】
画面表示部２０１は、記憶部３０４内の命令情報テーブル２０２を参照し、専用命令の入力を支援する各種ウィンドウを、表示部３０６においてプログラム作成画面上に表示させる。なお、専用命令の入力を支援する各種ウィンドウの詳細については後述する。また、画面表示部２０１は、通信Ｉ／Ｆ３０９及び伝送路１０を通じてプログラマブルロジックコントローラ１０１と通信し、プログラマブルロジックコントローラ１０１や拡張ユニット１０２１，１０２２，・・・，１０２ｎの機種を特定する情報（例えば型番）を取得する。
【００２１】
図４は、命令情報テーブルのデータ構造例を示す図である。命令情報テーブル２０２は、命令名３０、内容３１、コントロールデータ３２１，３２２，・・・のカラムを含む。コントロールデータ３２１，３２２，・・・の各々は、項目名称３２ａ１，３２ａ２，・・・及び設定範囲３２ｂ１，３２ｂ２，・・・のカラムを含む。すなわち、命令情報テーブル２０２の各レコードを構成する専用命令情報は、命令名３０、内容３１、コントロールデータ３２１，３２２，・・・を組み合わせて構成されている。命令名３０は、専用命令に予め設定されている名称を示す文字列であり、シーケンスプログラム作成画面上に専用命令を表示する際は、命令名３０として設定されている文字列が表示される。内容３１は、専用命令の処理内容を表す文字列であり、命令情報テーブル２０２の作成者（例えばエンジニアリングツールソフトウェア３０７のベンダー）によって設定される。コントロールデータ３２１，３２２，・・・は、専用命令を実行する上で必要な情報（引数）である。項目名称３２ａ１，３２ａ２，・・・は、コントロールデータの意味（コントロールデータが何を定義する値であるか）を表す文字列であり、命令情報テーブル２０２の作成者によって設定される。設定範囲３２ｂ１，３２ｂ２，・・・は、コントロールデータ３２１，３２２，・・・が取りうる値の範囲を表す。
【００２２】
なお、制御システム５００は、実使用時にネットワークを通じて他のシステムに接続される場合には、ネットワーク上でシステムを特定するための局番が割り当てられる。したがって、図４において、項目名称３２ａ１に設定されている対象局番という文字列は、プログラマブルロジックコントローラ１０１がネットワーク上の他のシステムと通信する際に通信相手を特定するために用いられるコントロールデータであることを意味している。なお、対象局番として、自局の局番が設定される場合もありうる。
【００２３】
図５は、シーケンスプログラム作成画面上で専用命令を入力するための操作が行われた場合の処理の流れを示すフローチャートである。画面表示部２０１は、エディタ部２０３が表示部３０６に表示させたシーケンスプログラム作成画面４０１上において、専用命令を入力する操作が行われたことを検出する（ステップＳ１０１）。図６は、シーケンスプログラム作成画面の一例を示す図である。画面表示部２０１は、専用命令を入力したいラング４０１１上にカーソル４０１２が配置された状態において、入力部３０５に対して行われた専用命令を入力する操作を検出する。なお、ラダープログラムにおけるラングとは、左母線に接続する接点から右母線に接続する出力又は命令までの回路（母線間を接続する桁状の部分）であるが、図５に示すラング４０１１は、作成途中の状態を示しているため左母線６１には接続されているが右母線６２には接続されておらず、回路は完成していない。
【００２４】
専用命令を入力するための操作がオペレータによって行われると、画面表示部２０１は、通信Ｉ／Ｆ３０９及び伝送路１０を通じてプログラマブルロジックコントローラ１０１及び拡張ユニット１０２１，１０２２，・・・，１０２ｎの情報を取得する（ステップＳ１０２）。すなわち、画面表示部２０１は、制御システム５００の構成情報をプログラマブルロジックコントローラ１０１から読み出して取得する。プログラマブルロジックコントローラ１０１及び拡張ユニット１０２１，１０２２，・・・，１０２ｎの情報を取得した画面表示部２０１は、機器一覧ウィンドウ４０２を表示部３０６に表示させる（ステップＳ１０３）。図７は、機器一覧ウィンドウの一例を示す図である。機器一覧ウィンドウ４０２には、プログラマブルロジックコントローラ１０１の型番４０２１と、拡張ユニット１０２１，１０２２，・・・，１０２ｎの型番４０２２１，４０２２２，・・・，４０２２ｎと、次へボタン４０２３とキャンセルボタン４０２４とが表示されている。
【００２５】
画面表示部２０１は、機器一覧ウィンドウ４０２上において、プログラマブルロジックコントローラ１０１の型番４０２１及び拡張ユニット１０２１，１０２２，・・・，１０２ｎの型番４０２２１，４０２２２，・・・，４０２２ｎのいずれかが選択された状態で次へボタン４０２３を押下する操作がオペレータによって行われたことを検出すると、命令情報テーブル２０２１〜２０２ｍの中で型番が選択された機器に対応するものを参照し、命令名３０及び内容３１のカラムに格納されている情報を読み出す（ステップＳ１０４）。その後、画面表示部２０１は、命令名３０及び内容３１のカラムに格納されている情報に基づいて、命令一覧ウィンドウ４０３を表示部３０６に表示させる（ステップＳ１０５）。すなわち、画面表示部２０１は、制御システム５００を構成するプログラマブルロジックコントローラ１０１又は拡張ユニット１０２１，１０２２，・・・，１０２ｎで実行可能な専用命令の専用命令情報を記憶部３０４から読み出す専用命令情報読出手段、及び命令一覧ウィンドウ４０３により表示部３０６において専用命令の命令名を一覧表示する専用命令一覧表示手段として機能する。図８は、命令一覧ウィンドウの一例を示す図である。命令一覧ウィンドウ４０３では、命令情報テーブル２０２の命令名３０のカラムに格納されていた情報が命令名４０３１の欄に表示され、命令情報テーブル２０２の内容３１のカラムに格納されていた情報が内容４０３２の欄に表示される。また、命令一覧ウィンドウ４０３には、次へボタン４０３３、キャンセルボタン４０３４及び戻るボタン４０３５が表示される。
【００２６】
なお、画面表示部２０１は、機器一覧ウィンドウ４０２上において、キャンセルボタン４０２４を押下する操作がオペレータによって行われたことを検出すると、専用命令を入力する処理を中止する。ただし、専用命令を入力する処理の理解を容易とするために、この動作については図５のフローチャート上での図示は省略している。
【００２７】
画面表示部２０１は、命令一覧ウィンドウ４０３上において、オペレータが専用命令のいずれかを選択した状態で次へボタン４０３３を押下する操作がオペレータによって行われたことを検出すると、命令情報テーブル２０２を参照し、選択された専用命令のコントロールデータ３２１，３２２，・・・のカラムに格納されている情報を読み出す（ステップＳ１０６）。その後、画面表示部２０１は、コントロールデータ３２１，３２２，・・・のカラムに格納されている情報に基づいて、コントロールデータ入力ウィンドウ４０４を表示部３０６に表示させる（ステップＳ１０７）。すなわち、画面表示部２０１は、専用命令を実行するために用いられるコントロールデータの意味を表す項目名称と、命令名とを含む専用命令情報を、制御システム５００を構成するプログラマブルロジックコントローラ１０１又は拡張ユニット１０２１，１０２２，・・・，１０２ｎで実行可能な専用命令について記憶部３０４から読み出すことによって、項目名称を取得する項目名称取得手段として機能する。
【００２８】
図９は、コントロールデータ入力ウィンドウの一例を示す図である。コントロールデータ入力ウィンドウ４０４は、項目名４０４１、設定値入力欄４０４２及び格納先デバイス入力欄４０４３を有する。項目名４０４１の欄には、命令情報テーブル２０２の項目名称３２ａ１、３２ｂ１、・・・のカラムに格納されていた情報が表示される。設定値４０４２の欄には、命令情報テーブル２０２の設定範囲３２ａ２，３２ｂ２，・・・のカラムに格納されていた情報が表示される。格納先デバイス入力欄４０４３の欄は、空欄として表示される。また、コントロールデータ入力ウィンドウ４０４には、完了ボタン４０４４、キャンセルボタン４０４５及び戻るボタン４０４６が表示される。なお、エンジニアリングツールソフトウェア３０７は、各専用命令がコントロールデータをいくつ必要とするかを示す情報を含んでいる。このため、画面表示部２０１は、この情報を参照し、必要とするコントロールデータ数と同じ行数を持つコントロールデータ入力ウィンドウ４０４を表示させる。
【００２９】
なお、画面表示部２０１は、命令一覧ウィンドウ４０３上において、キャンセルボタン４０３４を押下する操作がオペレータによって行われたことを検出すると、専用命令を入力する処理を中止する。また、画面表示部２０１は、命令一覧ウィンドウ４０３上において、戻るボタン４０３５を押下する操作がオペレータによって行われたことを検出すると、機器一覧ウィンドウ４０２を表示する。ただし、専用命令を入力する処理の理解を容易とするために、これらの動作については図５のフローチャート上での図示は省略している。
【００３０】
画面表示部２０１は、コントロールデータ入力ウィンドウ４０４の設定値入力欄４０４２及び格納先デバイス入力欄４０４３に設定値やデバイス名が入力され、完了ボタン４０４４が押下されたことを検出すると、設定値入力欄４０４２に入力された値を受け付けるか否かを判断する（ステップＳ１０８）。具体的には、設定値入力欄４０４２に入力された値が、設定範囲３２ｂ１，３２ｂ２，・・・の範囲内であれば（ステップＳ１０８／Ｙｅｓ）、入力された値を受け付け、範囲外であれば（ステップＳ１０８／Ｎｏ）入力された値を拒否する。
【００３１】
図１０は、設定値及び格納先デバイスを入力済のコントロールデータ入力ウィンドウの一例を示す図である。項目名４０４１が「対象局番」のレコード４０４ａ及び項目名４０４１が「データサイズ」のレコード４０４ｂの設定値入力欄４０４２には、いずれも命令情報テーブル２０２の設定範囲３２ｂ１，３２ｂ２に設定されていた範囲内の値が入力されているため、完了ボタン４０４４が押下された際に、画面表示部２０１は、設定値４０４２に入力された値を受け付ける。一方、設定値入力欄４０４２に入力された値が、命令情報テーブル２０２の設定範囲３２ａ２，３２ｂ２に設定されていた範囲外である場合には、画面表示部２０１は完了ボタン４０４４が押下されても入力された値を受け付けず、値の再入力を要求する。例えば、ステップＳ１０７に戻ってコントロールデータ入力ウィンドウ４０４を再度表示部３０６に表示させる。
【００３２】
なお、画面表示部２０１は、コントロールデータ入力ウィンドウ４０４上において、キャンセルボタン４０４５を押下する操作がオペレータによって行われたことを検出すると、専用命令を入力する処理を中止する。また、画面表示部２０１は、コントロールデータ入力ウィンドウ４０４上において、戻るボタン４０４６を押下する操作がオペレータによって行われたことを検出すると、命令一覧ウィンドウ４０３を表示する。ただし、専用命令を入力する処理の理解を容易とするために、これらの動作については図５のフローチャート上での図示は省略している。
【００３３】
コントロールデータ入力ウィンドウ４０４を表示部３０６に表示する際には、設定値４０４２の欄に、命令情報テーブル２０２の設定範囲３２ｂ１，３２ｂ２，・・・に格納されていた情報をデフォルト表示することにより、オペレータが設定範囲外の値を設定してしまい、シーケンスプログラムを実行した際にエラーが発生することを防止できる。
【００３４】
画面表示部２０１は、設定値入力欄４０４２に入力された値を受け付けた場合には、コントロールデータ入力ウィンドウ４０４に入力された値をエディタ部２０３に出力し、コントロールデータの設定値を格納するプログラムのブロックをエディタ部２０３に作成させる（ステップＳ１０９）。また、画面表示部２０１は、ステップＳ１０６において選択した専用命令のコントロールデータ３２１，３２２，・・・のカラムに格納されている情報を読み出し（ステップＳ１１０）、コントロールデータの設定値を格納するシーケンスプログラム中にデバイスコメントとしてエディタ部２０３に設定させる（ステップＳ１１１）。その後、画面作成部２０１は、エディタ部２０３に指示を送り、コントロールデータの設定値を格納するプログラムのブロック及び専用命令を追加したシーケンスプログラムをシーケンスプログラム作成画面４０１上に表示させる（ステップＳ１１２）。
【００３５】
図１１は、専用命令を追加したシーケンスプログラムの一例を示す図である。専用命令を追加する操作を開始した際にカーソル４０１２が配置されていたラング４０１１に専用命令４０１３が追加されている。専用命令４０１３は、右母線６２に接続されており、左母線６１と右母線６２との間の回路が形成されている。ここで、“ＧＰ．ＲＥＡＤ  Ｄ０”の“Ｄ０”は、プログラマブルロジックコントローラ１０１が備えるデバイスのうち、Ｄ０から読み出しを開始することを意味している。すなわち、“ＧＰ．ＲＥＡＤ  Ｄ０”の“Ｄ０”は、専用命令４０１３（ＧＰ．ＲＥＡＤ）を実行するに当たって、デバイスＤ０，Ｄ１，・・・に格納されている値がコントロールデータとして必要であることを示している。
【００３６】
プログラマブルロジックコントローラ１０１や拡張ユニット１０２１，１０２２，・・・，１０２ｎは、自身が実行可能な各専用命令がコントロールデータをいくつ必要とするかを示す情報を保持しており、専用命令の実行時には必要数分のコントロールデータをデバイスから読み出す。例えば、図１１に示す専用命令４０１３がコントロールデータを三つ必要とする専用命令であり、プログラマブルロジックコントローラ１０１が専用命令４０１３を実行する場合には、プログラマブルロジックコントローラ１０１は、デバイスＤ０、Ｄ１及びＤ２の三つから値を読み出す。
【００３７】
エディタ部２０３が追加するシーケンスプログラムには、専用命令４０１３よりも前に（シーケンスプログラム作成画面４０１では上側に）、デバイスＤ０，Ｄ１，・・・にコントロールデータを格納する命令４０１４１，４０１４２，・・・が含まれている。なお、コントロールデータを格納する命令４０１４１の“ＭＯＶ”は転送命令を意味し、“Ｋ２”は１０進数での数値２を意味し、“Ｄ０”は、格納先のデバイスがＤ０であることを意味している。同様に、コントロールデータを格納する命令４０１４２の“ＭＯＶ”は転送命令を意味し、“Ｋ９６０”は１０進数での数値９６０を意味し、“Ｄ１”は、格納先のデバイスがＤ１であることを意味している。したがって、これらの命令４０１４１，４０１４２，・・・を専用命令の入力作業と別作業でオペレータが追加する必要はない。
【００３８】
また、コントロールデータを格納する命令４０１４１，４０１４２，・・・には、上記ステップＳ１１２での処理によって、デバイスコメント４０１５１，４０１５２，・・・が自動的に付加されている。すなわち、画面作成部２０１は、コントロールデータの設定値を受け付けた時点で、エディタ部２０３に指示を送り、デバイスＤ０，Ｄ１，・・・にデバイスコメント４０１５１，４０１５２，・・・を付加する。デバイスコメント４０１５１，４０１５２，・・・は、命令情報テーブル２０２中に項目名称３２ａ１，３２ａ２、・・・として含まれていた文字列である。項目名称３２ａ１，３２ａ２、・・・は、コントロールデータの意味を表す文字列として命令情報テーブル２０２の作成者により設定されるため、デバイスコメント４０１５１，４０１５２，・・・を付加することにより、デバイスＤ０，Ｄ１，・・・がコントロールデータの格納用であることをオペレータが理解しやすくなり、利便性が向上する。
【００３９】
一般的なエンジニアリングツールでは、コントロールデータをデバイスに格納する命令を専用命令よりも前段に記述する作業は、オペレータ自身が行わなければならなかった。これに対し、本実施の形態にかかるエンジニアリングツール１００は、制御システム５００に適用される可能性のある機器ごとに、コントロールデータの意味を表す文字列を項目名称３２ａ１，３２ａ２，・・・のカラムに含んだ命令情報テーブル２０２を予め用意しておけば、専用命令を入力する際には、コントロールデータをデバイスに格納する命令やその命令とともに表示するデバイスコメントは、命令情報テーブル２０２に基づいてエンジニアリングツール１００がシーケンスプログラムに追加するため、専用命令をシーケンスプログラム中に記述する際に設定値の誤りや設定漏れなどのプログラムの誤りが生じることを防止できる。
【００４０】
なお、専用命令情報に、コントロールデータ３２１，３２２，・・・を含めないようにしても良い。この場合には、デバイスコメントを自動的に付加することはできないが、専用命令を入力するための操作を画面表示部２０１が検出した際に、命令一覧ウィンドウを表示して実行可能な全ての専用命令を一覧表示することは可能であるため、専用命令を入力する際には確実にオペレータを支援することができ、シーケンスプログラムの作成作業を容易化できる。
【００４１】
本実施の形態にかかるエンジニアリングツール１００は、拡張ユニット１０２１，１０２２，・・・，１０２ｎの専用命令を入力する際にデバイスコメントを自動的に付加するだけでなく、プログラマブルロジックコントローラ（ＣＰＵユニット）１０１の専用命令を入力する際にデバイスコメントを自動的に付加することが可能である。
【００４２】
このように、本実施の形態にかかるエンジニアリングツール１００は、制御システム５００に適用されているプログラマブルロジックコントローラ１０１及び拡張ユニット１０２１，１０２２，・・・，１０２ｎが実行可能な全ての専用命令を一覧表示し、一覧表示した中から選択された専用命令をシーケンスプログラムに追加するため、専用命令を入力する際には確実にオペレータを支援することができ、シーケンスプログラムの作成作業を容易化できる。
【００４３】
また、本実施の形態にかかるエンジニアリングツール１００は、プログラマブルコントローラ１０１内のデバイスがコントロールデータ用として使用されていることを自動的に明示するため、コントロール用データとして使用するデバイスが誤って他の用途で使用されることを防止できる。また、本実施の形態にかかるエンジニアリングツール１００は、コントロールデータをデバイスに格納するプログラムのブロックを作成すると同時にデバイスコメントを付加するため、デバイスコメントの設定漏れの恐れがなく、オペレータの利便性が向上する。
【産業上の利用可能性】
【００４４】
以上のように、本発明にかかるシーケンスプログラム作成支援装置は、専用命令を入力する際に、プログラマブルロジックコントローラのデバイスに対して設定値を格納するプログラムを手動で作成したり、デバイスコメントを別途設定する必要がなく、オペレータの労力を軽減できる点で有用である。
【符号の説明】
【００４５】
１０  伝送路、３０  命令名、３１，４０３２  内容、３２１，３２２  コントロールデータ、３２ａ１，３２ａ２  項目名称、３２ｂ１，３２ｂ２  設定範囲、６１  左母線、６２  右母線、１００  エンジニアリングツール、１０１  プログラマブルロジックコントローラ、１０２１，１０２２，・・・，１０２ｎ  拡張ユニット、２０１  画面表示部、２０２，２０２１，２０２２，２０２ｍ  命令情報テーブル、２０３  エディタ部、３００  コンピュータ、３０１  ＣＰＵ、３０２  ＲＡＭ、３０３  ＲＯＭ、３０４  記憶部、３０５  入力部、３０６  表示部、３０７  エンジニアリングツールソフトウェア、３０９  通信Ｉ／Ｆ、４０１  シーケンスプログラム作成画面、４０２  機器一覧ウィンドウ、４０３  命令一覧ウィンドウ、４０４  コントロールデータ入力ウィンドウ、４０４ａ，４０４ｂ  レコード、５００  制御システム、４０１１  ラング、４０１２  カーソル、４０１３  専用命令、４０１４１，４０１４２  コントロールデータを格納する命令、４０１５１，４０１５２  デバイスコメント、４０２１，４０２２１，４０２２２，・・・，４０２２ｎ  型番、４０２３，４０３３  次へボタン、４０２４，４０３４，４０４５  キャンセルボタン、４０３１  命令名、４０３５，４０４６  戻るボタン、４０４１  項目名、４０４２  設定値入力欄、４０４３  格納先デバイス入力欄、４０４４  完了ボタン。
【要約】
制御システムに適用可能なプログラマブルロジックコントローラが実行可能な専用命令の命令名を含む専用命令情報が、プログラマブルロジックコントローラの機種ごとに格納された記憶部（３０４）と、シーケンスプログラム作成画面上で専用命令を入力するための操作が行われたことを検出した際に、制御システムを構成するプログラマブルロジックコントローラの機種に対応する専用命令情報を記憶部から読み出し、記憶部（３０４）から読み出した専用命令情報に基づいて、専用命令の命令名を一覧表示する画面表示部（２０１）と、を有する。【図１】
0005619328.tif 000002
【図２】
0005619328.tif 000003
【図３】
0005619328.tif 000004
【図４】
0005619328.tif 000005
【図５】
0005619328.tif 000006
【図６】
0005619328.tif 000007
【図７】
0005619328.tif 000008
【図８】
0005619328.tif 000009
【図９】
0005619328.tif 000010
【図１０】
0005619328.tif 000011
【図１１】
0005619328.tif 000012