(57)【要約】【課題】            制御指令プログラムを作成することなく、プロトコル・データの交信テストをすることができる制御システム等を得る。【解決手段】        本発明の制御システムは、エンジニアリング・ツールに、ＰＬＣに対し交信テスト指令をする交信テスト指令手段を備え、前記ＰＬＣに、第２のプロトコル・データを記憶する交信テスト・データ記憶部と、前記交信テスト指令手段から受ける前記交信テスト指令に基づき、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト手段と、を備えている。【選択図】          図１０
2011065346.tif 000002
【特許請求の範囲】
【請求項１】
ＰＬＣと、
前記ＰＬＣに接続されるエンジニアリング・ツールと、
前記ＰＬＣに接続される外部機器と、を備えた制御システムにおいて、
前記エンジニアリング・ツールは、
前記ＰＬＣに対し交信テスト指令をする交信テスト指令手段を備え、
前記ＰＬＣは、
制御指令プログラムを記憶する制御指令プログラム記憶部と、
第１のプロトコル・データを記憶する交信データ記憶部と、
第２のプロトコル・データを記憶する交信テスト・データ記憶部と、
前記制御指令プログラム中のプロトコル・データ起動指令を読み込むプロトコル起動手段と、
前記プロトコル起動手段が読み込む前記プロトコル・データ起動指令に基づき、前記交信データ記憶部に記憶される前記第１のプロトコル・データにより前記外部機器と交信する交信手段と、
前記交信テスト指令手段から受ける前記交信テスト指令に基づき、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト手段と、
を備えたことを特徴とする制御システム。
【請求項２】
前記エンジニアリング・ツールは、前記第２のプロトコル・データを前記交信テスト・データ記憶部に書き込む第２プロトコル書込手段を備え、
前記ＰＬＣは、交信テスト指令データ記憶部を備え、
前記交信テスト指令手段は、前記交信テスト指令データ記憶部に交信テスト指令データを書き込み、
前記交信テスト手段は、前記交信テスト指令手段により前記交信テスト指令データ記憶部に書き込まれる前記交信テスト指令データに基づき、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項１記載の制御システム。
【請求項３】
前記ＰＬＣは、前記交信テスト指令手段により前記交信テスト指令データ記憶部に書き込まれる前記交信テスト指令データを交信テスト完了データに書き換える完了書込手段を備えたことを特徴とする請求項２記載の制御システム。
【請求項４】
前記交信テスト指令手段は、前記第２のプロトコル・データを前記交信テスト・データ記憶部に書き込み、
前記交信テスト手段は、前記交信テスト指令手段により前記交信テスト・データ記憶部に書き込まれる前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項１記載の制御システム。
【請求項５】
前記ＰＬＣは、前記交信テスト指令手段により前記交信テスト・データ記憶部に書き込まれる前記第２のプロトコル・データを削除する第２プロトコル削除手段と、
を備えたことを特徴とする請求項４記載の制御システム。
【請求項６】
ＰＬＣと、
前記ＰＬＣに接続されるエンジニアリング・ツールと、
前記ＰＬＣに接続される外部機器と、を備えた制御システムにおいて、
前記ＰＬＣが制御指令プログラム中のプロトコル・データ起動指令を読み込むプロトコル起動ステップと、
前記ＰＬＣが前記プロトコル起動ステップにて読み込んだ前記プロトコル・データ起動指令に基づき、前記ＰＬＣに設けられた交信データ記憶部に記憶される第１のプロトコル・データにより前記外部機器と交信する交信ステップと、
前記エンジニアリング・ツールが前記ＰＬＣに対し交信テスト指令をする交信テスト指令ステップと、
前記ＰＬＣが前記交信テスト指令ステップにて受けた前記交信テスト指令に基づき、前記ＰＬＣに設けられた交信テスト・データ記憶部に記憶される第２のプロトコル・データにより前記外部機器と交信する交信テスト・ステップと、
を備えたことを特徴とする制御システムの交信方法。
【請求項７】
前記エンジニアリング・ツールが前記第２のプロトコル・データを前記交信テスト・データ記憶部に書き込む第２プロトコル書込ステップを備え、
前記交信テスト指令ステップは、前記第２プロトコル書込ステップの後、前記エンジニアリング・ツールが前記ＰＬＣに設けられた交信テスト指令データ記憶部に交信テスト指令データを書き込み、
前記交信テスト・ステップは、前記ＰＬＣが前記交信テスト指令ステップにて前記交信テスト指令データ記憶部に書き込まれた前記交信テスト指令データに基づき前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項６記載の制御システムの交信方法。
【請求項８】
前記交信テスト・ステップの後、前記ＰＬＣが前記交信テスト指令ステップにて前記交信テスト指令データ記憶部に書き込まれた前記交信テスト指令データを交信テスト完了データに書き換える完了書込ステップと、
を備えたことを特徴とする請求項７記載の制御システムの交信方法。
【請求項９】
前記交信テスト指令ステップは、前記エンジニアリング・ツールが前記第２のプロトコル・データを前記交信テスト・データ記憶部に書き込み、
前記交信テスト・ステップは、前記ＰＬＣが前記交信テスト指令ステップにて前記交信テスト・データ記憶部に書き込まれる前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項６記載の制御システムの交信方法。
【請求項１０】
前記交信テスト・ステップの後、前記ＰＬＣが前記交信テスト指令ステップにて前記交信テスト・データ記憶部に書き込まれた前記第２のプロトコル・データを削除する第２プロトコル削除ステップと、
を備えたことを特徴とする請求項９記載の制御システムの交信方法。
【請求項１１】
第１のプロトコル・データを記憶する交信データ記憶部と、
第２のプロトコル・データを記憶する交信テスト・データ記憶部と、
ＣＰＵユニットによりプロトコル・データ起動指令がされたか否かを判断する交信指令判断手段と、
前記交信指令判断手段にて、前記プロトコル・データ起動指令がされたと判断した場合、前記交信データ記憶部に記憶される前記第１のプロトコル・データにより外部機器と交信する交信手段と、
エンジニアリング・ツールにより交信テスト指令がされたか否かを判断する交信テスト指令判断手段と、
前記交信テスト指令手段にて、前記交信テスト指令がされたと判断した場合、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト手段と、
を備えたことを特徴とする通信ユニット。
【請求項１２】
交信テスト指令データ記憶部を備え、
前記交信テスト指令判断手段は、前記交信テスト指令データ記憶部に交信テスト指令データが書き込まれているか否かを判断し、
前記交信テスト手段は、前記交信テスト指令判断手段にて、前記交信テスト指令データ記憶部に前記交信テスト指令データが書き込まれていると判断した場合、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項１１記載の通信ユニット。
【請求項１３】
前記交信テスト指令判断手段は、前記交信テスト・データ記憶部に前記第２のプロトコル・データが書き込まれているか否かを判断し、
前記交信テスト手段は、交信テスト指令判断手段にて、前記交信テスト・データ記憶部に前記第２のプロトコル・データが書き込まれていると判断した場合、前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項１１記載の通信ユニット。
【請求項１４】
第１のプロトコル・データを記憶する交信データ記憶部および第２のプロトコル・データを記憶する交信テスト・データ記憶部を有する通信ユニットにおいて、
ＣＰＵユニットによりプロトコル・データ起動指令がされたか否かを判断する交信指令判断ステップと、
前記交信指令判断ステップにて、前記プロトコル・データ起動指令がされたと判断した場合、前記交信データ記憶部に記憶される前記第１のプロトコル・データにより外部機器と交信する交信ステップと、
エンジニアリング・ツールにより交信テスト指令がされたか否かを判断する交信テスト指令判断ステップと、
前記交信テスト指令ステップにて、前記交信テスト指令がされたと判断した場合、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト・ステップと、
を備えたことを特徴とする通信ユニットの交信方法。
【請求項１５】
前記通信ユニットは、さらに交信テスト指令データ記憶部を有し、
前記交信テスト指令判断ステップは、前記交信テスト指令データ記憶部に交信テスト指令データが書き込まれているか否かを判断し、
前記交信テスト・ステップは、前記交信テスト指令判断ステップにて、前記交信テスト指令データ記憶部に前記交信テスト指令データが書き込まれていると判断した場合、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項１４記載の通信ユニットの交信方法。
【請求項１６】
前記交信テスト指令判断ステップは、前記交信テスト・データ記憶部に前記第２のプロトコル・データが書き込まれているか否かを判断し、
前記交信テスト・ステップは、交信テスト指令判断ステップにて、前記交信テスト・データ記憶部に前記第２のプロトコル・データが書き込まれていると判断した場合、前記第２のプロトコル・データにより前記外部機器と交信する
ことを特徴とする請求項１４記載の通信ユニットの交信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller：ＰＬＣ)と外部機器との間で交信を行う制御システムおよびその交信方法と、ＰＬＣの通信ユニットおよびその交信方法に関する。
【背景技術】
【０００２】
従来のプログラマブルコントローラシステムにおいて、ＰＬＣと、汎用の外部機器と、ＰＬＣと外部機器間の交信に用いるプロトコルマクロを作成するプロトコルマクロ作成装置とからなるものがある（例えば、特許文献１）。ＰＬＣは、外部機器と交信するリンクユニットと、このリンクユニットを制御するＣＰＵユニットとからなる。
【０００３】
そして、リンクユニットには、ユーザがプロトコルマクロ作成装置により作成したプロトコルマクロが記憶される。このプロトコルマクロは、外部機器のプロトコルに従って作成される。一方、ＣＰＵユニットには、ユーザが別途作成したラダープログラムが記憶される。このラダープログラムは、リンクユニットに記憶されたプロトコルマクロによる交信を指令する専用指令を含むものである。そして、ＣＰＵユニットがラダープログラムの実行中に専用指令を読み込むと、通信ユニットは、プロトコルマクロにより外部機器と交信を行う。
【０００４】
このように、ユーザは専用指令を用いてラダープログラムを作成することにより、ＰＬＣと外部機器間の交信を実現できるため、容易にラダープログラムを作成することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１８９５０５号公報（例えば段落0005〜0007、図１７）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のプログラマブルコントローラシステムでは、上記のように作成したラダープログラムにより正常に交信できなかった場合、その原因特定に手間と時間がかかるという問題があった。すなわち、ユーザは、ラダープログラム実行中に回線モニタ等の専用装置を用いてプロトコルマクロに問題があるか否かを確認し、プロトコルマクロに問題が無い場合は、つぎにラダープログラムの各行において問題があるか否かを確認する必要があった。
【課題を解決するための手段】
【０００７】
本発明にかかる制御システムは、ＰＬＣと、前記ＰＬＣに接続されるエンジニアリング・ツールと、前記ＰＬＣに接続される外部機器と、を備えた制御システムにおいて、前記エンジニアリング・ツールは、前記ＰＬＣに対し交信テスト指令をする交信テスト指令手段を備え、前記ＰＬＣは、制御指令プログラムを記憶する制御指令プログラム記憶部と、第１のプロトコル・データを記憶する交信データ記憶部と、第２のプロトコル・データを記憶する交信テスト・データ記憶部と、前記制御指令プログラム中のプロトコル・データ起動指令を読み込むプロトコル起動手段と、前記プロトコル起動手段が読み込む前記プロトコル・データ起動指令に基づき、前記交信データ記憶部に記憶される前記第１のプロトコル・データにより前記外部機器と交信する交信手段と、前記交信テスト指令手段から受ける前記交信テスト指令に基づき、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト手段と、を備えたことを特徴とする。
【０００８】
また、本発明にかかる制御システムの交信方法は、ＰＬＣと、前記ＰＬＣに接続されるエンジニアリング・ツールと、前記ＰＬＣに接続される外部機器と、を備えた制御システムにおいて、前記ＰＬＣが制御指令プログラム中のプロトコル・データ起動指令を読み込むプロトコル起動ステップと、前記ＰＬＣが前記プロトコル起動ステップにて読み込んだ前記プロトコル・データ起動指令に基づき、前記ＰＬＣに設けられた交信データ記憶部に記憶される第１のプロトコル・データにより前記外部機器と交信する交信ステップと、前記エンジニアリング・ツールが前記ＰＬＣに対し交信テスト指令をする交信テスト指令ステップと、前記ＰＬＣが前記交信テスト指令ステップにて受けた前記交信テスト指令に基づき、前記ＰＬＣに設けられた交信テスト・データ記憶部に記憶される第２のプロトコル・データにより前記外部機器と交信する交信テスト・ステップと、を備えたことを特徴とする。
【０００９】
また、本発明にかかる通信ユニットは、第１のプロトコル・データを記憶する交信データ記憶部と、第２のプロトコル・データを記憶する交信テスト・データ記憶部と、ＣＰＵユニットによりプロトコル・データ起動指令がされたか否かを判断する交信指令判断手段と、前記交信指令判断手段にて、前記プロトコル・データ起動指令がされたと判断した場合、前記交信データ記憶部に記憶される前記第１のプロトコル・データにより外部機器と交信する交信手段と、エンジニアリング・ツールにより交信テスト指令がされたか否かを判断する交信テスト指令判断手段と、前記交信テスト指令手段にて、前記交信テスト指令がされたと判断した場合、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト手段と、を備えたことを特徴とする。
【００１０】
また、本発明にかかる通信ユニットの交信方法は、第１のプロトコル・データを記憶する交信データ記憶部および第２のプロトコル・データを記憶する交信テスト・データ記憶部を有する通信ユニットにおいて、ＣＰＵユニットによりプロトコル・データ起動指令がされたか否かを判断する交信指令判断ステップと、前記交信指令判断ステップにて、前記プロトコル・データ起動指令がされたと判断した場合、前記交信データ記憶部に記憶される前記第１のプロトコル・データにより外部機器と交信する交信ステップと、エンジニアリング・ツールにより交信テスト指令がされたか否かを判断する交信テスト指令判断ステップと、前記交信テスト指令ステップにて、前記交信テスト指令がされたと判断した場合、前記交信テスト・データ記憶部に記憶される前記第２のプロトコル・データにより前記外部機器と交信する交信テスト・ステップと、を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、エンジニアリング・ツールにてプロトコル・データを作成した後、制御指令プログラムを作成することなく、作成したプロトコル・データが正常に交信できるものか否かを確認することができる。また、制御指令プログラムのデバッグの際に、回線モニタ等の専用装置を用いることなく、容易に原因を特定することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１における制御システムのブロック図である。
【図２】実施の形態１におけるＰＬＣの斜視図である。
【図３】実施の形態１における通信ユニットの記憶部の記憶領域の構成を示すブロック図である。
【図４】実施の形態１におけるエンジニアリング・ツールのブロック図である。
【図５】実施の形態１におけるプロトコル・データ設定画面である。
【図６】実施の形態１におけるパケット設定画面である。
【図７】実施の形態１における３つのプロトコル・データの例を示した図である。
【図８】実施の形態１におけるエンジニアリング・ツール５０の交信テスト処理を示すフローチャートである。
【図９】実施の形態１における交信テスト実行画面である。
【図１０】実施の形態１における通信ユニット３０の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
実施の形態１．
本発明にかかる実施の形態１を図１〜図１０を参照して説明する。
【００１４】
図１は、実施の形態１における制御システムのブロック図である。図２は、実施の形態１におけるＰＬＣの斜視図である。制御システム９０は、ＰＬＣ１と、エンジニアリング・ツール５０と、外部機器６０とを有する。ＰＬＣ１は、電源ユニット１０と、ＣＰＵユニット２０と、通信ユニット３０と、ベースユニット４０とを有する。なお、便宜のため、図１では電源ユニット１０を省略している。ベースユニット４０は、バス４１と複数のスロットなどのＩ／Ｆ部４２とを有する。各Ｉ／Ｆ部４２は、バス４１に接続される。そして、電源ユニット１０、ＣＰＵユニット２０、および通信ユニット３０は、それぞれベースユニット４０のＩ／Ｆ部４２に接続される。また、ベースユニット４０のＩ／Ｆ部４２には、他にもいかなる種類のユニットが接続されてもよいが、本実施の形態では、他のユニットが接続されていないものとする。
【００１５】
電源ユニット１０は、外部電源から入力される電力を、ベースユニット４０のバス４１を経由してＣＰＵユニット２０および通信ユニット３０に供給する。
【００１６】
ＣＰＵユニット２０は、オペレーティング・システム(Operating System：ＯＳ)などのシステム・プログラム、ラダー・プログラムやＣ言語プログラムなどの制御指令プログラム、またはあらゆるデータなどを記憶する記憶部２２と、記憶部２２に記憶されたシステム・プログラムや制御指令プログラムを実行する制御部２１と、外部のエンジニアリング・ツール５０と接続ケーブル７０を介して接続されるＩ／Ｆ部２３と、ベース・ユニット４０のバス４１に接続されるＩ／Ｆ部２４とを有する。これらは、バス２５を介して接続される。
【００１７】
Ｉ／Ｆ部２３は、例えば図２に示すユニバーサル・シリアル・バス(Universal Serial Bus：ＵＳＢ)インタフェース２３a、レコメンデッド・スタンダード２３２(Recommended Standard 232：ＲＳ-２３２)インタフェース２３b、または図示しないEthernet（登録商標）インタフェースなどである。そして、接続ケーブル７０としては、Ｉ／Ｆ部２３に対応するＵＳＢケーブル、ＲＳ-２３２ケーブル、またはEthernet（登録商標）ケーブルなどを用いる。
【００１８】
記憶部２２は、読み出し専用メモリ(Read-Only Memory：ＲＯＭ)、随時アクセス・メモリ(Random-Access Memory：ＲＡＭ)、またはフラッシュ・メモリなどからなる。フラッシュ・メモリを使用することで、記憶部２２の容量を大きくすることができる。例えば、システム・プログラムをＲＯＭに記憶し、制御指令プログラムをフラッシュ・メモリに記憶し、制御部２１がシステム・プログラムや制御指令プログラムを実行する際に用いるデータをＲＡＭまたはフラッシュ・メモリに記憶することができる。
【００１９】
制御部２１は、中央処理装置(Central Processing Unit：ＣＰＵ)またはマイクロ・コンピュータなどである。
【００２０】
通信ユニット３０は、システム・プログラムまたはあらゆるデータなどを記憶する記憶部３２と、記憶部３２に記憶されたシステム・プログラムを実行する制御部３１と、外部機器６０と接続ケーブル８０を介して接続されるＩ／Ｆ部３３と、ベース・ユニット４０のバス４１に接続されるＩ／Ｆ部３４とを有する。これらは、バス３５を介して接続される。
【００２１】
Ｉ／Ｆ部３３は、例えば図２に示すEthernet（登録商標）インタフェース３３a、ＲＳ-２３２インタフェース３３b、または図示しないＵＳＢインタフェースなどである。そして、接続ケーブル８０としては、Ｉ／Ｆ部３３に対応するEthernet（登録商標）ケーブル、ＲＳ-２３２ケーブル、またはＵＳＢケーブルなどを用いる。外部機器６０は、例えば温度調節器、バーコード・リーダ、または計測機器などである。
【００２２】
記憶部３２は、ＲＯＭ、ＲＡＭ、またはフラッシュ・メモリなどからなる。フラッシュ・メモリを使用することで、記憶部３２の容量を大きくすることができる。図３は、実施の形態１における通信ユニット３０の記憶部３２の記憶領域の構成を示すブロック図である。記憶部３２は、システム・プログラムを記憶するシステム・プログラム記憶領域１００と、交信テストを指令するデータを記憶する交信テスト指令データ記憶領域１０１と、交信テストに用いられるデータを記憶する交信テスト・データ記憶領域１０２と、通常の交信に用いられるデータを記憶する交信データ記憶領域１０３と、交信テストおよび通常の交信の結果に関するデータを記憶する交信結果データ記憶領域１０４とを有する。
【００２３】
例えば、システム・プログラム記憶領域１００をＲＯＭに設け、交信テスト指令データ記憶領域１０１および交信テスト・データ記憶領域１０２をＲＡＭに設け、交信データ記憶領域１０３および交信結果データ記憶領域１０４をフラッシュ・メモリに設けることができる。
【００２４】
制御部３１は、ＣＰＵまたはマイクロ・コンピュータなどである。
【００２５】
図４は、実施の形態１におけるエンジニアリング・ツールのブロック図である。エンジニアリング・ツール５０は、プログラムまたはあらゆるデータなどを記憶する記憶部５２と、記憶部５２に記憶されたプログラムを実行する制御部５１と、ＰＬＣ１と接続ケーブル７０を介して接続されるＩ／Ｆ部５３と、表示画面などの表示部５４と、キーボードやマウスなどの入力部５５とを有する。これらは、バス５６を介して接続される。
【００２６】
制御部５１は、例えばＣＰＵである。Ｉ／Ｆ部５３は、接続ケーブル７０に対応するＵＳＢインタフェース、ＲＳ-２３２インタフェース、またはEthernet（登録商標）インタフェースなどである。記憶部５２は、ＲＯＭやＲＡＭなどからなる。記憶部５２には、システム・プログラムと、プロトコル・データの作成およびＰＬＣ１に対する交信指令などを行うためのプログラムとが記憶される。この他にも、記憶部５２には、ＰＬＣ１の初期設定および設定変更などを行うためのプログラム、または制御指令プログラムを作成するためのプログラムなどが記憶されてもよい。
【００２７】
なお、エンジニアリング・ツール５０がＰＬＣ１へ送信するデータは、まず接続ケーブル７０を通ってＣＰＵユニット２０のＩ／Ｆ部２３にて受信される。その後、ＣＰＵユニット２０の制御部２１は、Ｉ／Ｆ部２３にて受信したデータの宛先がＣＰＵユニット２０であるか否かを判断し、そのデータの宛先がＣＰＵユニット２０である場合は、制御部２１がそのデータを処理する。一方、受信したデータの宛先がＣＰＵユニット２０でない場合は、制御部２１は、そのデータを通信ユニット３０へベースユニット４０を介して送信する。つぎに、そのデータが通信ユニット３０のＩ／Ｆ部３４にて受信されると、通信ユニット３０の制御部３１は、Ｉ／Ｆ部３４にて受信したデータの宛先が通信ユニット３０であるか否かを判断し、そのデータの宛先が通信ユニット３０である場合は、制御部３１がそのデータを処理する。一方、そのデータの宛先が通信ユニット３０でない場合は、制御部３１は、そのデータを破棄する。これによって、エンジニアリング・ツール５０は、ＣＰＵユニット２０に対し指令したり、通信ユニット３０の記憶部３２のデータを読み書きすることができる。
【００２８】
また、エンジニアリング・ツール５０は通信ユニット３０のＩ／Ｆ部３３に接続されてもよい。この場合も、エンジニアリング・ツール５０がＰＬＣ１へ送信するデータは、上記と同様に処理される。
【００２９】
つぎに、動作を説明する。まず、エンジニアリング・ツール５０が行う動作について、図５〜９を参照して説明する。なお、エンジニアリング・ツール５０が行う動作は、制御部５１が記憶部５２に記憶された各プログラムに従って処理する。まず、エンジニアリング・ツール５０は、ユーザによる設定内容に基づいて、通信ユニット３０と外部機器６０との間の交信に用いるプロトコル・データを作成する。ここで、ユーザは、表示部５４に表示される画面にて、入力部５５により必要事項を入力することにより、プロトコル・データの内容を設定する。また、このプロトコル・データは、外部機器６０のプロトコルに従って作成される。図５のプロトコル・データ設定画面および図６のパケット設定画面は、ユーザがプロトコル・データの内容を設定する際に、表示部５４に表示される画面のイメージである。
【００３０】
図５のプロトコル・データ設定画面において、ユーザは、新たに作成するプロトコル・データの基本情報を設定する。例えば、外部機器６０を特定する情報として、外部機器６０の製造者名および外部機器６０の名称を入力するとともに、この新たに作成するプロトコル・データを特定する情報として、プロトコル・データの名称および番号を入力する。また、このプロトコル・データの通信種別として、「送信」、「受信」、または「送信及び受信」のいずれかを特定する。通信種別を「送信」と設定する場合、このプロトコル・データは通信ユニット３０から外部機器６０へ送信されるものとなる。通信種別を「受信」と設定する場合、このプロトコル・データは通信ユニット３０が外部機器６０から受信するものとなる。通信種別を「送信及び受信」と設定する場合、このプロトコル・データは通信ユニット３０から外部機器６０へ送信された後に外部機器６０から通信ユニット３０へ返信されるものとなる。この他にも、通信ユニット３０がこのプロトコル・データを外部機器６０から受信するのを待機する受信待ち時間など、プロトコル・データの交信に関するさまざまな情報を設定することができる。
【００３１】
図６のパケット設定画面において、ユーザは、この新たに作成するプロトコル・データの送信パケットまたは受信パケットの内容を設定する。例えば、パケットを特定する情報として、このパケットが属するプロトコル・データの名称および番号を入力するとともに、このパケット種別として送信パケットまたは受信パケットを特定する。さらに、このパケットを構成する各要素の種別、順番、データ長などを、外部機器６０のプロトコルに従って特定する。
【００３２】
つぎに、エンジニアリング・ツール５０は、図５のプロトコル・データ設定画面や図６のパケット設定画面などにてユーザにより設定された内容に従って作成したプロトコル・データを、記憶部５２に記憶する。なお、記憶部５２には、同様に作成した複数のプロトコル・データを記憶することができる。
【００３３】
図７は、３つのプロトコル・データの例を示した図である。各プロトコル・データは、送信パケットおよび受信パケットから構成されるとともに、それぞれ異なるプロトコル・データ番号「No.1」、「No.2」、「No.3」が付されている。これら３つのプロトコル・データは、「Ａ社の温度調節器」である外部機器６０のプロトコルに従って作成されている。
【００３４】
「No.1」の番号が付されたプロトコル・データは、通信ユニット３０が外部機器６０に起動を指令するものである。送信パケットにおいて、「STX」はヘッダ、「02」は外部機器６０の局番、「00 01 00」は指令を意味するデータ、「00 02 00」は起動を意味するデータ、「ETX」はフッタである。また、受信パケットにおいて、「データ１」は外部機器６０がこのプロトコル・データを受信した旨のデータを格納するためのフレーム、「データ２」は外部機器６０が起動した旨のデータを格納するためのフレームである。
【００３５】
同様に、「No.2」の番号が付されたプロトコル・データは、通信ユニット３０が外部機器６０に温度の読出しを指令するものである。送信パケットにおける「00 03 00」は温度の読出しを意味するデータであり、受信パケットにおける「データ２」は外部機器６０が読出した温度値のデータを格納するためのフレームである。その他の送信パケットおよび受信パケットの各構成要素は、プロトコル・データ「No.1」と同様である。
【００３６】
同様に、「No.3」の番号が付されたプロトコル・データは、通信ユニット３０が外部機器６０に温度の変更を指令するものである。送信パケットにおける「00 04 00」は温度の変更を意味するデータであり、受信パケットにおける「データ２」は外部機器６０が温度を変更した旨のデータを格納するためのフレームである。その他の送信パケットおよび受信パケットの各構成要素は、プロトコル・データ「No.1」と同様である。
【００３７】
つぎに、ユーザは、図９に示す交信テスト実行画面にて、プルダウン方式により、交信テストを行いたいプロトコル・データの名称および番号を選択する。これにより、記憶部５２に記憶された複数のプロトコル・データの中から一つのプロトコル・データを特定することができる。つぎに、ユーザは、図９の交信テスト実行画面にて「テスト実行」釦を選択する。
【００３８】
図８は、ユーザにより図９にて「テスト実行」釦が選択された後、エンジニアリング・ツール５０が行う交信テスト処理を示すフローチャートである。エンジニアリング・ツール５０は、ユーザにより図９にて特定されたプロトコル・データを記憶部５２から読み込み（ステップＳ１０１）、その後、読み込んだプロトコル・データを通信ユニット３０の記憶部３２の交信テスト・データ記憶領域１０２に書き込む（ステップＳ１０２）。ここで、既に交信テスト・データ記憶領域１０２に何らかのデータが記憶されている場合は、このプロトコル・データに書き換えられる。
【００３９】
つぎに、エンジニアリング・ツール５０は、通信ユニット３０の記憶部３２の交信テスト指令データ記憶領域１０１に交信テスト指令データを書き込む（ステップＳ１０３）。この交信テスト指令データは、例えば「１」のようなデータであり、通信ユニット３０に対し交信テストを指令するものである。ここで、既に交信テスト指令データ記憶領域１０１に何らかのデータが記憶されている場合は、この交信テスト指令データに書き換えられる。
【００４０】
つぎに、エンジニアリング・ツール５０は、交信テスト指令データ記憶領域１０１を読み込み（ステップＳ１０４）、交信テスト完了データが書き込まれているか否かを判断する（ステップＳ１０５）。この交信テスト完了データは、例えば「２」のような交信テスト指令データとは異なるデータであり、通信ユニット３０が交信テストを完了した旨のデータである。後述するように、通信ユニット３０は、交信テスト指令データ記憶領域１０１に交信テスト指令データが書き込まれていることを確認すると、交信テストを行い、その後、交信テスト指令データ記憶領域１０１に記憶された交信テスト指令データを記憶交信テスト完了データに書き換える。Ｓ１０５にて、交信テスト完了データが書き込まれていない場合は、Ｓ１０４に戻る。
【００４１】
Ｓ１０５にて、交信テスト完了データが書き込まれている場合は、つぎに、エンジニアリング・ツール５０は、通信ユニット３０の記憶部３２の交信結果データ記憶領域１０４から、この交信テストに係る交信テスト結果データを読み込む（ステップＳ１０６）。この交信テスト結果データは、通信ユニット３０が行った交信テストの結果が正常だったか否か、また、異常だった場合は具体的に接続ケーブル８０に異常があった旨などを表すデータである。
【００４２】
つぎに、エンジニアリング・ツール５０は、Ｓ１０６にて読み込んだ交信テスト結果データに基づいて、交信テストの結果情報を表示部５４に表示する（ステップＳ１０７）。その後、交信テスト処理を終了する。
【００４３】
なお、交信テストの結果が正常であった場合、このプロトコル・データは、通信ユニット３０と外部機器６０との間の通常の交信に問題無く用いることができることを意味する。そして、この交信テストが完了したプロトコル・データを通常の交信に用いるためには、まずエンジニアリング・ツール５０は、ユーザによる操作に従い、このプロトコル・データを通信ユニット３０の記憶部３２の交信データ記憶領域１０３に書き込む。なお、交信データ記憶領域１０３には、交信テストが完了した複数のプロトコル・データを記憶することができる。
【００４４】
また、ユーザは、エンジニアリング・ツールまたは他の装置を用いて、別途このプロトコル・データの起動指令を含むラダー・プログラムなどの制御指令プログラムを作成し、作成した制御指令プログラムをＣＰＵユニット２０の記憶部２２に書き込む。この制御指令プログラムは、ＣＰＵユニット２０が実行するものであり、このプロトコル・データ起動指令は、通信ユニット３０に対し、このプロトコル・データによる外部機器６０との交信を指令するものである。
【００４５】
つぎに、エンジニアリング・ツール５０は、ユーザによりこの制御指令プログラムの実行が指令されると、ＣＰＵユニット２０に対し、この制御指令プログラムの実行を指令する。つぎに、ＣＰＵユニット２０は、記憶部２２に記憶された制御指令プログラムの実行を開始し、実行中にプロトコル・データ起動指令を読み込むと、通信ユニット３０に対し、このプロトコル・データ起動指令をする。
【００４６】
つぎに、通信ユニット３０が行う動作について、図１０を参照して説明する。なお、通信ユニット３０が行う動作は、制御部３１がシステム・プログラム記憶領域１００に記憶されたシステム・プログラムに従って処理する。図１０は、実施の形態１における通信ユニット３０の処理を示すフローチャートである。まず、通信ユニット３０は、ＣＰＵユニット２０によりプロトコル・データ起動指令がされたか否か判断する（ステップＳ２０１）。Ｓ２０１にて、プロトコル・データ起動指令がされた場合、つぎに、通信ユニット３０は、交信データ記憶領域１０３からこの起動指令がされたプロトコル・データを読み込む（ステップＳ２０２）。つぎに、Ｓ２０２にて読み込んだプロトコル・データのデータ長やデータ内容などを確認し、このプロトコル・データが外部機器６０と交信するための所定条件を満たすかどうかを診断する（ステップＳ２０３）。
【００４７】
つぎに、通信ユニット３０は、Ｓ２０３の診断の結果、このプロトコル・データが外部機器６０と交信することができるものであるか否かを判断する（ステップＳ２０４）。Ｓ２０４にて、このプロトコル・データが交信できるものであると判断した場合、つぎに、このプロトコル・データにより外部機器６０と交信する（ステップＳ２０５）。つぎに、交信結果データを交信結果データ記憶領域１０４に書き込み（ステップＳ２０６）、その後、Ｓ２０１に戻る。なお、この交信結果データは、通信ユニット３０が行った交信の結果が正常だったか否か、また、異常だった場合は具体的に接続ケーブル８０に異常があった旨などを表すデータである。
【００４８】
一方、Ｓ２０４にて、このプロトコル・データが交信できないものであると判断した場合、つぎに、プロトコル異常データを交信結果データ記憶領域１０４に書き込み（ステップＳ２０６）、その後、Ｓ２０１に戻る。このプロトコル異常データは、このプロトコル・データに何らかの異常があるため、所定条件を満たしていない旨のデータである。
【００４９】
一方、Ｓ２０１にて、プロトコル・データ起動指令がされていない場合、つぎに、通信ユニット３０は、エンジニアリング・ツール５０により交信テスト指令がされたか否かを判断する（ステップＳ２０８）。すなわち、交信テスト指令データ記憶領域１０１を読み込み、交信テスト指令データが書き込まれているか否かを判断する。Ｓ２０８にて、交信テスト指令データが書き込まれていない場合は、ステップＳ２０１へ戻る。ここで、交信テスト指令データが書き込まれていない場合とは、例えば交信テスト完了データなどの交信テスト指令データとは異なるデータが書き込まれている場合、または何もデータが書き込まれていない場合である。
【００５０】
一方、Ｓ２０８にて、交信テスト指令データが書き込まれている場合は、つぎに、通信ユニット３０は、交信テスト・データ記憶領域１０２からプロトコル・データを読み込む（ステップＳ２０９）。つぎに、Ｓ２０９にて読み込んだプロトコル・データのデータ長やデータ内容などを確認し、このプロトコル・データが外部機器６０と交信するための所定条件を満たすかどうかを診断する（ステップＳ２１０）。
【００５１】
そして、通信ユニット３０は、Ｓ２１０の診断の結果、このプロトコル・データが外部機器６０と交信することができるものであるか否かを判断する（ステップＳ２１１）。Ｓ２１１にて、このプロトコル・データが交信できるものであると判断した場合、つぎに、このプロトコル・データにより外部機器６０と交信する（ステップＳ２１２）。つぎに、交信テスト結果データを交信結果データ記憶領域１０４に書き込む（ステップＳ２１３）。つぎに、通信ユニット３０は、交信テスト指令データ記憶領域１０１に交信テスト完了データを書き込み（ステップＳ２１４）、その後、Ｓ２０１に戻る。
【００５２】
一方、Ｓ２１１にて、このプロトコル・データが交信できないものであると判断した場合、つぎに、通信ユニット３０は、プロトコル異常データを交信結果データ記憶領域１０４に書き込む（ステップＳ２１５）。つぎに、Ｓ２１４に進んで交信テスト指令データ記憶領域１０１に交信テスト完了データを書き込み、その後、Ｓ２０１に戻る。
【００５３】
なお、本実施の形態では、図８のＳ１０２にて、エンジニアリング・ツール５０は、作成したプロトコル・データを交信テスト・データ記憶領域１０２に書き込むが、交信データ記憶領域１０３に記憶されたプロトコル・データを交信テスト・データ記憶領域１０２に書き込むこともできる。これにより、制御指令プログラムのデバッグの際にも、プロトコル・データの交信テストを行うことができる。
【００５４】
また、本実施の形態では、図１０のＳ２０１にて、通信ユニット３０は、ＣＰＵユニット２０によりプロトコル・データ起動指令がされたか否かのみを判断するが、ＣＰＵユニット２０により交信テスト指令以外のあらゆる指令がされたか否かを判断し、その後、各指令に従った処理を行うようにしてもよい。
【００５５】
また、通信ユニット３０の交信テスト指令データ記憶領域１０１は無くてもよい。この場合、通信ユニット３０は、図１０のＳ２０８にて、交信テスト指令データ記憶領域１０１に交信テスト指令データが書き込まれているか否かを判断する代わりに、直接交信テスト・データ記憶領域１０２にプロトコル・データが書き込まれているか否かを判断する。また、通信ユニット３０は、図１０のＳ２１４にて、交信テスト指令データ記憶領域１０１に交信テスト完了データを書き込む代わりに、交信テスト・データ記憶領域１０２のプロトコル・データを削除する。一方、エンジニアリング・ツール５０は、図８のＳ１０２の後、Ｓ１０６に進むことになる。
【００５６】
本実施の形態によれば、エンジニアリング・ツールにてプロトコル・データを作成した後、制御指令プログラムを作成することなく、作成したプロトコル・データが正常に交信できるものか否かを確認することができる。また、制御指令プログラムのデバッグの際に、回線モニタ等の専用装置を用いることなく、容易に原因を特定することができる。
【符号の説明】
【００５７】
１  ＰＬＣ
２０  ＣＰＵユニット
３０  通信ユニット
５０  エンジニアリング・ツール
６０  外部機器
９０  制御システム
１０１  交信テスト指令データ記憶領域
１０２  交信テスト・データ記憶領域
１０３  交信データ記憶領域
１０４  交信結果データ記憶領域
【図１】
2011065346.tif 000003
【図２】
2011065346.tif 000004
【図３】
2011065346.tif 000005
【図４】
2011065346.tif 000006
【図５】
2011065346.tif 000007
【図６】
2011065346.tif 000008
【図７】
2011065346.tif 000009
【図８】
2011065346.tif 000010
【図９】
2011065346.tif 000011
【図１０】
2011065346.tif 000012