(57)【特許請求の範囲】
【請求項１】
制御装置とその制御装置の通信相手となるターゲットを含むネットワークシステムにおける前記制御装置と前記ターゲット間でのメッセージ通信を行うためのメッセージ送信プログラムを作成し、前記制御装置に転送するツール装置であって、
前記ネットワークシステムに接続したツール装置から前記制御装置を経由してメッセージの送信先である前記ターゲットに至る通信経路を確定し、その確定した通信経路により前記ターゲットに対してコネクションの確立を実行する送信先通信経路確認手段と、
送信テスト用のメッセージを作成し、前記送信先通信経路確認手段によりコネクションの確立が保証された通信経路で、その作成したメッセージを前記ターゲットに送信する送信テスト処理手段と、
前記ターゲットをメッセージの送信先とするメッセージ送信プログラムを作成し、作成したメッセージ送信プログラムを前記制御装置に転送する送信プログラム作成処理手段と、
を備え、
前記送信先通信経路確認手段は、前記ツール装置を上位としてネットワークシステムを構成する各デバイスの接続関係をツリー状で表した情報に基づき前記ツール装置から前記ターゲットまでに存在するデバイスを１つずつ順番に経路をたどることにより前記ターゲットへの送信先パスを決定する機能を持ち、
前記送信プログラム作成処理手段は、通信を行うために必要なパラメータを取得するとともに、前記決定した送信先パスに基づいて前記メッセージ送信プログラムを作成するものであることを特徴とするツール装置。
【請求項２】
前記送信先通信経路確認手段は、
ツール装置を上位としてネットワークシステムを構成する各デバイスの接続関係をツリー状に表したメッセージ送信先ネットワークパス指定画面を表示する機能と、
メッセージの送信先として指定されたデバイスを認識し、ツール装置からその指定されたデバイスまでの通信経路を特定するためのパスを作成する機能と、
を備えたことを特徴とする請求項１に記載のツール装置。
【請求項３】
前記送信プログラム作成処理手段は、メッセージ送信プログラムの転送先である前記制御装置に対してコネクションの確立を図り、そのコネクションの確立が成功した場合、前記送信先通信経路確認手段が確定した前記ツール装置から前記ターゲットまでの通信経路と、前記コネクションの確立が成功した前記ツール装置から前記制御装置までの通信経路との差分を抽出し、その抽出した差分に基づき、前記制御装置からメッセージの送信先である前記ターゲットまでの通信経路を特定する機能を備えたことを特徴とする請求項１または２に記載のツール装置。
【請求項４】
前記メッセージは、ＣＩＰ通信により送信するものであり、
前記送信テスト処理手段は、サービスコード，クラスＩＤ，インスタンスＩＤ，アトリビュートＩＤの入力領域を含むパラメータの入力画面を用いて入力された各パラメータを取得し、送信テスト用のメッセージを作成し、前記メッセージの送信先に送信するものであることを特徴とする請求項１から３のいずれか１項に記載のツール装置。
【請求項５】
制御装置とその制御装置の通信相手となるターゲットを含むネットワークシステムにおける前記制御装置と前記ターゲット間でのメッセージ通信を行うためのメッセージ送信プログラムを作成し、前記制御装置に転送するツール装置を用いたメッセージ送信プログラムの作成方法であって、
ツール装置は、前記ネットワークシステムに接続した状態でそのツール装置から前記制御装置を経由してメッセージの送信先である前記ターゲットに至る通信経路を確定するとともに、その確定した通信経路により前記ターゲットに対してコネクションの確立を実行し、確立が成功することで通信経路の保障を確認し、
次いで、送信する送信テスト用のメッセージを作成し、ツール装置は、前記コネクションの確立が保証された通信経路を用いて、その作成したメッセージを前記ターゲットに送信し、そのメッセージ送信が成功することでメッセージデータの保障を確認し、
その後、ツール装置は、前記ターゲットをメッセージの送信先とするメッセージ送信プログラムを、通信を行うために必要なパラメータを取得するとともに、前記決定した送信先パスに基づいて作成し、作成した前記制御装置に転送するようにし、
前記通信経路の保証の確認は、前記ツール装置を上位としてネットワークシステムを構成する各デバイスの接続関係をツリー状で表した情報に基づき前記ツール装置から前記ターゲットまでに存在するデバイスを１つずつ順番に経路をたどることにより決定した前記ターゲットへの送信先パスを用いて行うことを特徴とする、メッセージ送信プログラムの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ツール装置及びメッセージ送信プログラムの作成方法に関するもので、ネットワークシステムにおける装置・機器間でのメッセージ通信を行なうための送信プログラムを作成する技術に関するものである。
【背景技術】
【０００２】
生産工場の製造現場などに設置されるＦＡ（ファクトリーオートメーション）システムの制御を司るＰＬＣ（プログラマブルロジックコントローラ）は、制御プログラムに基づいて演算実行するＣＰＵユニット、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、アクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、上位端末装置などと接続してそれと情報をやりとりする通信ユニット、各ユニットに電源を供給する電源ユニット、などの複数のユニットを組み合わせることにより構成されている。
【０００３】
ＣＰＵユニットは、制御プログラムを記憶するプログラムメモリと、入力ユニットが取り込んだ入力信号と制御プログラムの演算結果である出力信号とをそれぞれ記憶するデータメモリと、制御プログラムに基づく演算処理等をする処理プロセッサ部とを含んで構成される。ＣＰＵユニットにおける制御プログラムは、ＰＬＣを稼働させる前に、ＰＬＣの使用者（ユーザ）がプログラミングツール装置を操作することにより、例えばラダー図（ラダーチャート）で表現されるラダー言語で記述して作成される。そして、作成されたユーザプログラムは、プログラミングツール装置によってラダー図のシンボルが命令語に変換され、個々のＣＰＵユニットに応じたオペランドが規定され、対象となるＣＰＵユニットにダウンロードされる。ＣＰＵユニットの処理プロセッサ部は、プログラムメモリからユーザプログラムの命令語を順次読み出して、この命令語のオペランドに従うメモリのアドレスに基づいてデータメモリから入力信号の情報を読み出して、このデータをユーザプログラムに従って論理演算し、演算結果をデータメモリに記憶し、記憶した演算結果を出力信号として出力ユニットへ出力する。ＣＰＵユニットの処理プロセッサ部は、この入力信号読み出し処理、ユーザプログラム実行処理、出力処理の出力処理、をサイクリックに実行する。
【０００４】
ＰＬＣは、ネットワークを介して接続された別のＰＬＣやその他の機器に対して通信を行なう機能を持つ。この通信を行なうためのプロトコルの一つとして、ＣＩＰ（Ｃｏｍｍｏｎ  Ｉｎｄｕｓｔｒｉａｌ  Ｐｒｏｔｃｏｌ）がある。ＣＩＰを用いた通信を行なう場合、ラダープログラム中に、ＣＩＰの仕様に準拠した記述で、通信メッセージ等を組み込むことになる。
【０００５】
実際に、ＣＩＰ通信を含むプログラムをＰＬＣで動作させるためには、まず、プログラマーが、ラダープログラムを作成する。このラダープログラムは、制御対象機械の動作を制御するためのプログラムと、ＣＩＰ通信を行なうためのプログラムを含む。
【０００６】
次に、作成したラダープログラムを、ＰＬＣに転送し、デバッグ装置でデバッグを行なう。そして、誤りを見つけた場合には、ラダープログラムを修正した後、修正後のラダープログラムをＰＬＣに転送し、再びデバッグを行なう。ユーザは、係る処理を、誤りが無くなるまで繰り返し実行する。ＰＬＣに接続してデバッグに必要な情報を取得する開発支援装置は、例えば特許文献１に開示されたものがある。
【特許文献１】特開２００３−２４１８０５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＣＩＰ通信を行なうためのプログラムを作成する場合、ユーザはＣＩＰを理解し複雑なパラメータを入力し作成する必要があるので、煩雑である。また、ＣＩＰの場合、メッセージを送る経路を指定する必要があるため、ネットワーク構成を理解し、最終的なメッセージの送信相手までの適切な経路をユーザが自分で見つけだし、指定する必要があるので、煩雑である。そして、実機にプログラムをダウンロードし、当該プログラムを実行した際にＣＩＰ通信が行なえなかった場合、下記の（１）〜（４）等に示す原因が考えられる。
【０００８】
（１）実機におけるネットワーク構成が、物理的に正しく接続されていない。
（２）ユーザが設定した、メッセージを送る通信経路が間違っている（送信相手につながらない経路を設定している）。
（３）ＣＩＰメッセージのパラメータが間違っている。
（４）プログラムエラー等でＣＩＰのメッセージの送信処理が実行されない。
【０００９】
ユーザは、ＣＩＰによる通信が行なわれなかった場合、上記の（１）〜（４）のどの原因によるものかを特定し、修正する必要がある。しかし、通信エラーの原因は必ずしも１つとは限らず、複数の原因が同時に発生していることもあり、原因特定を特定することが煩雑である。
【００１０】
原因が特定できると、ユーザは、それを修正することになるが、全ての原因を特定し、正しく修正しないと、さらなる修正作業が必要となるため、ラダープログラムの再作成・転送を繰り返し行なうことになり、正しいプログラムを完成するまでに時間と労力がかかる。
【００１１】
ＣＩＰ以外の通信プロトコルを用いたメッセージ送信を実行するプログラムを作成する場合も、同様の問題を生じる。
【００１２】
この発明の目的は、使用する通信プロトコルに対する技術知識があまりなくても通信を行なうためのプログラムの作成を容易に行なうことができ、間違いがあった場合に、その原因の特定を簡単に行なえ、最終的に動作可能なプログラムを作成するための時間と労力を軽減することのできるツール装置及びメッセージ送信プログラムの作成方法を提供することにある。
【課題を解決するための手段】
【００１３】
（１）この発明によるツール装置は、制御装置とその制御装置の通信相手となるターゲットを含むネットワークシステムにおける前記制御装置と前記ターゲット間でのメッセージ通信を行うためのメッセージ送信プログラムを作成し、前記制御装置に転送するツール装置であって、前記ネットワークシステムに接続したツール装置から前記制御装置を経由してメッセージの送信先である前記ターゲットに至る通信経路を確定し、その確定した通信経路により前記ターゲットに対してコネクションの確立を実行する送信先通信経路確認手段と、送信テスト用のメッセージを作成し、前記送信先通信経路確認手段によりコネクションの確立が保証された通信経路で、その作成したメッセージを前記ターゲットに送信する送信テスト処理手段と、前記ターゲットをメッセージの送信先とするメッセージ送信プログラムを作成し、作成したメッセージ送信プログラムを前記制御装置に転送する送信プログラム作成処理手段と、を備え、前記送信先通信経路確認手段は、前記ツール装置を上位としてネットワークシステムを構成する各デバイスの接続関係をツリー状で表した情報に基づき前記ツール装置から前記ターゲットまでに存在するデバイスを１つずつ順番に経路をたどることにより前記ターゲットへの送信先パスを決定する機能を持ち、前記送信プログラム作成処理手段は、通信を行うために必要なパラメータを取得するとともに、前記決定した送信先パスに基づいて前記メッセージ送信プログラムを作成するものとした。
【００１４】
制御装置は、例えばプログラマブルコントローラ（ＰＬＣ）であり、実施形態では第１ＰＬＣ２（ＣＰＵユニット２ａ）に対応する。送信先通信経路確認手段は、実施形態ではＣＩＰデータ生成部１２に対応する。送信テスト処理手段は、実施形態ではＣＩＰ送信テスト処理部１３に対応する。送信プログラム作成処理手段は、実施形態ではＣＩＰ送信プログラム作成処理部１４に対応する。
【００１５】
本発明では、まず、送信先通信経路確認手段を実行し、メッセージ送信先へのコネクションが確立することを確認する。このとき、確立が失敗した場合には、適宜修正を行ない再度コネクションの確立を試みる。そして、コネクションの確立が成功するまで繰り返し実行する。これにより、実環境において実際にターゲットへ接続できることを確認することで、通信経路の保障がされる。また、コネクション確立が失敗した場合でも、その原因は物理的な配線が正しく行なわれていないなど限られているため、その要因特定並びに修正作業が簡単に行なえる。
【００１６】
次に、送信テスト処理手段を実行し、メッセージの送信先に対して正しくメッセージが送れるか否かを確認する。通信エラーがあった場合には、適宜修正を行ない、再度送信テストを行なう。メッセージ送信が成功したならば、そこで使用したメッセージデータ（パラメータ等）は正しいことが保証される。また、通信エラーがあった場合、通信経路はすでに保証されているとともに、通信プログラムを作成していないため、エラーの原因は、メッセージデータの誤り等の限られたものであるので、その要因特定並びに修正作業が簡単に行なえる。
【００１７】
その後、実際の送信プログラムを作成するとともに、作成したプログラムを制御装置に転送するが、転送後のデバッグ処理でエラー等が生じた場合、それ以前の処理で通信経路並びにメッセージデータの妥当性の検証が行なわれているため、プログラム自体の不具合が原因となるので、その要因特定並びに修正作業が簡単に行なえる。
【００１８】
このように、各段階ごとに妥当性検証を行なうことにより、エラーが発生した場合でも問題点の切り分けが容易に行なえ、また、検証が済んだデータに基づいてそれ以降の処理が行なえるので、通信プログラムの作成・デバッグを何回も繰り返すことを可及的に防止でき、開発までの時間短縮が図れる。
【００１９】
（２）前記送信先通信経路確認手段は、ツール装置を上位としてネットワークシステムを構成する各デバイスの接続関係をツリー状に表したメッセージ送信先ネットワークパス指定画面を表示する機能と、メッセージの送信先として指定されたデバイスを認識し、ツール装置からその指定されたデバイスまでの通信経路を特定するためのパスを作成する機能と、を備えるとよい。
【００２０】
このようにすると、ユーザは、各デバイスがどのように接続されているかを考え、メッセージの通信経路をどのようにすれば良いかを考える必要が無く、簡単に通信可能な通信経路を特定できる。また、ＣＩＰによるメッセージ通信のように、パスを指定する場合でも、この通信経路の特定により、送信先通信経路確認手段によりパスを自動的に作成することができ、ＣＩＰに関する技術的知識が無くても設定が行なえる。
【００２１】
（３）送信プログラム作成処理手段は、メッセージ送信プログラムの転送先である前記制御装置に対してコネクションの確立を図り、そのコネクションの確立が成功した場合、前記送信先通信経路確認手段が確定した前記ツール装置から前記ターゲットまでの通信経路と、前記コネクションの確立が成功した前記ツール装置から前記制御装置までの通信経路との差分を抽出し、その抽出した差分に基づき、前記制御装置からメッセージの送信先である前記ターゲットまでの通信経路を特定する機能を備えるとよい。このようにすると、抽出した差分データに基づく通信経路は、送信プログラムが転送された制御装置からメッセージの送信先までの正しい通信経路であることが保証される。
【００２２】
（４）メッセージは、ＣＩＰ通信により送信するものであり、前記送信テスト処理手段は、サービスコード，クラスＩＤ，インスタンスＩＤ，アトリビュートＩＤの入力領域を含むパラメータの入力画面を用いて入力された各パラメータを取得し、送信テスト用のメッセージを作成し、前記メッセージの送信先に送信するものとすることができる。このようにすると、ＣＩＰに関する技術的知識が特になくてもパラメータの設定が行なえる。
【００２３】
（５）本発明によるメッセージ送信プログラム作成方法は、制御装置とその制御装置の通信相手となるターゲットを含むネットワークシステムにおける前記制御装置と前記ターゲット間でのメッセージ通信を行うためのメッセージ送信プログラムを作成し、前記制御装置に転送するツール装置を用いたメッセージ送信プログラムの作成方法であって、ツール装置は、前記ネットワークシステムに接続した状態でそのツール装置から前記制御装置を経由してメッセージの送信先である前記ターゲットに至る通信経路を確定するとともに、その確定した通信経路により前記ターゲットに対してコネクションの確立を実行し、確立が成功することで通信経路の保障を確認し、次いで、送信する送信テスト用のメッセージを作成し、ツール装置は、前記コネクションの確立が保証された通信経路を用いて、その作成したメッセージを前記ターゲットに送信し、そのメッセージ送信が成功することでメッセージデータの保障を確認し、その後、ツール装置は、前記ターゲットをメッセージの送信先とするメッセージ送信プログラムを、通信を行うために必要なパラメータを取得するとともに、前記決定した送信先パスに基づいて作成し、作成した前記制御装置に転送するようにし、前記通信経路の保証の確認は、前記ツール装置を上位としてネットワークシステムを構成する各デバイスの接続関係をツリー状で表した情報に基づき前記ツール装置から前記ターゲットまでに存在するデバイスを１つずつ順番に経路をたどることにより決定した前記ターゲットへの送信先パスを用いて行うようにした。
【００２４】
なお、実施形態では、ツール装置は転送先のＰＬＣ（ＣＰＵユニット）に直接接続された例を示しているが、必ずしも直接接続する必要はない。例えば、実施形態の第２ＰＬＣ３（ＣＰＵユニット３ａ）が送信プログラムの転送先となり、その第２ＰＬＣから別のデバイス（図示省略）へメッセージを送信するものに対しても適用できる。
【発明の効果】
【００２５】
本発明では、段階的に妥当性検証を行なっていくため、エラーが発生した場合でもその要因を簡単に特定し、修正することができる。よって、使用する通信プロトコルに対する技術知識があまりなくても通信を行なうためのプログラムの作成を容易に行なうことができ、間違いがあった場合に、その原因の特定を簡単に行なえ、最終的に動作可能な送信プログラムを作成するために要する時間と労力が軽減される。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明のツール装置１を含むネットワークシステムの一例を示している。実際のネットワークシステムは、複数のネットワークに、パソコン，ＰＬＣ，その他の機器等が接続されているが、図１では、便宜上、２つのＰＬＣ２，３がネットワーク５に接続されている状態を示している。
【００２７】
第１ＰＬＣ２は、ラダープログラムなどの実行を行なうＣＰＵユニット２ａと、ネットワーク５に接続するための通信ユニット２ｂと、を有している。もちろん、図示省略しているが、第１ＰＬＣ２は、入出力ユニットや制御ユニットや電源ユニットなどの各種のユニットを適宜連結する。第１ＰＬＣ２は、これら各ユニットをバックプレーンの所定のスロットに装着することで構成される。各ユニットは、スロットに装着することでバックプレーン内部に配置された内部バス２ｃに接続され、内部バス２ｃを介してのユニット間のデータ通信が可能となる。
【００２８】
同様に、第２ＰＬＣ３は、ＣＰＵユニット３ａや通信ユニット３ｂ等を備えている。図示を省略しているが、この第２ＰＬＣ３も、他の各種のユニットを備えている。各ユニット間でのデータ通信は、内部バス３ｃを介して行なわれる。
【００２９】
ツール装置１は、通信ケーブル４を介して第１ＰＬＣ２のＣＰＵユニット２ａに接続している。本例では、ツール装置１と第１ＰＬＣ２との間の通信は、イーサネット（登録商標）を用いているが、ＵＳＢを用いても良いし、その他の各種の通信プロトコルを用いても良い。ツール装置１は、パーソナルコンピュータ或いは専用コンピュータにより実現することができる。
【００３０】
図２は、ツール装置１の内部構成を示している。ツール装置１は、ＧＵＩ（グラフィカルユーザインタフェース）１１と、ＣＩＰデータ生成部１２と、ＣＩＰ送信テスト処理部１３と、ＣＩＰ送信プログラム作成処理部１４と、を備えている。これらの各機能部は、ＣＩＰメッセージを送るためのプログラムを作成するためのものであり、ツール装置１は、通常のラダープログラムを作成する機能や、作成したラダープログラムをコンパイルすると共にＰＬＣ等にダウンロードする機能等を備えている。
【００３１】
ＧＵＩ１１は、マンマシンインターフェースであり、ツール装置１の表示装置に各種の入力画面を表示し、その表示された入力画面中の入力領域に入力された情報をＣＩＰデータ生成部１２に送る。入力画面の一例としては、図３に示すものがある。入力画面中に設定された各入力領域に対して、ユーザは、ツール装置１のキーボード・ポインティングデバイス等の入力装置を操作して、テキスト入力或いはプルダウンメニューリストからの選択を行なう。
【００３２】
図４は、ツール装置１を用いて実際にメッセージ送信プログラムを作成するまでの全体の処理フローチャートを示している。図４に示すように、ツール装置１は、ユーザからのパラメータ入力に基づき、メッセージ送信先パス指定処理を実行し（Ｓ１）、コネクション確立が成功したか否かを判断する（Ｓ２）。
【００３３】
この処理ステップＳ１のメッセージ送信先パス指定処理は、ＣＩＰデータ生成部１２が実行するもので、具体的な処理アルゴリズムは、図５に示すフローチャートのようになっている。まず、ＣＩＰデータ生成部１２は、通信インタフェースを選択する（Ｓ１１）。すなわち、ユーザは、図３に示す入力画面中のインタフェース入力領域Ｒ１に、使用する通信インタフェースを入力するので、ＣＩＰデータ生成部１２は、その入力された通信インタフェースを認識する。この通信インタフェースの入力は、プルダウンメニュー方式により行なわれる。図６に示すように、ここでは、ツール装置１と第１ＰＬＣ２との間の通信インタフェースとして、イーサネット（登録商標）が選択される。
【００３４】
次に、通信経路を選択する（Ｓ１２）。すなわち、ＣＩＰデータ生成部１２は、図７，図８に示す“メッセージ送信先ネットワークパス指定画面”をツール装置１の表示装置に表示する。ツール装置１は、ネットワーク構成に関する情報、すなわち、どのネットワークにどの装置・機器が接続され、各装置・機器の構成はどうなっているかについての情報を、各装置・機器の構成をツリー状に表示するタイミングで、都度ネットワーク上の各装置・機器に問い合わせる。そこで、ＣＩＰデータ生成部１２は、係る情報に基づき、ツール装置１を上位として各装置・機器等のデバイスの接続関係をツリー状に表す。ここで、デバイスとは、装置（ＰＬＣ等の複数のユニットから構成されるものの場合には、ユニット単位）・機器はもちろんのこと、装置・機器が接続されるネットワークや、内部バスなど、通信経路を特定するために必要な構成要素（メッセージが伝送される要素）のことをいう。
【００３５】
図７に示すように、ツール装置１（“ＴＣＰ：２”のアイコン）に直接接続されるデバイス（“…ＣＰＵ０１…”のアイコン：第１ＰＬＣ２のＣＰＵユニット２ａに対応）が表示され、それよりも下位に接続されたデバイスが閉じられて非表示の状態において、係る非表示のデバイスをオンライン接続するデバイスとして指定する場合、ユーザは、ツール装置１のアイコンの下に接続された［＋］をクリックし、最終的に図８に示すように、接続先のデバイスを表示させる。
【００３６】
この図８によれば、ツール装置１に第１ＰＬＣ２のＣＰＵユニット２ａが接続され、このＣＰＵユニット２ａと通信ユニット２ｂ（＃０  ＮＥ１Ｓ−ＣＮＳ２１Ｕ）とが、内部バス２ｃ（Ｂａｃｋ  Ｐｌａｎｅ）経由で接続され、通信ユニット２ｂと第２ＰＬＣ３の通信ユニット３ｂ（２  ＮＥ１Ｓ−ＣＮＳ２１Ｕ）とが、フィールドネットワーク（ＣｏｎｔｒｏｌＮｅｔ：２）経由で接続され、通信ユニット３ｂと第２ＰＬＣ３のＣＰＵユニット３ａ（０  ＮＥ１Ｓ＿ＣＰＵ０１＿Ｒｅｖ０３）とが、内部バス３ｃ（Ｂａｃｋ  Ｐｌａｎｅ）経由で接続されていることがわかる。そして、ユーザは、接続先のデバイスのアイコン等をクリックすることで、接続先を指定する。図８の例では、ＣＰＵユニット３ａが選択されている。ＣＩＰデータ生成部１２は、クリックされたデバイスを認識し、ツール装置１からの通信経路を特定する。ユーザは、最終的な送信先のデバイスをクリックするだけで、通信経路が特定されるので、ユーザ自らが通信経路をどのようにするかを調べたり考えたりする必要がないと共に、通信経路の設定ミスがなくなる。
【００３７】
次いで、ＣＩＰデータ生成部１２は、メッセージ送信先パスを確定する（Ｓ１３）。すなわち、ＣＩＰデータ生成部１２は、処理ステップＳ１２の実行により確定された通信経路に基づいて送信先のパス（通信経路を構成するデバイスを順に指定）を生成し、その生成したパスを、図３に示す入力画面中のネットワークパス指定領域Ｒ２に表示する。一例を示すと、図６に示すようになる。図６では、ネットワークパス指定領域Ｒ２の表示領域の関係から、ネットワーク５（ｃｏｎｔｒｏｌｎｅｔ：２）までが表示されているが、それ以降のデバイスについても、もちろん続いて記述されている。このネットワークパス指定領域Ｒ２に表示されたパスは、ツール装置１の入力装置（キーボード，ポインティングデバイス）を適宜使用し、マニュアル操作で変更可能となっている。このように、ＣＩＰデータ生成部１２は、ユーザが指定した送信先に基づいて自動的に通信経路を確定し、更に、その通信経路を特定するためのパスを自動的に作成するので、ユーザは、ＣＩＰについての技術知識が無くても、送信先までのパスを作成することができると共に、入力ミスもなくなり、１回で正しいパスを作成することができる。
【００３８】
そして、パスの内容が確定されたならば、ＣＩＰデータ生成部１２は、メッセージ送信先に接続する（Ｓ１４）。具体的には、ユーザが図６に示す入力画面中の“ＯｐｅｎＮｅｔｗｏｒｋ”ボタンをクリックするので、ＣＩＰデータ生成部１２は、当該クリックを認識すると、ネットワークパス指定領域Ｒ２に記述されたパスに基づき、メッセージ送信先に接続を図る。
【００３９】
コネクションが確立できずにメッセージ送信先に接続できない場合には、処理ステップＳ２の分岐判断がＮｏとなるので、処理ステップＳ１に戻り、メッセージ送信先のパス指定処理を実行する。この処理ステップＳ２でＮｏとなるのは、物理的に通信経路が確立していなかったり、パスの指定が間違っていたりするなど限られたミスであるため、間違いの原因並びに間違いの内容を容易に特定することができる。特に、パスを自動的に作成したものを利用した場合には、物理的に配線が正しく接続されていない（断線等も含む）ことが確立できなかった要因と考えられるので、原因特定並びに修正作業は容易に行なえる。
【００４０】
一方、コネクション確立が成功した場合、ツール装置１は、ユーザから入力に基づき、メッセージ送信テスト処理を実行し（Ｓ３）、メッセージ送信テストが成功したか否かを判断する（Ｓ４）。
【００４１】
この処理ステップＳ３のメッセージ送信テスト指定処理は、ＣＩＰ送信テスト処理部１３が実行するもので、具体的な処理アルゴリズムは、図９に示すフローチャートのようになっている。ＣＩＰ送信テスト処理部１３は、図３に示す入力画面における“ＣＩＰ  Ｍｅｓｓａｂｅ”のエリアに設けた各入力領域Ｒ３〜Ｒ７に入力されたデータに基づき、所定の処理をする。
【００４２】
ここでＣＩＰメッセージ通信について簡単に説明する。ＣＩＰでは、各デバイスを“オブジェクト”の集合としてモデル化する。“オブジェクト”は、デバイスの特定の構成要素（デバイス内の機能）を抽象化して処理とデータをまとめて表現したものである。オブジェクトが持つデータは、“アトリビュート”（属性）と称し、オブジェクトの実態を“インスタンス”と称する。また、オブジェクトを一般化したものは、“クラス”と称される。
【００４３】
外部からデバイスにアクセスする場合には、オブジェクト単位で行なう。このアクセスして外部から行なう要求（例えば、データの読み出し等）は、“サービス”と称される。オブジェクトの各クラスには、それぞれユニークな“クラスＩＤ”が付されている。同様に，各インスタンス並びに各アトリビュートには、それぞれユニークに“インスタンスＩＤ”並びに“アトリビュートＩＤ”が付されている。デバイス内では、これら３つのＩＤを指定することで、アクセス先のデータ（アトリビュート）を一意に特定できる。なお、サービスの内容によっては、インスタンスＩＤやアトリビュートＩＤを必要としないものもある。
【００４４】
ＣＩＰ送信テスト処理部１３は、送信するＣＩＰメッセージの内容を特定するサービスコードの入力を受け付ける（Ｓ２１）。つまり、ＣＩＰ送信テスト処理部１３は、サービスコード入力領域Ｒ３の三角形のボタンがクリックされた場合、ツール装置１が対応しているサービスコードの一覧をプルダウンメニュー方式で表示させる。ＣＩＰ送信テスト処理部１３は、ユーザが選択したサービスコードを、サービスコード入力領域Ｒ３に表示する。図６は、サービスコードとして“０１”が選択された例を示している。図６に示すように、コード番号と、そのサービスの内容が対応づけて表示される。例示された“Ｇｅｔ＿Ａｔｔｒｉｂｕｔｅ＿Ａｌｌ”は、“送信先からアトリビュートの全体を取得してくる”というサービス内容を意味する。
【００４５】
次いで、ＣＩＰ送信テスト処理部１３は、クラスＩＤ入力領域Ｒ４，インスタンスＩＤ入力領域Ｒ５，アトリビュートＩＤ入力領域Ｒ６に対してユーザが入力したそれぞれのＩＤを取得する（Ｓ２２〜Ｓ２４）。更に、ユーザは、送信するサービスデータが存在する場合には、サービスデータ入力領域Ｒ７に書き込むため、ＣＩＰ送信テスト処理部１３は、係る書き込まれたサービスデータの入力を受け付ける（Ｓ２５）。サービスコードとクラスＩＤの入力は必須であるが、それ以降のＩＤ，データ等は無い場合もある。この処理ステップＳ２１〜Ｓ２５までの処理は、ＣＩＰメッセージ送信パラメータ作成部１３ａが実行する。
【００４６】
そして、処理ステップＳ２１からＳ２５で入力された内容で良い場合、ＣＩＰ送信テスト処理部１３のＣＩＰメッセージ送信ミドルウェア１３ｂは、メッセージ送信先に対してメッセージ送信処理を実行する（Ｓ２６）。具体的には、ユーザが図６に示す入力画面中の“Ｔｅｓｔ  Ｍｅｓｓａｇｅ”ボタンをクリックしたことを契機とし、ＣＩＰ送信テスト処理部１３が、各ＩＤで特定されるメッセージ送信先に対してテストメッセージを送信する。
【００４７】
メッセージを送信すると、送信相手先からその結果が返信されてくるため、ＣＩＰ送信テスト処理部１３は、受信した返信内容を“Ｔｅｓｔ  Ｒｅｓｕｌｔ”の各表示領域Ｒ８〜Ｒ１０の該当する箇所に表示する。つまり、結果ステータス表示領域Ｒ８には、送信が成功した場合には、“００”が出力され、送信エラーの場合には所定のコードが出力される。補足ステータス表示領域Ｒ９には、例えば、送信エラー時のエラーの内容などの補足ステータスが送られてきた場合に、それを出力する。レスポンスデータ表示領域Ｒ１０には、送信したサービスの答えが返ってきた場合にそれを表示する。例えば、送信したメッセージが、データの読み出しの場合、その読み出されたデータが出力される。
【００４８】
結果ステータス表示領域Ｒ８に“００”が出力された場合、処理ステップＳ４の分岐判断がＹｅｓとなる。よって、ユーザは、結果ステータス表示領域Ｒ８に“００”が出力されるまで、メッセージやサービスデータ等を修正しながら処理ステップＳ３のメッセージ送信テスト処理を繰り返し実行する。処理ステップＳ１，Ｓ２を実行したことにより、物理的に送信相手のデバイスまでデータ通信をすることができることは確認済みであるので、この処理ステップＳ４の分岐判断でＮｏとなるのはＣＩＰメッセージ間違いとなり、原因が限られている。よって、間違い箇所を特定するのも比較的簡単に行なえ、短時間で修正作業を完了することができる。
【００４９】
一方、メッセージ送信テストが成功した場合、ツール装置１は、メッセージ送信プログラム作成処理を実行する（Ｓ５）。このメッセージ送信プログラム作成処理は、ＣＩＰプログラム作成処理部１４が、図１０に示すフローチャートを実行することで行なう。
【００５０】
まず、メッセージ送信プログラム作成処理部１４は、図１１に示すメッセージ送信プログラム用設定入力画面を表示し、メッセージ送信プログラムを転送する送信先パスの指定を受け付ける（Ｓ３１）。つまり、当該設定入力画面中のインタフェース入力領域Ｒ１１に、プログラムの転送先のデバイスと接続する際に利用する通信インタフェースを入力し、そのプログラムの転送先のデバイスまでの送信先パスをネットワークパス指定領域Ｒ１２に入力する。上記のインタフェースの入力処理並びに送信先パスの指定は、図５の処理ステップＳ１１，Ｓ１２と同様の手順で行なうことができる。もちろん、ユーザは、送信先パスを直接テキスト入力しても良い。プログラムの転送先は、本実施形態では、第１ＰＬＣ２のＣＰＵユニット２ａとなるので、処理ステップ３１の実行後は、図１１の各領域Ｒ１１，Ｒ１２に例示するようになる。
【００５１】
ＣＩＰ送信プログラム作成処理部１４は、プログラムを転送する送信先に接続する（Ｓ３２）。具体的には、ユーザが図１１に示す設定力画面中の“ＯｐｅｎＮｅｔｗｏｒｋ”ボタンをクリックするので、ＣＩＰ送信プログラム作成処理部１４は、当該クリックを認識すると、ネットワークパス指定領域Ｒ１２に記述されたパスに基づき、プログラム転送送信先に接続を図る。
【００５２】
コネクションが確立できずに転送先に接続できない場合（Ｓ３３でＮｏ）には、処理ステップＳ３１に戻り、パスの指定からやり直す。この処理ステップＳ３３でＮｏとなるのは、プログラム転送先に対するパスの指定が間違っていたりするなど限られたミスであるため、間違いの原因並びに間違いの内容を容易に特定することができる。
【００５３】
一方、コネクション確立が成功した場合、ＣＩＰ送信プログラム作成処理部１４は、処理ステップＳ１の実行により作成したメッセージ送信先パスから、処理ステップＳ３１で作成したプログラム転送先パスの差分を抽出する（Ｓ３４）。この抽出した差分は、プログラムが転送されるデバイスを基準とし、そのデバイスからＣＩＰメッセージの送信先までのパスとなる。これらの送信先パスと、転送先パスは、いずれもコネクションが確立し、正しいパスであることが確認できているので、抽出した差分に基づくパスは、メッセージ送信プログラムが転送されたデバイスから、メッセージの送信先までの通信経路を特定するパスとして、正しいものとなる。
【００５４】
次いで、ＣＩＰ送信プログラム作成処理部１４は、メッセージ送信プログラム作成用パラメータの入力を受け付ける（Ｓ３５）。つまりＣＩＰ送信プログラム作成処理部１４は、図１１に示すパラメータ設定入力画面中の入力領域Ｒ１３からＲ１５に入力されたデータを取得する。ここで、入力領域Ｒ１３は、送信先のポート番号を入力する領域であり、入力領域Ｒ１４は、メッセージを送信後レスポンスの受信を待つタイムアウト時間を入力する領域であり、入力領域Ｒ１５は、レスポンスデータのメモリ領域を指定する領域である。いずれも、ユーザからのテキスト入力により行なわれる。
【００５５】
ＣＩＰ送信プログラム作成処理部１４は、処理ステップＳ３４，Ｓ３５により確定されたパラメータ等に基づいてメッセージ送信プログラム作成用設定ファイルを作成する（Ｓ３６）。ここまでの一連の処理（Ｓ３１〜Ｓ３６）が、プログラム作成用パラメータ等作成部１４ａにより実行され、作成されたファイルがプログラム生成用パラメータ記憶部１４ｂに記憶される。
【００５６】
次に、ＣＩＰ送信プログラム作成処理部１４のＣＩＰ送信プログラム作成部１４ｃは、メッセージ送信プログラムを作成する（Ｓ３７）。この処理ステップＳ３７の具体的な処理アルゴリズムは、図１２に示すフローチャートの通りである。
【００５７】
まず、プログラム生成用パラメータ記憶部１４ｂに格納されたメッセージ送信プログラム作成用設定ファイルを読み込み（Ｓ４１）、実際にプログラムを作成する（Ｓ４２）。つまり、読み込んだ設定ファイルには、メッセージ送信先を特定するパス等のＣＩＰ通信を行なうための必要なパラメータ等が設定されているため、ユーザは、送信プログラムの実態部分を作成する。つまり、このＣＩＰ送信プログラム作成部１４ｃは、一種のプログラミングツールと同様のものとなる。そして、読み出したメッセージ作成用設定ファイルに、上記作成したプログラムを組み込んだメッセージ送信プログラムファイルを作成し、記憶部１４ｄに格納する（Ｓ４３）。
【００５８】
このようにして作成され、記憶されたメッセージ送信プログラムファイルは、転送先パスに基づいて特定されるデバイスにダウンロードされる。そして、ダウンロード後に、実機にてデバッグ処理をし、エラー等が生じた場合、ＣＩＰメッセージを通信するためのパスその他のパラメータは正しいことが確認されているため、エラー原因はプログラムそのものとなるので、その原因を容易に特定し、修正可能となる。
【図面の簡単な説明】
【００５９】
【図１】本発明のツール装置を含むネットワークシステムの一例を示す図である。
【図２】ツール装置の内部構成（ソフトウエア構成）を示す図である。
【図３】入力画面の一例を示す図である。
【図４】送信プログラムを作成するための全体シーケンスを示すフローチャートである。
【図５】メッセージ送信先パス指定処理の具体的なアルゴリズムを示すフローチャートである。
【図６】メッセージ送信先パス指定処理を説明するための入力画面の表示例を示す図である。
【図７】通信経路選択処理を説明する図である。
【図８】通信経路選択処理を説明する図である。
【図９】メッセージ送信テスト処理の具体的なアルゴリズムを示すフローチャートである。
【図１０】メッセージ送信プログラム作成処理の具体的なアルゴリズムを示すフローチャートである。
【図１１】メッセージ送信プログラム作成処理を説明するための設定画面の表示例を示す図である。
【図１２】メッセージ送信プログラム作成エンジン処理の具体的なアルゴリズムを示すフローチャートである。
【符号の説明】
【００６０】
１  ツール装置
１１  ＧＵＩ
１２  ＣＩＰデータ生成部
１３  ＣＩＰ送信テスト処理部
１３ａ  ＣＩＰメッセージ送信用パラメータ生成部
１３ｂ  ＣＩＰメッセージ送信ミドルウェア
１４  ＣＩＰ送信プログラム作成処理部
１４ａ  プログラム生成用パラメータ等作成部
１４ｂ  プログラム生成用パラメータ記憶部
１４ｃ  ＣＩＰ送信プログラム作成部
１４ｄ  ＣＩＰ送信プログラム記憶部
【図１】
0004962721.tif 000002
【図２】
0004962721.tif 000003
【図３】
0004962721.tif 000004
【図４】
0004962721.tif 000005
【図５】
0004962721.tif 000006
【図６】
0004962721.tif 000007
【図７】
0004962721.tif 000008
【図８】
0004962721.tif 000009
【図９】
0004962721.tif 000010
【図１０】
0004962721.tif 000011
【図１１】
0004962721.tif 000012
【図１２】
0004962721.tif 000013