(57)【特許請求の範囲】
【請求項１】
シーケンスプログラムに従って機器を制御するコントローラ部と、外部装置との間で通信する通信部とを備えるプログラマブルコントローラであって、前記通信部は、前記コントローラ部と前記外部装置との間で授受するデータの通信手順が相違するときに通信手順を相互に変換する変換手段を備えるとともに、常時は外部機器からのデータを受信可能なスレーブの状態に設定され、シーケンスプログラムにおいて外部機器にデータを送出する指示がなされているときには前記コントローラ部からの指示によって前記通信部が外部機器にデータを送信可能なマスタの状態に切り替えられ、送出したデータに対するレスポンスの判断後にマスタの状態からスレーブの状態に復帰し、前記コントローラ部には前記通信部で扱うことが可能な複数種類の通信手順に共用されるサービスが設けられ、外部機器にデータを送出する際にはシーケンスプログラムにおいて指示された通信手順を前記データとともにサービスを通して前記通信部に与えることにより通信手順を選択し、外部機器からのデータを受信する際には前記通信部において通信手順を判別することにより通信手順を選択することを特徴とするプログラマブルコントローラ。
【請求項２】
シーケンスプログラムに従って機器を制御するＣＰＵユニットに接続され外部装置との間で通信する機能を有した周辺ユニットであって、前記ＣＰＵユニットと前記外部装置との間で授受するデータの通信手順が相違するときに通信手順を相互に変換する変換手段を備え、常時は外部機器からのデータを受信可能なスレーブの状態に設定され、シーケンスプログラムにおいて外部機器にデータを送出する指示がなされているときには前記ＣＰＵユニットからの指示によって外部機器にデータを送信可能なマスタの状態に切り替えられ、送出したデータに対するレスポンスの判断後にマスタの状態からスレーブの状態に復帰し、前記ＣＰＵユニットには複数種類の通信手順で共用されるサービスが設けられ、外部機器にデータを送出する際にはシーケンスプログラムにおいて指示された通信手順が前記データとともにサービスを通して与えられることにより通信手順を選択し、外部機器からのデータを受信する際には外部機器から受信したデータに基づいて通信手順を判別することにより通信手順を選択することを特徴とするプログラマブルコントローラの周辺ユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラ、プログラマブルコントローラの周辺ユニットに関するものである。
【０００２】
【従来の技術】
従来から、プログラマブルコントローラとして、シーケンスプログラムを作成するプログラム支援装置を接続したり、プログラマブルコントローラをネットワークに接続して複数台のプログラマブルコントローラを上位階層のコンピュータで管理したりするために、通信機能を備えたものが提供されている（特開平５−４１７２２号公報等）。この種の通信機能を用いるために規格化され標準化された通信手順が普及してきており、標準化された通信手順であればプログラマブルコントローラ単体で外部装置との間でデータ伝送が可能になってきている。しかしながら、この種の通信機能を備えたプログラマブルコントローラであっても標準化された通信手順を用いることができない外部装置との間ではデータ伝送ができないから、外部装置の通信手順に対応した通信機能を有する通信ユニットを設けることになる。
【０００３】
【発明が解決しようとする課題】
上述したように、標準化された通信手順を用いていない場合には、プログラマブルコントローラに通信ユニットが必要であり、しかも通信手順ごとに異なる仕様の通信ユニットが必要になるから、通信ユニットの品種が多くなるという問題が生じる。
【０００４】
本発明は上記事由に鑑みて為されたものであり、その目的は、複数種類の通信手順に対応可能としたプログラマブルコントローラ、プログラマブルコントローラの周辺ユニットを提供することにある。
【０００５】
【課題を解決するための手段】
請求項１の発明は、シーケンスプログラムに従って機器を制御するコントローラ部と、外部装置との間で通信する通信部とを備えるプログラマブルコントローラであって、前記通信部は、前記コントローラ部と前記外部装置との間で授受するデータの通信手順が相違するときに通信手順を相互に変換する変換手段を備えるとともに、常時は外部機器からのデータを受信可能なスレーブの状態に設定され、シーケンスプログラムにおいて外部機器にデータを送出する指示がなされているときには前記コントローラ部からの指示によって前記通信部が外部機器にデータを送信可能なマスタの状態に切り替えられ、送出したデータに対するレスポンスの判断後にマスタの状態からスレーブの状態に復帰し、前記コントローラ部には前記通信部で扱うことが可能な複数種類の通信手順に共用されるサービスが設けられ、外部機器にデータを送出する際にはシーケンスプログラムにおいて指示された通信手順を前記データとともにサービスを通して前記通信部に与えることにより通信手順を選択し、外部機器からのデータを受信する際には前記通信部において通信手順を判別することにより通信手順を選択するものである。
【０００８】
請求項２の発明は、シーケンスプログラムに従って機器を制御するＣＰＵユニットに接続され外部装置との間で通信する機能を有した周辺ユニットであって、前記ＣＰＵユニットと前記外部装置との間で授受するデータの通信手順が相違するときに通信手順を相互に変換する変換手段を備え、常時は外部機器からのデータを受信可能なスレーブの状態に設定され、シーケンスプログラムにおいて外部機器にデータを送出する指示がなされているときには前記ＣＰＵユニットからの指示によって外部機器にデータを送信可能なマスタの状態に切り替えられ、送出したデータに対するレスポンスの判断後にマスタの状態からスレーブの状態に復帰し、前記ＣＰＵユニットには複数種類の通信手順で共用されるサービスが設けられ、外部機器にデータを送出する際にはシーケンスプログラムにおいて指示された通信手順が前記データとともにサービスを通して与えられることにより通信手順を選択し、外部機器からのデータを受信する際には外部機器から受信したデータに基づいて通信手順を判別することにより通信手順を選択するものである。
【００１１】
【発明の実施の形態】
本実施形態で示すプログラマブルコントローラは、図１に示すように、シーケンスプログラムを実行して機器を制御するコントローラ部としてのＣＰＵユニット１と、外部装置との間でデータ通信を行う通信部としての通信ユニット２とを備える。また、図では省略しているが、機器を接続するための入出力ユニットや、ＣＰＵユニット１および通信ユニット２に電源を供給する電源ユニットなども設けられる。ここに、「ユニット」という用語は個々に独立した筐体を有し、必要に応じて加除可能であって、複数の「ユニット」を組み合わせることによってプログラマブルコントローラを構成することができるものを意味している。また、一般にはＣＰＵユニットを除く他のユニットを周辺ユニットと呼んでいる。すなわち、本実施形態では通信ユニット２が周辺ユニットになる。
【００１２】
ＣＰＵユニット１は通信機能におけるサービス１１を提供する。つまり、ＣＰＵユニット１での処理にあたって外部装置とのデータ通信を必要とするときに、送信時にはサービス１１を通して通信ユニット２を制御し、また受信時には通信ユニット２からサービス１１を通してデータを受け取るのである。ここで用いられるサービスはＣＰＵユニット１に従来から設けられている処理と同様のものである。
【００１３】
一方、本実施形態では通信ユニット２として３種類の通信手順に対応可能なものを用いる。このうち１種類の通信手順は、ＣＰＵユニット１におけるサービス１１で処理が可能な通信手順であって、他の２種類の通信手順はサービス１１では処理できない通信手順になっている。以下では、サービス１１で処理可能な通信手順をプロトコル１、残りの２つの通信手順をプロトコル２およびプロトコル３として説明する。
【００１４】
プロトコル２およびプロトコル３はサービス１１において処理することができないから、通信ユニット２にはプロトコル２とプロトコル３とをそれぞれ扱うことができ、外部装置からプロトコル２またはプロトコル３を用いて伝送されたデータを解析してサービス１１に受け渡す機能と、サービス１１を通して外部装置に送り出すデータをプロトコル２またはプロトコル３を用いて伝送する機能とを有している。つまり、通信ユニット２は、プロトコル２とプロトコル３とに対応して、それぞれサービス１１から外部装置に送るデータを変換する通信手順変換手段１２，１３と、外部装置からのデータをサービス１１に受け渡し可能な形に変換する通信手順逆変換手段１４，１５とを変換手段として備えている。さらに、通信手順変換手段１２，１３および通信手順逆変換手段１４，１５における変換のために逆変換用テーブル１６，１７も通信ユニット２に設けられる。一方、プロトコル１に対しては何の変換も行わないから、通信ユニット２にはプロトコル１に対してサービス１１と外部装置とを直結する経路が形成される。
【００１５】
次に、本実施形態の動作について説明する。以下では、データを最初に発信する側をマスタと呼び、マスタ以外をスレーブと呼ぶことにする。
【００１６】
マスタとして動作する場合は、外部機器に送り出そうとするデータ（コマンド）をどの通信手順で伝送するかの指示をシーケンスプログラム中に記述しておく。図１に示すように、外部装置にデータを送り出す際にはサービス１１から通信ユニット２に送信要求がなされ、サービス１１では指定された通信手順を通信ユニット２に指示するとともにデータを通信ユニット２に受け渡す。通信ユニット２ではサービス１１からの指示を記憶し、記憶した指示に従って通信手順を選択する。たとえば、指定された通信手順がプロトコル１であれば、通信ユニット２ではサービス１１を外部装置と直結する経路を選択して通信手順を変換することなく外部装置にデータ（コマンド）を送出する。また、外部装置へのコマンドの送出に対して外部装置からのデータ（レスポンス）を受信したときには、サービス１１に受信報知を行い、外部機器からのレスポンスを変換することなくサービス１１に受け渡す。
【００１７】
一方、外部装置へのデータをプロトコル２によって伝送することがサービス１１から通信ユニット２に指示されると、通信ユニット２ではプロトコル２を用いることを記憶し、通信手順変換手段１２を介してサービス１１から渡されたデータをプロトコル２に変換して外部装置に送出する。また、通信ユニット２ではプロトコル２を用いるという指示を記憶しているから、外部機器へのデータ（コマンド）に対して外部機器からのデータ（レスポンス）が通信ユニット２に入力されると、プロトコル２に対応した通信手順逆変換手段１４を用いて外部機器からのレスポンスを解析しサービス１１に受け渡す。なお、通信手順変換手段１２および通信手順逆変換手段１４では逆変換用テーブル１６を用いてサービス１１と外部機器との間でのプロトコルの変換を行う。
【００１８】
プロトコル３を用いる場合もプロトコル２を用いる場合と同様であって、通信ユニット２にサービス１１を通してプロトコル３を用いることが指示されると、これを記憶しておき、外部機器へのデータ（コマンド）は通信手順変換手段１３を通して伝送し、外部機器からのデータ（レスポンス）は通信手順逆変換手段１５を通してサービス１１に受け渡すのである。また、通信手順変換手段１３と通信手順逆変換手段１５とでは、逆変換用テーブル１７を用いてサービス１１と外部機器との間でのプロトコルの変換を行う。上記説明から明らかなように、サービス１１は複数種類の通信手順により共有されているから、共有サービスであると言える。
【００１９】
ところで、上述した例はマスタとしての動作であったが、スレーブとして動作する場合には以下のようになる。スレーブとなる場合には、外部機器から何らかのデータを受けるから、通信ユニット２では外部機器から伝送されたデータの通信手順を解析し、どの通信手順に対応するものかを識別する。外部機器からのデータに対応する通信手順を識別する処理としては、通信ユニット２で対応可能な全種類の通信手順で外部機器からの指示を同時に受信し、有効に受信できた通信手順があれば、以後はその通信手順を使用する方法、あるいは、通信ユニット２で対応可能な通信手順をサイクリックに切り替え、有効に受信できた通信手順があれば、以後はその通信手順を使用する方法などを用いることができる。
【００２０】
ここで、マスタでは通信手順変換手段１２，１３を送信用に用い、通信手順逆変換手段１４，１５を受信用に用いていたが、スレーブでは通信手順変換手段１２，１３を受信用に用い、通信手順逆変換手段１４，１５を送信用に用いる。しかして、上述のようにして通信手順が確定すれば、通信ユニット２ではその通信手順の種類を記憶し、以後の送受信には記憶した種類の通信手順を用いる。たとえば、プロトコル１であれば通信ユニット２では外部機器とサービス１１とを直結する経路を形成し、プロトコル２であれば通信手順変換手段１２、通信手順逆変換手段１４、逆変換用テーブル１６を用い、プロトコル３であれば通信手順変換手段１３、通信手順逆変換手段１５、逆変換用テーブル１７を用いることになる。
【００２１】
マスタとして機能するかスレーブとして機能するかは、以下のように決める。すなわち、常時はスレーブとして機能するようにし、シーケンスプログラムによる指示があるときにだけマスタとして機能するようにしてもよい。この場合には、マスタとなる側では外部機器へのデータ（コマンド）を送信した後に、外部機器からのデータ（レスポンス）が正常であると判断されるか、レスポンスが異常であると判断されるのを待ってスレーブとして機能する状態に復帰させる。
【００２２】
このようにしてマスタとスレーブとの機能を実現するようにすれば、マスタとスレーブとの機能毎に通信ユニットを設けたり、マスタとスレーブとの機能をスイッチで切り替えたりする必要がなく、マスタとスレーブとの切り替えが自動化される。
【００２３】
なお、図において、プロトコル１、プロトコル２、プロトコル３の送受信の経路を分離して記載しているが、伝送路は各通信手順において共用可能であり、また送受信の経路も共用可能である。たとえば、２線式の伝送路を用いて異なる複数種類の通信手順に対応可能であり、またその伝送路を送受信で共用することが可能である。
【００２４】
また、上述した構成例は比較的大規模なプログラマブルコントローラであって、複数のユニットを組み合わせることによってプログラマブルコントローラとして動作するものであるが、入出力接点数の少ない小規模のプログラマブルコントローラでは、ユニットが分離されておらず１つの器体にコントローラ部と通信部とが設けられているものもある。この種のプログラマブルコントローラにおいても本発明の技術思想は適用可能である。さらに、上述の構成例では通信ユニット２にプロトコルを変換する手段を設けているが、プロトコルの変換を通信ユニット２とは別に設けた専用の周辺ユニットで行ってもよい。また、通信ユニット２が扱う通信手順は３種類に限定されるものではない。
【００２５】
【発明の効果】
請求項１、２の構成によれば、複数種類の通信手順に対応可能である上に、マスタとスレーブとの切り換えが自動化され、マスタとスレーブとの機能毎に通信ユニットを設けたり、マスタとスレーブとの機能をスイッチで切り替えたりする必要がない。
【図面の簡単な説明】
【図１】本発明の実施の形態をマスタとして機能させた例を示すブロック図である。
【図２】同上をスレーブとして機能させた例を示すブロック図である。
【符号の説明】
１  ＣＰＵユニット
２  通信ユニット
１１  サービス
１２，１３  通信手順変換手段
１４，１５  通信手順逆変換手段
１６，１７  逆変換用テーブル
【図１】
0004186379.tif 000002
【図２】
0004186379.tif 000003