(57)【要約】【課題】  エンジニアリングツールがＰＬＣの物理的スイッチのアドレス設定を知るだけでエンジニアリングを目的とするＰＬＣとの通信ができるようにする。【解決手段】  エンジニアリングを行うパソコンと複数のＰＬＣがＵＳＢで接続された制御装置であって、ＰＬＣを特定するために設けられたアドレススイッチの情報を問い合わせるための通信をＰＬＣ検出時にパソコン側から自動的に実行し、問い合わせによって得られたアドレス番号とパソコン側から割り当てられた論理的なハンドル番号をパソコン内部に設けたアドレステーブルに格納し、パソコン内部でアドレス番号とハンドル番号の変換を自動的に実行することで、エンジニアリングツールは論理的なハンドル番号を意識することなくアドレススイッチで設定された物理的なアドレスだけでエンジニアリングを行おうとするＰＬＣを特定し、通信を可能にする。【選択図】    図１
2005063335.tif 000002
【特許請求の範囲】
【請求項１】
エンジニアリングを行うパソコンと複数の同一機種のＰＬＣがＵＳＢ(Universal Serial Bus)で接続された制御装置であって、ＰＬＣを特定するために設けられたアドレススイッチの情報を問い合わせるための通信をＰＬＣ検出時にパソコン側から自動的に実行し、問い合わせによって得られたアドレス番号とパソコン側から割り当てられた論理的なハンドル番号をパソコン内部に設けたアドレステーブルに格納し、パソコン内部でアドレス番号とハンドル番号の変換を自動的に実行することで、エンジニアリングツールは論理的なハンドル番号を意識することなくアドレススイッチで設定された物理的なアドレスだけでエンジニアリングを行おうとするＰＬＣを特定し、通信を可能にすることを特徴とするアドレス認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジニアリングを行うパソコンと複数の同一機種のＰＬＣがＵＳＢで接続される制御装置であって、エンジニアリングを行うパソコンがエンジニアリングを行うとする目的のＰＬＣを特定するためのアドレス認識方式に関する。
【背景技術】
【０００２】
従来、エンジニアリングを行うパソコンとＰＬＣがＲＳ−２３２Ｃ等で１対１に物理的に接続される制御装置においては、エンジニアリングツールが目的とするＰＬＣとエンジニアリングを行うために、パソコン上のエンジニアリングツールは目的のＰＬＣが接続されているＲＳ−２３２Ｃの物理的なポート番号を使うことで通信を行っていた。
またエンジニアリングを行うパソコンと複数の同一機種のＰＬＣがＵＳＢで接続される制御装置では、パソコンのＯＳがＰＬＣを検出した順番にパイプと呼ばれる論理的通信資源とそれをアクセスするためのハンドル番号を動的に割り当てるため、ＰＬＣを接続するＵＳＢポートの場所を固定化する、あるいはＰＬＣの電源を投入する順番をあらかじめ決めることで、エンジニアリングしようとする対象のＰＬＣを特定していた（例えば特許文献１）。
【特許文献１】特開２００１−２８２７０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、エンジニアリングを行うパソコンと複数の同一機種のＰＬＣがＵＳＢで接続される制御装置では、パソコンのＯＳがＰＬＣを検出した順番にパイプと呼ばれる論理的な通信資源とそれをアクセスするためのハンドル番号を動的に割り当てる。そのため、ＰＬＣを接続するＵＳＢＨＵＢのポートの場所、ＰＬＣへの電源の投入タイミング、電源投入状態のＰＬＣのＵＳＢＨＵＢへの接続タイミング等で、ＰＬＣに対して割り当てられるハンドル番号は不定となり、エンジニアリングしようとする対象のＰＬＣのハンドル番号が毎回変わり、ＰＬＣを特定することが困難であるという問題があった。
そこで本発明は、これらの問題を解消するべくなされたものであり、エンジニアリングツールがＰＬＣの物理的スイッチのアドレス設定を知るだけでエンジニアリングを目的とするＰＬＣとの通信ができるようにすることを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するために本発明は、エンジニアリングを行うパソコンと複数の同一機種のＰＬＣがＵＳＢで接続される制御装置において、ＰＬＣ側にＰＬＣを特定するためのアドレスを設定するスイッチとパソコン側から発行されるアドレス情報問い合わせに応答する手段を持たせ、またパソコン側ドライバにＰＬＣ検出時にＰＬＣに対してアドレス情報を問い合わせる手段を持たせる。
ＰＬＣの電源投入により、ＰＬＣを検出したパソコンはＯＳからハンドル番号を割り当てられた後、そのハンドル番号を使用してＰＬＣに対してアドレス情報の問い合わせ伝文を送信する。
アドレス問い合わせ伝文を受け取ったＰＬＣは、ＰＬＣのアドレススイッチの情報を読み出し、パソコンに応答を送信する。
アドレス情報問い合わせ応答を受け取ったパソコンは、ＯＳから割り当てられたハンドル番号とＰＬＣからの応答伝文中に含まれる物理アドレスをパソコン内部に設けたアドレステーブルに記憶する。
これによりＰＬＣの物理アドレスとＯＳから割り当てられたハンドル番号をアドレステーブルに関連づけることが可能になり、パソコン上のエンジニアリングツールはＰＬＣの物理アドレスを指定することで、論理ハンドル番号を意識せず、ＰＬＣの物理アドレスだけでエンジニアリングする対象のＰＬＣと通信を行うことが可能となる。
【発明の効果】
【０００５】
本発明によれば、エンジニアリングを行うパソコンと複数の同一機種のＰＬＣがＵＳＢで接続される制御装置において、ＰＬＣ検出時にパソコン側のドライバからＰＬＣのアドレス情報の問い合わせを自動的に行い、その応答でＰＬＣ側の物理的アドレスとパソコン側で動的に割り当てられるハンドル番号を関係づけるアドレステーブルをパソコン側ドライバ内に記憶し、エンジニリングツールから指定されるＰＬＣの物理的アドレスをパソコン内部の論理的ハンドル番号に自動的に変換することで、エンジニアリングツールはＰＬＣの物理的スイッチのアドレス設定を知るだけでよく、エンジニアリングを目的とするＰＬＣとの通信を可能とする。またエンジニアリングツールの利用者は最初の起動時にだけＰＬＣの物理アドレスをツール内に設定し、ツール内に記憶させるだけでよく、電源投入ごとに設定を変更する必要がなくなる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明について図を用いて説明する。
【実施例】
【０００７】
図１は、本発明のシステム構成例である。図２は、ＰＬＣの構成例である。図３は、パソコンとＰＬＣ間の論理的通信路である。図４は、ハンドル番号とＰＬＣアドレス番号を記憶するアドレステーブルである。図５は、ＰＬＣの検出時に行うアドレス問い合わせの伝文フォーマットである。図６は、パソコンがＰＬＣを検出したときの、ＰＬＣに対するアドレス問合せのフローチャートである。図７は、ＰＬＣがパソコンからアドレス問い合わせ伝文を受信した場合のフローチャートである。
図１において、エンジニアリングを行うパソコン１０とＰＬＣ３０は、各々をＵＳＢケーブル４０でＵＳＢＨＵＢ２０に接続することで制御装置を構成している。図２においてＰＬＣ３０はＵＳＢケーブル４０を接続するためのＵＳＢポート３２およびアドレスを設定するためのスイッチ３１が設けられており、このスイッチ３１は制御装置内で一意になるように設定される。図３に示すように、ＰＬＣ３０の電源を投入した場合、プラグアンドプレイ機能によりパソコン１０で自動的にＰＬＣ３０が検出され、パソコン１０のドライバ１２とＰＬＣ３０の間にパイプ１３と呼ばれる論理的な通信路とその通信路をアクセスするための通信資源つまりハンドル番号１４がパソコン側ＯＳから割り当てられる。しかしこの方法ではＰＬＣ３０を検出した順番にハンドル番号１４を割り当てるため、認識したＰＬＣ３０のハンドル番号１４は毎回同じであるとは限らない。
そのためパソコン上のエンジニアリングツール１１はエンジニアリングを行おうとするＰＬＣ３０に割り当てられたハンドル番号１４を毎回調べ、そのハンドル番号１４でドライバ１２をアクセスしなければならない。
そこで本発明では、ＰＬＣ３０の自動検出によりパソコン側ドライバ１２内に図３に示した論理的通信路であるパイプ１３とハンドル番号１４が確立された場合、そのハンドル番号１４を使いＰＬＣ３０に対してアドレス問い合わせを自動的に実行する。
【０００８】
図６にＰＬＣ３０を検出した場合のパソコン１０側のフローチャートを示す。
図７には問い合わせ指令伝文を受信したＰＬＣ３０側のフローチャートを示す。
以下このフローチャートに沿って説明する。図５にアドレス問い合わせ伝文のフォーマットを示す。ＰＬＣ３０に電源が投入され、パソコン側ドライバ１２内に論理的通信路とハンドル番号１４が作成された場合、パソコン側ドライバ１２は図５（ａ）に示す問い合わせ指令伝文を作成し、作成されたハンドル番号１４に接続されているＰＬＣ３０に送信する。
問い合わせ指令伝文を受信したＰＬＣ３０は、ＰＬＣ３０に設けられたアドレススイッチ３１を読み出し、図５（ｂ）に示すアドレス問い合わせ応答にパソコン側ドライバ１２から送られたアドレス問い合わせ指令のハンドル番号１４とアドレススイッチ３１から読み出したアドレスをセットし、パソコン１０に送信する。ＰＬＣ３０からの応答伝文を受信したパソコン側ドライバ１２は、応答伝文中のハンドル番号１４を比較し、自分のハンドル番号１４と一致すれば、パソコン側ドライバ１２内の図４に示すアドレステーブルの該当するレコードにハンドル番号１４を登録し、接続中であることを示す状態フラグをオンにセットする。
パソコン上のエンジニアリングツール１１は、ＰＬＣ３０に設けられたアドレススイッチ３１の番号を指定し、パソコン側ドライバ１２に通信を要求する。
通信の要求を受け付けたドライバ１２はエンジニアリングツール１１から指定されたアドレス番号をもとに，ドライバ１２内のアドレステーブル参照し、状態フラグをチェックし接続中であれば、アドレステーブル中に設定されているハンドル番号１４を使い通信を実行する。エンジニアリングツール１１の利用者はＰＬＣ３０のアドレススイッチ３１に設定されたアドレスをエンジニアリングツール１１内に最初の起動時に一度だけ設定する。
【図面の簡単な説明】
【０００９】
【図１】システム構成例
【図２】ＰＬＣの構成
【図３】パソコンとＰＬＣ間の論理的通信路
【図４】アドレステーブル
【図５】アドレス情報問い合わせ伝文
【図６】パソコン側アドレス情報問い合わせフローチャート
【図７】ＰＬＣ側アドレス情報問い合わせフローチャート
【符号の説明】
【００１０】
１０  パソコン
１１  エンジニアリングツール
１２  ドライバ
１３  パイプ（論理的通信路）
１４  ハンドル番号
２０  ＵＳＢＨＵＢ
３０  ＰＬＣ
３１  アドレススイッチ
３２  ＵＳＢポート
４０  ＵＳＢケーブル
【図１】
2005063335.tif 000003
【図２】
2005063335.tif 000004
【図３】
2005063335.tif 000005
【図４】
2005063335.tif 000006
【図５】
2005063335.tif 000007
【図６】
2005063335.tif 000008
【図７】
2005063335.tif 000009