JP6163748B2 - 通信カプラ、通信システム、制御方法、およびプログラム - Google Patents

通信カプラ、通信システム、制御方法、およびプログラム Download PDF

Info

Publication number
JP6163748B2
JP6163748B2 JP2012273861A JP2012273861A JP6163748B2 JP 6163748 B2 JP6163748 B2 JP 6163748B2 JP 2012273861 A JP2012273861 A JP 2012273861A JP 2012273861 A JP2012273861 A JP 2012273861A JP 6163748 B2 JP6163748 B2 JP 6163748B2
Authority
JP
Japan
Prior art keywords
unit
information
slave device
version
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012273861A
Other languages
English (en)
Other versions
JP2014119907A (ja
Inventor
貴雅 植田
貴雅 植田
橋本 健一
健一 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2012273861A priority Critical patent/JP6163748B2/ja
Publication of JP2014119907A publication Critical patent/JP2014119907A/ja
Application granted granted Critical
Publication of JP6163748B2 publication Critical patent/JP6163748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、機械や設備などの動作を制御するために用いられる制御システムにおけるデータ伝送に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などからなる制御システムによって制御される。このような制御システムにおいて、PLCは、CPUユニットと、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するIO(Input Output)ユニットとを含む。また、PLCは、ネットワークにより、複数のリモートIOターミナルと接続される。各リモートIOターミナルは、通信カプラと、複数のIOユニットとを含む。
このような制御システムとして、特許文献1には、設定値バックアップ・リストアシステムが開示されている。設定値バックアップ・リストアシステムのPLCは、CPUユニットと、複数の拡張ユニット(IOユニット)とを含む。複数の拡張ユニットの1つのユニットが、設定値バックアップ・リストアユニットとして機能する。当該設定値バックアップ・リストアユニットには、ネットワークを介して複数の通信機器(たとえば、センサ)が接続される。CPUユニットがバックアップトリガまたはリストアトリガを検知すると、設定値バックアップ・リストアユニットは、ネットワークに接続された上記通信機器の対象パラメータの設定値をバックアップまたはリストアする。
また、上記のような制御システムとして、特許文献2には、PLC本体と、当該PLC本体とシリアルIF(Interface)で接続された複数のリモートスレーブとを備えるシステム(PLCのリモートIOシステム)が開示されている。PLC本体は、マスタユニットと、複数のIOユニットと、CPUユニットとを含む。マスタユニットと、複数のIOユニットと、CPUユニットとは、互いに、パラレルIFで通信可能に接続されている。各リモートスレーブには、スイッチ、センサ、リレー、バルブ等が接続される。
当該PLC本体のマスタユニットには、リモートスレーブが接続されているか否かを示す加入フラグが設定されている。当該加入フラグは、ユーザプログラムの実行によりアクセス可能なチャネルアドレス(スレーブ加入状態設定エリア)に記憶される。当該構成により、特許文献2のシステムは、リモートスレーブの加入状態等を示す登録および実I/Oテーブルの作成をすることなく、電源オン後、入力初期値が反映された後にユーザプログラムの実行を可能としている。
特開2011−215814号公報 特開平9−128020号公報
特許文献1の設定値バックアップ・リストアシステムは、ネットワークに接続された通信機器の対象パラメータの設定値をバックアップまたはリストアすることを目的として構成されている。このため、上記の設定値バックアップ・リストアシステムでは、CPUユニットが、当該CPUユニットとシステムバス(通信ライン、内部バス)を介して接続された複数の拡張ユニットの設定値等を表す設定情報をバックアップおよびリストアすることはできない。具体的には、プログラマブルコントローラを構成するCPUユニットは、当該CPUユニットとシステムバスで接続された、当該プログラマブルコントローラを構成する拡張ユニットの設定情報をバックアップおよびリストアすることはできない。
また、特許文献2においても、同様に、CPUユニットまたはマスタユニットが、当該ユニットとシステムバスであるパラレルIF(通信ライン、内部バス)を介して接続されたIOユニットの設定値等を表す設定情報をバックアップおよびリストアすることはできない。
本願発明は、上記の問題点に鑑みなされたものであって、その目的は、CPUユニットまたは通信カプラ等のマスタ装置として機能する通信ユニットとシステムバスによって接続されたスレーブ装置の設定情報を、複数のスレーブ装置からなるシステムの構成が予め定められた構成となっていることを条件に、スレーブ装置において設定可能とする通信ユニット、当該通信ユニットを備えた通信システム、通信ユニットにおける制御方法、および通信ユニットを制御するためのプログラムを提供することにある。
本発明のある局面に従うと、通信ユニットは、マスタ装置として機能し、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とシステムバスによって通信可能に接続される。通信ユニットは、前記スレーブ装置毎の各前記設定情報を含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報を格納するための記憶手段と、前記記憶手段に格納された設定情報を前記スレーブ装置に送信する制御手段とを備える。前記制御手段は、通信ユニットが複数のスレーブ装置と通信可能な状態になると、各前記スレーブ装置の識別情報を各前記スレーブ装置から取得し、前記システムバスにおける各前記スレーブ装置の接続順序を検出し、各前記識別情報と前記接続順序とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断し、前記システム構成が前記構成情報に基づいた構成となっていると判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、各前記スレーブ装置に予め定められた処理を開始させる。
好ましくは、通信ユニットは、プログラマブル・ロジック・コントローラの演算ユニットとフィールドネットワークを介して接続されている通信カプラである。前記予め定められた処理は、前記スレーブ装置に通信接続された外部装置との間の入出力処理である。
好ましくは、前記記憶手段は、各前記スレーブ装置におけるシステムプログラムのバージョンを表したバージョン情報をさらに格納してる。前記制御手段は、通信ユニットが複数のスレーブ装置と通信可能な状態になると、各前記スレーブ装置から当該スレーブ装置におけるシステムプログラムのバージョン情報を取得し、前記取得したバージョン情報に示されたバージョンが、前記格納されたバージョン情報に示されたバージョンよりも低くないかを、前記スレーブ装置毎に判断し、前記複数のスレーブ装置の各々について、前記取得したバージョン情報に示されたバージョンが前記格納されたバージョン情報に示されたバージョンよりも低くないと判断すると、各前記設定情報を各前記スレーブ装置に送信し、各前記スレーブ装置に前記入出力処理を開始させる。
好ましくは、制御手段は、前記スレーブ装置毎の前記識別情報と前記順序情報とを、前記設定情報を作成する機能を有する支援装置に送信した後に、前記スレーブ装置毎の前記設定情報を前記支援装置から取得し、前記取得した各前記設定情報を前記記憶装置に記憶させる。
本発明の他の局面に従うと、通信システムは、マスタ装置として機能する通信ユニットと、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とを備える。前記通信ユニットと各前記スレーブ装置とは、システムバスを介して互いに通信可能に接続されている。前記通信ユニットは、前記スレーブ装置毎の各前記設定情報を含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報を格納している。通信ユニットは、通信ユニットが複数のスレーブ装置と通信可能な状態になると、各前記スレーブ装置の識別情報を各前記スレーブ装置から取得し、前記システムバスにおける各前記スレーブ装置の接続順序を検出し、各前記識別情報と前記接続順序とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断し、前記システム構成が前記構成情報に基づいた構成となっていると判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、各前記スレーブ装置に予め定められた処理を開始させる。
本発明のさらに他の局面に従うと、制御方法は、マスタ装置として機能し、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とシステムバスによって通信可能に接続される通信ユニットにおいて実行される。制御方法は、前記スレーブ装置毎の各前記設定情報を含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報をメモリに格納するステップと、通信ユニットが複数のスレーブ装置と通信可能な状態になると、各前記スレーブ装置の識別情報を各前記スレーブ装置から取得するステップと、前記システムバスにおける各前記スレーブ装置の接続順序を検出するステップと、各前記識別情報および前記接続順序と、前記構成情報とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断するステップと、前記システム構成が前記構成情報に基づいた構成となっていると判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、各前記スレーブ装置に予め定められた処理を開始させるステップとを備える。
本発明のさらに他の局面に従うと、プログラムは、マスタ装置として機能し、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とシステムバスによって通信可能に接続される通信ユニットを制御する。プログラムは、前記スレーブ装置毎の各前記設定情報を含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報をメモリに格納するステップと、通信ユニットが複数のスレーブ装置と通信可能な状態になると、各前記スレーブ装置の識別情報を各前記スレーブ装置から取得するステップと、前記システムバスにおける各前記スレーブ装置の接続順序を検出するステップと、各前記識別情報および前記接続順序と、前記構成情報とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断するステップと、前記システム構成が前記構成情報に基づいた構成となっていると判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、各前記スレーブ装置に予め定められた処理を開始させるステップとを、前記通信ユニットのプロセッサに実行させる。
本発明によれば、CPUユニットまたは通信カプラ等のマスタ装置として機能する通信ユニットとシステムバスによって接続されたスレーブ装置の設定情報を、複数のスレーブ装置からなるシステムの構成が予め定められた構成となっていることを条件に、スレーブ装置において設定可能となる。
PLCシステムの概略構成を示す模式図である。 リモートIOターミナルの接続構成を示す模式図である。 リモートIOターミナルを構成する通信カプラのハードウェア構成を示す模式図である。 リモートIOターミナルのIOユニットのハードウェア構成を示す模式図である。 CPUユニットに接続して用いられるPLCサポート装置のハードウェア構成を示す模式図である。 通信カプラに格納されるユニット構成情報D60の概要を表した図である。 通信カプラの機能的構成およびIOユニットの機能的構成を説明するためのブロック図である。 PLCシステムにおける処理を説明するための1つ目のシーケンスチャートである。 PLCシステムにおける処理を説明するための2つ目のシーケンスチャートである。 通信カプラにおける処理の流れを表したフローチャートである。 PLCサポート装置のディスプレイにおける画面を表した図である。 PLCの接続構成を示す模式図である。 PLCを構成するCPUユニットのハードウェア構成を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.PLCシステムの全体構成>
本実施の形態に係るPLC(Programmable Logic Controller)は、モータの運動を制御するためのモーション制御機能を有する。まず、図1を参照して、本実施の形態に係るPLC1のシステム構成について説明する。
図1は、本発明の実施の形態に係るPLCシステムの概略構成を示す模式図である。図1を参照して、PLCシステムSYSは、PLC1と、PLC1とフィールドネットワーク2を介して接続されるサーボモータドライバ3およびリモートIOターミナル5と、フィールド機器である検出スイッチ6およびリレー7とを含む。また、PLC1には、接続ケーブル10などを介してPLCサポート装置8が接続される。
メイン装置であるPLC1は、主たる演算処理を実行するCPUユニット13と、1つ以上のIOユニット14と、特殊ユニット15とを含む。これらのユニットは、PLCシステムバス11を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット12によって適切な電圧の電源が供給される。
IOユニット14は、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を司る。すなわち、IOユニット14は、検出スイッチ6などのセンサが何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット14は、リレー7やアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
特殊ユニット15は、アナログデータの入出力、温度制御、特定の通信方式による通信といった、IOユニット14ではサポートしない機能を有する。
フィールドネットワーク2は、CPUユニット13と遣り取りされる各種データを伝送する。フィールドネットワーク2としては、典型的には、各種の産業用のイーサネット(登録商標)を用いることができる。
なお、図1には、PLCシステムバス11およびフィールドネットワーク2の両方を有するPLCシステムSYSを例示するが、一方のみを搭載するシステム構成を採用することもできる。たとえば、フィールドネットワーク2ですべてのユニットを接続してもよい。あるいは、フィールドネットワーク2を使用せずに、サーボモータドライバ3をPLCシステムバス11に直接接続してもよい。さらに、フィールドネットワーク2の通信ユニットをPLCシステムバス11に接続し、CPUユニット13から当該通信ユニット経由で、フィールドネットワーク2に接続された機器との間の通信を行なうようにしてもよい。
サーボモータドライバ3は、フィールドネットワーク2を介してCPUユニット13と接続されるとともに、CPUユニット13からの指令値に従ってサーボモータ4を駆動する。より具体的には、サーボモータドライバ3は、PLC1から一定周期で、位置指令値、速度指令値、トルク指令値といった指令値を受ける。また、サーボモータドライバ3は、サーボモータ4の軸に接続されている位置センサ(ロータリーエンコーダ)やトルクセンサといった検出器から、位置、速度(典型的には、今回位置と前回位置との差から算出される)、トルクといったサーボモータ4の動作に係る実測値を取得する。そして、サーボモータドライバ3は、CPUユニット13からの指令値を目標値に設定し、実測値をフィードバック値として、フィードバック制御を行なう。すなわち、サーボモータドライバ3は、実測値が目標値に近づくようにサーボモータ4を駆動するための電流を調整する。なお、サーボモータドライバ3は、サーボモータアンプと称されることもある。
また、図1には、サーボモータ4とサーボモータドライバ3とを組み合わせたシステム例を示すが、その他の構成、たとえば、パルスモータとパルスモータドライバとを組み合わせたシステムを採用することもできる。
図1に示すPLCシステムSYSのフィールドネットワーク2には、さらに、リモートIOターミナル5が接続されている。リモートIOターミナル5は、基本的には、IOユニット14と同様に、一般的な入出力処理に関する処理を行なう。より具体的には、リモートIOターミナル5は、フィールドネットワーク2でのデータ伝送に係る処理を行なうための通信カプラ52と、1つ以上のIOユニット53とを含む。これらのユニットは、以下に説明するように、システムバス(内部バス)であるリモートIOターミナルバス51を介して、データを互いに遣り取りできるように構成される。
通信カプラ52は、主として、IOユニット53の動作(IOデータの更新タイミングなど)を制御するとともに、PLC1との間のデータ伝送を制御する。通信カプラ52は、PLC1のCPUユニット13とフィールドネットワーク2を介して接続されている。通信カプラ52の詳細については、後述する。
IOユニット53は、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当する。また、IOユニット53は、通信カプラ52とリモートIOターミナルバス51を介してデータ伝送する機能に加えて、一般的な入出力処理の機能を有する。典型的には、IOユニット53は、オン/オフといった2値化されたデータを入力/出力する。例えば、IOユニット53は、検出センサから、何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット53は、リレーやアクチュエータといった出力先に対して、アクティブ化(活性化)するための指令(オン)および非アクティブ化(非活性化)するための指令(オフ)のいずれかを与える。
なお、リモートIOターミナル5は、通信カプラ52および1つ以上のIOユニット53以外にも、通信カプラのスレーブ装置としての他の種別のユニット(特殊ユニット、モーションユニット、通信用のユニット)を備えていてもよい。ただし、以下では、説明の便宜上、リモートIOターミナル5が、通信カプラ52と1つ以上のIOユニット53とを含み、上記他の種別のユニットを含まないものとして説明する。
<B.処理の概要>
(b1.設定情報の引き継ぎ)
通信ユニットである通信カプラ52は、リモートIOターミナル5においてマスタ装置として機能し、予め定められた設定情報に基づいて動作するIOユニット53とリモートIOターミナルバス51によって通信可能に接続されている。通信カプラ52は、各IOユニット53用の設定情報を格納する。通信カプラ52は、通信カプラ52が各IOユニット53と通信可能な状態になると、格納された各設定情報を、対応するIOユニット53に送信する。「通信カプラ52が各IOユニット53と通信可能な状態になる」ときとしては、たとえば、通信カプラ52に対して給電が開始されたとき、あるいは、通信カプラ52をリセットするための指示が通信カプラ52に入力されたときが挙げられる。なお、以下では、通信カプラ52が各IOユニット53と通信可能な状態になった場合として、通信カプラ52に対して給電が開始されたときを例に挙げて説明する。
上記の構成によれば、各IOユニット53は、通信カプラ52に対して給電が開始されると、通信カプラ52から設定情報を受信することができる。つまり、通信カプラ52とシステムバスであるリモートIOターミナルバス51によって接続されたIOユニット53の設定情報を、マスタ装置の起動の都度、IOユニット53において設定可能となる。
さらに、通信カプラ52に給電がなされていない場合においては、各IOユニット53は、設定情報を記憶しておく必要がない。つまり、各IOユニット53は、常に、自ユニットの設定情報を記憶しておく必要がなくなる。
より具体的には、通信カプラ52は、システムプログラムをさらに格納しており、当該システムプログラムを実行することにより、各設定情報を対応するIOユニット53に送信する。なお、各設定情報は、各IOユニット53の設定値を記述したものである。
(b2.設定情報の引き継ぎを許可するための条件)
通信カプラ52は、IOユニット53毎の各設定情報を含む、複数のIOユニット53からなるシステムの構成を表したユニット構成情報D60(図6参照)を少なくとも格納する。より正確には、通信カプラ52は、IOユニット53毎の各設定情報を含む、通信カプラ52と複数のIOユニット53とからなるシステムの構成を表したシステム構成情報(図示せず)を少なくとも格納する。
通信カプラ52は、格納された各設定情報を、対応するIOユニット53に送信する機能を有する。通信カプラ52は、通信カプラ52に対して給電が開始されると、各IOユニット53の識別情報を各IOユニット53装置から取得する。また、通信カプラ52は、リモートIOターミナルバス51における各IOユニット53の接続順序を検出する。さらに、通信カプラ52は、各識別情報と接続順序とに基づいて、システムの構成が構成情報に基づいた構成となっているかを判断する。通信カプラ52は、システム構成が構成情報に基づいた構成となっていると判断すると、各IOユニット53に対して当該IOユニット53の設定情報を送信し、各IOユニット53に予め定められた処理を開始させる。当該予め定められた処理は、たとえば、IOユニット53に通信接続された外部装置との間の入出力処理である。なお、識別情報の詳細については、後述する(図6の識別情報D61)。
上記の構成によれば、PLCシステムSYSのユーザによって、IOユニット53の接続順序が変更されたり、あるいはIOユニット53が識別情報(詳しくは、製品コード(商品型式)およびシリアル番号)が異なるIOユニットに置換されたりすると、通信カプラ52は、設定情報を各IOユニット53に送信しない。つまり、リモートIOターミナル5におけるIOユニット53が予め定められたシステム構成とは異なる構成となった場合には、各IOユニット53は設定情報を取得できない。なお、シリアル番号は、製品コードが共通の複数のIOユニット53の各々に固有の番号である。このため、通信カプラ52は、シリアル番号を利用しなくても、同じ型式のIOユニット53への置換か否かは判断できる。ただし、通信カプラ52は、以前と同じIOユニット53が設置されたか否かについては判断できない。このようなことから、通信カプラ52は、製品コードのみを利用して予め定められたシステム構成となっているか否かを判断すればよい場合もあるし、製品コードとシリアル番号とを利用して予め定められたシステム構成となっているか否かを判断する場合もある。シリアル番号を利用するか否かは、用途に応じて適宜選択される。
このように、通信カプラ52とシステムバスであるリモートIOターミナルバス51によって接続されたIOユニット53の設定情報を、複数のIOユニット53からなるシステムの構成が予め定められた構成となっていることを条件に、各IOユニット53において設定可能となる。
したがって、各IOユニット53は、上記システムの構成が予め定められた構成となっていない場合には、予め定められた処理を実行することはない。それゆえ、上記の構成によれば、リモートIOターミナル5において、ユーザにとって予期せぬ動作が発生することを防止することができる。
以下では、以上のような処理を実現するためのPLCシステムSYSの具体的構成について説明する。さらに、以下では、上記の処理以外の処理についても適宜説明する。
<C.リモートIOターミナル5のハードウェア構成>
次に、本実施の形態に係るPLCシステムSYSの一部を構成する制御装置であるリモートIOターミナル5のハードウェア構成について説明する。
図2は、本発明の実施の形態に係るリモートIOターミナル5の接続構成を示す模式図である。図3は、本発明の実施の形態に係るリモートIOターミナル5を構成する通信カプラ52のハードウェア構成を示す模式図である。図4は、本発明の実施の形態に係るリモートIOターミナル5のIOユニット53のハードウェア構成を示す模式図である。
(c1.接続構成)
図2を参照して、リモートIOターミナル5では、通信カプラ52および1つ以上のIOユニット53−1,53−2,53−3(以下「IOユニット53」と総称する場合もある。)が通信ラインであるリモートIOターミナルバス51(ダウンリンク511およびアップリンク512)を介して互いにデータ伝送可能になっている。すなわち、リモートIOターミナル5は、通信ラインを介して接続される複数のユニット(通信カプラ52およびIOユニット53)を含む。
一例として、ダウンリンク511およびアップリンク512では、シリアル通信が採用されており、対象のデータは、時系列に一列に並べられた形で伝送する。より具体的には、ダウンリンク511では、マスター制御部として機能する通信カプラ52からスレーブ制御部として機能するIOユニット53へ向けて、ダウンリンク511を介して一方向にデータが送信される。一方、アップリンク512では、いずれかのIOユニット53から通信カプラ52へ向けて、アップリンク512を介して一方向にデータが送信される。
本実施の形態においては、データは、ヘッダ情報を含むフレームとして送信される。各フレームは、1または複数のブロックから構成される。ヘッダ情報は、当該フレーム内のデータの優先度を示す情報を含む。また、ヘッダ情報は、当該フレームの長さに関する情報を含む。フレームの構造などの詳細については後述する。
IOユニット53の各々は、ダウンリンク511またはアップリンク512を伝送するフレームを受信すると、そのフレームからデータを復号して必要な処理を実行する。そして、IOユニット53の各々は、フレームを再生成した上で、次段のIOユニット53へ再送信(フォワード)する。
データを含むフレームのこのような順次転送を実現するために、各IOユニット53は、ダウンリンク511に関して、受信部(以下「RX」とも記す。)210aおよび送信部(以下「TX」とも記す。)210bを含むとともに、アップリンク512に関して、受信部220aおよび送信部220bを含む。受信部210aおよび220aは、通信ラインであるリモートIOターミナルバス51を介して他のユニットからフレームとして送信されるデータを受信する。送信部210bおよび220bは、通信ラインであるリモートIOターミナルバス51を介して他のユニットへフレームとしてデータを送信する。
各IOユニット53は、制御部であるプロセッサ200を含み、プロセッサ200がこれらのデータの処理を制御する。
通信カプラ52は、プロセッサ100と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。すなわち、通信カプラ52は、リモートIOターミナルバス51(ダウンリンク511およびアップリンク512)と接続されるだけではなく、受信部112および送信部114を介して、上位通信ネットワークであるフィールドネットワーク2とも接続される。フィールドバス制御部110は、フィールドネットワーク2を介したデータ伝送を管理し、内部バス制御部130は、リモートIOターミナルバス51を介したデータ伝送を管理する。
(c2.通信カプラ52の構成)
図3を参照して、リモートIOターミナル5の通信カプラ52は、プロセッサ100と、不揮発性メモリ101と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。
受信部112は、PLC1からフィールドネットワーク2を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部110へ出力する。送信部114は、フィールドバス制御部110から出力されるデータから上位通信フレームを再生成してフィールドネットワーク2を介して再送信(フォワード)する。
フィールドバス制御部110は、受信部112および送信部114と協働して、フィールドネットワーク2を介して予め定められた制御周期毎に他の装置(PLC1および他のリモートIOターミナル5)との間でデータを送受信する。より具体的には、フィールドバス制御部110は、上位通信コントローラ120と、メモリコントローラ122と、FIFO(First In First Out)メモリ124と、受信バッファ126と、送信バッファ128とを含む。
上位通信コントローラ120は、PLC1からフィールドネットワーク2を介して送信されるコマンドなどを解釈して、フィールドネットワーク2を介した通信を実現するために必要な処理を実行する。また、上位通信コントローラ120は、FIFOメモリ124に順次格納される上位通信フレームからのデータコピー、および上位通信フレームに対するデータ書込みの処理を行う。
メモリコントローラ122は、DMA(Dynamic Memory Access)などの機能を実現する制御回路であり、FIFOメモリ124、受信バッファ126および送信バッファ128などへのデータの書込み/読出しを制御する。
FIFOメモリ124は、フィールドネットワーク2を介して受信された上位通信フレームを一時的に格納するとともに、その格納された順序に従って上位通信フレームを順次出力する。受信バッファ126は、FIFOメモリ124に順次格納される上位通信フレームに含まれるデータのうち、自装置に接続されているIOユニット53の出力部から出力すべき状態値を示すデータを抽出して一時的に格納する。送信バッファ128は、IOユニット53の入力部で検出された状態値を示すプロセスデータであって、FIFOメモリ124に順次格納される上位通信フレームの所定領域に書込むべきデータを一時的に格納する。
プロセッサ100は、フィールドバス制御部110および内部バス制御部130に対して指示を与えるとともに、フィールドバス制御部110と内部バス制御部130との間のデータ転送などを制御する。
不揮発性メモリ101は、各IOユニット53用の設定情報を格納する。詳しくは、不揮発性メモリ101は、ユニット構成情報D60を含むシステム構成情報を格納する。
内部バス制御部130は、リモートIOターミナルバス51(ダウンリンク511およびアップリンク512)を介してIOユニット53との間でフレーム(データ)を送受信する。
より具体的には、内部バス制御部130は、内部バス通信コントローラ132と、送信回路142と、受信回路144と、記憶装置160とを含む。
内部バス通信コントローラ132は、リモートIOターミナルバス51を介したデータ伝送を主体的に(マスターとして)管理する。
送信回路142は、内部バス通信コントローラ132からの指示に従って、リモートIOターミナルバス51のダウンリンク上を流れるフレームを生成して送信する。受信回路144は、リモートIOターミナルバス51のアップリンク上を流れるフレームを受信して、内部バス通信コントローラ132へ出力する。
記憶装置160は、リモートIOターミナルバス51を伝送するフレーム(データ)を格納するバッファメモリに相当する。より具体的には、記憶装置160は、共有メモリ162と、受信バッファ164と、送信バッファ166とを含む。共有メモリ162は、フィールドバス制御部110と内部バス制御部130との間で遣り取りされるデータを一時的に格納する。受信バッファ164は、リモートIOターミナルバス51を介してIOユニット53から受信したデータを一時的に格納する。送信バッファ166は、フィールドバス制御部110で受信された上位通信フレームに含まれるデータを一時的に格納する。
(c3.IOユニット53の構成)
図4を参照して、リモートIOターミナル5のIOユニット53の各々は、逆シリアル変換器(de-serializer:以下「DES部」とも称す。)212,222と、シリアル変換器(SER:serializer:以下「SER部」とも称す。)216,226と、フォワードコントローラ214,224とを含む。さらに、IOユニット53の各々は、バス250を介して互いに接続された、受信処理部230と、送信処理部240と、プロセッサ200と、共有メモリ202と、IOモジュール206と、メモリ208とを含む。メモリ208は、一例として、揮発性メモリと不揮発性メモリとを有する。
DES部212、フォワードコントローラ214およびSER部216は、図2に示すダウンリンク511についての受信部210aおよび送信部210bに対応する。すなわち、これらの部分は、ダウンリンク511を流れるフレームの送受信に係る処理を実行する。同様に、DES部222、フォワードコントローラ224およびSER部226は、図2に示すアップリンク512についての受信部220aおよび送信部220bに対応する。すなわち、これらの部分は、アップリンク512を流れるフレームの送受信に係る処理を実行する。
受信処理部230は、復号部232と、CRCチェック部234とを含む。復号部232は、受信されたフレームを所定のアルゴリズムに従ってデータへ復号する。CRCチェック部234は、フレームの最後に付加されるフレームチェックシーケンス(Frame Check Sequence:FCS)などに基づいて誤りチェック(例えば、CRC(Cyclic Redundancy Check)符号)を行う。
送信処理部240は、フォワードコントローラ214および224に接続され、プロセッサ200などからの指示に従って、次段のIOユニット53へ再送信(フォワード)するフレームの生成およびタイミング制御などを行う。また、送信処理部240は、プロセッサ200などと協働して、次段のIOユニット53へ送信すべきデータを生成する。すなわち、送信処理部240は、データ生成部の少なくとも一部を構成する。より具体的には、送信処理部240は、CRC生成部242と、符号化部244とを含む。CRC生成部242は、プロセッサ200などからのデータに対して誤り制御符号(CRC)を算出して、当該データを格納するフレームに付加する。符号化部244は、CRC生成部242からのデータを符号化し、対応するフォワードコントローラ214または224へ出力する。
プロセッサ200は、IOユニット53を主体的に制御する演算主体である。より具体的には、プロセッサ200は、予め格納されたプログラムなどを実行することによって、受信処理部230を介して受信されたフレームを共有メモリ202に格納し、あるいは共有メモリ202から所定のデータを読み出して送信処理部240へ出力し、フレームを生成させる。
共有メモリ202は、受信処理部230を介して受信されたフレームを一時的に格納するための受信バッファ203と、送信処理部240へ介して送信するためのフレームを一時的に格納するための送信バッファ204とを含む。また、共有メモリ202は、各種データを格納するための領域を含む。
IOモジュール206は、外部のスイッチやセンサからの入力信号を受信し、その値を共有メモリ202に書込むとともに、共有メモリ202の対応する領域に書込まれた値に従って、その信号を外部のリレーやアクチュエータへ出力する。すなわち、IOモジュール206は、外部入力される信号の状態値(INデータ)を収集する入力部、および、指定された状態値(OUTデータ)の信号を出力する出力部の少なくとも一方を含む。
メモリ208は、各種データを格納する。たとえば、メモリ208における揮発性メモリは、設定情報を保持する。なお、メモリ208における不揮発性メモリが設定情報を保持するように、IOユニット53を構成してもよい。当該設定情報は、上述したように、通信カプラ52に給電が開始されると、通信カプラ52から送信されてくる情報である。つまり、設定情報は、通信カプラ52に給電がなされる度に、メモリ208に新たに格納される情報である。
<D.PLCサポート装置>
図5は、本発明の実施の形態に係るCPUユニット13に接続して用いられるPLCサポート装置8のハードウェア構成を示す模式図である。図5を参照して、PLCサポート装置8は、典型的には、汎用のコンピュータで構成される。なお、メンテナンス性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
図5を参照して、PLCサポート装置8は、OSを含む各種プログラムを実行するCPU81と、BIOSや各種データを格納するROM(Read Only Memory)82と、CPU81でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM83と、CPU81で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)84とを含む。
PLCサポート装置8は、さらに、ユーザからの操作を受け付けるキーボード85およびマウス86と、情報をユーザに提示するためのディスプレイ87とを含む。さらに、PLCサポート装置8は、PLC1(CPUユニット13)などと通信するための通信インターフェイス(IF)を含む。
後述するように、PLCサポート装置8で実行される各種プログラムは、CD−ROM9に格納されて流通する。このCD−ROM9に格納されたプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ88によって読取られ、ハードディスク(HDD)84などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
本実施の形態では、PLCサポート装置8によって設定情報が生成される。具体的には、PLCシステムSYSのユーザが、PLCサポート装置8を用いて各設定情報を生成する。PLCサポート装置8は、生成された設定情報を通信カプラ52に送信する。なお、、通信カプラ52は、PLCサポート装置8との通信に利用する通信インターフェイスを備えている。
上記においては、各設定情報がPLCサポート装置8で生成される構成を例に挙げて説明したが、これに限定されるものではない。各設定情報がPLCサポート装置8以外の装置によって生成され、当該装置から各設定情報が通信カプラ52に送信される構成であってもよい。
<E.データ>
図6は、通信カプラ52に格納されるユニット構成情報D60の概要を表した図である。図6を参照して、ユニット構成情報D60は、識別情報D61と、設定情報D62とを含む。識別情報D61は、製品コードと、シリアル番号と、ユニットバージョンとの情報を含む。設定情報D62は、ユニット番号と、ユニット無効化設定の情報とを含む。
シリアル番号は、製品(IOユニット53)固有の番号である。シリアル番号は、通信カプラ52においてシリアル番号照合機能が有効となっている場合に利用される。なお、PLCサポート装置8がサポートソフトウェアの実行により得られる実構成を通信カプラ52にアップロードすることにより、通信カプラ52は各IOユニット53のシリアル番号を取得できる。
なお、サポートソフトウェアは、エディタプログラムと、コンパイラプログラムと、デバッガプログラムと、シミュレーション用シーケンス命令演算プログラムと、シミュレーション用モーション演算プログラムと、通信プログラムとを含む。サポートソフトウェアに含まれるそれぞれのプログラムは、典型的には、CD−ROM等の記録媒体に格納された状態で流通して、PLCサポート装置8にインストールされる。ユーザは、サポートプログラムを持ちて、ユーザプログラムを生成する。PLCサポート装置8は、当該生成されたユーザプログラムを、通信プログラムを用いてCPUユニット13に送信する。
ユニットバージョンは、各IOユニット53におけるシステムプログラムのバージョンを表したバージョン情報である。ユニットバージョンは、メジャーバージョン、マイナーバージョン、リビジョン、またはリザーブのいずれかを表す。
ユニット番号は、通信カプラ52に接続される順番に昇順に採番される。無効化されたユニットにもユニット番号が付与される。ユニット無効化設定は、0または1により、IOユニットが無効化されているか否かを表す。
<F.機能的構成>
図7は、通信カプラ52の機能的構成およびIOユニット53の機能的構成を説明するためのブロック図である。
(f1.通信カプラ52の機能的構成)
図7を参照して、通信カプラ52は、記憶部521と、制御部522とを備える。制御部522は、取得部5221と、検出部5222と、判断部5223と、通信制御部5224とを含む。
(1)記憶部521は、通信カプラ52のスレーブ装置であるIOユニット53−1,53−2,…用の各設定情報D62−1,D62−2,…を格納している。当該各設定情報の取得の仕方については、後述する(図8)。制御部522は、通信カプラ52に対して給電が開始されると、格納された各設定情報を、対応するIOユニット53に送信する。より具体的には、通信カプラ52は、システムプログラムをさらに格納しており、当該システムプログラムを実行することにより、各設定情報を対応するIOユニット53に送信する。
(2)詳しくは、記憶部521は、IOユニット53毎の各設定情報を含む、複数のIOユニット53からなるシステムの構成を表したユニット構成情報D60(図6参照)を少なくとも格納する。より正確には、記憶部521は、IOユニット53毎の各設定情報を含む、通信カプラ52と複数のIOユニット53とからなるシステムの構成を表したシステム構成情報を少なくとも格納する。なお、上述したように、システム構成情報は、ユニット構成情報D60を含んで構成される。
制御部522は、記憶部521に格納された各設定情報を、対応するIOユニット53に送信する機能を有する。
取得部5221は、通信カプラ52に対して給電が開始されると、各IOユニット53の識別情報を各IOユニット53装置から取得する。検出部5222は、リモートIOターミナルバス51における各IOユニット53の接続順序を検出する。判断部5223は、各識別情報と接続順序とに基づいて、システムの構成がユニット構成情報D60に基づいた構成となっているかを判断する。通信制御部5224は、システム構成が構成情報に基づいた構成となっていると判断すると、各IOユニット53に対して当該IOユニット53の設定情報を送信し、各IOユニット53に予め定められた処理を開始させる。
(3)さらに詳しくは、記憶部521は、各IOユニット53におけるシステムプログラムのバージョンを表したバージョン情報(ユニットバージョン(図6参照))をさらに格納している。取得部5221は、通信カプラ52への給電が開始されると、各IOユニット53から当該IOユニット53におけるシステムプログラムのバージョン情報を取得する。判断部5223は、取得したバージョン情報に示されたバージョンが、格納されたバージョン情報に示されたバージョンよりも低くないかを、IOユニット53毎に判断する。通信制御部5224は、複数のIOユニット53の各々について、上記取得したバージョン情報に示されたバージョンが格納されたバージョン情報に示されたバージョンよりも低くないと判断すると、各設定情報を各IOユニット53に送信し、各IOユニット53に入出力処理を開始させる。
上記の構成によれば、IOユニット53の接続順序が変更されていなくても、あるいはIOユニット53が識別情報が異なるIOユニットに置換されていなくても、IOユニット53のシステムプログラムのバージョンがユーザの操作等によってダウンしているときには、各IOユニット53は設定情報を取得できない。したがって、各IOユニット53は、予め定められた処理を実行することはない。それゆえ、上記の構成によれば、リモートIOターミナル5のハードウェア構成の変更がない場合であっても、ユーザにとって予期せぬ動作が発生することを防止することができる。
(4)通信カプラ52が記憶部521に設定情報を記憶させる過程について述べれば、以下のとおりである。
通信カプラ52の制御部522は、以下の処理を行なう。取得部5221は、各IOユニット53の識別情報D61を各IOユニット53から取得する。検出部5222は、リモートIOターミナルバス51における各IOユニット53の接続順序を検出する。制御部522は、IOユニット53毎の識別情報D61と上記接続順序を表す順序情報とを、設定情報を作成する機能を有するPLCサポート装置8に送信した後に、IOユニット53毎の設定情報をPLCサポート装置8から取得する。制御部522は、取得した各設定情報を記憶部521に記憶させる。
上記の構成によれば、PLCサポート装置8は、リモートIOターミナルバス51における実際のユニット構成(接続順序、接続されているIOユニット53等)を知ることができる。それゆえ、PLCサポート装置8は、PLCサポート装置において予め指定されたリモートIOターミナルバス51におけるユニット構成(ソフトウェア上の構成)と、実際のユニット構成(実ユニット構成)とが一致しているかを判断することができる。
また、ソフトウェア上の構成と実ユニット構成とが一致していることを条件に、PLCサポート装置8が設定情報を通信カプラ52に送信する構成とすることもできる。つまり、送信された識別情報D61と順序情報とを用いて複数のIOユニット53からなるシステムの構成が予め指定された構成であると判断したことを条件に、制御部522は、PLCサポート装置8から各設定情報を取得するように、PLCサポート装置8を構成できる。
(f2.IOユニット53の機能的構成)
各IOユニット53−1,53−2,…は、記憶部531と、通信制御部532とを含む。
通信制御部532は、通信カプラ52からの指示に基づき、識別情報を通信カプラ52に送信する。また、記憶部531には、通信カプラ52に給電が開始されたことに基づき通信カプラ52から送信されてくる設定情報が格納される。たとえば、IOユニット53−1の記憶部531には、設定情報D62−1が格納され、IOユニット53−2の記憶部531には、設定情報D62−2が格納される。
<G.制御構造>
図8は、PLCシステムSYSにおける処理を説明するための1つ目のシーケンスチャートである。具体的には、図8は、通信カプラ52が設定情報を記憶部521(つまり、、不揮発性メモリ101(図3)に格納するまでの処理を説明するためのシーケンスチャートである。
図8を参照して、シーケンスSQ2において、PLCサポート装置8は、ユーザの操作に基づいて、予め定められた設定指示を通信カプラ52に送信する。シーケンスSQ4において、通信カプラ52は、識別情報要求をIOユニット53−1に送信する。シーケンスSQ6において、識別情報要求をIOユニット53−2に送信する。通信カプラ52は、他のIOユニットに対しても識別情報要求を送信する。
シーケンスSQ8において、IOユニット53−1は、IOユニット53−1に記憶されている自ユニットの識別情報を通信カプラ52に送信する。シーケンスSQ10において、IOユニット53−2は、IOユニット53−2に記憶されている自ユニットの識別情報を通信カプラ52に送信する。他のIOユニット53−3,…についても、同様の処理を行なう。シーケンスSQ12において、通信カプラ52は、複数のIOユニット53の接続順序を検出する。シーケンスSQ14において、通信カプラ52は、検出した接続順序を表す順序情報と、各IOユニット53から取得した識別情報とを、PLCサポート装置8に送信する。
シーケンスSQ16において、PLCサポート装置8は、比較処理を行なう。具体的には、PLCサポート装置8は、送信された各識別情報と順序情報とを用いて複数のIOユニット53からなるシステムの構成が予め指定された構成であるか否かを判断する。予め定められら構成であると判断された場合、シーケンスSQ18において、PLCサポート装置8は、PLCサポート装置で作成された各IOユニット53の設定情報D62を、通信カプラ52に送信する。シーケンスSQ20において、通信カプラ52は、受信した設定情報を不揮発性メモリ101(記憶部521)に格納する。
図9は、PLCシステムSYSにおける処理を説明するための2つ目のシーケンスチャートである。具体的には、図9は、設定情報を格納した通信カプラ52が、各IOユニット53に設定情報を送信するときの処理を説明するためのシーケンスチャートである。
図9を参照して、シーケンスSQ102において、通信カプラ52に給電が開始される。シーケンスSQ104において、通信カプラ52は、識別情報要求をIOユニット53−1に送信する。シーケンスSQ106において、識別情報要求をIOユニット53−2に送信する。通信カプラ52は、他のIOユニットに対しても識別情報要求を送信する。
シーケンスSQ108において、IOユニット53−1は、IOユニット53−1に記憶されている自ユニットの識別情報を通信カプラ52に送信する。シーケンスSQ110において、IOユニット53−2は、IOユニット53−2に記憶されている自ユニットの識別情報を通信カプラ52に送信する。他のIOユニット53−3,…についても、同様の処理を行なう。
シーケンスSQ112において、通信カプラ52は、複数のIOユニット53の接続順序を検出する。シーケンスSQ114において、通信カプラ52は、システム構成の適否を判断する。具体的には、通信カプラ52は、各識別情報と接続順序とに基づいて、システムの構成がユニット構成情報D60に基づいた構成となっているかを判断する。
システム構成が適切であると判断された場合、シーケンスSQ116において、通信カプラ52は、通信カプラ52の不揮発性メモリ101から各設定情報を読み出す。シーケンスSQ118において、通信カプラ52は、読み出したIOユニット53−1用の設定情報を、IOユニット53−1に送信する。シーケンスSQ120において、IOユニット53−1は、受信した設定情報を揮発性メモリに格納する。シーケンスSQ122において、通信カプラ52は、読み出したIOユニット53−2用の設定情報を、IOユニット53−2に送信する。シーケンスSQ124において、IOユニット53−2は、受信した設定情報を揮発性メモリに格納する。他のIOユニット53−3,…においても、同様の処理が繰り返される。
図10は、通信カプラ52における処理の流れを表したフローチャートである。具体的には、図10は、設定情報を格納した通信カプラ52が、各IOユニット53に設定情報を送信するときの処理の流れを説明するためのフローチャートである。図10のフローチャートは、図9のシーケンスチャートにおける通信カプラ52の処理に対応する。
図10を参照して、ステップS2において、通信カプラ52への給電が開始される。ステップS4において、通信カプラ52のプロセッサ100は、各IOユニット53に対して、識別情報要求を送信する。ステップS6において、プロセッサ100は、各IOユニット53から識別情報を受信する。ステップS8において、プロセッサ100は、接続順序の検出を行なう。
ステップS10において、プロセッサ100は、システム構成が適切か否かを判断する。具体的には、プロセッサ100は、IOユニット53の接続順序が、予め設定された接続順序と同じであるか否かを判断する。また、プロセッサ100は、シリアル番号照合機能が有効化されている場合には、シリアル番号が一致しているか否かをIOユニット53毎に判断する。また、プロセッサ100は、上述したバージョン情報(ユニットバージョン(図6参照))の照合も行なう。詳しくは、プロセッサ100は、IOユニット53から取得したバージョン情報に示されたバージョンが、予め格納されたバージョン情報に示されたバージョンよりも低くないかを、IOユニット53毎に判断する。
プロセッサ100は、ステップS10において肯定的な判断がなされた場合(YESの場合)、ステップS12において、不揮発性メモリ101から設定情報D62をIOユニット53毎に読み出す。ステップS14において、プロセッサ100は、各設定情報D62−1,62−2,…を、対応するIOユニット53に送信し、各IOユニット53に予め定められた処理を実行させる。プロセッサ100は、ステップS10において否定的な判断がなされた場合(NOの場合)、設定情報を送信することなく、一連の処理を終了する。
<H.PLCサポート装置8におけるUI>
図11は、PLCサポート装置8のディスプレイ87における画面を表した図である。具体的には、図11は、通信カプラ52が設定情報をPLCサポート装置8から取得する前に行なわれる比較処理を説明するための図である。
図11を参照して、PLCサポート装置8は、ユーザがサポートソフトウェアを用いて設定したリモートIOターミナル5におけるユニット構成(ソフトウェア上の構成)と、実際のリモートIOターミナル5の構成(実ユニット構成)とを表示する。また、PLCサポート装置8は、ソフトウェア上の構成と実ユニット構成とを比較した結果も表示する。
なお、ソフトウェア上の構成とは、詳しくは、ユーザがPLCサポート装置8内でサポートソフトウェアを用いて生成したリモートIOターミナル5についての仮想的構成である。それに対し、実ユニット構成とは、装置として現に存在しているリモートIOターミナル5の構成である。つまり、実ユニット構成とは、ユーザがIOユニット53をスロットに設置すること等により構成された実機そのものの構成である。通常、ユーザは、サポートソフトウェアを用いて、実ユニット構成に則したユーザプログラムを作成する。
図11に示す場合には、ソフトウェア上の構成と、実ユニット構成とが一致していない。この場合には、PLCサポート装置8は、IOユニット53毎の各設定情報D62を通信カプラ52には送信しない。したがって、この場合には、通信カプラ52は、ソフトウェア上の構成として示されたIOユニット53の設定情報を、PLCサポート装置8からは取得できない。
一方、ソフトウェア上の構成と実ユニット構成とが一致している場合には、PLCサポート装置8は、IOユニット53毎の各設定情報D62を通信カプラ52には送信する。したがって、この場合には、通信カプラ52は、ソフトウェア上の構成(つまり、実ユニット構成)として示されたIOユニット53の設定情報を、PLCサポート装置8から取得できる。
<I.変形例>
上記においては、リモートIOターミナル5における設定情報の引き継ぎについて説明した。つまり、通信カプラ52に給電が開始される度に、通信カプラ52に格納された各設定情報が、対応するIOユニット53に送信される構成を説明した。しかしながら、上述した設定情報の引き継ぎ処理等は、リモートIOターミナル5だけではなく、PLC1においても適用できる。それゆえ、以下では、PLC1のハードウェア構成等について説明する。
図12は、本発明の実施の形態に係るPLC1の接続構成を示す模式図である。図13は、本発明の実施の形態に係るPLC1を構成するCPUユニット13のハードウェア構成を示す模式図である。
図12を参照して、PLC1においても、上述のリモートIOターミナル5(図2参照)と同様に、CPUユニット13および1つ以上のIOユニット14−1,14−2,14−3(以下「IOユニット14」と総称する場合もある。)が通信ラインであるリモートIOターミナルバス51(ダウンリンク611およびアップリンク612)を介して互いにデータ伝送可能になっている。すなわち、PLC1は、通信ラインを介して接続される複数のユニット(CPUユニット13およびIOユニット14)を含む。
IOユニット14の各々は、ダウンリンク611またはアップリンク612を伝送するフレームを受信すると、そのフレームからデータを復号して必要な処理を実行する。そして、IOユニット14の各々は、フレームを再生成した上で、次段のIOユニット14へ再送信(フォワード)する。各IOユニット14は、ダウンリンク611に関して、受信部(RX)210aおよび送信部(TX)210bを含むとともに、アップリンク612に関して、受信部220aおよび送信部220bを含む。
CPUユニット13は、プロセッサ150と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。
図13を参照して、PLC1のCPUユニット13は、プロセッサ150と、主メモリ152と、不揮発性メモリ154と、フィールドバス制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。CPUユニット13のデータ伝送に係る基本的な構成は、上述の通信カプラ52(図2)と同様であるので、対応する部分(同一の参照符号を付している)についての説明は繰り返さない。
CPUユニット13のプロセッサ150は、対象の制御に係るユーザプログラムを実行する。より具体的には、CPUユニット13は、不揮発性メモリ154などからユーザプログラム156を読み出すとともに、主メモリ152に展開して実行する。このユーザプログラムの実行によって、IOユニット14の入力部によって検出された状態値に基づいて、IOユニット14の出力部から出力すべき状態値が順次算出される。
PLC1のIOユニット14の構成については、上述したリモートIOターミナル5のIOユニット53の構成(図4参照)と同様であるので、詳細な説明は繰り返さない。
このような構成のPLC1では、リモートIOターミナル5の場合と同様に、以下の処理等が行なわれる。
(i1.設定情報の引き継ぎ)
CPUユニット13は、PLC1においてマスタ装置として機能し、予め定められた設定情報に基づいて動作するIOユニット14とリモートIOターミナルバス51によって通信可能に接続されている。CPUユニット13は、各IOユニット14用の設定情報を格納する。CPUユニット13は、CPUユニット13に対して給電が開始されると、格納された各設定情報を、対応するIOユニット14に送信する。より具体的には、CPUユニット13は、システムプログラムをさらに格納しており、当該システムプログラムを実行することにより、設定情報をIOユニット14に送信する。
(i2.設定情報の引き継ぎの条件)
CPUユニット13は、IOユニット14毎の各設定情報を含む、複数のIOユニット14からなるシステムの構成を表したユニット構成情報を少なくとも格納する。より正確には、CPUユニット13は、IOユニット14毎の各設定情報を含む、CPUユニット13と複数のIOユニット14とからなるシステムの構成を表したシステム構成情報を少なくとも格納する。
CPUユニット13は、格納された各設定情報を、対応するIOユニット14に送信する機能を有する。CPUユニット13は、CPUユニット13に対して給電が開始されると、各IOユニット14の識別情報を各IOユニット14装置から取得する。また、CPUユニット13は、リモートIOターミナルバス51における各IOユニット14の接続順序を検出する。さらに、CPUユニット13は、各識別情報と接続順序とに基づいて、システムの構成が構成情報に基づいた構成となっているかを判断する。CPUユニット13は、システム構成が構成情報に基づいた構成となっていると判断すると、各IOユニット14に対して当該IOユニット14の設定情報を送信し、各IOユニット14に予め定められた処理を開始させる。
このように、リモートIOターミナル5で実行された設定情報の引き継ぎ処理等は、PLC1においても適用できるため、PLC1においても、リモートIOターミナル5で得られたのと同様を効果を得ることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 PLC、2 フィールドネットワーク、3 サーボモータドライバ、4 サーボモータ、5 リモートIOターミナル、6 検出スイッチ、7 リレー、8 PLCサポート装置、10 接続ケーブル、11 PLCシステムバス、12 電源ユニット、13 CPUユニット、14,53 IOユニット、15 特殊ユニット、51 リモートIOターミナルバス、52 通信カプラ、511,611 ダウンリンク、512,612 アップリンク、521,531 記憶部、522 制御部、532,5224 通信制御部、5221 取得部、5222 検出部、5223 判断部、SYS PLCシステム。

Claims (5)

  1. プログラマブル・ロジック・コントローラの演算ユニットとフィールドネットワークを介して接続されるとともに、マスタ装置として機能し、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とシステムバスによって通信可能に接続される通信カプラであって、
    前記スレーブ装置毎の各前記設定情報と、各前記スレーブ装置におけるシステムプログラムのバージョンを表したバージョン情報とを別個に含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報を格納するための記憶手段と、
    前記記憶手段に格納された設定情報を前記スレーブ装置に送信する制御手段とを備え、
    前記制御手段は、前記通信カプラが前記複数のスレーブ装置と通信可能な状態になると、
    各前記スレーブ装置の識別情報と、各前記スレーブ装置におけるシステムプログラムのバージョン情報とを、各前記スレーブ装置から取得し、
    前記システムバスにおける各前記スレーブ装置の接続順序を検出し、
    各前記識別情報と前記接続順序とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断し、
    前記取得したバージョン情報に示されたバージョンが、前記格納されたバージョン情報に示されたバージョンよりも低くないかを、前記スレーブ装置毎に判断し、
    前記システム構成が前記構成情報に基づいた構成となっていると判断し、かつ、前記複数のスレーブ装置の各々について、前記取得したバージョン情報に示されたバージョンが前記格納されたバージョン情報に示されたバージョンよりも低くないと判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、前記スレーブ装置に通信接続された外部装置との間の入出力処理を各前記スレーブ装置に開始させる、通信カプラ
  2. 前記制御手段は、
    前記スレーブ装置毎の前記識別情報と前記接続順序とを、前記設定情報を作成する機能を有する支援装置に送信した後に、前記スレーブ装置毎の前記設定情報を前記支援装置から取得し、
    前記取得した各前記設定情報を前記記憶手段に記憶させる、請求項に記載の通信カプラ
  3. マスタ装置として機能する通信カプラと、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とを備えた通信システムであって、
    前記通信カプラと各前記スレーブ装置とは、システムバスを介して互いに通信可能に接続されており、
    前記通信カプラは、
    プログラマブル・ロジック・コントローラの演算ユニットとフィールドネットワークを介して接続されており、
    前記スレーブ装置毎の各前記設定情報と、各前記スレーブ装置におけるシステムプログラムのバージョンを表したバージョン情報とを別個に含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報を格納しており、
    前記複数のスレーブ装置と通信可能な状態になると、
    各前記スレーブ装置の識別情報と、各前記スレーブ装置におけるシステムプログラムのバージョン情報と各前記スレーブ装置から取得し、
    前記システムバスにおける各前記スレーブ装置の接続順序を検出し、
    各前記識別情報と前記接続順序とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断し、
    前記取得したバージョン情報に示されたバージョンが、前記格納されたバージョン情報に示されたバージョンよりも低くないかを、前記スレーブ装置毎に判断し、
    前記システム構成が前記構成情報に基づいた構成となっていると判断し、かつ、前記複数のスレーブ装置の各々について、前記取得したバージョン情報に示されたバージョンが前記格納されたバージョン情報に示されたバージョンよりも低くないと判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、前記スレーブ装置に通信接続された外部装置との間の入出力処理を各前記スレーブ装置に開始させる、通信システム。
  4. プログラマブル・ロジック・コントローラの演算ユニットとフィールドネットワークを介して接続されるとともに、マスタ装置として機能し、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とシステムバスによって通信可能に接続される通信カプラにおける制御方法であって、
    前記スレーブ装置毎の各前記設定情報と、各前記スレーブ装置におけるシステムプログラムのバージョンを表したバージョン情報とを別個に含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報をメモリに格納するステップを備え
    前記通信カプラが前記複数のスレーブ装置と通信可能な状態になると、さらに、
    各前記スレーブ装置の識別情報と、各前記スレーブ装置におけるシステムプログラムのバージョン情報と各前記スレーブ装置から取得するステップと、
    前記システムバスにおける各前記スレーブ装置の接続順序を検出するステップと、
    各前記識別情報および前記接続順序と、前記構成情報とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断するステップと、
    前記取得したバージョン情報に示されたバージョンが、前記格納されたバージョン情報に示されたバージョンよりも低くないかを、前記スレーブ装置毎に判断するステップと、
    前記システム構成が前記構成情報に基づいた構成となっていると判断し、かつ、前記複数のスレーブ装置の各々について、前記取得したバージョン情報に示されたバージョンが前記格納されたバージョン情報に示されたバージョンよりも低くないと判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、前記スレーブ装置に通信接続された外部装置との間の入出力処理を各前記スレーブ装置に開始させるステップとを備える、制御方法。
  5. プログラマブル・ロジック・コントローラの演算ユニットとフィールドネットワークを介して接続されるとともに、マスタ装置として機能し、各々が予め定められた設定情報に基づいて動作する複数のスレーブ装置とシステムバスによって通信可能に接続される通信カプラを制御するプログラムであって、
    前記スレーブ装置毎の各前記設定情報と、各前記スレーブ装置におけるシステムプログラムのバージョンを表したバージョン情報とを別個に含む、前記複数のスレーブ装置からなるシステムの構成を表した構成情報をメモリに格納するステップを、前記通信カプラのプロセッサに実行させ
    前記通信カプラが前記複数のスレーブ装置と通信可能な状態になると、さらに、
    各前記スレーブ装置の識別情報と、各前記スレーブ装置におけるシステムプログラムのバージョン情報とを各前記スレーブ装置から取得するステップと、
    前記システムバスにおける各前記スレーブ装置の接続順序を検出するステップと、
    各前記識別情報および前記接続順序と、前記構成情報とに基づいて、前記システムの構成が前記構成情報に基づいた構成となっているかを判断するステップと、
    前記取得したバージョン情報に示されたバージョンが、前記格納されたバージョン情報に示されたバージョンよりも低くないかを、前記スレーブ装置毎に判断するステップと、
    前記システム構成が前記構成情報に基づいた構成となっていると判断し、かつ、前記複数のスレーブ装置の各々について、前記取得したバージョン情報に示されたバージョンが前記格納されたバージョン情報に示されたバージョンよりも低くないと判断すると、各前記スレーブ装置に対して当該スレーブ装置の設定情報を送信し、前記スレーブ装置に通信接続された外部装置との間の入出力処理を各前記スレーブ装置に開始させるステップとを、前記プロセッサに実行させる、プログラム。
JP2012273861A 2012-12-14 2012-12-14 通信カプラ、通信システム、制御方法、およびプログラム Active JP6163748B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012273861A JP6163748B2 (ja) 2012-12-14 2012-12-14 通信カプラ、通信システム、制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012273861A JP6163748B2 (ja) 2012-12-14 2012-12-14 通信カプラ、通信システム、制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014119907A JP2014119907A (ja) 2014-06-30
JP6163748B2 true JP6163748B2 (ja) 2017-07-19

Family

ID=51174704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012273861A Active JP6163748B2 (ja) 2012-12-14 2012-12-14 通信カプラ、通信システム、制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6163748B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014006946T5 (de) * 2014-10-10 2017-06-14 Mitsubishi Electric Corporation Speicherprogrammierbare Steuerung
JP6455286B2 (ja) 2015-03-31 2019-01-23 オムロン株式会社 通信装置およびリンク確立方法
JP6511921B2 (ja) 2015-03-31 2019-05-15 オムロン株式会社 マスタ装置、およびマスタ装置の設定方法
KR101857088B1 (ko) * 2015-08-11 2018-05-11 주식회사 오픈비지니스솔루션코리아 리턴 회로를 갖는 리모트 입출력 장치 및 그의 내부 버스 통신 방법
JP6725567B2 (ja) * 2018-03-13 2020-07-22 ファナック株式会社 数値制御装置
JP7070479B2 (ja) * 2019-03-14 2022-05-18 オムロン株式会社 制御システムおよび制御装置
JP2023134960A (ja) 2022-03-15 2023-09-28 オムロン株式会社 制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212216A (ja) * 1996-02-02 1997-08-15 Omron Corp Plcのリモートi/oシステム
JP4888718B2 (ja) * 2007-06-29 2012-02-29 オムロン株式会社 分散型制御システム
JP5348499B2 (ja) * 2009-03-12 2013-11-20 オムロン株式会社 I/oユニット並びに産業用コントローラ
JP4752983B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体

Also Published As

Publication number Publication date
JP2014119907A (ja) 2014-06-30

Similar Documents

Publication Publication Date Title
JP6163748B2 (ja) 通信カプラ、通信システム、制御方法、およびプログラム
JP6349805B2 (ja) 通信ユニット、コントローラ、制御システム、制御方法、およびプログラム
JP6136228B2 (ja) 通信カプラ、通信システム、制御方法、およびプログラム
JP6509477B2 (ja) 制御装置および制御プログラム
WO2015136959A1 (ja) 制御システム、方法、プログラムおよび情報処理装置
JP6540166B2 (ja) 制御装置
JP6094196B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP6488830B2 (ja) 制御装置
US10496279B2 (en) Slave device, control method of slave device, non-volatile computer readable recording medium
JP6866646B2 (ja) センサ支援システム、端末、センサおよびセンサ支援方法
US10579031B2 (en) Controller
JP6623856B2 (ja) スレーブ装置、スレーブ装置の制御方法、情報処理プログラム、および記録媒体
CN103201690B (zh) 用于多代控制系统的本地控制网络处理器(lcnp)仿真器
JP6729746B2 (ja) 制御装置
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN114514484A (zh) 控制系统、支持装置以及支持程序
JP6362821B2 (ja) 制御装置、制御方法および命令セット
JP6149393B2 (ja) 通信カプラ、情報処理装置、制御方法およびプログラム
JP6694327B2 (ja) 機器制御システム
JP7183545B2 (ja) 制御システムおよび機能ユニット
KR101845125B1 (ko) 가상 슬레이브 디바이스를 내장한 이더켓 기반의 모션 제어모듈 및 제어방법
JP7063222B2 (ja) 制御システム、サポート装置およびプログラム
US20220035330A1 (en) Control system, support apparatus and program
WO2006030697A1 (ja) 通信装置、通信制御方法、通信制御プログラム及び通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体
CN117785554A (zh) 设备掉电数据保持方法、系统、设备和可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250