(57)【要約】【課題】通信テスト用のラダープログラムをＰＬＣに転送することなく通信テストを実行することが可能なプログラマブルロジックコントローラシステム、通信テスト支援装置、通信テスト支援方法、及びコンピュータプログラムを提供する。【解決手段】ＰＬＣは、外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する。外部機器に対するコマンドを生成して発行する第一のコマンド発行部を備える。通信テスト支援装置は、外部機器に対するコマンドに含まれる文字列の入力を受け付け、コマンドの発行トリガを受け付け、入力を受け付けた文字列と記憶されている設定データとに基づいて、外部機器に対するコマンドを生成し、発行トリガを受け付けた場合に、外部機器に対して生成したコマンドを発行する第二のコマンド発行部を備える。【選択図】図７
2018132875.tif 000002
【特許請求の範囲】
【請求項１】
ユーザプログラムを記憶するプログラム記憶部と、
前記ユーザプログラムを繰り返し実行するプログラム実行部と、
前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、
外部機器とデータ通信することが可能に接続する通信部と、
該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、
デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部と
を備えるプログラマブルロジックコントローラと、
該プログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置と
で構成されたプログラマブルロジックコントローラシステムにおいて、
前記通信テスト支援装置は、
前記外部機器との接続条件を表示する表示部と、
前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、
前記コマンドの発行トリガを受け付けるトリガ発行受付部と、
入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行部と
を備えることを特徴とするプログラマブルロジックコントローラシステム。
【請求項２】
前記第二のコマンド発行部は、入力を受け付けた文字列と前記設定データ記憶部に予め記憶されている設定データとに基づいて、前記外部機器に対するコマンドを生成することを特徴とする請求項１に記載のプログラマブルロジックコントローラシステム。
【請求項３】
前記通信テスト支援装置は、
前記外部機器との接続条件を設定する接続条件設定部を備え、
前記第二のコマンド発行部は、入力を受け付けた文字列と前記接続条件設定部により設定された接続条件とに基づいて、前記外部機器に対するコマンドを生成することを特徴とする請求項１に記載のプログラマブルロジックコントローラシステム。
【請求項４】
前記通信テスト支援装置も、前記設定データ記憶部を備えており、
前記第二のコマンド発行部は、前記通信テスト支援装置の前記設定データ記憶部に記憶されている設定データに基づいて前記外部機器に対するコマンドを生成することを特徴とする請求項２に記載のプログラマブルロジックコントローラシステム。
【請求項５】
前記通信テスト支援装置は、生成されたコマンドを発行した後に、対応するラダープログラムを出力することを特徴とする請求項１乃至４のいずれか一項に記載のプログラマブルロジックコントローラシステム。
【請求項６】
前記プログラマブルロジックコントローラは、少なくともＣＰＵユニットと通信ユニットとを含むことを特徴とする請求項１乃至５のいずれか一項に記載のプログラマブルロジックコントローラシステム。
【請求項７】
ユーザプログラムを記憶するプログラム記憶部と、
前記ユーザプログラムを繰り返し実行するプログラム実行部と、
前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、
外部機器とデータ通信することが可能に接続する通信部と、
該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、
デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部と
を備え、
前記外部機器に対する通信テストを支援する通信テスト支援装置とデータ通信することが可能に接続されており、
前記通信テスト支援装置において、前記外部機器に対するコマンドに含まれる文字列の入力を受け付け、入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に発行されたコマンドを受信することを特徴とするプログラマブルロジックコントローラ。
【請求項８】
少なくともＣＰＵユニットと通信ユニットとを含むことを特徴とする請求項７に記載のプログラマブルロジックコントローラ。
【請求項９】
ユーザプログラムを記憶するプログラム記憶部と、
前記ユーザプログラムを繰り返し実行するプログラム実行部と、
前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、
外部機器とデータ通信することが可能に接続する通信部と、
該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、
デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部と
を備えるプログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置において、
前記外部機器との接続条件を表示する表示部と、
前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、
前記コマンドの発行トリガを受け付けるトリガ発行受付部と、
入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行部と
を備えることを特徴とする通信テスト支援装置。
【請求項１０】
前記第二のコマンド発行部は、入力を受け付けた文字列と前記設定データ記憶部に予め記憶されている設定データとに基づいて、前記外部機器に対するコマンドを生成することを特徴とする請求項９に記載の通信テスト支援装置。
【請求項１１】
前記外部機器との接続条件を設定する接続条件設定部を備え、
前記第二のコマンド発行部は、入力を受け付けた文字列と前記接続条件設定部により設定された接続条件とに基づいて、前記外部機器に対するコマンドを生成することを特徴とする請求項９に記載の通信テスト支援装置。
【請求項１２】
前記設定データ記憶部を備えており、
前記第二のコマンド発行部は、前記通信テスト支援装置の前記設定データ記憶部に記憶されている設定データに基づいて前記外部機器に対するコマンドを生成することを特徴とする請求項１０に記載の通信テスト支援装置。
【請求項１３】
生成されたコマンドを発行した後に、対応するラダープログラムを出力することを特徴とする請求項９乃至１２のいずれか一項に記載の通信テスト支援装置。
【請求項１４】
ユーザプログラムを記憶するプログラム記憶部と、
前記ユーザプログラムを繰り返し実行するプログラム実行部と、
前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、
外部機器とデータ通信することが可能に接続する通信部と、
該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、
デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部と
を備えるプログラマブルロジックコントローラと、
該プログラマブルロジックコントローラとデータ通信することが可能であり、前記外部機器に対する通信テストを支援する通信テスト支援装置と
で構成されたプログラマブルロジックコントローラシステムで実行することが可能な通信テスト支援方法において、
前記通信テスト支援装置は、
前記外部機器との接続条件を表示する工程と、
前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける工程と、
前記コマンドの発行トリガを受け付ける工程と、
入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記外部機器に対して生成したコマンドを発行する工程と
を含むことを特徴とする通信テスト支援方法。
【請求項１５】
前記通信テスト支援装置は、入力を受け付けた文字列と前記設定データ記憶部に予め記憶されている設定データとに基づいて、前記外部機器に対するコマンドを生成することを特徴とする請求項１４に記載の通信テスト支援方法。
【請求項１６】
前記通信テスト支援装置は、
前記外部機器との接続条件を設定する工程を含み、
入力を受け付けた文字列と設定された接続条件とに基づいて、前記外部機器に対するコマンドを生成することを特徴とする請求項１４に記載の通信テスト支援方法。
【請求項１７】
前記通信テスト支援装置も、前記設定データ記憶部を備えており、
前記通信テスト支援装置は、前記通信テスト支援装置の前記設定データ記憶部に記憶されている設定データに基づいて前記外部機器に対するコマンドを生成することを特徴とする請求項１５に記載の通信テスト支援方法。
【請求項１８】
前記通信テスト支援装置は、生成されたコマンドを発行した後に、対応するラダープログラムを出力することを特徴とする請求項１４乃至１７のいずれか一項に記載の通信テスト支援方法。
【請求項１９】
ユーザプログラムを記憶するプログラム記憶部と、
前記ユーザプログラムを繰り返し実行するプログラム実行部と、
前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、
外部機器とデータ通信することが可能に接続する通信部と、
該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、
デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部と
を備えるプログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置で実行することが可能なコンピュータプログラムにおいて、
前記通信テスト支援装置を、
前記外部機器との接続条件を表示する表示手段、
前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付手段、
前記コマンドの発行トリガを受け付けるトリガ発行受付手段、及び
入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記通信手段で接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行手段
として機能させることを特徴とするコンピュータプログラム。
【請求項２０】
ユーザプログラムを記憶するプログラム記憶部と、
前記ユーザプログラムを繰り返し実行するプログラム実行部と、
前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、
外部機器とデータ通信することが可能に接続する通信部と、
該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、
デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部と
を備えるプログラマブルロジックコントローラと、
該プログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置と
で構成されたプログラマブルロジックコントローラシステムにおいて、
前記通信テスト支援装置は、
前記外部機器との接続条件を表示する表示部と、
前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、
前記コマンドの発行トリガを受け付けるトリガ発行受付部と
を備え、
前記プログラマブルロジックコントローラは、
前記通信テスト支援装置で入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記通信テスト支援装置から前記コマンドの発行トリガを受け付けた場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行部と
を備えることを特徴とするプログラマブルロジックコントローラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信テスト用のラダープログラムをプログラマブルコントローラ（以下、ＰＬＣ）に転送することなく通信テストを実行することが可能なプログラマブルロジックコントローラシステム、プログラマブルロジックコントローラ、通信テスト支援装置、通信テスト支援方法、及び通信テスト支援装置で実行することが可能なコンピュータプログラムに関する。
【背景技術】
【０００２】
ＰＬＣは、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）制御システムにおいて広く使用されているシーケンス制御装置であり、ラダープログラムと呼ばれる専用プログラムに従って動作する。実装時には、ＰＬＣに接続された汎用のシリアルデバイスに対して、データ読出しの動作確認等を行う必要がある。
【０００３】
具体的には、ＰＬＣを介して接続先設定処理、オープン処理、コマンド送信処理、レスポンス受信処理、クローズ処理等の各種の処理を記述したラダープログラムを作成し、支援装置からＰＬＣに転送してラダープログラムを実行することにより、通信テストを行っている。
【０００４】
例えば特許文献１では、事前に準備されている宛先アドレス情報と通信条件との組み合わせとして規定されている複数の通信仕様を順次切り換えることが可能なプログラマブル・コントローラ・システムが開示されている。特許文献１では、ＰＬＣと汎用シリアルデバイスとの通信条件を意識することなく通信テストを行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２７７７３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、通信テストを行うためには、通信テスト専用のラダープログラムを作成することが必須となる。しかし、ラダープログラムの作成には多くの時間と手間が掛かるという問題点があった。また、ラダープログラムを支援装置から転送しなければならないので、プログラムの変更等を動的に行うことができず、エラーが生じた場合に、機器（汎用シリアルデバイス等）の不具合で生じたのか、プログラムの不具合で生じたのか、原因の切り分けが困難になるという問題点もあった。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、通信テスト用のラダープログラムをＰＬＣに転送することなく通信テストを実行することが可能なプログラマブルロジックコントローラシステム、プログラマブルロジックコントローラ、通信テスト支援装置、通信テスト支援方法、及び通信テスト支援装置で実行することが可能なコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために第１発明に係るプログラマブルロジックコントローラシステムは、ユーザプログラムを記憶するプログラム記憶部と、前記ユーザプログラムを繰り返し実行するプログラム実行部と、前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、外部機器とデータ通信することが可能に接続する通信部と、該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部とを備えるプログラマブルロジックコントローラと、該プログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置とで構成されたプログラマブルロジックコントローラシステムにおいて、前記通信テスト支援装置は、前記外部機器との接続条件を表示する表示部と、前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、前記コマンドの発行トリガを受け付けるトリガ発行受付部と、入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行部とを備えることを特徴とする。
【０００９】
また、第２発明に係るプログラマブルロジックコントローラシステムは、第１発明において、前記第二のコマンド発行部は、入力を受け付けた文字列と前記設定データ記憶部に予め記憶されている設定データとに基づいて、前記外部機器に対するコマンドを生成することが好ましい。
【００１０】
また、第３発明に係るプログラマブルロジックコントローラシステムは、第１発明において、前記通信テスト支援装置は、前記外部機器との接続条件を設定する接続条件設定部を備え、前記第二のコマンド発行部は、入力を受け付けた文字列と前記接続条件設定部により設定された接続条件とに基づいて、前記外部機器に対するコマンドを生成することが好ましい。
【００１１】
また、第４発明に係るプログラマブルロジックコントローラシステムは、第２発明において、前記通信テスト支援装置も、前記設定データ記憶部を備えており、前記第二のコマンド発行部は、前記通信テスト支援装置の前記設定データ記憶部に記憶されている設定データに基づいて前記外部機器に対するコマンドを生成することが好ましい。
【００１２】
また、第５発明に係るプログラマブルロジックコントローラシステムは、第１乃至第４発明のいずれか１つにおいて、前記通信テスト支援装置は、生成されたコマンドを発行した後に、対応するラダープログラムを出力することが好ましい。
【００１３】
また、第６発明に係るプログラマブルロジックコントローラシステムは、第１乃至第５発明のいずれか１つにおいて、前記プログラマブルロジックコントローラは、少なくともＣＰＵユニットと通信ユニットとを含むことが好ましい。
【００１４】
次に、上記目的を達成するために第７発明に係るプログラマブルロジックコントローラは、ユーザプログラムを記憶するプログラム記憶部と、前記ユーザプログラムを繰り返し実行するプログラム実行部と、前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、外部機器とデータ通信することが可能に接続する通信部と、該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部とを備え、前記外部機器に対する通信テストを支援する通信テスト支援装置とデータ通信することが可能に接続されており、前記通信テスト支援装置において、前記外部機器に対するコマンドに含まれる文字列の入力を受け付け、入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に発行されたコマンドを受信することを特徴とする。
【００１５】
また、第８発明に係るプログラマブルロジックコントローラは、第７発明において、少なくともＣＰＵユニットと通信ユニットとを含むことが好ましい。
【００１６】
次に、上記目的を達成するために第９発明に係る通信テスト支援装置は、ユーザプログラムを記憶するプログラム記憶部と、前記ユーザプログラムを繰り返し実行するプログラム実行部と、前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、外部機器とデータ通信することが可能に接続する通信部と、該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部とを備えるプログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置において、前記外部機器との接続条件を表示する表示部と、前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、前記コマンドの発行トリガを受け付けるトリガ発行受付部と、入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行部とを備えることを特徴とする。
【００１７】
また、第１０発明に係る通信テスト支援装置は、第９発明において、前記第二のコマンド発行部は、入力を受け付けた文字列と前記設定データ記憶部に予め記憶されている設定データとに基づいて、前記外部機器に対するコマンドを生成することが好ましい。
【００１８】
また、第１１発明に係る通信テスト支援装置は、第９発明において、前記外部機器との接続条件を設定する接続条件設定部を備え、前記第二のコマンド発行部は、入力を受け付けた文字列と前記接続条件設定部により設定された接続条件とに基づいて、前記外部機器に対するコマンドを生成することが好ましい。
【００１９】
また、第１２発明に係る通信テスト支援装置は、第１０発明において、前記設定データ記憶部を備えており、前記第二のコマンド発行部は、前記通信テスト支援装置の前記設定データ記憶部に記憶されている設定データに基づいて前記外部機器に対するコマンドを生成することが好ましい。
【００２０】
また、第１３発明に係る通信テスト支援装置は、第９乃至第１２発明のいずれか１つにおいて、生成されたコマンドを発行した後に、対応するラダープログラムを出力することが好ましい。
【００２１】
次に、上記目的を達成するために第１４発明に係る通信テスト支援方法は、ユーザプログラムを記憶するプログラム記憶部と、前記ユーザプログラムを繰り返し実行するプログラム実行部と、前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、外部機器とデータ通信することが可能に接続する通信部と、該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部とを備えるプログラマブルロジックコントローラと、該プログラマブルロジックコントローラとデータ通信することが可能であり、前記外部機器に対する通信テストを支援する通信テスト支援装置とで構成されたプログラマブルロジックコントローラシステムで実行することが可能な通信テスト支援方法において、前記通信テスト支援装置は、前記外部機器との接続条件を表示する工程と、前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける工程と、前記コマンドの発行トリガを受け付ける工程と、入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記外部機器に対して生成したコマンドを発行する工程とを含むことを特徴とする。
【００２２】
また、第１５発明に係る通信テスト支援方法は、第１４発明において、前記通信テスト支援装置は、入力を受け付けた文字列と前記設定データ記憶部に予め記憶されている設定データとに基づいて、前記外部機器に対するコマンドを生成することが好ましい。
【００２３】
また、第１６発明に係る通信テスト支援方法は、第１４発明において、前記通信テスト支援装置は、前記外部機器との接続条件を設定する工程を含み、入力を受け付けた文字列と設定された接続条件とに基づいて、前記外部機器に対するコマンドを生成することが好ましい。
【００２４】
また、第１７発明に係る通信テスト支援方法は、第１５発明において、前記通信テスト支援装置も、前記設定データ記憶部を備えており、前記通信テスト支援装置は、前記通信テスト支援装置の前記設定データ記憶部に記憶されている設定データに基づいて前記外部機器に対するコマンドを生成することが好ましい。
【００２５】
また、第１８発明に係る通信テスト支援方法は、第１４乃至第１７発明のいずれか１つにおいて、前記通信テスト支援装置は、生成されたコマンドを発行した後に、対応するラダープログラムを出力することが好ましい。
【００２６】
次に、上記目的を達成するために第１９発明に係るコンピュータプログラムは、ユーザプログラムを記憶するプログラム記憶部と、前記ユーザプログラムを繰り返し実行するプログラム実行部と、前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、外部機器とデータ通信することが可能に接続する通信部と、該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部とを備えるプログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置で実行することが可能なコンピュータプログラムにおいて、前記通信テスト支援装置を、前記外部機器との接続条件を表示する表示手段、前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付手段、前記コマンドの発行トリガを受け付けるトリガ発行受付手段、及び入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記コマンドの発行トリガを受け付けた場合に、前記通信手段で接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行手段として機能させることを特徴とする。
【００２７】
次に、上記目的を達成するために第２０発明に係るプログラマブルロジックコントローラシステムは、ユーザプログラムを記憶するプログラム記憶部と、前記ユーザプログラムを繰り返し実行するプログラム実行部と、前記ユーザプログラムに記述されたデバイスが割り付けられたデバイス領域を有するデバイス記憶部と、外部機器とデータ通信することが可能に接続する通信部と、該外部機器に対するコマンドのフレーム定義、及び該フレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶する設定データ記憶部と、デバイスのデバイス値と前記設定データ記憶部に記憶された設定データとに基づいて、前記外部機器に対するコマンドを生成し、前記プログラム実行部により、前記外部機器に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第一のコマンド発行部とを備えるプログラマブルロジックコントローラと、該プログラマブルロジックコントローラとデータ通信することが可能に接続されており、前記外部機器に対する通信テストを支援する通信テスト支援装置とで構成されたプログラマブルロジックコントローラシステムにおいて、前記通信テスト支援装置は、前記外部機器との接続条件を表示する表示部と、前記外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、前記コマンドの発行トリガを受け付けるトリガ発行受付部とを備え、前記プログラマブルロジックコントローラは、前記通信テスト支援装置で入力を受け付けた文字列に基づいて、前記外部機器に対するコマンドを生成し、前記通信テスト支援装置から前記コマンドの発行トリガを受け付けた場合に、前記通信部に接続された前記外部機器に対して生成したコマンドを発行する第二のコマンド発行部とを備えることを特徴とする。
【００２８】
第１発明、第７発明、第９発明、第１４発明、第１９発明、及び第２０発明では、通信テスト支援装置が、外部機器との接続条件を表示する表示部と、外部機器に対するコマンドに含まれる文字列の入力を受け付ける入力受付部と、コマンドの発行トリガを受け付けるトリガ発行受付部と、入力を受け付けた文字列に基づいて、外部機器に対するコマンドを生成し、発行トリガを受け付けた場合に、通信部に接続された外部機器に対して生成したコマンドを発行する第二のコマンド発行部とを備える。これにより、ラダープログラムを作成することなく、コマンドを動的に生成しながら通信テストを行うこともできるので、ユーザ所望の通信テストを容易かつ簡潔に行うことが可能となる。また、通信エラーが発生した場合に、ラダープログラムを実行させないときには通信コマンドのチェックのみで確認することができ、エラー対処時間を短縮することも可能となる。
【００２９】
第２発明、第１０発明、及び第１５発明では、入力を受け付けた文字列と予め記憶されている設定データとに基づいて、外部機器に対するコマンドを生成するので、入力を受け付けた文字列をそのままコマンドとして生成する場合だけでなく、新たなコマンドを生成する場合においても、ラダープログラムを作成することなく、コマンドを動的に生成しながら通信テストを行うことができる。したがって、ユーザ所望の通信テストを容易かつ簡潔に行うことが可能となる。また、通信エラーが発生した場合に、ラダープログラムを実行させないときには通信コマンドのチェックのみで確認することができ、エラー対処時間を短縮することも可能となる。
【００３０】
第３発明、第１１発明、及び第１６発明では、入力を受け付けた文字列と設定された接続条件とに基づいて、外部機器に対するコマンドを生成するので、入力を受け付けた文字列に対して接続先の情報（ＩＰアドレス等）を付加することができ、ラダープログラムを作成することなく、コマンドを動的に生成しながら通信テストを行うことができる。したがって、ユーザ所望の通信テストを容易かつ簡潔に行うことが可能となる。また、通信エラーが発生した場合に、ラダープログラムを実行させないときには通信コマンドのチェックのみで確認することができ、エラー対処時間を短縮することも可能となる。
【００３１】
第４発明、第１２発明、及び第１７発明では、通信テスト支援装置も、設定データ記憶部を備えており、通信テスト支援装置の設定データ記憶部に記憶されている設定データに基づいて外部機器に対するコマンドを生成するので、プログラマブルロジックコントローラにアクセスすることなく通信テスト用のコマンドを生成することができ、所望のタイミングで通信テストを行うことが可能となる。
【００３２】
第５発明、第１３発明、及び第１８発明では、通信テスト支援装置は、生成されたコマンドを発行した後に、対応するラダープログラムを出力するので、通信テストで送信したコマンドを送付するためのプログラムを容易に作成することができるとともに、通信テストを容易に再現することが可能となる。
【００３３】
第６発明、及び第８発明では、プログラマブルロジックコントローラは、少なくともＣＰＵユニットと通信ユニットとを含むので、ＣＰＵユニットの処理負荷を大幅に増やすことなく通信テスト用のコマンドを生成することが可能となる。
【発明の効果】
【００３４】
本発明によれば、ラダープログラムを作成することなく、コマンドを動的に生成しながら通信テストを行うこともできるので、ユーザ所望の通信テストを容易かつ簡潔に行うことが可能となる。また、通信エラーが発生した場合に、ラダープログラムを実行させないときには通信コマンドのチェックのみで確認することができ、エラー対処時間を短縮することも可能となる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態１に係る通信テスト支援装置を用いた、ＰＬＣシステムの構成例を示すブロック図である。
【図２】本発明の実施の形態１に係る通信テスト支援装置と接続されているＰＬＣの構成例を示すブロック図である。
【図３】本発明の実施の形態１に係る通信テスト支援装置と接続されているＰＬＣで生成される通信コマンドの例示図である。
【図４】本発明の実施の形態１に係る通信テスト支援装置と接続されているＰＬＣのＣＰＵユニットのＣＰＵの処理手順を示すフローチャートである。
【図５】本発明の実施の形態１に係る通信テスト支援装置と接続されているＰＬＣの通信ユニットの処理手順を示すフローチャートである。
【図６】本発明の実施の形態１に係る通信テスト支援装置の、ＣＰＵ等の制御部を用いた場合の構成を示すブロック図である。
【図７】本発明の実施の形態１に係る通信テスト支援装置の機能を示す機能ブロック図である。
【図８】本発明の実施の形態１に係る通信テスト支援装置の制御部の処理手順を示すフローチャートである。
【図９】本発明の実施の形態１に係る通信テスト支援装置と接続されているＰＬＣのＣＰＵユニット及び通信ユニットの処理手順を示すフローチャートである。
【図１０】本発明の実施の形態１に係る通信テスト支援装置の設定画面の例示図である。
【図１１】本発明の実施の形態１に係る通信テスト支援装置の通信テストのコマンドのデータ構成の例示図である。
【図１２】本発明の実施の形態２に係る通信テスト支援装置と接続されているＰＬＣの構成例を示すブロック図である。
【図１３】本発明の実施の形態２に係る通信テスト支援装置の機能を示す機能ブロック図である。
【図１４】本発明の実施の形態３に係る通信テスト支援装置のラダープログラムの表示出力指定画面の例示図である。
【図１５】本発明の実施の形態３に係る通信テスト支援装置のラダープログラム及びフレーム定義の表示出力画面の例示図である。
【図１６】本発明の実施の形態３に係る通信テスト支援装置の処理のフローの表示出力画面の例示図である。
【図１７】本発明の実施の形態３に係る通信テスト支援装置の処理のフロー及びフレーム定義の表示出力画面の例示図である。
【発明を実施するための形態】
【００３６】
以下、本発明の実施の形態に係る通信テスト支援装置を用いた、プログラマブルロジックコントローラ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：以下、ＰＬＣ）システムについて、図面に基づいて具体的に説明する。
【００３７】
（実施の形態１）
図１は、本発明の実施の形態１に係る通信テスト支援装置を用いた、ＰＬＣシステムの構成例を示すブロック図である。図１に示すように、本実施の形態１では、ＰＬＣ１に通信テスト支援装置２が接続されている。
【００３８】
ＰＬＣ１は、各種のセンサ、リレー接点、エンコーダ、スイッチ等の入力装置（外部機器）３と、モータ、ランプ、ソレノイド等の出力装置（外部機器）４とも接続されており、入力装置３からの入力信号に基づいて、出力装置４への出力信号を生成する。ＰＬＣ１の動作は、ＰＬＣ１内に記憶されているラダープログラムによって決定される。なお、入力装置（外部機器）３又は出力装置（外部機器）４としては、例えば、画像処理装置、計測器、バーコードリーダ、マーキング機器、除電器、温度調節器、インバータ、アクチュエータ、又は電子はかり等、通信によりＰＬＣ１とデータをやり取りし得る機器（外部通信機器）が含まれていても良い。
【００３９】
より具体的には、ＰＬＣ１は、ＰＬＣ１全体の制御を司るＣＰＵユニットと、ＣＰＵユニットに着脱可能に接続される一又は複数の拡張ユニットとで構成されている。ＣＰＵユニットは、表示部及び操作部を備える。表示部は、ＣＰＵユニットに接続されている各拡張ユニットの動作状況等を表示し、表示部の表示内容は、操作部を操作することにより切り替えることができる。表示部には、通常、ラダープログラムにより参照されるデバイスの現在値（デバイス値）、ＰＬＣ１内で生じたエラー情報等が表示される。つまり、ＣＰＵユニットは、操作部を介したユーザ操作に基づいて、表示部に所望のデバイス値を表示させたり、そのデバイス値を他の値（ユーザの所望の値）に変更（編集）したりする機能を有する。
【００４０】
ＰＬＣ１の動作モードは、ユーザによって運用モード（いわゆるＲＵＮモード）又は非運用モード（いわゆる設定モード）に切り替えられる。運用モード時には、ラダープログラムが周期的に繰り返し実行され、非運用モード時には、ラダープログラムの実行は停止している。
【００４１】
通信テスト支援装置２は、ＰＬＣ１内のデバイスにデバイス値を設定することにより、入力装置３及び／又は出力装置４等の外部機器が正常に動作するか否かを確認する。ＰＬＣ１単体で通信テストを実行する場合、外部機器３、４に対するコマンドのフレーム定義、及びフレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を、設定データとして記憶しておく（設定データ記憶部を通信テスト支援装置２に備えても良い）。デバイスのデバイス値と記憶されている設定データとに基づいて、外部機器３、４に対するコマンドを生成し、外部機器３、４に対するコマンドの発行トリガに応じたデバイスがオン状態となった場合に、外部機器３、４に対して生成したコマンドを発行する。
【００４２】
一方、通信テスト支援装置２において、外部機器３、４に対するコマンドに含まれる文字列の入力を受け付け、入力を受け付けた文字列と記憶されている設定データとに基づいて、外部機器３、４に対するコマンドを生成し、発行トリガを受け付けた場合に、外部機器３、４に対して生成したコマンドを発行する。これにより、通信テスト用のコマンドをＰＬＣ１及び通信テスト支援装置２の両方で発行することができ、通信テストを柔軟に、しかも簡便に行うことができる。なお、発行トリガには、テスト用のファンクションブロック（又はテスト用の命令語）を実行開始するためのトリガも含む。
【００４３】
図２は、本発明の実施の形態１に係る通信テスト支援装置２と接続されているＰＬＣ１の構成例を示すブロック図である。本実施の形態１に係るＰＬＣ１は、ＣＰＵユニット１ａと拡張ユニット（通信ユニット）１ｂとで構成されている。ＣＰＵユニット１ａと拡張ユニット１ｂとで機能を分散することにより、ＣＰＵユニット１ａの処理負荷を大きく低減することが可能となる。
【００４４】
拡張ユニット１ｂの種類は、特に限定されるものではない。本実施の形態１では、拡張ユニット１ｂが、他の外部機器とデータ通信を行うことができる通信ユニットである場合について説明する。もちろん、ＣＰＵユニット１ａと拡張ユニット１ｂとで機能を分散せず、単体のＰＬＣ１で構成されていても良いことは言うまでもない。
【００４５】
図２に示すように、本発明の実施の形態１に係るＰＬＣ１のプログラム実行部１０２は、プログラムメモリ（プログラム記憶部）１０３に記憶されているラダープログラム８に基づいて、デバイスメモリ（デバイス記憶部）１０４を参照して演算処理を実行し、演算処理結果をデバイスメモリ１０４に記憶する。なお、デバイスメモリ１０４には、他の外部機器から取得したデータが記憶されている。
【００４６】
記憶されているラダープログラム８は、複数の命令コードからなり、シーケンス制御の手順を規定しているプログラムである。ラダープログラム８は、図示しないプログラム作成装置を用いてユーザによって作成され、ＰＬＣ１へ転送されている。
【００４７】
プログラム実行部１０２は、記憶されているラダープログラム８に基づいて演算処理を実行する。演算処理は、デバイスメモリ１０４を参照して行われ、演算処理結果もデバイスメモリ１０４に記憶される。運用モード時には、プログラム実行部１０２によって、ラダープログラム８が周期的に繰り返し実行される。ラダープログラム８を１回実行することを「スキャン」と呼び、運用モード中はラダープログラム８のスキャンが繰り返される。一方、非運用モード時には、ラダープログラム８のスキャンは停止される。
【００４８】
デバイスメモリ１０４は、記憶領域が複数の小領域に分割されている。分割された小領域を「デバイス」と呼び、１つのデバイスは、通常、１ビット又は１ワード若しくは複数ワードの記憶容量からなる。換言すれば、例えばオン／オフのように１ビットのデバイス値を記憶する記憶領域（仮想記憶領域）であるデバイスをリレーデバイスと呼び（ビットデバイスとも呼ぶ）、アナログ値‘１５０’のように１ワード若しくは複数ワードのデバイス値（アナログ値）を記憶する記憶領域（仮想記憶領域）であるデバイスをワードデバイスと呼ぶ。ラダープログラム８には、参照すべきデバイスが記述されているとともに、デバイスに格納されたデータ（デバイス値）に関する演算処理が記述されている。つまり、ラダープログラム８には、デバイスメモリ１０４からデバイス値を読み出し、読み出したデバイス値に基づいて演算処理を行い、演算結果をデバイスメモリ１０４にデバイス値として書き込む手順が記述されている。
【００４９】
まず、ラダープログラム８による通信テストの実行手順について説明する。ＣＰＵユニット１ａのプログラム実行部１０２は、トリガ受付部１０１からのプログラム開始トリガを受信し、ラダープログラム８による通信テストの実行を開始する。ラダープログラム８は、デバイスメモリ１０４、バスマスタ１０６を通じて、拡張ユニットである通信ユニット１ｂのバススレーブ１０７を介して第一のコマンド管理部１１０へ通信テストの開始を通知する。
【００５０】
第一のコマンド管理部１１０は、第一のコマンド生成部１１１に対してコマンド生成の開始を通知する。第一のコマンド生成部１１１は、バススレーブ１０７、バスマスタ１０６を介してデバイスメモリ１０４のデバイス値を取得し、設定データ記憶部１１５からフレーム定義等の設定データを取得して、コマンドの生成を行う。記憶されている設定データは、外部機器３（４）に対するコマンドのフレーム定義、及びフレーム定義に含まれる要素に対してデバイスが割り当てられた割当情報を含む。
【００５１】
図３は、本発明の実施の形態１に係る通信テスト支援装置２と接続されているＰＬＣ１で生成される通信コマンドの例示図である。図３の例では、コマンドは数字列として構成されており、複数のデータブロックで構成されている。データブロックは、図３の例では、最初の２桁を局番部３１、次の２桁をコマンド種類部３２、次の４桁を読み出し先頭アドレス部３３、次の４桁を読み出し点数部３４、最後の２桁をチェックコード部３５として構成されている。
【００５２】
図２に戻って、コマンドの生成が完了した後、第一のコマンド発行部１１２は、通信部１０８へコマンドの発行を通知して、通信部１０８は、ユニットの通信設定に関する情報等を含む通信設定データを通信設定部１０９から取得して、外部機器３、４等へコマンドを発行する。
【００５３】
通信部１０８は、外部機器３、４等から通信テストの実行結果に関する情報を受信し、第一のコマンド受信部１１３へ渡す。第一のコマンド受信部１１３で受信された実行結果に関する情報は、第一のコマンド解釈部１１４において、設定データ記憶部１１５を参照しながら解釈され、解釈された実行結果に関する情報は、バススレーブ１０７、バスマスタ１０６を介してデバイスメモリ１０４に記憶される。
【００５４】
図４は、本発明の実施の形態１に係る通信テスト支援装置２と接続されているＰＬＣ１のＣＰＵユニット１ａのＣＰＵ１０の処理手順を示すフローチャートである。図４に示すように、ＣＰＵユニット１ａのＣＰＵ１０は、プログラム開始トリガを受信したか否かを判断する（ステップＳ４０１）。
【００５５】
ＣＰＵ１０が、プログラム開始トリガを受信していないと判断した場合（ステップＳ４０１：ＮＯ）、ＣＰＵ１０は、受信待ち状態となる。ＣＰＵ１０が、プログラム開始トリガを受信したと判断した場合（ステップＳ４０１：ＹＥＳ）、ＣＰＵ１０は、ラダープログラム８の実行を開始する（ステップＳ４０２）。ＣＰＩ１０は、拡張ユニットである通信ユニット１ｂへ、通信テストの実行開始を通知する（ステップＳ４０３）。
【００５６】
ＣＰＵ１０は、通信ユニット１ｂから通信テストの実行結果に関する情報を、コマンドの解釈結果として受信し（ステップＳ４０４）、デバイスメモリ１０４に記憶する（ステップＳ４０５）。ＣＰＵ１０は、ラダープログラム８が終了したか否かを判断し（ステップＳ４０６）、ＣＰＵ１０が、ラダープログラム８が終了していないと判断した場合（ステップＳ４０６：ＮＯ）、ＣＰＵ１０は、処理をステップＳ４０２へ戻し、上述した処理を繰り返す。ＣＰＵ１０が、ラダープログラム８が終了したと判断した場合（ステップＳ４０６：ＹＥＳ）、ＣＰＵ１０は、処理を終了する。
【００５７】
図５は、本発明の実施の形態１に係る通信テスト支援装置２と接続されているＰＬＣ１の通信ユニット１ｂの処理手順を示すフローチャートである。図５に示すように、通信ユニット１ｂは、通信テストの実行開始の通知を受信したか否かを判断する（ステップＳ５０１）。
【００５８】
通信ユニット１ｂが、通信テストの実行開始の通知を受信していないと判断した場合（ステップＳ５０１：ＮＯ）、通信ユニット１ｂは、受信待ち状態となる。通信ユニット１ｂが、通信テストの実行開始の通知を受信したと判断した場合（ステップＳ５０１：ＹＥＳ）、通信ユニット１ｂは、デバイスメモリ１０４のデバイス値を取得する（ステップＳ５０２）。
【００５９】
通信ユニット１ｂは、フレーム定義等の設定データを取得して（ステップＳ５０３）、コマンドの生成を行う（ステップＳ５０４）。通信ユニット１ｂは、外部機器３、４等へコマンドを発行する（ステップＳ５０５）。
【００６０】
通信ユニット１ｂは、外部機器３、４等から通信テストの実行結果に関する情報を受信し（ステップＳ５０６）、受信された通信テストの実行結果に関する情報を解釈する（ステップＳ５０７）。通信ユニット１ｂは、解釈された通信テストの実行結果に関する情報をＣＰＵユニット１ａへ転送する（ステップＳ５０８）。転送された通信テストの実行結果に関する情報は、ＣＰＵユニット１ａのデバイスメモリ１０４に記憶される。
【００６１】
上述のようにＰＬＣ１でラダープログラム８に沿って通信テストを行う場合、ラダープログラム８を外部のコンピュータ等で生成しておき、ＰＬＣ１へ転送しておく必要がある。それに対して、本実施の形態１では、ユーザによる操作に応じてコマンドを生成して、生成されたコマンドを所望のタイミングで発行することによっても通信テストを行うことができる点に特徴を有する。
【００６２】
図６は、本発明の実施の形態１に係る通信テスト支援装置２の、ＣＰＵ等の制御部を用いた場合の構成を示すブロック図である。図６に示すように、本実施の形態１に係る通信テスト支援装置２は、少なくとも制御部（ＣＰＵ）２１、メモリ２２、ハードディスク等の記憶装置２３、Ｉ／Ｏインタフェース２４、ビデオインタフェース２５、通信インタフェース２６、可搬型ディスクドライブ２７及び上述したハードウェアを接続する内部バス２８で構成されている。
【００６３】
制御部２１は、内部バス２８を介して通信テスト支援装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置２３に記憶しているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ２２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。また、メモリ２２は記憶領域が、ＰＬＣ１のデバイスと同じ大きさの複数の小領域（以下、デバイス）に分割されている。
【００６４】
記憶装置２３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置２３に記憶しているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体９０から、可搬型ディスクドライブ２７によりダウンロードされ、実行時には記憶装置２３からメモリ２２へ展開して実行される。もちろん、通信インタフェース２６を介してネットワークに接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００６５】
Ｉ／Ｏインタフェース２４は、キーボード２４１、マウス２４２等の入力装置と接続され、データの入力を受け付ける。また、ビデオインタフェース２５は、ＣＲＴモニタ、ＬＣＤ等の表示装置２５１と接続され、所定の画像を表示する。
【００６６】
通信インタフェース２６は内部バス２８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、又はＵＳＢを介して接続されることにより、外部のコンピュータ等とデータ送受信することが可能となっている。また、通信線を介してＰＬＣ１へデータ送受信することが可能となっている。
【００６７】
図７は、本発明の実施の形態１に係る通信テスト支援装置２の機能を示す機能ブロック図である。図７において、通信テスト支援装置２のトリガ発行受付部２０３でトリガ発行を受け付け、通信テストの実行開始の通知を第二のコマンド管理部２０４へ送信する。第二のコマンド生成部２１１は、入力受付部２０２から接続先の設定情報、コマンドデータ等の設定データを取得して、コマンド生成を開始する。
【００６８】
なお、設定データは、通信ユニット１ｂの設定データ記憶部に記憶しておいても良いし、通信テスト支援装置２に設定データ記憶部を備えていても良い。通信テスト支援装置２に記憶しておくことで、ＰＬＣ１にアクセスすることなく通信テスト用のコマンドを生成することができ、所望のタイミングで通信テストを行うことができるからである。
【００６９】
なお、入力受付部２０２で入力を受け付けるのは、数字であっても良いし、例えば文字列「ＡＢＣＤ」というようなコマンドそのものを示す文字列（英文字、アスキー文字、記号列等）であっても良い。この場合、入力を受け付けた文字列「ＡＢＣＤ」を、そのままコマンドとして生成して外部機器に送信する。
【００７０】
ただし、コマンドには、イーサネット（登録商標）接続における接続先、ＩＰアドレス、シリアル通信接続におけるボーレート等の外部機器との接続条件を含んでも良い。また、入力を受け付けるのが文字列のみであったとしても、コマンドが生成される時点で、設定データとして含まれる接続先の情報であるＩＰアドレス等を付加した方が好ましい。
【００７１】
この場合、例えば接続条件設定部２０６を別途設けておき、コマンド生成に必要となるイーサネット（登録商標）接続における接続先、ＩＰアドレス、シリアル通信接続におけるボーレート等の外部機器との接続条件の設定を受け付けても良い。なお、接続先の情報を付加しなくても通信可能である場合（例えばＲＳ２３２通信等）には、これを省略することもできる。
【００７２】
コマンドの生成が完了した後、第二のコマンド発行部２１２は、通信インタフェース２０５を介して、通信ユニット１ｂの通信部１０８へ生成されたコマンドを送信する。図２に示すように、通信ユニット１ｂの通信部１０８は、ユニットの通信設定に関する情報等を含む通信設定データを通信設定部１０９から取得して、外部機器３、４等へコマンドを発行する。
【００７３】
通信ユニット１ｂの通信部１０８は、外部機器３、４等から実行結果に関する情報を受信し、通信インタフェース２０５を介して、第二のコマンド受信部２１３へ渡す。第二のコマンド受信部２１３で受信された通信テストの実行結果に関する情報は、第二のコマンド解釈部２１４において、設定データを参照しながら解釈され、解釈された通信テストの実行結果に関する情報は、表示部２０１に表示される。
【００７４】
なお、表示部２０１は、イーサネット（登録商標）接続における接続先、ＩＰアドレス、シリアル通信接続におけるボーレート等の外部機器との接続条件を表示することができる。もちろん、通信テスト支援装置２の表示部２０１で、マルチウインドウで表示しても良いし、他の装置の表示装置で表示しても良い。
【００７５】
図８は、本発明の実施の形態１に係る通信テスト支援装置２の制御部２１の処理手順を示すフローチャートである。図８に示すように、通信テスト支援装置２の制御部２１は、通信テストの実行開始トリガとしてのトリガ発行を受け付け（ステップＳ８０１）、通信テストの実行開始の通知を第二のコマンド管理部２０４へ送信する。
【００７６】
制御部２１は、接続先の設定情報、コマンドデータ等の設定データの入力を受け付ける（ステップＳ８０２）。制御部２１は、入力を受け付けた設定データに基づいて、コマンド生成を開始する（ステップＳ８０３）。制御部２１は、生成されたコマンドを、ＣＰＵユニット１ａへ送信する。
【００７７】
制御部２１は、ＣＰＵユニット１ａから、外部機器３、４等から通信テストの実行結果に関する情報を受信する（ステップＳ８０４）。制御部２１は、受信された通信テストの実行結果に関する情報を、設定データを参照しながら解釈し（ステップＳ８０５）、解釈された通信テストの実行結果に関する情報を表示する（ステップＳ８０６）。
【００７８】
図９は、本発明の実施の形態１に係る通信テスト支援装置２と接続されているＰＬＣ１のＣＰＵユニット１ａ及び通信ユニット１ｂの処理手順を示すフローチャートである。図９に示すように、ＣＰＵユニット１ａは、生成されたコマンドを受信し（ステップＳ９０１）、通信ユニット１ｂの通信部１０８へ渡す。
【００７９】
通信ユニット１ｂは、ユニットの通信設定に関する情報等を含む通信設定データを取得して（ステップＳ９０２）、外部機器３、４等へコマンドを発行する（ステップＳ９０３）。通信ユニット１ｂは、外部機器３、４等から通信テストの実行結果に関する情報を受信し（ステップＳ９０４）、通信テスト支援装置２へ送信する（ステップＳ９０５）。
【００８０】
図１０は、本発明の実施の形態１に係る通信テスト支援装置２の設定画面の例示図である。図１０において、接続先設定領域１５１においては、コマンドを送信する送信先である外部機器３（４）のＩＰアドレス及びポート番号の設定を受け付ける。
【００８１】
送信データ設定領域１５３においては、送信データとして生成されたコマンドを設定する。図１０の例では、送信データとして１６進数の‘４Ｄ  ３０  ０Ｄ’を設定している。この状態で実行ボタン１５２の選択を受け付けるとコマンドが発行されて、通信テストが実行される。
【００８２】
そして、受信結果表示領域１５４において、受信した通信テストの実行結果に関する情報を表示する。図１０の例では、通信テストの実行結果に関する情報として１６進数の‘４Ｆ  ４Ｂ  ０Ｄ  ０Ａ’を受信している。
【００８３】
なお、ＰＬＣ１でコマンドを生成するのか、通信テスト支援装置２でコマンドを生成するのかは、コマンドのヘッダ情報で制御すればよい。図１１は、本発明の実施の形態１に係る通信テスト支援装置２の通信テストのコマンドのデータ構成の例示図である。
【００８４】
図１１において、通信テスト支援装置２の第二のコマンド生成部２１１で生成されたコマンド１１０２には、ヘッダ情報１１０１として拡張ユニット（通信ユニット）１ｂを特定する情報が設定されている。一方、通信ユニット１ｂの第一のコマンド生成部１１１で生成されたコマンドには、ヘッダ情報が付加されない。
【００８５】
これにより、通信ユニット１ｂにおいてヘッダ情報を読み取ることで、第一のコマンド生成部１１１で生成されたコマンドか、あるいは第二のコマンド生成部２１１で生成されたコマンドかを区別することができ、外部機器３（４）に対してコマンドを発行した後、通信テストの実行結果に関する情報を第二のコマンド受信部２１３に返すことが可能となる。
【００８６】
以上のように本実施の形態１によれば、ラダープログラムを作成することなく、コマンドを動的に生成しながら通信テストを行うこともできるので、ユーザ所望の通信テストを容易かつ簡潔に行うことが可能となる。また、通信エラーが発生した場合に、ラダープログラムを実行させないときには通信コマンドのチェックのみで確認することができ、エラー対処時間を短縮することも可能となる。
【００８７】
なお、上述した実施の形態１では、ＰＬＣ１をＣＰＵユニット１ａと拡張ユニット（通信ユニット）１ｂとで構成しているが、特にこれに限定されるものではなく、ＣＰＵユニット１ａ単体で両方のユニットの機能を実現しても同様の効果が期待できる。また、設定データ記憶部についても、ＰＬＣ１だけでなく、通信テスト支援装置２にも備えても良い。
【００８８】
（実施の形態２）
本発明の実施の形態２に係る通信テスト支援装置を用いた、ＰＬＣシステムの構成は、実施の形態１と同様であることから、同一の符号を付することで詳細な説明は省略する。本実施の形態２では、第二のコマンド管理部１３０（２０４）をＰＬＣ１のＣＰＵユニット１ａに備える点で実施の形態１と相違する。
【００８９】
図１２は、本発明の実施の形態２に係る通信テスト支援装置２と接続されているＰＬＣ１の構成例を示すブロック図である。本実施の形態２に係るＰＬＣ１は、ＣＰＵユニット１ａと拡張ユニット（通信ユニット）１ｂとで構成されている。ＣＰＵユニット１ａと拡張ユニット１ｂとで機能を分散することにより、ＣＰＵユニット１ａの処理負荷を大きく低減することが可能となる。
【００９０】
拡張ユニット１ｂの種類は、特に限定されるものではない。本実施の形態１では、拡張ユニット１ｂが、他の外部機器とデータ通信を行うことができる通信ユニットである場合について説明する。もちろん、ＣＰＵユニット１ａと拡張ユニット１ｂとで機能を分散せず、単体のＰＬＣ１で構成されていても良いことは言うまでもない。
【００９１】
図１２に示すように、本発明の実施の形態２に係るＰＬＣ１のプログラム実行部１０２は、プログラムメモリ（プログラム記憶部）１０３に記憶されているラダープログラム８に基づいて、デバイスメモリ（デバイス記憶部）１０４を参照して演算処理を実行し、演算処理結果をデバイスメモリ１０４に記憶する。なお、デバイスメモリ１０４には、外部機器から取得したデータが記憶されている。
【００９２】
記憶されているラダープログラム８は、複数の命令コードからなり、シーケンス制御の手順を規定しているプログラムである。ラダープログラム８は、図示しないプログラム作成装置を用いてユーザによって作成され、ＰＬＣ１へ転送されている。
【００９３】
プログラム実行部１０２は、記憶されているラダープログラム８に基づいて演算処理を実行する。演算処理は、デバイスメモリ１０４を参照して行われ、演算処理結果もデバイスメモリ１０４に記憶される。運用モード時には、プログラム実行部１０２によって、ラダープログラム８が周期的に繰り返し実行される。ラダープログラム８を１回実行することを「スキャン」と呼び、運用モード中はラダープログラム８のスキャンが繰り返される。一方、非運用モード時には、ラダープログラム８のスキャンは停止される。
【００９４】
デバイスメモリ１０４は、記憶領域が複数の小領域に分割されている。分割された小領域を「デバイス」と呼び、１つのデバイスは、通常、１ビット又は１ワード若しくは複数ワードの記憶容量からなる。換言すれば、例えばオン／オフのように１ビットのデバイス値を記憶する記憶領域（仮想記憶領域）であるデバイスをリレーデバイスと呼び（ビットデバイスとも呼ぶ）、アナログ値‘１５０’のように１ワード若しくは複数ワードのデバイス値（アナログ値）を記憶する記憶領域（仮想記憶領域）であるデバイスをワードデバイスと呼ぶ。ラダープログラム８には、参照すべきデバイスが記述されているとともに、デバイスに格納されたデータ（デバイス値）に関する演算処理が記述されている。つまり、ラダープログラム８には、デバイスメモリ１０４からデバイス値を読み出し、読み出したデバイス値に基づいて演算処理を行い、演算結果をデバイスメモリ１０４にデバイス値として書き込む手順が記述されている。
【００９５】
ラダープログラム８による通信テストの実行手順については、実施の形態１と同様であることから、詳細な説明は省略する。本実施の形態２でも、ユーザによる操作に応じてコマンドを生成して、生成されたコマンドを所望のタイミングで発行することによっても通信テストを行うことができる。
【００９６】
本実施の形態２では、実施の形態１とは異なり、第二のコマンド管理部１３０をＣＰＵユニット１ａに備えている。図１３は、本発明の実施の形態２に係る通信テスト支援装置２の機能を示す機能ブロック図である。
【００９７】
図１２及び図１３において、通信テスト支援装置２のトリガ発行受付部２０３でトリガ発行を受け付け、通信インタフェース２０５、１０５を介して、通信テストの実行開始の通知をＣＰＵユニット１ａの第二のコマンド管理部１３０へ送信する。ＣＰＵユニット１ａにおいて、第二のコマンド生成部１３１は、通信テスト支援装置２の入力受付部２０２から、通信インタフェース２０５、１０５を介して接続先の設定情報、コマンドデータ等の設定データを取得して、コマンド生成を開始する。
【００９８】
コマンドの生成が完了した後、第二のコマンド発行部１３２は、バスマスタ１０６、バススレーブ１０７を介して、通信ユニット１ｂの通信部１０８へ生成されたコマンドを送信する。通信部１０８は、ユニットの通信設定に関する情報等を含む通信設定データを通信設定部１０９から取得して、外部機器３、４等へコマンドを発行する。
【００９９】
通信ユニット１ｂの通信部１０８は、外部機器３、４等から通信テストの実行結果に関する情報を受信し、バススレーブ１０７、バスマスタ１０６を介して、第二のコマンド受信部１３３へ渡す。第二のコマンド受信部１３３で受信された通信テストの実行結果に関する情報は、第二のコマンド解釈部１３４において、設定データを参照しながら解釈され、解釈された通信テストの実行結果に関する情報を通信インタフェース１０５、２０５を介して通信テスト支援装置２へ送信する。解釈された通信テストの実行結果に関する情報は、通信テスト支援装置２の表示部２０１に表示される。
【０１００】
以上のように本実施の形態２によれば、ラダープログラムを作成することなく、コマンドを動的に生成しながら通信テストを行うこともできるので、ユーザ所望の通信テストを容易かつ簡潔に行うことが可能となる。また、通信エラーが発生した場合に、ラダープログラムを実行させないときには通信コマンドのチェックのみで確認することができ、エラー対処時間を短縮することも可能となる。
【０１０１】
なお、上述した実施の形態２では、設定データ記憶部１３５をＣＰＵユニット１ａにも備えているが、もちろん通信ユニット１ｂだけに備えていても良い。この場合、設定データを必要とするときには、ＣＰＵユニット１ａと通信ユニット１ｂとの間で設定データをデータ通信する。
【０１０２】
（実施の形態３）
本発明の実施の形態３に係る通信テスト支援装置２を用いた、ＰＬＣシステムの構成は、実施の形態１と同様であることから、同一の符号を付することで詳細な説明は省略する。本実施の形態３では、第二のコマンド管理部２０４で生成された通信テストに用いるコマンドに基づいて、ラダープログラム８を表示出力する点で実施の形態１及び２と相違する。表示出力されたラダープログラム８は、運用モードにおいてＣＰＵユニット１ａにより実行されても良い。また、表示出力されたフレーム定義やフローも同様に、運用モードにおいて実行されても良い。
【０１０３】
表示出力の形式としては、（１）ラダープログラム８の表示出力、（２）ラダープログラム８及びフレーム定義の表示出力、（３）ラダープログラム８のフローの表示出力、（４）ラダープログラム８のフロー及びフレーム定義の表示出力の４種類の表示出力方法が考えられる。図１４は、本発明の実施の形態３に係る通信テスト支援装置２のラダープログラム８の表示出力指定画面の例示図である。
【０１０４】
図１４の例では、表示出力指定領域１４０１に、出力ボタン１４０２が表示されている。ユーザが、出力ボタン１４０２を選択した場合、プルダウンメニュー１４０３が表示される。プルダウンメニューの中で、「ラダー」、「ラダー＋フレーム定義」、「フロー」、「フロー＋フレーム定義」の中から１つを選択することで、表示出力を形式（１）〜（４）に変更することができる。
【０１０５】
例えば、ユーザが「ラダー」を選択した場合、発行されたコマンドに対応したラダープログラム８が表示出力される。表示出力されるのは、通信先であるＩＰアドレス等の設定を行うラダー、プロトコル設定を行うラダー、コマンドのバイト列を送信するラダー、受信するラダー、クローズを行うラダー等を表示出力する。
【０１０６】
また、「ラダー＋フレーム定義」が選択された場合、ラダープログラム８に加えてフレーム定義も表示出力する。図１５は、本発明の実施の形態３に係る通信テスト支援装置２のラダープログラム８及びフレーム定義の表示出力画面の例示図である。
【０１０７】
図１５に示すように、フレーム定義表示領域１５０２にフレーム定義を表示出力する。そして、表示されているフレーム定義を実行するラダーをラダープログラム表示領域１５０１に表示出力する。
【０１０８】
さらに、「フロー」が選択された場合、ラダープログラム８ではなく、処理のフローが表示出力される。図１６は、本発明の実施の形態３に係る通信テスト支援装置２の処理のフローの表示出力画面の例示図である。図１６の例では、処理のフロー表示領域１６０１に、追加された処理のフローが表示出力される。
【０１０９】
そして、「フロー＋フレーム定義」が選択された場合、処理のフローだけでなくフレーム定義も表示出力される。図１７は、本発明の実施の形態３に係る通信テスト支援装置２の処理のフロー及びフレーム定義の表示出力画面の例示図である。
【０１１０】
図１７に示すように、フレーム定義表示領域１７０２にフレーム定義を表示出力する。そして、表示されているフレーム定義を実行する処理のフローを処理フロー表示領域１７０１に表示出力する。
【０１１１】
以上のように本実施の形態３によれば、生成されたコマンドを発行した後に、対応するラダープログラムを出力するので、どういう通信テストを行って正常に終了したのかを目視で確認することができるとともに、通信テストを容易に再現することが可能となる。
【０１１２】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば、上述した実施の形態１では、第一のコマンド管理部は通信ユニット１ｂ（ＰＬＣ１）に、第二のコマンド管理部は通信テスト支援装置２に、実施の形態２では、第一のコマンド管理部は通信ユニット１ｂに、第二のコマンド管理部はＣＰＵユニット１ａに、それぞれ備えているが、特にこれに限定されるものではなく、ＰＬＣシステムの中で別個に備えていれば良い。
【符号の説明】
【０１１３】
１  ＰＬＣ
１ａ  ＣＰＵユニット
１ｂ  拡張ユニット（通信ユニット）
２  通信テスト支援装置
１０  ＣＰＵ
２１  制御部
２２  メモリ
１０４  デバイスメモリ
【図１】
2018132875.tif 000003
【図２】
2018132875.tif 000004
【図３】
2018132875.tif 000005
【図４】
2018132875.tif 000006
【図５】
2018132875.tif 000007
【図６】
2018132875.tif 000008
【図７】
2018132875.tif 000009
【図８】
2018132875.tif 000010
【図９】
2018132875.tif 000011
【図１０】
2018132875.tif 000012
【図１１】
2018132875.tif 000013
【図１２】
2018132875.tif 000014
【図１３】
2018132875.tif 000015
【図１４】
2018132875.tif 000016
【図１５】
2018132875.tif 000017
【図１６】
2018132875.tif 000018
【図１７】
2018132875.tif 000019