(57)【要約】【課題】  開発支援装置がサポートしているＰＬＣであれば、ＰＬＣと汎用シリアルデバイスの通信条件を意識せずに、ＰＬＣと汎用シリアルデバイス間のコネクションを確立することができるようにした、プログラマブル・コントローラ・システムを提供すること。【解決手段】  開発支援装置からの自動接続指示に応答して、予め用意された宛先アドレス情報と通信条件との組み合わせでそれぞれ規定される複数の通信仕様を順次に切り換えて、汎用シリアルデバイスに対して通信テストを行う通信テスト実行手段を設けて構成する。【選択図】図９
2006277733.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル・コントローラの開発支援装置と、プログラマブル・コントローラと、プログラマブル・コントローラと汎用シリアル通信回線を介して接続された汎用シリアルデバイスとを含み、
プログラマブル・コントローラの開発支援装置には、
ユーザによる自動接続指示操作に応答して、プログラマブル・コントローラに対して１若しくは２以上の汎用シリアルデバイスに対する自動接続のための指示を与える自動接続指示手段と、
プログラマブル・コントローラにおいていずれかの汎用シリアルデバイスとの接続確立と判定されたとき、ユーザに対して自動接続完了を通知する自動接続完了通知手段と、が設けられ、
プログラマブル・コントローラには、
開発支援装置からの自動接続のための指示に応答して、想定される１若しくは２以上の宛先アドレスのそれぞれについて、想定される１若しくは２以上の通信条件を切り換えつつ、汎用シリアルデバイスに対して所定コマンドを送信してそのレスポンスを受信することにより、又は汎用シリアルデバイスからの所定コマンドを受信することにより、汎用シリアルデバイスとの間で通信テストを行う通信テスト実行手段と、
１の宛先アドレスに関する通信テストに際して、汎用シリアルデバイスとの通信が成立したときには、その宛先アドレスの汎用シリアルデバイスに関する接続確立を判定する接続確立判定手段と、が設けられ、
汎用シリアルデバイスには、
プログラマブル・コントローラから送信された所定コマンドが受信解読されたときに当該コマンドの送信元に対して所定のレスポンスを返送する、又はプログラマブル・コントローラに対して所定コマンドを自発的に送信する手段が設けられている、
ことを特徴とするプログラマブル・コントローラ・システム。
【請求項２】
プログラマブル・コントローラが、ＣＰＵユニットと汎用シリアル通信ユニットとを含み、かつそれらは内部バスを介して接続されており、
開発支援装置とＣＰＵユニットとが通信ケーブルを介して結ばれ、
汎用シリアルデバイスと汎用シリアル通信ユニットとが通信ケーブルで結ばれており、
汎用シリアル通信ユニットと汎用シリアルデバイスとの間で通信テストが行われる、ことを特徴とする請求項１に記載のプログラマブル・コントローラ・システム。
【請求項３】
宛先アドレスと通信条件との組み合わせでそれぞれ規定される複数の通信仕様に相当するレコードを予め格納させた通信条件データベースを参照することにより、通信テストが行われる、ことを特徴とする請求項１又は２に記載のプログラマブル・コントローラ・システム。
【請求項４】
通信条件データベースが開発支援装置に格納されており、通信テストの実施に際して参照される、ことを特徴とする請求項３に記載のプログラマブル・コントローラ・システム。
【請求項５】
プログラマブル・コントローラには、接続確立の判定結果に応じてオンオフ制御され、かつユーザプログラムにて参照可能な通信状態フラグが設けられている、ことを特徴とする請求項１に記載のプログラマブル・コントローラ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、様々な通信条件を有する汎用シリアルデバイスを接続可能としたプログラマブル・コントローラ・システム（以下、ＰＬＣシステムと称する）に関する。
【背景技術】
【０００２】
ＰＬＣを使用したシステムの構築にはスピードが要求される。システムを構築するためには、ＰＬＣと汎用シリアルデバイスとを配線した後、ＰＬＣと汎用シリアルデバイスとの接続（コネクション）を素早く確立し、パラメータ転送や異常解除などを行う必要がある。ＰＬＣと汎用シリアルデバイスとのコネクションを確立するためには、専用の開発支援装置により通信条件を変更することになる。なお、ここで「汎用シリアルデバイス」とは、ＲＳ２３２Ｃ／ＲＳ４２２／ＲＳ４８５等で代表される汎用シリアル通信インターフェイスを備えた機器を意味する。
【０００３】
従来、ＰＬＣと汎用シリアルデバイスとの間のコネクションを確立するには、以下の手順で操作を行う必要があった。
（１）汎用シリアルデバイスにそのデバイス専用の開発支援装置を接続し、通信条件を確認する。
（２）ＰＬＣにＰＬＣ用開発支援装置を接続し、（１）で確認した汎用シリアルデバイスの通信条件をＰＬＣにも設定する。
（３）ＰＬＣと汎用シリアルデバイスとの間で通信テストを行い、コネクションが確立していることを確認する。
【０００４】
このような従来方法では、ＰＬＣの通信条件を汎用シリアルデバイスの通信条件に合わせるには、（１）で確認した汎用シリアルデバイスの通信条件を記憶しておけなければならないため、ＰＬＣに通信条件を設定する際に誤った設定をしてしまい、ＰＬＣと汎用シリアルデバイスとの間のコネクションを確立できないことがしばしば生じていた。
【０００５】
また、上述の従来方法にあっては、ＰＬＣと汎用シリアルデバイスとのそれぞれに、専用の開発支援装置を接続する必要があったため、ＰＬＣと汎用シリアルデバイスとの距離が離れていると通信条件の変更に手間がかかっていた。
【０００６】
さらに、従来の方法にあっては、担当者は必ずしも開発支援装置の操作に習熟しているわけではないため、複数の開発支援装置をすぐに操作することができなかった。
【０００７】
なお、ＰＬＣとそれに接続されるツール機器（開発支援装置相当）との通信条件を自動的に認識する公知技術については、様々な文献に記載されている（例えば、特許文献１参照）。
【特許文献１】特開２０００−４９８９１
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のように、従来方法にあっては、ＰＬＣ及び汎用シリアルデバイスの双方の通信条件を知らなければ、ＰＬＣと汎用シリアルデバイスとの間のコネクションを確立することができないこと、ＰＬＣと汎用シリアルデバイスとの間のコネクションを確立するのに、様々な開発支援装置の操作が必要となり、ユーザは操作に熟知していなければならないこと、といった不都合があり、その結果、ＰＬＣと汎用シリアルデバイスとを含むＰＬＣシステムを短時間で構築する上での障害となっていた。
【０００９】
本発明は、上述の問題点に着目してなされたものであり、その目的とするところは、開発支援装置がサポートしているＰＬＣであれば、ＰＬＣ及び汎用シリアルデバイスの通信条件を意識せずに、ＰＬＣと汎用シリアルデバイスと間のコネクションを確立することができ、それによりＰＬＣと汎用シリアルデバイスとのコネクション確立を容易かつ短時間でなし得るようにしたＰＬＣシステムを提供することにある。
【００１０】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解される筈である。
【課題を解決するための手段】
【００１１】
この発明のＰＬＣシステムは、ＰＬＣの開発支援装置と、ＰＬＣと、ＰＬＣと汎用シリアル通信回線を介して接続された汎用シリアルデバイスとを含んでいる。ここで、「開発支援装置」とは、ＰＬＣにて実行されるユーザプログラムをＰＬＣユーザが作成することを支援したり、ＰＬＣが備えているメモリの内容をＰＬＣユーザがモニタしたり変更したりすることを支援する装置である。
【００１２】
ＰＬＣの開発支援装置には、ユーザによる自動接続指示操作に応答して、プログラマブル・コントローラに対して１若しくは２以上の汎用シリアルデバイスに対する自動接続のための指示を与える自動接続指示手段と、プログラマブル・コントローラにおいていずれかの汎用シリアルデバイスとの接続確立と判定されたとき、ユーザに対して自動接続完了を通知する自動接続完了通知手段と、が設けられている。
【００１３】
プログラマブル・コントローラには、開発支援装置からの自動接続のための指示に応答して、想定される１若しくは２以上の宛先アドレスのそれぞれについて、想定される１若しくは２以上の通信条件を切り換えつつ、汎用シリアルデバイスに対して所定コマンドを送信してそのレスポンスを受信することにより、又は汎用シリアルデバイスからの所定コマンドを受信することにより、汎用シリアルデバイスとの間で通信テストを行う通信テスト実行手段と、１の宛先アドレスに関する通信テストに際して、汎用シリアルデバイスとの通信が成立したときには、その宛先アドレスの汎用シリアルデバイスに関する接続確立を判定する接続確立判定手段と、が設けられている。
【００１４】
ここで、「宛先アドレス」とは、通信テストを行う相手を特定する情報である。例えば、汎用シリアル通信回線上のアドレスが該当する。「通信条件」とは、汎用シリアル通信インターフェイスに対して設定可能な条件（例えば、通信速度、データ長、パリティ、ストップビットなど）および汎用シリアル通信インターフェイスを介して行われるデータ通信のプロトコル（コマンド／レスポンス体系）等がこれに相当する。
【００１５】
汎用シリアルデバイスには、プログラマブル・コントローラから送信された所定コマンドが受信解読されたときに当該コマンドの送信元に対して所定のレスポンスを返送する、又はプログラマブル・コントローラに対して所定コマンドを自発的に送信する手段が設けられている。
【００１６】
このような構成によれば、開発支援装置がサポートしているＰＬＣであれば、ユーザは、ＰＬＣと汎用シリアルデバイスに設定されている通信条件の違いを意識せずに、ＰＬＣと汎用シリアルデバイス間の接続（コネクション）を確立することができ、これによりＰＬＣと汎用シリアルデバイスとのコネクション確立を短時間で行うことができる。
【００１７】
この発明の好ましい実施の形態においては、ＰＬＣが、ＣＰＵユニットと汎用シリアル通信ユニットとを含み、かつそれらは内部バスを介して接続されており、開発支援装置とＣＰＵユニットとが通信ケーブルを介して結ばれ、汎用シリアルデバイスと汎用シリアル通信ユニットとがケーブルで結ばれており、汎用シリアル通信ユニットと汎用シリアルデバイスとの間で通信テストが行われる。
【００１８】
このような構成によれば、所謂ビルディングブロック型のＰＬＣを含む普及型のＰＬＣシステムにおいて、本発明を実施することができる。
【００１９】
この発明の好ましい実施の形態においては、宛先アドレスと通信条件との組み合わせでそれぞれ規定される複数の通信仕様に相当するレコードを予め格納させた通信条件データベースを参照することにより、通信テストが行われる。
【００２０】
このような構成によれば、想定される１若しくは２以上の宛先アドレスのそれぞれについて、想定される１若しくは２以上の通信条件を切り換えつつ、汎用シリアルデバイスとの間で通信テストを行うに際して、通信条件データベースから各レコードを順次に読み出して所定の設定処理を行うだけで済み、通信条件切換制御が容易化される。
【００２１】
この発明の好ましい実施の形態においては、通信条件データベースが開発支援装置に格納されており、通信テストの実施に際して参照される。
【００２２】
このような構成によれば、ＰＬＣ毎に接続される汎用シリアルデバイスの数や種類が区々であったとしても、それらの接続に必要な通信仕様をそれらのＰＬＣに共用可能な開発支援装置側に格納することにより、個々のＰＬＣ側のＩ／Ｏメモリやデータメモリの容量を節減することができ、また通信仕様が変更された場合にも、開発支援装置側のデータベースにおいて必要な修正や追加を行えば済み、使い勝手が良好となる。
【００２３】
この発明の好ましい実施の形態においては、プログラマブル・コントローラには、接続確立の判定結果に応じてオンオフ制御され、かつユーザプログラムにて参照可能な通信状態フラグが設けられている。
【００２４】
このような構成によれば、全ての又は個々の汎用シリアルデバイスの接続確立の有無を実行条件として任意のユーザ命令を実行させることができるため、この通信状態フラグをユーザプログラム中で適切に使用することにより、プログラムの動作信頼性を向上させることができる。
【発明の効果】
【００２５】
この発明によれば、開発支援装置がサポートしているＰＬＣであれば、ユーザは、ＰＬＣと汎用シリアルデバイスに設定されている通信条件の違いを意識せずに、ＰＬＣと汎用シリアルデバイス間のコネクションを確立することができ、これによりＰＬＣと汎用シリアルデバイスとのコネクション確立を短時間で行うことができる。
【発明を実施するための最良の形態】
【００２６】
以下に、この発明に係るＰＬＣシステムの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００２７】
本発明が適用されたＰＬＣシステムのシステム構成図が図１に示されている。同図に示されるように、このＰＬＣシステムは、開発支援装置１と、ＰＬＣ２と、汎用シリアルデバイス３とを含んでいる。
【００２８】
この例にあっては、ＰＬＣ２は、バックプレーンを備えたビルディング・ブロックタイプのものであり、そのバックプレーンには、電源ユニット２１と、ＣＰＵユニット２２と、汎用シリアル通信ユニット２３と、２台の入出力ユニット２４、２５とが着脱可能に取り付けられている。バックプレーンには、データバス、アドレスバス等の信号線や電源供給のための電源バスや各ユニットを装着するためのコネクタ等が備えられている。
【００２９】
電源ユニット２１は、バックプレーン上の電源バスを介して、各ユニット２２〜２５へと電源を供給する。
【００３０】
ＣＰＵユニット２２は、ＰＬＣ全体を統括制御するものであり、その詳細は後に、図２を参照して説明する。
【００３１】
汎用シリアル通信ユニット２３は、ＰＬＣ２と汎用シリアルデバイス３との間の汎用シリアル通信を実現するためのものであり、その詳細は後に図２を参照して説明する。
【００３２】
入出力ユニット２４、２５は、入力部と出力部とを有し、入力部には図示しない外部入力機器（各種センサや押しボタン等）が接続され、出力部には図示しない外部出力機器（例えば、表示ランプや各種のアクチュエータ等）が接続される。
【００３３】
開発支援装置１とＣＰＵユニット２２とはケーブル４で結ばれる。ケーブル４とＣＰＵユニット２２とは図示しないコネクタを介して着脱可能とされる。同様に、汎用シリアルデバイス３と汎用シリアル通信ユニット２３とはケーブル５を介して結ばれる。ケーブル５と汎用シリアル通信ユニット２３とは図示しないコネクタを介して着脱可能とされる。
【００３４】
開発支援装置１は、この例にあっては、パーソナルコンピュータ（以下、パソコンと称する）に対して所定の開発支援ソフトをインストールして構成される。一方、汎用シリアルデバイス３は、様々な機能を有するＰＬＣシステムを構成する機器であり、ＲＳ２３２Ｃ／ＲＳ４２２／ＲＳ４８５等で代表される汎用シリアル通信インターフェイスを備えた機器である。例えば、プログラマブル表示器、温度調節器、バーコードリーダ等がこれに相当する。
【００３５】
ＰＬＣシステムを構成する各装置の電気的ハードウェア構成を示すブロック図が図２に示されている。なお、この図においては、先ほど説明した電源ユニット２１及び入出力ユニット２４、２５については図示を省略している。
【００３６】
同図に示されるように、ＣＰＵユニット２２は、通信インターフェイス（通信Ｉ／Ｆ）２２１と、マイクロプロセッサ（ＭＰＵ）２２２と、システムメモリ２２３と、データメモリ２２４と、ユーザプログラムメモリ２２５と、Ｉ／Ｏメモリ２２６とを含んでいる。
【００３７】
通信インターフェイス２２１は、外部機器と接続し、通信を行うためのインターフェイスを構成するものである。この通信インターフェイス２２１は、ケーブル４を介して開発支援装置１へと接続される。
【００３８】
マイクロプロセッサ（ＭＰＵ）２２２は、予め所定のメモリ（図示せず）に格納されているシステムプログラムを実行することにより、ＰＬＣのＣＰＵユニットとして求められる各種の機能を実現すると共に、ＣＰＵユニット２２の全体を統括制御するものである。
【００３９】
一方、各種のメモリ２２３〜２２６は、次のように構成される。すなわち、システムメモリ２２３は、マイクロプロセッサ（ＭＰＵ）２２２が各種の演算を実行する際のワークエリアなどとして機能する。データメモリ２２４には、ＭＰＵ２２３で実行されるべき各種の演算に必要なデータが格納される。ユーザプログラムメモリ２２５には、ユーザがラダー言語（制御プログラム記述言語の一つ）などを用いて作成した制御プログラム（ユーザプログラムと呼ぶ）が格納される。Ｉ／Ｏメモリ２２６は、入力エリアと出力エリアとを有すると共に、さらにデータエリアやフラグエリアを有している。
【００４０】
この例では、特にフラグエリアには、汎用シリアル通信ユニット２３と汎用シリアルデバイス３との接続確立の有無によりオンオフ制御される通信状態フラグＦが設けられている。この通信状態フラグＦは、図１０に示されるように、ユーザプログラムを構成する任意のラダー図においてラダー言語の命令語のオペランドとして使用が可能とされる。そのため、ユーザは、この通信状態フラグＦを利用することによって、汎用シリアル通信ユニット２３と汎用シリアルデバイス３との接続確立を条件とする任意の出力機能を実現することができる。
【００４１】
汎用シリアル通信ユニット２３は、汎用シリアル通信インターフェイス（通信Ｉ／Ｆ）２３１と、マイクロプロセッサ（ＭＰＵ）２３２と、システムメモリ２３３とを含んでいる。汎用シリアル通信インターフェイス２３１は、ケーブル５を介して汎用シリアルデバイス３と接続される。この汎用シリアル通信インターフェイス２３１は、外部の任意の汎用シリアルデバイス３と接続し、通信を行うためのインターフェイスとして機能する。ＭＰＵ２３２は、予め所定のメモリ（図示せず）に格納されているシステムプログラムを実行することにより汎用シリアル通信ユニットとして必要な各種の機能を実現する。システムメモリ２３３は、ＭＰＵ２３２が演算処理を行う際に、データを格納するエリアなどとして利用される。
【００４２】
ＣＰＵユニット２２と汎用シリアル通信ユニット２３との間のデータのやり取りは、それらを結ぶ内部バスＢＵＳ１を介して行われる。この内部バスＢＵＳ１は、図示しないバックプレーン上に存在する。
【００４３】
汎用シリアルデバイス３は、汎用シリアル通信インターフェイス（通信Ｉ／Ｆ）３１と、マイクロプロセッサ（ＭＰＵ）３２と、システムメモリ３３とを含んでいる。汎用シリアル通信インターフェイス３１は、汎用シリアル通信ユニット２３と接続し、通信を行うためのインターフェイスとして機能する。
【００４４】
ＭＰＵ３２は、汎用シリアルデバイス（具体的には、プログラマブル表示器、リモートＩ／Ｏ装置、バーコードリーダ等）に要求される各種の機能を実現するためのものであり、その具体的な機能は、汎用シリアルデバイスの具体的構成によりまちまちである。システムメモリ３３は、ＭＰＵ３２において演算処理を行う際に、各種のデータ格納場所などとして利用される。
【００４５】
次に、開発支援装置１、ＣＰＵユニット２２、汎用シリアル通信ユニット２３、及び汎用シリアルデバイス３が互いに協働することにより実現される全体処理を図９を参照して説明する。
【００４６】
同図に示されるように、まず、ユーザは開発支援装置の操作部に対して、所定の操作を行うことにより、オンライン接続指示を与える［１］。すると、開発支援装置１とＣＰＵユニット２２との間におけるオンライン接続が確立される［２］。
【００４７】
次に、ユーザは、開発支援装置１の操作部において、汎用シリアルデバイス自動接続を指示するための所定操作を行う［３］。すると、本発明の要部であるところの、汎用シリアルデバイス自動接続処理が開始される。
【００４８】
すなわち、まず最初に、開発支援装置１からＣＰＵユニット２２に対して、汎用シリアルユニットの通信条件変更指示が与えられ［４］、これを受けてＣＰＵユニット２２から汎用シリアル通信ユニット２３に対して、通信条件変更の指示が与えられる［５］。
【００４９】
その後、開発支援装置１からＣＰＵユニット２２へと、汎用シリアルデバイスに対して通信テストを行うべき指示が発せられ［６］、これを受けてＣＰＵユニット２２から汎用シリアル通信ユニット２３に対して、汎用シリアルデバイスに対して通信テストを行うべき指示が伝えられる［７］。
【００５０】
汎用シリアル通信ユニット２３の側では、変更された現在の通信条件にしたがって汎用シリアルデバイス３に対して通信テストを実行する［８］。その結果、汎用シリアルデバイス３の側から予定されたレスポンスが返送されてくると、汎用シリアル通信ユニット２３はＣＰＵユニット２２に対して、通信状態フラグＦをオンにすべき指示を与える［９］。これを受けて、ＣＰＵユニット２２は、Ｉ／Ｏメモリ２２６内に設けられた通信状態フラグＦの内容をオン状態とする。通信テスト［８］において、予定したレスポンスが返送されない場合は、通信状態フラグＦをオフにすべき指示を与える（図示せず）。なお、通信状態フラグＦの初期値がオフならば、通信状態フラグＦをオフにすべき指示を与えなくても良い。
【００５１】
以後、この通信状態フラグＦの内容は開発支援装置１へと読み込まれ［１０］、ここで開発支援装置１が通信状態フラグＦがオンになっていることを確認すれば、その旨の情報が開発支援装置１の表示部に表示され、これによりユーザは汎用シリアルデバイスの自動接続を確認することができる。一方、開発支援装置１は、読み込んだ通信状態フラグＦがオフであることを確認した場合は、汎用シリアルユニットの通信条件変更［４］の処理に戻る。
【００５２】
次に、図９に示される全体処理を実現するための各装置個々の処理を順に系統的に説明する。
【００５３】
ユーザからの汎用シリアルデバイス自動接続指示を受けて起動される開発支援装置１の処理を示すフローチャートが図３に示されている。同図において処理が開始されると、まずステップ３０１では、ＰＬＣの汎用シリアル通信ユニットの現在設定されている通信条件をバックアップする処理が実行される。
【００５４】
続くステップ３０２では、通信条件を通信条件データベース（ＤＢ）から取得する。通信条件ＤＢの内容を示す説明図が図４に示されている。同図に示されるように、通信条件ＤＢは、宛先アドレスと通信条件との組み合わせで決定される複数個（この例では、８個）のレコードを有する。
【００５５】
この例にあっては、宛先アドレスとしては、「０」と「１」との２つの選択肢が用意されている。通信条件は、「プロトコル」と「通信速度」と「データ長」と「パリティ」と「ストップビット」とからなる５種類の属性を含んでいる。プロトコルについては「Ａ」と「Ｂ」との２つの選択肢が用意されている。通信速度については、「３８４００ｂｐｓ」と、「１１５２００ｂｐｓ」と、「９６００ｂｐｓ」と、「１９２００ｂｐｓ」との４つの選択肢が用意されている。データ長については、「７ビット」と「８ビット」との２つの選択肢が用意されている。パリティについては、「Ｅ」（偶数パリティを表わす）と「Ｎ」（パリティなしを表わす）との２つの選択肢が用意されている。ストップビットについては、「２」と「１」との２つの選択肢が用意されている。
【００５６】
なお、プロトコルＡ及びプロトコルＢは、汎用シリアル通信ユニットと汎用シリアル通信デバイスの両方がサポートしているプロトコルである。
【００５７】
図３に戻って、ステップ３０３では、通信条件を通信条件ＤＢから取得できたか否かの判定が行われ、取得できた場合にはステップ３０４に進み、取得できなかった場合にはステップ３１０に進む。
【００５８】
ステップ３０４では、ＣＰＵユニット２２の通信ユニット設定エリア（例えば、システムメモリ２２３又はデータメモリ２２４上に設けられる）にデータベースＤＢから取得した通信条件（プロトコル、通信速度、データ長、パリティ、ストップビット）を設定する。
【００５９】
ステップ３０５では、通信条件ＤＢから宛先アドレス（「１」又は「０」）を取得する。ステップ３０６では、汎用シリアル通信ユニット２３と、通信条件ＤＢから取得したアドレスの汎用シリアルデバイスとの間の通信テストをＣＰＵユニット２２へと依頼する。
【００６０】
ステップ３０７では、ＣＰＵユニット２２にある汎用シリアル通信ユニット２３と汎用シリアルデバイス３との間の通信状態フラグＦを読み出す。ステップ３０８では、通信状態フラグＦがオンになっているか否かを判定する。
【００６１】
ここで、通信状態フラグがオンになっていれば、ステップ３０９に進むのに対し、オンになっていなければ、ステップ３０２へ戻る。ステップ３０９では、汎用シリアル通信ユニット２３と汎用シリアルデバイス３との間のコネクションが確立したことをユーザに対して表示画面などを通じて通知する。
【００６２】
一方、ステップ３０３において、通信条件を通信条件ＤＢから取得できなかったと判定されると、ステップ３１０へと進む。そして、ステップ３１０では、ＰＬＣ２の汎用シリアル通信ユニット２３の通信条件を先にステップ３０１においてバックアップしておいた設定に戻す。ステップ３１１では、エラーが生じたことをユーザに対して表示画面などを通じて通知する。
【００６３】
次に、ＣＰＵユニットの動作の全体を示すゼネラルフローチャートが図５に、本発明に関連してＣＰＵユニットが行う処理が図６にそれぞれ示されている。
【００６４】
図５に示されるように、当業者にはよく知られているように、ＣＰＵユニット２２においては、電源ＯＮに応答して、電源ＯＮ時（イニシャル）処理（ステップ５０１）を実行した後、共通処理（ステップ５０２）、演算処理（ステップ５０３）、Ｉ／Ｏリフレッシュ（ステップ５０４）、及び周辺サービス処理（ステップ５０５）を繰り返し実行する。
【００６５】
ここで、電源ＯＮ時（イニシャル）処理（ステップ５０１）では、システムメモリの初期化処理、Ｉ／Ｏメモリエリアのクリア処理、ユーザプログラムメモリのチェック処理などが実行される。
【００６６】
また、共通処理（ステップ５０２）においては、バッテリ異常チェック処理、ディップスイッチ監視処理などが実行される。
【００６７】
また、演算処理（５０３）においては、ユーザプログラムを実行する。なお、この種のユーザプログラム実行処理については、各種文献により公知であるから説明を省略する。
【００６８】
また、Ｉ／Ｏリフレッシュ処理（ステップ５０４）においては、ＣＰＵユニットは、入力ユニット、出力ユニット、入出力ユニット、汎用シリアルユニット、特殊機能ユニット等とのデータ交換をサイクリックに行う。
【００６９】
さらに、周辺サービス処理（ステップ５０５）においては、開発支援装置１との通信処理などが実行される。
【００７０】
そして、以上の各処理５０１〜５０５の中で、本発明に係る自動接続処理は、例えば、Ｉ／Ｏリフレッシュ処理（ステップ５０４）または周辺サービス処理（ステップ５０５）において実行することができる。
【００７１】
本発明の要部に相当するＣＰＵユニットの処理を示すフローチャートが図６に示されている。同図において、処理が開始されると、ステップ６０１では、開発支援装置１からＣＰＵユニット２２宛の通信ユニット設定エリアに対する処理依頼（図３のステップ３０４に対応）があるかどうかを判定し、当該処理依頼がある場合はステップ６０２へ進み、当該処理依頼がない場合はステップ６０２〜６０４を実行せずに終了する。この図６の処理は、周辺サービス処理（ステップ５０５）において実行する。
【００７２】
ステップ６０２においては、通信ユニット設定エリア（例えば、システムメモリ２２３又はデータメモリ２２４に設けられる）の設定を汎用シリアル通信ユニット２３に反映するための処理が実行される。すなわち、この処理では、通信ユニット設定エリアの設定を読み出し、これを通信ユニット２３のシステムメモリ２３３内の所定エリアにバスＢＵＳ１を介して書き込む。
【００７３】
ステップ６０３では、汎用シリアルデバイス３への通信テスト依頼があるか否かの判定を行う。ここで、開発支援装置１からの通信テスト依頼があればステップ６０４へ進み通信ユニットに汎用シリアルデバイスへの通信テストを依頼する。また、通信テスト依頼が無ければその回の処理は終了する。
【００７４】
次に、汎用シリアル通信ユニット２３の処理を示すフローチャートが図７に示されている。同図において処理が開始されると、ステップ７０１では、ＣＰＵユニット２２から指定された通信条件に変更する処理が実行される。ここで、通信条件とは、先に説明したように、プロトコル、通信速度、データ長、パリティ、ストップビットを含んでいる。
【００７５】
ステップ７０２では、汎用シリアルデバイスとの通信テスト依頼があるか否かの判定を行う。ここで、通信テスト依頼があればステップ７０３へ進み、通信テスト依頼が無ければ直ちにその回の処理を終了する。
【００７６】
ステップ７０３では、指定されたアドレス（宛先アドレス）の汎用シリアルデバイスに通信テストを行う。通信テストでは、汎用シリアルデバイスが解釈し応答（レスポンス）可能なコマンドを送信する。ステップ７０４では、汎用シリアルデバイスからレスポンスが返ってきたか否かを判定する。ここで、レスポンスが返ってきた場合にはステップ７０５へ進み、返ってこない場合には直ちにその回の処理を終了する。ステップ７０５では、ＣＰＵユニットの通信ユニット設定エリアの通信状態フラグをＯＮにする。さらに、宛先アドレス（例えば、汎用シリアル通信回線上でのアドレス）に該当するＣＰＵユニットの所定フラグ（例えば、汎用シリアル通信回線上のアドレス毎に設けられたフラグ）をＯＮにする。
【００７７】
次に、汎用シリアルデバイスの処理を示すフローチャートが図８に示されている。同図において処理が開始されると、ステップ８０１では、コマンドの受信状態をチェックする。
【００７８】
ステップ８０２では、コマンドを受信したかどうかを判定し、受信した場合にはステップ８０３へ進み、受信していない場合にはその回の処理を直ちに終了する。
【００７９】
ステップ８０３では、受信したコマンドを解読できるか否かの判定を行う。ここで解読できる場合にはステップ８０４へと進み、解読できない場合にはその回の処理を直ちに終了する。ステップ８０４では、受信したコマンドの送信元に対してレスポンスを返送する。以後、ステップ８０１〜８０４の処理が繰り返し実行される。
【００８０】
以上、図１〜図１０を参照して説明した実施形態によれば、図９に示されるように、ユーザが開発支援装置１を操作して、オンライン接続を指示すれば、開発支援装置とＣＰＵユニットとのオンライン接続が確立する。
【００８１】
しかる後、開発支援装置１に対してユーザが汎用シリアルデバイス自動接続の指示を与えれば、開発支援装置では自身に内蔵する通信条件データベース（図４参照）を参照して、あるレコードの内容を読み出し、これを通信条件変更指令として、ＣＰＵユニット２２へと送出し、これを受けてＣＰＵユニット２２から汎用シリアル通信ユニットに対して、個々のレコードの内容が伝えられる。
【００８２】
しかる後、開発支援装置１からＣＰＵユニット２２を経由して汎用シリアル通信ユニット２３に対し通信テスト指令が行われ、汎用シリアル通信ユニットがアドレス並びに通信条件を変更し、汎用シリアルデバイス３に対して通信テストを行う。
【００８３】
汎用シリアル通信ユニットに設定されている通信条件と汎用シリアルデバイス３に設定されている通信条件とが一致した場合（汎用シリアルデバイス３側で解読可能の場合）は、汎用シリアルデバイス側から所定のレスポンスが汎用シリアル通信ユニット２３側へと返送され、通信テストが成功したことをＣＰＵユニット２２へ通知する（通信状態フラグをＯＮにする［９］に相当する）。
【００８４】
このＣＰＵユニット２２上の通信状態フラグがＯＮであることを開発支援装置１が読み出して画面表示することにより、ユーザは接続確立を確認することができるのである。
【００８５】
また、汎用シリアル通信ユニットに設定されている通信条件と汎用シリアルデバイス３に設定されている通信条件とが一致しない場合は、汎用シリアルデバイス側から所定のレスポンスが汎用シリアル通信ユニット２３側へ返送されないため、汎用シリアル通信ユニット２３は通信テストに失敗したことをＣＰＵユニット２２へ通知する（通信状態フラグをＯＦＦにすること（図示せず）に相当する）。
【００８６】
このＣＰＵユニット２２上の通信状態フラグがＯＦＦであることを開発支援装置１が読み出すと、開発支援装置１では、再び自身に内蔵する通信条件データベースを参照して、新たなレコードの内容を読み出して、以上の処理を繰り返す。
【００８７】
したがって、従前のように、ユーザは、汎用シリアル通信ユニット２３に設定されている通信条件と汎用シリアルデバイス３に設定されている通信条件とを個別に専用ツールを用いて確認するといった煩雑な操作は一切不要であり、開発支援装置１側において単に接続を指示するだけで、独りでに必要な処理が実行されて、相手方が既知の通信条件を有するものである限り自動接続を行うことができるのである。
【００８８】
なお、以上の実施形態においては、図４に示される通信条件ＤＢは開発支援装置１に格納されるものとしたが、これはＣＰＵユニット２２や汎用シリアル通信ユニット２３内に格納するようにしてもよい。
【００８９】
また、以上の実施形態においては、ＣＰＵユニット２２と汎用シリアル通信ユニット２３とを別体に有するバックプレーンを備えたビルディング・ブロックタイプのＰＬＣに本発明を適用したが、本発明はバックプレーンを持たずにユニット同士をコネクタで結合するビルディング・ブロックタイプのＰＬＣにも適用できることは勿論であり、その際に、汎用シリアル通信ユニット２３の機能をＣＰＵユニット２２内のＭＰＵ２２２に実行させることによって、ＣＰＵユニット２２自身に汎用シリアル通信ユニットとしての機能を持たせるようにしてもよい。このような場合には、汎用シリアルデバイス３はケーブル５を介してＣＰＵユニット２２の所定通信ポートに接続されることとなり、汎用シリアル通信ユニット２３は存在しない。
【００９０】
また、以上の実施形態においては、ＰＬＣ２と開発支援装置１とをケーブル４で結ぶ構成としたが、もちろん開発支援装置に相当する操作部及び表示部をＰＬＣ２と一体に構成したＰＬＣにも本発明は適用が可能である。そのような場合には、開発支援装置１を構成する簡易型ターミナルはＰＬＣ２と一体化されることとなる。
【００９１】
また、以上の実施形態においては、図４に示される通信条件ＤＢを構成する各レコードを順次切り替えて汎用シリアル通信ユニット２３へと与えるについて、各レコードを開発支援装置１から汎用シリアル通信ユニット２３へとその都度送り出すように構成したが、これに代えて、開発支援装置１内に格納された通信条件ＤＢの内容を全て一括して又はいくつかのグループに分けて一括してＣＰＵ２２側又は汎用シリアル通信ユニット２３側へと送り出し、それらの中の１つを順次汎用通信ユニット２３に設定しても、同様な自動接続のための通信条件走査をなすことができることは勿論である。
【００９２】
さらに、以上の実施形態においては、図４の通信条件ＤＢに示されるように、宛先アドレス、プロトコル、通信速度、データ長、パリティ、ストップビットの選択肢はそれぞれ所定の個数としたが、これは発明を説明するために便宜上設定したに過ぎず、その個数は想定される既知の具体的最大数に合わせて適宜設定すればよいことは勿論である。
【００９３】
次に、他の実施形態について述べる。図８の汎用シリアルデバイス３の処理を示すフローチャートでは、汎用シリアルデバイス３は、汎用シリアル通信ユニット２３からコマンドを受信することを前提とした場合の例が示されている。
【００９４】
他の方法としては、汎用シリアルデバイス３側から汎用シリアル通信ユニット２３に対して通信テストを実行するように構成しても良い。そのような汎用シリアルデバイス３は、予め設定されている通信条件にしたがって、自らの識別情報（コマンドの送信元を表わすもの、例えば汎用シリアル通信回線上でのアドレス）を付加した接続確認コマンドを汎用シリアル通信ユニット２３に対して送信し、所定時間内に正常レスポンスを受信するかどうか監視する。所定時間内に正常レスポンスを受信できない場合は、再び接続確認コマンドを送信し正常レスポンスの受信待ちをする。正常レスポンスを受信できた場合は、通信テストを終了する。
【００９５】
汎用シリアスデバイス３をこのように構成した場合は、汎用シリアル通信ユニット２３側の処理（図７）は次のようになる。図７のステップ７０３とステップ７０４およびステップ７０５に代えて以下に述べるステップ７０３'とステップ７０４'およびステップ７０５'を行なう。
【００９６】
ステップ７０３'としては、ステップ７０１で設定された通信条件にしたがって汎用シリアルデバイスからのコマンド受信待ち処理を行なう。ステップ７０４'としては、汎用シリアルデバイスから正常にコマンドを受信したかどうかを判定する。この判定でＹＥＳの場合に実行されるステップ７０５'としては、ステップ７０５の処理に加えて以下の処理を行なう。
【００９７】
すなわち、正常に受信したコマンドに対応するレスポンスを返送するともに、受信したコマンドから送信元を表わす識別情報を抽出し、その識別情報に該当するＣＰＵユニットの所定フラグ（例えば、汎用シリアル通信回線上のアドレスごとに設けられたフラグ）をＯＮする。
【００９８】
開発支援装置１は、ＣＰＵユニットから前記識別情報に該当するＣＰＵユニットの所定フラグを読み出し、ＯＮかＯＦＦを判定することで汎用シリアル通信回線上に存在している汎用シリアルデバイスのアドレスを知ることが可能となる。
【００９９】
以上の実施例では、汎用シリアル通信回線上の汎用シリアルデバイスが１台として説明した。本発明は、汎用シリアル通信回線上の汎用シリアルデバイスが複数台存在する場合にも適用可能である。これは、図３の開発支援装置の処理を一部変更することで可能である。
【０１００】
すなわち、ステップ３０８でＹＥＳと実行するステップ３０９に換えて、ステップ３０９'を実行する。ステップ３０９'の処理としては、コネクションが確立したことをユーザに通知せずに、コネクションが確立したことを表わすデータを開発支援装置上の所定メモリに記憶する処理を行ないステップ３０２に戻る。
【０１０１】
さらに、ステップ３０３とステップ３１０の間にステップ３１２を追加する。ステップ３１２の処理としては、コネクションが確立したこと表わすデータが格納されているかどうか判断し、格納されていなければステップ３１０へ進み、格納されていればコネクションが確立したことをユーザに通知して処理を終了する。
【０１０２】
一連の処理の結果として、汎用シリアル通信回線上に存在する全ての汎用シリアルデバイスのアドレスに該当するＣＰＵユニットの所定フラグ（汎用シリアル通信回線上のアドレスごとに設けられたフラグ）がＯＮになる。
【０１０３】
開発支援装置１は、ＣＰＵユニットから前記所定フラグを読み出し、ＯＮかＯＦＦを判定することで汎用シリアル通信回線上に存在している全ての汎用シリアルデバイスのアドレスを知ることが可能となる。
【０１０４】
開発支援装置１は、このアドレスに基づいて汎用シリアル通信回線上のネットワーク構成図（例えば、汎用シリアルデバイスをアイコン表示したものにアドレスを付加して表示する）を表示しすることが可能となる。
【０１０５】
さらに、汎用シリアル通信回線上に存在している全ての汎用シリアルデバイスのアドレス中で最大アドレスを抽出し、抽出した最大アドレスをＣＰＵユニットを介して汎用シリアル通信ユニットに設定することができる。
【０１０６】
汎用シリアル通信ユニットは、設定された最大アドレスにしたがって汎用シリアル通信回線上の汎用シリアルデバイスとの通信を制御するように構成することができる。具体的には、汎用シリアルデバイス通信ユニットが汎用シリアル通信回線に対するポーリング処理を設定された最大アドレスまでしか行わないようにする。そうすることで不要なポーリング処理がなくなるため通信サイクルタイムが短くなる。
【産業上の利用可能性】
【０１０７】
この発明によれば、開発支援装置がサポートしているＰＬＣであれば、ＰＬＣと汎用シリアルデバイスの通信条件を意識せずに、ＰＬＣと汎用シリアルデバイス間のコネクションを確立することができ、これによりＰＬＣと汎用シリアルデバイスとのコネクション確立を容易かつ短時間で行うことができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明が適用されたシステム構成図である。
【図２】本発明システムを構成する各装置の電気的ハードウェア構成を示すブロック図である。
【図３】開発支援装置の処理を示すフローチャートである。
【図４】通信条件ＤＢの内容を示す説明図である。
【図５】ＣＰＵユニットの動作の全体を示すゼネラルフローチャートである。
【図６】ＣＰＵユニットの処理を示すフローチャートである。
【図７】汎用シリアル通信ユニットの処理を示すフローチャートである。
【図８】汎用シリアルデバイスの処理を示すフローチャートである。
【図９】全体処理を示すフローチャートである。
【図１０】通信状態フラグを参照するユーザプログラムの一例を示すラダー図である。
【符号の説明】
【０１０９】
１    開発支援装置
２    プログラマブル・コントローラ
３    汎用シリアルデバイス
４    ケーブル
５    ケーブル
２１  電源ユニット
２２  ＣＰＵユニット
２３  汎用シリアル通信ユニット
２４  入出力ユニット
２５  入出力ユニット
３１  汎用シリアル通信インターフェイス
３２  マイクロプロセッサ（ＭＰＵ）
３３  システムメモリ
２２１  通信インターフェイス
２２２  マイクロプロセッサ（ＭＰＵ）
２２３  システムメモリ
２２４  データメモリ
２２５  ユーザプログラムメモリ
２２６  Ｉ／Ｏメモリ
２３１  汎用シリアル通信インターフェイス
２３２  マイクロプロセッサ（ＭＰＵ）
２３３  システムメモリ
ＢＵＳ１  ＰＬＣ内の内部バス
ＢＵＳ２  汎用シリアルデバイス内の内部バス
Ｆ    通信状態フラグ
【図１】
2006277733.tif 000003
【図２】
2006277733.tif 000004
【図３】
2006277733.tif 000005
【図４】
2006277733.tif 000006
【図５】
2006277733.tif 000007
【図６】
2006277733.tif 000008
【図７】
2006277733.tif 000009
【図８】
2006277733.tif 000010
【図９】
2006277733.tif 000011
【図１０】
2006277733.tif 000012