JP6187674B2 - 制御システム、制御装置および制御方法 - Google Patents
制御システム、制御装置および制御方法 Download PDFInfo
- Publication number
- JP6187674B2 JP6187674B2 JP2016506162A JP2016506162A JP6187674B2 JP 6187674 B2 JP6187674 B2 JP 6187674B2 JP 2016506162 A JP2016506162 A JP 2016506162A JP 2016506162 A JP2016506162 A JP 2016506162A JP 6187674 B2 JP6187674 B2 JP 6187674B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- execution
- slave devices
- communication frame
- output
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/423—Loop networks with centralised control, e.g. polling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/12—Plc mp multi processor system
- G05B2219/1215—Master slave system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本発明は、機械や設備などの動作を制御するために用いられる制御システム、制御装置および制御方法に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などからなる制御システムによって制御される。このような制御システムは、外部のスイッチやセンサなどから情報を収集し、所定の制御演算によって得られる指令値を出力する。
このようなフィールド情報の収集および指令値の出力は、ネットワークを介して行われる場合が多い。例えば、特開2001−147905号公報(特許文献1)には、少なくとも1つ以上のCPUモジュールと複数のI/Oモジュールが、リング型のバスに接続されて成るプログラマブルコントローラシステムが開示されている。
上述のように、ネットワークを介して、フィールド情報や指令値(以下、「IO(Input/Output)データ」とも総称する。)を伝送する場合には、ある程度の伝送時間が必要になる。制御に係るプログラムの実行周期に対して、伝送時間が十分に小さい場合には、大きな問題にはならないが、プログラム実行周期をより短くしようとすると、その伝送時間が問題になり得る。上述の特開2001−147905号公報(特許文献1)には、このような課題についての言及はない。
すなわち、制御対象を制御するために必要なプログラムをより短い周期で繰り返し実行できるための仕組みが要望されている。
本発明のある局面によれば、制御対象を制御するための制御システムが提供される。制御システムは、演算部および通信処理部を含むマスター装置と、マスター装置とネットワークを介して接続された1つ以上のスレーブ装置とを含む。通信処理部は、マスター装置および1つ以上のスレーブ装置が扱うデータを含むデータ列のネットワーク上での巡回的な伝送を管理するように構成されている。演算部は、出力処理および入力処理を予め定められた実行周期で繰り返し実行するとともに、出力処理および入力処理の非実行期間にプログラム実行処理を繰り返すように構成されている。入力処理は、1つ以上のスレーブ装置で収集された制御対象からの情報に応じて入力データを更新する処理を含む。出力処理は、プログラム実行処理の実行結果を含む出力データを生成する処理を含む。通信処理部は、演算部での出力処理の実行と連動して、1つ以上のスレーブ装置に対して出力データを含む第1のデータ列の巡回的な伝送を開始し、演算部での入力処理の実行開始から予め定められた期間だけ前に、1つ以上のスレーブ装置が制御対象から収集している情報を取得するための第2のデータ列の巡回的な伝送を開始する、ように構成されている。
好ましくは、通信処理部は、第1のデータ列の送出後、当該第1のデータ列のマスター装置への到着に依存することなく、第2のデータ列を送出する。
好ましくは、記第1のデータ列および第2のデータ列は、同一のデータ構造を有する。
好ましくは、第1のデータ列および第2のデータ列は、いずれも、1つ以上のスレーブ装置から情報を取得するためのコマンドおよび出力データを含む。
好ましくは、第1のデータ列および第2のデータ列は、いずれも、1つ以上のスレーブ装置から情報を取得するためのコマンドおよび出力データを含む。
さらに好ましくは、第2のデータ列に含まれる出力データは、無効化されている。
あるいは、さらに好ましくは、1つ以上のスレーブ装置の各々は、第2のデータ列に含まれる出力データを破棄するように構成されている。
あるいは、さらに好ましくは、1つ以上のスレーブ装置の各々は、第2のデータ列に含まれる出力データを破棄するように構成されている。
好ましくは、マスター装置は、予め格納されたオフセット値に基づいて、入力処理の実行開始のタイミングを基準として、第2のデータ列を送出するタイミングを決定する。
さらに好ましくは、マスター装置は、ネットワークの初期構成結果に基づいて、オフセット値を決定する。
本発明の別の局面に係る制御対象を制御するための制御装置は、演算部と、演算部に結合された通信処理部とを含む。制御装置は、ネットワークを介して1つ以上のスレーブ装置と接続されている。通信処理部は、自装置および1つ以上のスレーブ装置が扱うデータを含むデータ列のネットワーク上での巡回的な伝送を管理するように構成されている。演算部は、出力処理および入力処理を予め定められた実行周期で繰り返し実行するとともに、出力処理および入力処理の非実行期間にプログラム実行処理を繰り返すように構成されている。入力処理は、1つ以上のスレーブ装置で収集された制御対象からの情報に応じて入力データを更新する処理を含み、出力処理は、プログラム実行処理の実行結果を含む出力データを生成する処理を含む。通信処理部は、演算部での出力処理の実行と連動して、1つ以上のスレーブ装置に対して出力データを含む第1のデータ列の巡回的な伝送を開始し、演算部での入力処理の実行開始から予め定められた期間だけ前に、1つ以上のスレーブ装置が制御対象から収集している情報を取得するための第2のデータ列の巡回的な伝送を開始する、ように構成されている。
本発明のさらに別の局面に係る制御対象を制御するための制御装置における制御方法において、制御装置は、ネットワークを介して1つ以上のスレーブ装置と接続されており、当該制御装置および1つ以上のスレーブ装置が扱うデータを含むデータ列のネットワーク上での巡回的な伝送を管理するように構成されている。制御方法は、出力処理および入力処理を予め定められた実行周期で繰り返し実行するとともに、出力処理および入力処理の非実行期間にプログラム実行処理を繰り返すステップを含む。入力処理は、1つ以上のスレーブ装置で収集された制御対象からの情報に応じて入力データを更新する処理を含み、出力処理は、プログラム実行処理の実行結果を含む出力データを生成する処理を含む。制御方法は、さらに、出力処理の実行と連動して、1つ以上のスレーブ装置に対して出力データを含む第1のデータ列の巡回的な伝送を開始するステップと、入力処理の実行開始から予め定められた期間だけ前に、1つ以上のスレーブ装置が制御対象から収集している情報を取得するための第2のデータ列の巡回的な伝送を開始するステップとを含む。
本発明のある局面に係る制御システムによれば、制御対象を制御するために必要なプログラムをより短い周期で繰り返し実行できる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
本実施の形態では、制御システムの一例として、PLCを中心とするシステムについて例示する。但し、このような制御システムとしては、PLCだけではなく、各種の産業用コンピュータを中心として構成を採用することもできる。さらに、技術の進展によって、新たな処理装置(演算装置)が開発された場合には、そのような新たな処理装置を採用することもできる。
<A.PLCシステムの全体構成>
まず、制御システムの一形態である、本実施の形態に係るPLCシステム1の全体構成について説明する。図1は、本実施の形態に係るPLCシステム1の全体構成を示す模式図である。
まず、制御システムの一形態である、本実施の形態に係るPLCシステム1の全体構成について説明する。図1は、本実施の形態に係るPLCシステム1の全体構成を示す模式図である。
図1を参照して、PLCシステム1は、制御対象を制御するための制御システムであって、メイン処理装置2と、1つ以上のリモート装置40_1,40_2,40_3,…,40_N(以下、「リモート装置40」と総称する場合もある。)とを含む。メイン処理装置2およびリモート装置40は、PLCシステム1の少なくとも一部を構成する制御装置であり、フィールドネットワーク4を介して接続されている。
フィールドネットワーク4を介した通信は、メイン処理装置2によって主体的に制御される。具体的には、メイン処理装置2は、予め定められたタイミングまたは規則に従って、フィールドネットワーク4上を順次伝送されるデータを送出する。以下の説明においては、フィールドネットワーク4上を順次伝送されるデータを「通信フレーム」とも称す。このような意味において、メイン処理装置2を「マスター装置」と称し、リモート装置40_1,40_2,40_3,…,40_Nの各々を「スレーブ装置」とも称す。
メイン処理装置2は、制御対象を制御するために必要なプログラム(後述するように、ユーザプログラムやシステムプログラムなどを含む)を実行することで、外部のスイッチやセンサなどからの入力信号(以下、「フィールド情報」または「INデータ」とも称す。)を収集処理、収集したフィールド情報に基づいて制御演算を行なう処理、制御演算によって算出された指令値(以下、「OUTデータ」とも称す。)を外部のリレーやアクチュエータへ与える処理などを実現する。
メイン処理装置2は、その装置構成として、CPUユニット10と、1つ以上のIOユニット20と、電源ユニット30とを含む。CPUユニット10およびIOユニット20は、図示しない内部バスを介して互いにデータ通信可能に接続されている。電源ユニット30は、CPUユニット10およびIOユニット20へ適切な電圧の電力を供給する。
CPUユニット10は、制御対象を制御するために必要なプログラムを実行する演算部と、フィールドネットワーク4を介したリモート装置40との通信を制御するための通信処理部に相当する通信コントローラ110とを含む。
リモート装置40は、外部のスイッチやセンサからのフィールド情報を受信し、フィールドネットワーク4を介して、その受信したフィールド情報号(INデータ)をメイン処理装置2へ送信する。併せて、リモート装置40は、メイン処理装置2からフィールドネットワーク4を介して受信した指令値(OUTデータ)を、外部のリレーやアクチュエータへ出力する。あるいは、リモート装置40は、フィールドネットワーク4を介して受信した指令値(OUTデータ)に従って自身で動作するものであってもよい。例えば、リモート装置40としては、演算機能を持たない単純なIOユニット、演算機能を有するIOユニット、モーションコントローラのようなアクチュエータを含む装置、などが想定される。
CPUユニット10の通信コントローラ110は、メイン処理装置2(マスター装置)および1つ以上のリモート装置40(スレーブ装置)が扱うデータを含むデータ列(本実施の形態では、「通信フレーム」とも称す。)のフィールドネットワーク4上での巡回的な伝送を管理するように構成されている。なお、図1には、いわゆるリング形式のネットワークを模式的に示すが、後述するようなデイジーチェーン接続のネットワークであってもよい。つまり、本実施の形態に係るネットワークとしては、データ列(通信フレーム)を巡回的に伝送できる構成であれば、どのような構成を採用してもよい。典型的には、本実施の形態に係る通信処理は、トータルフレーム方式のネットワークにも適用できる。
<B.CPUユニット10の装置構成>
次に、本実施の形態に係るPLCシステム1に含まれるCPUユニット10の装置構成について説明する。図2は、本実施の形態に係るPLCシステム1に含まれるCPUユニット10の装置構成を示す模式図である。
次に、本実施の形態に係るPLCシステム1に含まれるCPUユニット10の装置構成について説明する。図2は、本実施の形態に係るPLCシステム1に含まれるCPUユニット10の装置構成を示す模式図である。
図2を参照して、CPUユニット10は、通信処理部である通信コントローラ110に加えて、演算部であるプロセッサ100と、主メモリ102と、不揮発性メモリ104と、内部バスコントローラ106とを含む。これらのコンポーネントは、内部バス108を介して、互いにデータ通信可能に構成される。
プロセッサ100は、制御に係るプログラムを実行する。プロセッサ100は、不揮発性メモリ104などから必要なプログラムを読み出すとともに、主メモリ102に展開して実行する。制御に係るプログラムとしては、典型的には、ユーザプログラムおよびシステムプログラムを含む。
内部バスコントローラ106は、内部バス109を介してIOユニット20と接続され、プロセッサ100とIOユニット20との間のデータ(INデータおよびOUTデータ)の遣り取りを仲介する。
通信コントローラ110は、フィールドネットワーク4を介してリモート装置40と接続され、CPUユニット10とリモート装置40との間のデータ(INデータおよびOUTデータ)の遣り取りを仲介する。より具体的には、通信コントローラ110は、共有メモリ112と、送信バッファ120と、送信回路122と、受信バッファ130と、受信回路132とを含む。
送信バッファ120および送信回路122は、通信コントローラ110から外部装置へのフレーム送出に係る処理を実現し、受信バッファ130および受信回路132は、外部装置から通信コントローラ110へのフレーム送出に係る処理を実現する。通信コントローラ110は共有メモリ112を有しており、プロセッサ100は、直接的には、共有メモリ112にアクセスして、OUTデータを書き込むとともに、INデータを取得する。つまり、共有メモリ112に書き込まれたOUTデータは、送信バッファ120へ転送され、送信バッファ120から外部装置へ送出される。また、外部装置から取得したINデータは、受信バッファ130で受信された後、共有メモリ112へ転送される。
通信コントローラ110は、ソフトウェアを用いて、その一部または全部を実現してもよい。あるいは、ASIC(Application Specific Integrated Circuit:特定用途向集積回路)やFPGA(Field-Programmable Gate Array)などのハード回路を用いて、その一部または全部を実現してもよい。
<C.リモート装置40の装置構成>
次に、本実施の形態に係るPLCシステム1に含まれるリモート装置40の装置構成について説明する。図3は、本実施の形態に係るPLCシステム1に含まれるリモート装置40の装置構成の一例を示す模式図である。
次に、本実施の形態に係るPLCシステム1に含まれるリモート装置40の装置構成について説明する。図3は、本実施の形態に係るPLCシステム1に含まれるリモート装置40の装置構成の一例を示す模式図である。
本実施の形態に係るリモート装置40としては、各種の構成を採用することができるが、図3には、演算機能およびIO機能を有する構成例を示す。図3を参照して、リモート装置40は、演算処理部400と、入力回路402と、出力回路404と、通信コントローラ410とを含む。
演算処理部400は、フィールドネットワーク4を介して送信されたデータに基づいて、予め定められた処理を実行するとともに、処理の結果得られるデータを、フィールドネットワーク4を介して送出させる。
入力回路402は、フィールド側から入力された信号値(INデータ)を示す情報(デジット値)を演算処理部400へ出力する。出力回路は、演算処理部400から与えられたOUTデータに応じた信号をフィールド側へ出力する。
通信コントローラ410は、フィールドネットワーク4を介してCPUユニット10と接続され、リモート装置40とCPUユニット10との間のデータ(INデータおよびOUTデータ)の遣り取りを仲介する。より具体的には、通信コントローラ410は、共有メモリ412と、受信バッファ420と、受信回路422と、送信バッファ430と、送信回路432とを含む。これらのコンポーネントは、上述の共有メモリ112、送信バッファ120、送信回路122、受信バッファ130、および、受信回路132(いずれも図2)と同様の機能を有しているので、詳細な説明は繰り返さない。但し、スレーブ装置の一部である通信コントローラ410での通信フレームを受信した際の処理、および、通信フレームを送信する際の処理については、マスター装置の一部であるCPUユニット10の通信コントローラ110での処理とは異なっている。
リモート装置40(演算処理部400、入力回路402、出力回路404、および通信コントローラ410)については、ソフトウェアを用いてその機能の全部または一部を実現してもよいが、ASICやFPGAなどのハード回路を用いて、その一部または全部を実現するのが好ましい。
<D.フィールドネットワーク>
次に、フィールドネットワーク4における通信処理について説明する。
次に、フィールドネットワーク4における通信処理について説明する。
フィールドネットワーク4での通信方式としては、予め定められた通信周期でデータ伝送が可能な(つまり、リアルタイム通信可能な)方式が好ましい。一例として、フィールドネットワーク4としては、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)の具体例としては、例えば、EtherCAT(登録商標)、PROFINET IRT、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどがある。以下の説明では、典型例として、EtherCAT(登録商標)を用いた構成例について説明する。
図4は、本実施の形態に係るフィールドネットワーク4上を伝送される通信フレームを説明するための図である。図4を参照して、通信フレーム50は、フィールドネットワーク4上で巡回的に伝送される。つまり、マスター装置であるメイン処理装置2から送出された通信フレーム50は、スレーブ装置であるリモート装置40_1,40_2,40_3に順次転送されることになる。すべてのリモート装置40を転送された通信フレーム50は、メイン処理装置2へ戻る。つまり、通信フレーム50は、メイン処理装置2およびリモート装置40_1,40_2,40_3,…,40_Nを巡回的に伝送される。
より具体的には、通信フレーム50は、ヘッダ51と、各スレーブ装置に割り当てられたデータエリア52,53,54と、フッタ55とを含む。ヘッダ51には、その通信フレームの宛先や各種属性情報が格納される。データエリア52,53,54の各々には、対応するスレーブ装置についてのOUTデータおよびINデータが格納される。フッタ55には、終了コードやパリティビットなどの情報が格納される。
マスター装置は、各スレーブ装置に対して与えるOUTデータを対象のスレーブ装置に割り当てられたデータエリアへ書き込むことで通信フレーム50を生成して送出する。各スレーブ装置は、上位側から通信フレーム50を受信すると、当該受信した通信フレーム50のうち、自局に割り当てられたデータエリアから自局宛のOUTデータを抽出するとともに、自局で収集しているINデータを自局に割り当てられたデータエリアに書き込んで通信フレーム50を再生成し、下位側へ送出する。このように、通信フレーム50が巡回的に転送されることで、OUTデータおよびINデータが順次更新される。
つまり、本実施の形態に係るフィールドネットワーク4では、すべてのスレーブ装置宛のOUTデータ(指令値)を格納した通信フレーム50がマスター装置から送出されるとともに、各スレーブ装置において、OUTデータ(指令値)およびINデータ(フィードバック値)が交換された後の通信フレーム50がマスター装置へ戻される。つまり、通信フレーム50が一巡することで、マスター装置と各スレーブ装置との間でのデータの遣り取りが完了する。
<E.概要>
次に、本実施の形態に係るPLCシステム1における処理の概要について説明する。図5は、本実施の形態に係るPLCシステム1に含まれる処理の概要を説明するための図である。図5(a)は、関連技術に係るCPUユニットにおけるプログラムの繰り返し実行を説明するための図であり、図5(b)は、本実施の形態に係るCPUユニット10におけるプログラムの繰り返し実行を説明するための図である。
次に、本実施の形態に係るPLCシステム1における処理の概要について説明する。図5は、本実施の形態に係るPLCシステム1に含まれる処理の概要を説明するための図である。図5(a)は、関連技術に係るCPUユニットにおけるプログラムの繰り返し実行を説明するための図であり、図5(b)は、本実施の形態に係るCPUユニット10におけるプログラムの繰り返し実行を説明するための図である。
図5(a)に示すように、CPUユニット10では、制御に係るプログラムが周期的に繰り返し実行される。このプログラムの実行周期を、以下では「PLCシステム周期」とも称す。実行されるプログラムは、システムプログラム60と、ユーザプログラム70とを含む。システムプログラム60は、PLCシステム1が適切に動作するために必須の処理を実行するためのものであり、典型的には、出力処理62と、通信処理64と、入力処理66とを含む。
出力処理62は、ユーザプログラム70などの実行によって算出されたOUTデータを集約して通信フレーム50を生成する処理(「フレーミング処理」などとも称される。)を含む。通信処理64は、生成された通信フレーム50をスレーブ装置へ送出する処理、およびすべてのスレーブ装置を巡回後に戻ってきた通信フレーム50からINデータを収集する処理を含む。入力処理66は、戻ってきた通信フレーム50から収集したINデータに基づいて内部データ(または、内部変数)を更新する処理を含む。
ユーザプログラム70は、PLCシステム1のユーザが目的や用途に応じて任意に作成したプログラムであり、制御内容、制御対象、制御用途などに応じて1または複数に細分されてもよい。例えば、ユーザプログラム70は、シーケンス制御ロジック、モーション制御ロジック、およびPID制御ロジック等を含み得る。また、複数に細分されたユーザプログラムに対しては、実行周期や実行の優先順位を設定してもよい。このとき、ユーザプログラムに対して設定される実行周期は、PLCシステム周期より長い場合(通常は、PLCシステム周期の整数倍)もあり、この場合には、当該プログラムは、PLCシステム周期の複数周期に亘って実行されることになる。図5(a)に示す例では、ユーザプログラム70は、A処理72と、B処理74と、C処理76とを含む。
図5に示すように、演算部であるプロセッサ100は、出力処理62および入力処理66を予め定められた実行周期(PLCシステム周期)で繰り返し実行するとともに、出力処理62および入力処理66の非実行期間にプログラム実行処理(ユーザプログラム70の実行処理)を繰り返すように構成されている。ここで、入力処理66は、1つ以上のスレーブ装置(リモート装置40)で収集された制御対象からの情報(フィールド情報またはINデータ)に応じて入力データを更新する処理を含む。出力処理62は、プログラム実行処理(ユーザプログラム70の実行処理)の実行結果を含む出力データ(通信フレームまたはOUTデータ)を生成する処理を含む。
システムプログラム60は、PLCシステム周期毎に必ず1回実行される。図5(a)に示すように、システムプログラム60の通信処理64では、マスター装置から通信フレーム50が送出され、その通信フレーム50がすべてのスレーブ装置を巡ってマスター装置へ戻ってこなければ、マスター装置とスレーブ装置との間のOUTデータおよびINデータの更新を完了できない。
つまり、各スレーブ装置は、通信フレーム50から指令値(OUTデータ)を受け取り、フィードバック値(INデータ)を通信フレーム50に乗せる。このとき、マスター装置は、通信フレーム50が戻ってくるまで待ち状態になる。マスター装置から送出された通信フレーム50がマスター装置へ戻ってくるまでに要する時間(以下、「通信フレーム一巡周期D」とも称す。)は、フィールドネットワーク4に接続されているスレーブ装置の数に依存して長くなる。
PLCシステム周期T2は、システムプログラム60の実行に要する時間(x1+x2+x3)と、ユーザプログラム70の実行に要する時間(x4+x5+x6)との合計に相当する。ここで、ユーザプログラム70には、例えば、モーション制御ロジック(多軸ロボットなどの位置(角度)の連続制御ロジック)のような、高速実行(より短い周期での繰り返し実行)が要求される処理が含まれている場合もある。そのため、PLCシステム周期T2を可能な限り短くしたいという要望がある。
このようなPLCシステム周期T2の高速化を考えると、図5(a)に示すように、システムプログラム60の通信処理64の実行に要する時間が相対的に長くなっている。これは、送出した通信フレーム50が戻ってくるまで待ち状態になるためである。
本願発明者らは、このような通信処理における待ち状態に着目し、この待ち状態になっている時間を可能な限り小さくまたはゼロにすることで、PLCシステム周期T2を短縮化するという新規な解決手段に想到した。この新規な解決手段について、図5(b)を参照して説明する。
図5(b)を参照して、本実施の形態に係るCPUユニット10は、1つのPLCシステム周期内で、主としてINデータを収集するための通信フレーム50Aと、図5(a)と同様の通信フレーム50とを送出する。この通信フレーム50Aの送出タイミングを適切に設定することで、実質的に通信処理に要する時間を無視することができる。つまり、各スレーブ装置から収集したINデータを必要とする入力処理66の実行開始前に、INデータを収集するための通信フレーム50Aがマスター装置へ戻ってきていれば、入力処理66を即座に実行できる。
本実施の形態に係るCPUユニット10においては、通信処理に要する時間を実質的にゼロとすることができ、実行されるシステムプログラム65は、実質的に、出力処理62および入力処理66のみを含むことになる。つまり、図5(a)に示す関連技術における通信フレーム50がマスター装置から送出される前に、INデータ(フィードバック値)を収集するための通信フレーム50Aを送出する。これによって、入力処理66の実行開始が待たされることなく、かつ、出力処理62によって生成された通信フレーム50を即座に送出することができる。
すなわち、通信コントローラ110(通信処理部)は、プロセッサ100(演算部)での出力処理62の実行と連動して、1つ以上のリモート装置40(スレーブ装置)に対してOUTデータ(出力データまたは指令値)を含む通信フレーム50(第1のデータ列)の巡回的な伝送を開始する。併せて、通信コントローラ110(通信処理部)は、プロセッサ100(演算部)での入力処理66の実行開始から予め定められた期間だけ前に、1つ以上のリモート装置40(スレーブ装置)が制御対象から収集している情報(フィールド情報またはINデータ)を取得するための通信フレーム50A(第2のデータ列)の巡回的な伝送を開始する。なお、通信フレーム50Aの送出開始タイミングは、その送出された通信フレーム50Aがすべてのスレーブ装置からINデータを収集して、対応するPLCシステム周期における入力処理66の開始前に、マスター装置へ戻ってくるものであれば、どのようなタイミングであってもよい。但し、通信フレーム50の送出に影響を与えないようにしなければならないので、送出された後に通信フレーム50Aがマスター装置へ戻ってくるタイミングが入力処理66の開始直前になるように設定されることが好ましい。
また、マスター装置から送出された通信フレーム50Aが送出された後、マスター装置経戻ってくる前に、マスター装置から通信フレーム50を送出するようにしてもよい。反対に、マスター装置からの通信フレーム50の送出された後、マスター装置へ戻ってくる前に、マスター装置から通信フレーム50Aを送出するようにしてもよい。つまり、通信フレーム50の送出期間と通信フレーム50Aとが重複さえしなければ、両者の送出開始タイミングは任意に設定できる。
すなわち、一方の通信フレームが送出された後、当該通信フレームがフィールドネットワーク4を一巡してマスター装置への到着に依存することなく、他方の通信フレームを送出することができる。言い換えれば、一方の通信フレームが一巡した後のマスター装置への到着タイミングと、他方の通信フレームの送出タイミングとは、互いに独立して決定できる。
このような処理によって、マスター装置における待ち時間を実質的にゼロにできる。図5(a)と図5(b)に示すタイムチャートを比較すれば明らかなように、通信処理64に要していた時間分だけ、PLCシステム周期の長さを短縮できる。
<F.送出タイミングの決定方法>
次に、通信フレーム50Aの送出タイミングを決定するいくつかの方法について例示する。
次に、通信フレーム50Aの送出タイミングを決定するいくつかの方法について例示する。
(1)通信フレーム一巡周期を実測により決定する方法
図5(b)に示すように、通信フレーム50Aがマスター装置から送出されて、すべてのスレーブ装置を一巡した後にマスター装置へ戻ってくるまでの時間、すなわち通信フレーム一巡周期D2が既知であれば、通信フレーム50Aの送出タイミングを決定できる。すなわち、入力処理66の開始タイミングから通信フレーム一巡周期D2の時間分だけ前のタイミングで、通信フレーム50Aを送出すればよい。
図5(b)に示すように、通信フレーム50Aがマスター装置から送出されて、すべてのスレーブ装置を一巡した後にマスター装置へ戻ってくるまでの時間、すなわち通信フレーム一巡周期D2が既知であれば、通信フレーム50Aの送出タイミングを決定できる。すなわち、入力処理66の開始タイミングから通信フレーム一巡周期D2の時間分だけ前のタイミングで、通信フレーム50Aを送出すればよい。
プロセッサ100において、制御に係るプログラム(システムプログラム65およびユーザプログラム70)の実行タイミングは既知であるので、入力処理66の開始タイミングを予め知ることができる。そのため、システムプログラム65およびユーザプログラム70の実行に同期させて、通信フレーム一巡周期D2の長さに応じて、通信フレーム50Aの送出タイミングが決定される。つまり、通信フレーム一巡周期D2は、通信フレーム50Aの送出タイミングを決定するためのオフセット値に相当する。
通信フレーム一巡周期D2は、典型的には、マスター装置および1つ以上のスレーブ装置でフィールドネットワーク4を構成する際に実行さる初期化処理において実測される。つまり、マスター装置と1つ以上のスレーブ装置との間で、ネットワークを確立するために、初期化処理として装置間で必要な情報が遣り取りされ、この情報の遣り取りにおいて、通信フレーム一巡周期D2も実測される。この実測された通信フレーム一巡周期D2の長さは、CPUユニット10内に保持され、この値を用いて、通信フレーム50Aの送出タイミングが都度決定される。つまり、通信フレーム一巡周期D2の長さは、ネットワークの初期構成結果に含まれる。
このように、メイン処理装置2(マスター装置)は、予め格納されたオフセット値に基づいて、入力処理66の実行開始のタイミングを基準として、通信フレーム50A(第2のデータ列)を送出するタイミングを決定する。典型的には、メイン処理装置2(マスター装置)は、ネットワークの初期構成結果に基づいて、オフセット値を決定する。
(2)通信フレーム一巡周期をシミュレーションにより決定する方法
上述したように、通信フレーム一巡周期を実測により決定する方法に代えて、シミュレーションなどを用いて、通信フレーム一巡周期を予測的に算出してもよい。より具体的には、フィールドネットワーク4に接続されているスレーブ装置の数および各スレーブ装置の種類(各スレーブ装置における処理能力およびデータ処理量を推定できる)などに基づいて、通信フレーム50Aがフィールドネットワーク4を一巡するのに要する時間を見積もることができる。実測しなくとも、通信フレーム一巡周期Dを予め推定できるので、プログラムの設計をより容易化できる。
上述したように、通信フレーム一巡周期を実測により決定する方法に代えて、シミュレーションなどを用いて、通信フレーム一巡周期を予測的に算出してもよい。より具体的には、フィールドネットワーク4に接続されているスレーブ装置の数および各スレーブ装置の種類(各スレーブ装置における処理能力およびデータ処理量を推定できる)などに基づいて、通信フレーム50Aがフィールドネットワーク4を一巡するのに要する時間を見積もることができる。実測しなくとも、通信フレーム一巡周期Dを予め推定できるので、プログラムの設計をより容易化できる。
このときも、通信フレーム一巡周期D2は、通信フレーム50Aの送出タイミングを決定するためのオフセット値として用いられる。つまり、メイン処理装置2(マスター装置)は、予め格納されたオフセット値に基づいて、入力処理66の実行開始のタイミングを基準として、通信フレーム50A(第2のデータ列)を送出するタイミングを決定する。このオフセット値(通信フレーム一巡周期D2)は、上述したように、シミュレーションによって決定されてもよい。
なお、フィールドネットワーク4では、マスター装置および各スレーブ装置の間で同期を取れるように、共通のタイマー(カウンター)が設けられているものとする。そのため、通信フレーム50A(第2のデータ列)を送出するタイミングは、当該共通のタイマー(カウンター)でカウントされる時間(カウント数)の絶対値として決定されてもよいし、入力処理66の実行開始タイミングを基準とする相対値として決定されてもよい。
<G.通信フレームのデータ構造およびスレーブ装置での処理>
次に、通信フレーム50および50A、ならびにスレーブ装置での処理について説明する。上述したように、基本的には、通信フレーム50Aは、INデータの収集ができれば十分である。そのため、通信フレーム50Aのデータ構造としては、INデータの収集に特化した構造を採用してもよいし、通信フレーム50と同様の構造を採用してもよい。
次に、通信フレーム50および50A、ならびにスレーブ装置での処理について説明する。上述したように、基本的には、通信フレーム50Aは、INデータの収集ができれば十分である。そのため、通信フレーム50Aのデータ構造としては、INデータの収集に特化した構造を採用してもよいし、通信フレーム50と同様の構造を採用してもよい。
以下、通信フレーム50および50Aのデータ構造のいくつか、および各データ構造に対応するスレーブ装置における処理について説明する。
図6は、本実施の形態に係るPLCシステム1で使用される通信フレームのデータ構造の例を示す図である。
(1)通信フレーム50Aとして短縮化された通信フレームが採用される場合
図6(a)には、通信フレーム50Aのデータ構造として、通信フレーム50のデータ構造に比較して短縮化された構造を採用する例を示す。より具体的には、通常の通信フレーム50では、ヘッダおよびフッタの間に、各スレーブ装置に割り当てられたOUTデータおよびINデータ用のデータエリアがそれぞれ設けられている。そして、ヘッダには、各スレーブ装置に対して、自局に入力されているフィールド情報を割り当てられたINデータのデータエリアに書き込むことを指示する命令(INデータリフレッシュ命令)が格納されている。各スレーブ装置は、ヘッダにあるINデータリフレッシュ命令に従って、自局に割り当てられたINデータのデータエリアに最新のフィードバック値を書き込む。同時に、各スレーブ装置は、自局に割り当てられたOUTデータのデータエリアからOUTデータ(指令値)を読み出して処理を実行する。
図6(a)には、通信フレーム50Aのデータ構造として、通信フレーム50のデータ構造に比較して短縮化された構造を採用する例を示す。より具体的には、通常の通信フレーム50では、ヘッダおよびフッタの間に、各スレーブ装置に割り当てられたOUTデータおよびINデータ用のデータエリアがそれぞれ設けられている。そして、ヘッダには、各スレーブ装置に対して、自局に入力されているフィールド情報を割り当てられたINデータのデータエリアに書き込むことを指示する命令(INデータリフレッシュ命令)が格納されている。各スレーブ装置は、ヘッダにあるINデータリフレッシュ命令に従って、自局に割り当てられたINデータのデータエリアに最新のフィードバック値を書き込む。同時に、各スレーブ装置は、自局に割り当てられたOUTデータのデータエリアからOUTデータ(指令値)を読み出して処理を実行する。
これに対して、図6(a)に示される短縮化された通信フレーム50Aでは、OUTデータのデータエリアが削除されており、INデータのデータエリアのみが存在する。ヘッダには、各スレーブ装置に対して、INデータリフレッシュ命令が格納されているので、各スレーブ装置は、ヘッダにあるINデータリフレッシュ命令に従って、自局に割り当てられたINデータのデータエリアに最新のフィードバック値を書き込む。これによって、通信フレーム50Aを用いたINデータの収集を実現できる。併せて、OUTデータのデータエリアが存在しないので、通信フレーム50Aのフレーム長さ(データ量)を小さくできる。つまり、通信フレーム50Aの通信フレーム一巡周期をより短くでき、通信フレーム50に対する時間的なマージンをより大きくとることができる。
(2)通信フレーム50AのOUTデータとして無効な値が設定されている場合
次に、図6(b)に示す通信フレーム50Aは、通信フレーム50と同一のデータ構造を有する例を示す。つまり、図6(b)に示す例では、通信フレーム50(第1のデータ列)および通信フレーム50A(第2のデータ列)は、同一のデータ構造を有している。
次に、図6(b)に示す通信フレーム50Aは、通信フレーム50と同一のデータ構造を有する例を示す。つまり、図6(b)に示す例では、通信フレーム50(第1のデータ列)および通信フレーム50A(第2のデータ列)は、同一のデータ構造を有している。
ここで、通信フレーム50AのOUTデータとしては、無効な値が設定される。図6(b)に示す例では、通信フレーム50AのOUTデータの各データエリアには、「null値」が格納されており、各スレーブ装置は、通信フレーム50Aを受信したとしても、有効なOUTデータを読み出すことができないようになっている。すなわち、通信フレーム50A(第2のデータ列)に含まれるOUTデータ(出力データ)は、無効化されている。
なお、OUTデータの各データエリアには、「null値」ではなく、OUTデータとしてはあり得ない値(例えば、負値など)を格納することで、無効化してもよい。
通信フレーム50と通信フレーム50Aとは、どのデータ構造が同一であるので、いずれもINデータリフレッシュ命令を含む。つまり、通信フレーム50(第1のデータ列)および通信フレーム50A(第2のデータ列)は、いずれも、スレーブ装置から情報を取得するためのコマンド(INデータリフレッシュ命令)およびOUTデータ(出力データ)を含む。
このように、通信フレーム50と通信フレーム50Aとの間でデータ構造を共通化することで、マスター装置での通信フレーム作成の処理を共通化でき、本実施の形態に係る処理の実現のために、実装形態が複雑化することを避けることができる。
(3)通信フレーム50AのOUTデータが無効な値であると宣言されている場合
図6(c)にも、通信フレーム50Aが通信フレーム50と同一のデータ構造を有する例を示す。つまり、図6(b)に示す例では、通信フレーム50(第1のデータ列)および通信フレーム50A(第2のデータ列)は、同一のデータ構造を有している。
図6(c)にも、通信フレーム50Aが通信フレーム50と同一のデータ構造を有する例を示す。つまり、図6(b)に示す例では、通信フレーム50(第1のデータ列)および通信フレーム50A(第2のデータ列)は、同一のデータ構造を有している。
通信フレーム50AのOUTデータにも、通信フレーム50と同様に、制御対象を制御するために必要なプログラムの直近の実行によって算出された指令値(OUTデータ)が格納される。但し、ヘッダには、各スレーブ装置に対して、OUTデータのデータエリアに格納されている命令値が無効であることを示す宣言(OUTデータ無効化宣言)が格納されている。このOUTデータ無効化宣言に従って、各スレーブ装置は、受信した指令値(OUTデータ)を破棄する処理を実行する。すなわち、スレーブ装置の各々は、通信フレーム50A(第2のデータ列)に含まれる出力データを破棄するように構成される。図6(c)に示す例では、OUTデータ無効化宣言を用いることで、通信フレーム50A(第2のデータ列)に含まれるOUTデータ(出力データ)を実質的に無効化する。
なお、OUTデータ無効化宣言によって、OUTデータのデータエリアに格納されるどのような値であっても無効化されるので、ランダムな値を当該データエリアに格納するようにしてもよい。但し、実装上は、最も直近のプログラム実行によって算出されたOUTデータを用いるようにするのが好ましい。
通信フレーム50と通信フレーム50Aとは、どのデータ構造が同一であるので、いずれも、スレーブ装置から情報を取得するためのコマンド(INデータリフレッシュ命令)およびOUTデータ(出力データ)を含む。
このように、通信フレーム50と通信フレーム50Aとの間でデータ構造を共通化することで、マスター装置での通信フレーム作成の処理を共通化でき、本実施の形態に係る処理の実現のために、実装形態が複雑化することを避けることができる。
(4)通信フレーム50Aとして前回送出された通信フレーム50を再送出する場合
図6(a)〜図6(c)には、通常の通信フレーム50とは異なるデータ構造を有する通信フレーム50Aを用いる例について示したが、通信フレーム50Aとして、直近に送出された通信フレーム50と全く同じ通信フレームを用いてもよい。つまり、1つ前のPLCシステム周期において送出した通信フレーム50を、現PLCシステム周期において再送出するようにしてもよい。いずれの通信フレームにも、最新であるOUTデータの組が共通に含まれるので、各スレーブ装置としては、異常な挙動になることはない。
図6(a)〜図6(c)には、通常の通信フレーム50とは異なるデータ構造を有する通信フレーム50Aを用いる例について示したが、通信フレーム50Aとして、直近に送出された通信フレーム50と全く同じ通信フレームを用いてもよい。つまり、1つ前のPLCシステム周期において送出した通信フレーム50を、現PLCシステム周期において再送出するようにしてもよい。いずれの通信フレームにも、最新であるOUTデータの組が共通に含まれるので、各スレーブ装置としては、異常な挙動になることはない。
このような構成を採用することで、本実施の形態に係る通信処理を実現するための実装構成をより簡素化できる。
(5)その他の構成
なお、通信フレーム50Aと通信フレーム50との間のデータ構造を必ずしも同一にする必要はない。さらに、各通信フレームに格納されるINデータとOUTデータとのデータ長さについても同一にする必要はない。通信フレームの転送に要する時間を短縮するために、必要最小限のデータ長さを動的に選択するようにしてもよい。あるいは、ネットワーク上の通信フレームの統計情報などから、INデータおよびOUTデータのデータ長さの最適値を予め推測し、その推測したデータ長さになるように、通信フレームを決定しておいてもよい。
なお、通信フレーム50Aと通信フレーム50との間のデータ構造を必ずしも同一にする必要はない。さらに、各通信フレームに格納されるINデータとOUTデータとのデータ長さについても同一にする必要はない。通信フレームの転送に要する時間を短縮するために、必要最小限のデータ長さを動的に選択するようにしてもよい。あるいは、ネットワーク上の通信フレームの統計情報などから、INデータおよびOUTデータのデータ長さの最適値を予め推測し、その推測したデータ長さになるように、通信フレームを決定しておいてもよい。
<H.実装例>
次に、上述のような通信フレームの送出に係るいくつかの実装例について例示する。
次に、上述のような通信フレームの送出に係るいくつかの実装例について例示する。
図7は、本実施の形態に係るCPUユニット10の実装例を示す図である。
(1)通信コントローラ110の内部で通信フレームの送出をトリガーする実装例
図7(a)に示す実装例において、通信コントローラ110は、制御エンジンが実装されたFPGA、およびアナログ/デジタル変換やメモリなどの信号処理回路が実装されたASICを含む。この実装例においては、制御エンジンが実装されたFPGAが内部的な信号を発することで、通信フレーム50Aが生成されて送出される。このようなFPGAを用いることで、プロセッサ100でタイミングの管理などを行なう必要がなく、かつより高速な制御が可能になる。
(1)通信コントローラ110の内部で通信フレームの送出をトリガーする実装例
図7(a)に示す実装例において、通信コントローラ110は、制御エンジンが実装されたFPGA、およびアナログ/デジタル変換やメモリなどの信号処理回路が実装されたASICを含む。この実装例においては、制御エンジンが実装されたFPGAが内部的な信号を発することで、通信フレーム50Aが生成されて送出される。このようなFPGAを用いることで、プロセッサ100でタイミングの管理などを行なう必要がなく、かつより高速な制御が可能になる。
(2)プロセッサ100が通信フレームの送出をトリガーする実装例
図7(a)に示す実装例において、制御対象を制御するために必要なプログラム(ユーザプログラムやシステムプログラムなど)を実行するプロセッサ100において、タイミングを管理するスレッドを実行させて、そのスレッドから通信フレーム50Aをトリガーしてもよい。この場合には、通信フレーム50Aの生成および送出に係る内部コマンドが、プロセッサ100から通信コントローラ110へ与えられる。
図7(a)に示す実装例において、制御対象を制御するために必要なプログラム(ユーザプログラムやシステムプログラムなど)を実行するプロセッサ100において、タイミングを管理するスレッドを実行させて、そのスレッドから通信フレーム50Aをトリガーしてもよい。この場合には、通信フレーム50Aの生成および送出に係る内部コマンドが、プロセッサ100から通信コントローラ110へ与えられる。
(3)別のプロセッサが通信フレームの送出をトリガーする実装例
図7(b)に示す実装例において、制御対象を制御するために必要なプログラム(ユーザプログラムやシステムプログラムなど)を実行するプロセッサ100_1に加えて、タイミングを管理するスレッドを実行する、別のプロセッサ100_2が実装されている。プロセッサ100_2が通信フレーム50Aをトリガーする。
図7(b)に示す実装例において、制御対象を制御するために必要なプログラム(ユーザプログラムやシステムプログラムなど)を実行するプロセッサ100_1に加えて、タイミングを管理するスレッドを実行する、別のプロセッサ100_2が実装されている。プロセッサ100_2が通信フレーム50Aをトリガーする。
(4)専用プロセッサが通信フレームの送出をトリガーする実装例
図7(b)には、通信コントローラ110と接続された専用プロセッサ160が設けられている実装例を示す。この実装例においては、専用プロセッサ160がタイミングを管理し、プロセッサ100とは独立して、通信コントローラ110に対して、通信フレーム50Aを送出するための内部コマンドを与える。
図7(b)には、通信コントローラ110と接続された専用プロセッサ160が設けられている実装例を示す。この実装例においては、専用プロセッサ160がタイミングを管理し、プロセッサ100とは独立して、通信コントローラ110に対して、通信フレーム50Aを送出するための内部コマンドを与える。
以上では、典型的な4つの実装例について例示したが、これらの実装例に限られることなく、要求される用途やスペックなどに応じて、任意のソフトウェアおよび/またはハードウェアの組み合わせを用いて実装することができる。
<I.変形例>
上述の実施の形態においては、いわゆるリング形式のネットワークを例示したが、デイジーチェーン形式のネットワークにも適用できる。このようなデイジーチェーン形式のネットワークについて、図8を参照して例示する。
上述の実施の形態においては、いわゆるリング形式のネットワークを例示したが、デイジーチェーン形式のネットワークにも適用できる。このようなデイジーチェーン形式のネットワークについて、図8を参照して例示する。
図8は、本実施の形態の変形例に係るPLCシステム1Aの全体構成を示す模式図である。図8を参照して、PLCシステム1Aは、メイン処理装置2(マスター装置)と、1つ以上のリモート装置40(スレーブ装置)とを含み、これらは、デイジーチェーン形式のフィールドネットワークを介して接続されている。フィールドネットワークでは、マスター装置から各スレーブ装置へ通信フレームが順次転送され(ダウンフレーム)、終端部で折り返した後、各スレーブ装置からマスター装置へ通信フレームが順次転送される(アップフレーム)。
このようなデイジーチェーン形式を採用した場合には、CPUユニット10は、デイジーチェーン形式に適合した通信コントローラ110Aを有することになる。その他の構成や処理などについては、上述したものと同様であるので、詳細な説明は繰り返さない。
また、上述の実施の形態およびその変形例では、フィールドネットワークにおけるデータ伝送について例示したが、PLC内における、CPUユニット10とIOユニット20とを繋ぐ内部バスにも適用できる。
<J.利点>
本実施の形態によれば、マスター装置と1つ以上のスレーブ装置とがネットワーク接続された構成において、マスター装置が1つ以上のスレーブ装置からネットワークを介してフィールド情報を収集するための処理が先行して実行される。そのため、フィールド情報の収集の完了後に実行される入力処理が待たされることがない。つまり、OUTデータ(指令値)を各スレーブ装置へ送信する処理と、各スレーブ装置からINデータを収集する処理との間に、待ち時間が発生しないので、制御対象を制御するために必要なプログラム(ユーザプログラムおよびシステムプログラムを含む)を実行する周期(PLCシステム周期)を短くできる。つまり、ユーザプログラムをより高速に実行するための環境を提供することができる。これによって、モーション制御ロジックなどをより高速に実行できるので、制御精度を高めることができる。
本実施の形態によれば、マスター装置と1つ以上のスレーブ装置とがネットワーク接続された構成において、マスター装置が1つ以上のスレーブ装置からネットワークを介してフィールド情報を収集するための処理が先行して実行される。そのため、フィールド情報の収集の完了後に実行される入力処理が待たされることがない。つまり、OUTデータ(指令値)を各スレーブ装置へ送信する処理と、各スレーブ装置からINデータを収集する処理との間に、待ち時間が発生しないので、制御対象を制御するために必要なプログラム(ユーザプログラムおよびシステムプログラムを含む)を実行する周期(PLCシステム周期)を短くできる。つまり、ユーザプログラムをより高速に実行するための環境を提供することができる。これによって、モーション制御ロジックなどをより高速に実行できるので、制御精度を高めることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A PLCシステム、2 メイン処理装置、4 フィールドネットワーク、10 CPUユニット、20 IOユニット、30 電源ユニット、40 リモート装置、50,50A 通信フレーム、51 ヘッダ、52,53,54 データエリア、55 フッタ、60,65 システムプログラム、62 出力処理、64 通信処理、66 入力処理、70 ユーザプログラム、100 プロセッサ、102 主メモリ、104 不揮発性メモリ、106 内部バスコントローラ、108,109 内部バス、110,110A,410 通信コントローラ、112,412 共有メモリ、120,430 送信バッファ、122,432 送信回路、130,420 受信バッファ、132,422 受信回路、160 専用プロセッサ、400 演算処理部、402 入力回路、404 出力回路。
Claims (10)
- 制御対象を制御するための制御システムであって、
演算部および通信処理部を含むマスター装置と、
前記マスター装置とネットワークを介して接続された1つ以上のスレーブ装置とを備え、
前記通信処理部は、前記マスター装置および前記1つ以上のスレーブ装置が扱うデータを含むデータ列の前記ネットワーク上での巡回的な伝送を管理するように構成されており、
前記演算部は、出力処理および入力処理を予め定められた実行周期で繰り返し実行するとともに、前記出力処理および前記入力処理の非実行期間にプログラム実行処理を繰り返すように構成されており、前記入力処理は、前記1つ以上のスレーブ装置で収集された前記制御対象からの情報に応じて入力データを更新する処理を含み、前記出力処理は、前記プログラム実行処理の実行結果を含む出力データを生成する処理を含み、
前記通信処理部は、
前記演算部での前記出力処理の実行と連動して、前記1つ以上のスレーブ装置に対して前記出力データを含む第1のデータ列の巡回的な伝送を開始し、
前記演算部での前記入力処理の実行開始から予め定められた期間だけ前に、前記1つ以上のスレーブ装置が前記制御対象から収集している情報を取得するための第2のデータ列の巡回的な伝送を開始する、ように構成されている、制御システム。 - 前記通信処理部は、前記第1のデータ列の送出後、当該第1のデータ列の前記マスター装置への到着に依存することなく、前記第2のデータ列を送出する、請求項1に記載の制御システム。
- 前記第1のデータ列および前記第2のデータ列は、同一のデータ構造を有する、請求項1または2に記載の制御システム。
- 前記第1のデータ列および前記第2のデータ列は、いずれも、前記1つ以上のスレーブ装置から情報を取得するためのコマンドおよび前記出力データを含む、請求項1〜3のいずれか1項に記載の制御システム。
- 前記第2のデータ列に含まれる前記出力データは、無効化されている、請求項4に記載の制御システム。
- 前記1つ以上のスレーブ装置の各々は、前記第2のデータ列に含まれる前記出力データを破棄するように構成されている、請求項4に記載の制御システム。
- 前記マスター装置は、予め格納されたオフセット値に基づいて、前記入力処理の実行開始のタイミングを基準として、前記第2のデータ列を送出するタイミングを決定する、請求項1〜5のいずれか1項に記載の制御システム。
- 前記マスター装置は、前記ネットワークの初期構成結果に基づいて、前記オフセット値を決定する、請求項7に記載の制御システム。
- 制御対象を制御するための制御装置であって、
演算部と、
前記演算部に結合された通信処理部とを含み、
前記制御装置は、ネットワークを介して1つ以上のスレーブ装置と接続されており、
前記通信処理部は、自装置および前記1つ以上のスレーブ装置が扱うデータを含むデータ列の前記ネットワーク上での巡回的な伝送を管理するように構成されており、
前記演算部は、出力処理および入力処理を予め定められた実行周期で繰り返し実行するとともに、前記出力処理および前記入力処理の非実行期間にプログラム実行処理を繰り返すように構成されており、前記入力処理は、前記1つ以上のスレーブ装置で収集された前記制御対象からの情報に応じて入力データを更新する処理を含み、前記出力処理は、前記プログラム実行処理の実行結果を含む出力データを生成する処理を含み、
前記通信処理部は、
前記演算部での前記出力処理の実行と連動して、前記1つ以上のスレーブ装置に対して前記出力データを含む第1のデータ列の巡回的な伝送を開始し、
前記演算部での前記入力処理の実行開始から予め定められた期間だけ前に、前記1つ以上のスレーブ装置が前記制御対象から収集している情報を取得するための第2のデータ列の巡回的な伝送を開始する、ように構成されている、制御装置。 - 制御対象を制御するための制御装置における制御方法であって、
前記制御装置は、ネットワークを介して1つ以上のスレーブ装置と接続されており、当該制御装置および前記1つ以上のスレーブ装置が扱うデータを含むデータ列の前記ネットワーク上での巡回的な伝送を管理するように構成されており、前記制御方法は、
出力処理および入力処理を予め定められた実行周期で繰り返し実行するとともに、前記出力処理および前記入力処理の非実行期間にプログラム実行処理を繰り返すステップを含み、前記入力処理は、前記1つ以上のスレーブ装置で収集された前記制御対象からの情報に応じて入力データを更新する処理を含み、前記出力処理は、前記プログラム実行処理の実行結果を含む出力データを生成する処理を含み、
前記出力処理の実行と連動して、前記1つ以上のスレーブ装置に対して前記出力データを含む第1のデータ列の巡回的な伝送を開始するステップと、
前記入力処理の実行開始から予め定められた期間だけ前に、前記1つ以上のスレーブ装置が前記制御対象から収集している情報を取得するための第2のデータ列の巡回的な伝送を開始するステップとを含む、制御方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014041535 | 2014-03-04 | ||
JP2014041535 | 2014-03-04 | ||
PCT/JP2015/050921 WO2015133175A1 (ja) | 2014-03-04 | 2015-01-15 | 制御システム、制御装置および制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015133175A1 JPWO2015133175A1 (ja) | 2017-04-06 |
JP6187674B2 true JP6187674B2 (ja) | 2017-08-30 |
Family
ID=54054987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016506162A Active JP6187674B2 (ja) | 2014-03-04 | 2015-01-15 | 制御システム、制御装置および制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10277417B2 (ja) |
EP (1) | EP3116166B1 (ja) |
JP (1) | JP6187674B2 (ja) |
CN (1) | CN106063197B (ja) |
WO (1) | WO2015133175A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190100347A (ko) * | 2017-02-09 | 2019-08-28 | 오므론 가부시키가이샤 | 통신 시스템, 통신 장치 및 통신 방법 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102023534B1 (ko) * | 2015-04-17 | 2019-09-23 | 엘에스산전 주식회사 | 슬레이브 디바이스 및 이의 제어 방법 |
JP6436242B2 (ja) * | 2015-09-17 | 2018-12-12 | 株式会社安川電機 | 産業機器の通信システム、通信方法、及び産業機器 |
KR102416176B1 (ko) * | 2016-05-10 | 2022-07-01 | 엘에스일렉트릭(주) | 슬레이브 디바이스 제어 방법 |
JP6812727B2 (ja) * | 2016-09-30 | 2021-01-13 | オムロン株式会社 | 安全制御ユニット、安全制御方法、安全制御プログラム |
JP6812726B2 (ja) * | 2016-09-30 | 2021-01-13 | オムロン株式会社 | 制御ユニット、データリフレッシュ方法、データリフレッシュプログラム |
US10311009B2 (en) * | 2016-10-24 | 2019-06-04 | Fisher-Rosemount Systems, Inc. | Apparatus and methods for communicatively coupling field devices to controllers in a process control system using a distributed marshaling architecture |
US10268173B2 (en) | 2017-03-17 | 2019-04-23 | Eaton Intelligent Power Limited | Distributed logic control apparatus |
US10089276B1 (en) * | 2017-03-17 | 2018-10-02 | Eaton Intelligent Power Limited | Distributed logic control apparatus |
JP6724847B2 (ja) | 2017-03-31 | 2020-07-15 | オムロン株式会社 | 制御装置、制御プログラム、制御システム、および制御方法 |
US10779901B2 (en) | 2017-09-18 | 2020-09-22 | Verb Surgical Inc. | Robotic surgical system having a communication network of a ring topology and method for use therewith |
US10624707B2 (en) * | 2017-09-18 | 2020-04-21 | Verb Surgical Inc. | Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm |
DE102017121886A1 (de) * | 2017-09-21 | 2019-03-21 | Destaco Europe Gmbh | Anlage für den Karosseriebau |
JP7031204B2 (ja) * | 2017-09-29 | 2022-03-08 | オムロン株式会社 | 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体 |
JP7231073B2 (ja) * | 2018-03-09 | 2023-03-01 | オムロン株式会社 | 制御装置および制御システム |
JP7020198B2 (ja) * | 2018-03-09 | 2022-02-16 | オムロン株式会社 | 制御装置および制御システム |
JP6939665B2 (ja) * | 2018-03-15 | 2021-09-22 | オムロン株式会社 | ネットワークシステム |
JP7189499B2 (ja) * | 2018-05-07 | 2022-12-14 | オムロン株式会社 | センサシステム |
JP7068654B2 (ja) * | 2018-06-07 | 2022-05-17 | オムロン株式会社 | センサシステム |
US11531381B2 (en) * | 2018-09-28 | 2022-12-20 | Fisher-Rosemount Systems, Inc. | Smart functionality for discrete field devices and signals |
JP7192427B2 (ja) * | 2018-11-19 | 2022-12-20 | オムロン株式会社 | 制御システムおよび制御装置 |
JP7399108B2 (ja) * | 2019-01-07 | 2023-12-15 | 住友重機械工業株式会社 | モーションコントローラ |
JP7216357B2 (ja) * | 2019-03-01 | 2023-02-01 | 日本電気株式会社 | 制御装置、制御システム、ネットワークシステム、制御方法、制御プログラムおよび光ネットワークシステム |
JP7275940B2 (ja) * | 2019-07-08 | 2023-05-18 | オムロン株式会社 | 制御プログラムおよび方法 |
JP2022083142A (ja) * | 2020-11-24 | 2022-06-03 | オムロン株式会社 | 制御装置、通信制御方法、および制御プログラム |
JP2022155141A (ja) * | 2021-03-30 | 2022-10-13 | キヤノン株式会社 | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム |
WO2024009633A1 (ja) * | 2022-07-05 | 2024-01-11 | パナソニックIpマネジメント株式会社 | コントローラ、制御方法及びプログラム |
JP7374379B1 (ja) * | 2022-10-14 | 2023-11-06 | 三菱電機株式会社 | データ収集装置、データ収集システム、データベース作成方法及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH073979B2 (ja) * | 1987-09-14 | 1995-01-18 | 三菱電機株式会社 | 遠方監視制御システム |
JP2001147905A (ja) | 1999-11-24 | 2001-05-29 | Fuji Electric Co Ltd | プログラマブルコントローラシステム |
JP4793585B2 (ja) | 2006-03-15 | 2011-10-12 | オムロン株式会社 | プログラマブル・コントローラ |
DE102007004044B4 (de) * | 2007-01-22 | 2009-09-10 | Phoenix Contact Gmbh & Co. Kg | Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten |
DE102009045384A1 (de) * | 2009-10-06 | 2011-04-07 | Endress + Hauser Process Solutions Ag | Verfahren zum Betreiben eines Feldbus-Interface |
EP2407840A1 (de) * | 2010-07-16 | 2012-01-18 | Siemens Aktiengesellschaft | Verfahren zum Betreiben einer Automatisierungseinrichtung |
JP4894961B1 (ja) | 2011-03-15 | 2012-03-14 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
JP2013081065A (ja) * | 2011-10-04 | 2013-05-02 | Sumitomo Electric Ind Ltd | 省電力制御方法、局側装置および通信システム |
CN104126155B (zh) | 2012-03-15 | 2017-06-09 | 欧姆龙株式会社 | 控制装置、信息处理装置、控制方法 |
JP6167532B2 (ja) | 2013-01-25 | 2017-07-26 | オムロン株式会社 | 制御装置および制御装置の動作方法 |
US9915939B2 (en) * | 2013-12-13 | 2018-03-13 | General Electric Company | Systems and methods for providing multiple frame rates on a common physical network |
-
2015
- 2015-01-15 CN CN201580011512.0A patent/CN106063197B/zh active Active
- 2015-01-15 WO PCT/JP2015/050921 patent/WO2015133175A1/ja active Application Filing
- 2015-01-15 US US15/122,517 patent/US10277417B2/en active Active
- 2015-01-15 JP JP2016506162A patent/JP6187674B2/ja active Active
- 2015-01-15 EP EP15758998.7A patent/EP3116166B1/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190100347A (ko) * | 2017-02-09 | 2019-08-28 | 오므론 가부시키가이샤 | 통신 시스템, 통신 장치 및 통신 방법 |
KR102119418B1 (ko) | 2017-02-09 | 2020-06-08 | 오므론 가부시키가이샤 | 통신 시스템, 통신 장치 및 통신 방법 |
US11128571B2 (en) | 2017-02-09 | 2021-09-21 | Omron Corporation | Communication system, communication apparatus, and communication method |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015133175A1 (ja) | 2017-04-06 |
WO2015133175A1 (ja) | 2015-09-11 |
EP3116166A4 (en) | 2017-08-30 |
EP3116166B1 (en) | 2018-09-05 |
US20170099158A1 (en) | 2017-04-06 |
CN106063197B (zh) | 2019-04-09 |
US10277417B2 (en) | 2019-04-30 |
CN106063197A (zh) | 2016-10-26 |
EP3116166A1 (en) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6187674B2 (ja) | 制御システム、制御装置および制御方法 | |
JP6540166B2 (ja) | 制御装置 | |
US11082197B2 (en) | Control system and control device | |
JP4762999B2 (ja) | ロボット制御システム | |
JP6488830B2 (ja) | 制御装置 | |
US9836038B2 (en) | Control device, and control method for link activating and deactivating | |
US9398080B2 (en) | Control device, image processing device, control method, computer-readable recording medium, and program | |
WO2012111109A1 (ja) | データ転送装置 | |
JP6409557B2 (ja) | 制御装置、コントローラ・システム、出力制御方法、およびプログラム | |
JP2016192172A (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
JP6094196B2 (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
CN109159125A (zh) | 基于ros***机器人的云服务*** | |
JP7003951B2 (ja) | 制御システム | |
JP2014146070A (ja) | 制御装置、制御方法、およびプログラム | |
JP2019106225A (ja) | 制御装置 | |
JP2020150485A (ja) | 制御システム、装置および制御方法 | |
JP4877424B1 (ja) | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 | |
WO2018070190A1 (ja) | 演算装置および制御システム | |
US11269313B2 (en) | Controller and control system that stores data in current control cycle for output in next control cycle | |
JP6939665B2 (ja) | ネットワークシステム | |
JP7231073B2 (ja) | 制御装置および制御システム | |
JP5490267B2 (ja) | データ転送装置 | |
JP5413801B2 (ja) | フィールド通信方法およびこれを用いたフィールド機器 | |
JP6409520B2 (ja) | 制御システム、および中継装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20170704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6187674 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |