[go: up one dir, main page]

JP2016192172A - 情報処理装置、情報処理プログラムおよび情報処理方法 - Google Patents

情報処理装置、情報処理プログラムおよび情報処理方法 Download PDF

Info

Publication number
JP2016192172A
JP2016192172A JP2015073048A JP2015073048A JP2016192172A JP 2016192172 A JP2016192172 A JP 2016192172A JP 2015073048 A JP2015073048 A JP 2015073048A JP 2015073048 A JP2015073048 A JP 2015073048A JP 2016192172 A JP2016192172 A JP 2016192172A
Authority
JP
Japan
Prior art keywords
timing
functional units
control target
mode
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.)
Granted
Application number
JP2015073048A
Other languages
English (en)
Other versions
JP6477161B2 (ja
Inventor
祥実 丹羽
Yoshimi Niwa
祥実 丹羽
貴雅 植田
Takamasa Ueda
貴雅 植田
功征 川又
Isayuki Kawamata
功征 川又
裕二 池尾
Yuji Ikeo
裕二 池尾
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2015073048A priority Critical patent/JP6477161B2/ja
Priority to CN201510801597.4A priority patent/CN106020094B/zh
Priority to US14/949,939 priority patent/US10572420B2/en
Priority to EP15196372.5A priority patent/EP3076251B1/en
Publication of JP2016192172A publication Critical patent/JP2016192172A/ja
Application granted granted Critical
Publication of JP6477161B2 publication Critical patent/JP6477161B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1145Normal scan of I-O and direct acces of some I-O independent from normal scan
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13063Synchronization between modules
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14131Workby plc, all plc function in parallel, synchronous data exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】制御システムにおいて、機能ユニット間での入力タイミングおよび出力タイミングの同期と、ネットワーク上を伝送されるデータフレームの通信周期の短縮という、互いに相反する課題を同時に解決できる手段を提供する。
【解決手段】情報処理装置は、予め用意された複数のモードのうち選択されたモードに従って、スレーブ装置502,503に含まれる機能ユニットの各々に対するパラメータを算出する。複数のモードは、スレーブ装置に含まれるすべての機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、スレーブ装置に含まれる特定の機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む。
【選択図】図8

Description

本発明は、機械や設備などの動作を制御する制御システムに対してパラメータを設定するための情報処理装置、情報処理プログラムおよび情報処理方法に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す。)などからなる制御装置を含む制御システムによって制御される。このような制御システムにおいて、PLCは、CPU(Central Processing Unit)ユニットと、外部のスイッチやセンサからの信号入力および/または外部のリレーやアクチュエータへの信号出力を担当するIO(Input Output)ユニットなどの機能ユニットとを含む。PLCは、ネットワークにより、1または複数のリモートIOターミナルと接続されこともある。このような各リモートIOターミナルは、通信カプラと、1または複数の機能ユニットとを含む。
このようなPLCと1または複数のリモートIOターミナルとの間の通信は、PLCが通信全体を管理するマスタとして機能し、ポーリング方式を用いて実現される場合もある。例えば、特開2007−312043号公報(特許文献1)は、リモートIOシステムにおけるマスタ/スレーブ間通信として、一般的には、一斉同報方式とポーリング方式との2通りの通信方式を開示する。一斉同報方式は、マスタ局がすべてのスレーブ局を対象として同時に送信する通信方式であり、ポーリング方式は、マスタ局が対象となるスレーブ局のアドレス等の識別情報を特定し、対象となるスレーブ局を指定して送信する通信方式である。
特開2007−312043号公報
例えば、同一の制御対象に対して何らかの制御を行う場合には、当該制御対象から取得される複数の状態値の間では同期を取ることが好ましい。すなわち、それぞれの状態値を同一のタイミングで制御対象から取得し、これらの取得した状態値に基づいて、制御対象に対する出力値などを算出することが好ましい。
ネットワーク接続されたリモートIOターミナルの間では、伝送遅延などが発生するため、異なるリモートIOターミナルからそれぞれ取得された状態値の間で同期を取ることは容易ではない。例えば、データフレームを順次転送して、各リモートIOターミナルとの間でデータを遣り取りする通信方式では、データフレームの到着タイミングがリモートIOターミナル間で異なる。そのため、それぞれの到着タイミングに応じて、状態値の取得(入力リフレッシュ)のタイミングおよび出力値の更新(出力リフレッシュ)のタイミングをリモートIOターミナルごとに調整する必要がある。
そこで、リモートIOターミナル間でタイミングを調整することになるが、機能ユニットの間でも応答性は異なっている。そのため、リモートIOターミナルに接続されるすべての機能ユニットの間で、状態値の取得(入力リフレッシュ)のタイミングおよび出力値の更新(出力リフレッシュ)のタイミングを同期させる(揃える)場合には、最も応答性の低い機能ユニットに合わせる必要がある。その結果、データフレームの通信周期を短くできないという課題が生じる。
本発明は、上記のような点を考慮してなされたものであり、その目的は、マスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムにおいて、機能ユニット間での入力タイミングおよび出力タイミングの同期と、ネットワーク上を伝送されるデータフレームの通信周期の短縮という、互いに相反する課題を同時に解決できる手段を提供することにある。
本発明のある局面に従えば、マスタ装置とマスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムに対してパラメータを設定するための情報処理装置が提供される。スレーブ装置は、制御対象との間で信号を遣り取りする1または複数の機能ユニットを含む。情報処理装置は、予め用意された複数のモードのうち選択されたモードに従って、スレーブ装置に含まれる機能ユニットの各々に対するパラメータを算出する算出手段と、算出されたパラメータを制御システムに対して設定する設定手段とを含む。複数のモードは、スレーブ装置に含まれるすべての機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、スレーブ装置に含まれる特定の機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む。
好ましくは、第2のモードにおいて、特定の機能ユニット以外のスレーブ装置に含まれる機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミングのいずれか一方を、同期させる。
あるいは好ましくは、第2のモードにおいて、特定の機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させるとともに、特定の機能ユニット以外のスレーブ装置に含まれる機能ユニットの間で、特定の機能ユニットとは独立して、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる。
好ましくは、情報処理装置は、スレーブ装置に含まれる機能ユニットのうち特定の機能ユニットに該当するものの選択を受け付ける手段をさらに含む。
好ましくは、マスタ装置は、制御対象との間で信号を遣り取りする1または複数の機能ユニットを含む。算出手段は、さらに、複数のモードのうち選択されたモードに従って、マスタ装置に含まれる機能ユニットの各々に対するパラメータを算出する。複数のモードは、さらに、マスタ装置に含まれるすべての機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させるモードと、マスタ装置に含まれる特定の機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させるモードとをさらに含む。
好ましくは、情報処理装置は、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる対象となる機能ユニットを特定する手段と、ネットワーク上を所定の通信周期で伝送されるデータフレームに関して、マスタ装置がデータフレームを送出してから、スレーブ装置での受信が完了するまでに要する第1の見込み時間を取得する手段と、スレーブ装置において、データフレームの受信が完了してから、当該受信したデータフレームに含まれるデータの対象の機能ユニットすべてへの転送が完了するまでに要する第2の見込み時間を取得する手段と、スレーブ装置において、対象の機能ユニットのすべてが制御対象から取得した状態値をネットワークを介して送出できる状態になるまでに要する第3の見込み時間を取得する手段と、対象の機能ユニットの各々について、第1〜第3の見込み時間に基づいて、制御対象からの状態値の取得を開始する通信周期内のタイミング、および、受信したデータフレームに含まれるデータを制御対象に対して出力する通信周期内のタイミングをそれぞれ決定する決定手段とをさらに含む。
本発明の別の局面に従えば、マスタ装置とマスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムに対してパラメータを設定するための処理をコンピュータに実行させる情報処理プログラムが提供される。スレーブ装置は、制御対象との間で信号の遣り取りする1または複数の機能ユニットを含む。情報処理プログラムは、コンピュータに、予め用意された複数のモードのうち選択されたモードに従って、スレーブ装置に含まれる機能ユニットの各々に対するパラメータを算出するステップと、算出されたパラメータを制御システムに対して設定するステップとを実行させる。複数のモードは、スレーブ装置に含まれるすべての機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、スレーブ装置に含まれる特定の機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む。
本発明のさらに別の局面に従えば、マスタ装置とマスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムに対してパラメータを設定するための情報処理方法が提供される。スレーブ装置は、制御対象との間で信号の遣り取りする1または複数の機能ユニットを含む。情報処理方法は、予め用意された複数のモードのうち選択されたモードに従って、スレーブ装置に含まれる機能ユニットの各々に対するパラメータを算出するステップと、算出されたパラメータを制御システムに対して設定するステップとを含む。複数のモードは、スレーブ装置に含まれるすべての機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、スレーブ装置に含まれる特定の機能ユニットの間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む。
本発明によれば、マスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムにおいて、機能ユニット間での入力タイミングおよび出力タイミングの同期と、ネットワーク上を伝送されるデータフレームの通信周期の短縮という、互いに相反する課題を同時に解決できる。
本実施の形態に係る制御システムの構成例を示す模式図である。 本実施の形態に係るリモートIOターミナルの接続構成を示す模式図である。 本実施の形態に係るリモートIOターミナルを構成する通信カプラのハードウェア構成を示す模式図である。 本実施の形態に係るリモートIOターミナルの機能ユニットのハードウェア構成を示す模式図である。 本実施の形態に係るPLCに接続されるサポート装置のハードウェア構成を示す模式図である。 本実施の形態に係る制御システムにおける時刻同期機能を説明するための模式図である。 本実施の形態に係る制御システムにおいて入出力同期モードが設定されている場合のタイムチャートである。 本実施の形態に係る制御システムにおける入出力同期モードにおける課題を説明するタイムチャートである。 本実施の形態に係る制御システムにおいて部分的に入出力同期モードが設定されている場合のタイムチャートである。 本実施の形態に係る制御システムにおいて部分的に入出力同期モードが設定されている場合の別のタイムチャートである。 本実施の形態に係る制御システムにおいて異なる入出力同期モードが設定されている場合のタイムチャートである。 本実施の形態に係る制御システムにおける入力リフレッシュに要する時間を説明するための図である。 本実施の形態に係る制御システムにおける出力リフレッシュに要する時間を説明するための図である。 本実施の形態に係る制御システムを構成するサポート装置に格納されるデバイスプロファイルのデータ構造の一例を示す図である。 本実施の形態に係る制御システムにおける入出力同期モードの選択的な設定方法の一例を示す模式図である。 図15に示す設定方法に対応するユーザインターフェイス画面の一例を示す図である。 本実施の形態に係るサポート装置によって提供されるユーザインターフェイス画面の一例を示す図である。 本実施の形態に係るサポート装置によって提供されるユーザインターフェイス画面の別の一例を示す図である。 本実施の形態に係る制御システムに対するパラメータを設定する処理手順を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.制御システムの構成例>
まず、本実施の形態に係る制御システムの構成例について説明する。図1は、本実施の形態に係る制御システムSYSの構成例を示す模式図である。図1を参照して、制御システムSYSは、PLC1と、上位通信ネットワークであるフィールドネットワーク2を介してPLC1に接続される、1つまたは複数のリモートIOターミナル3とを含む。PLC1には、接続ケーブル54などを介してサポート装置40が接続される。
PLC1は、主たる演算処理を実行するCPUユニット10と、1つ以上の機能ユニット20とを含む。これらの機能ユニット20は、内部バス11を介して、データを互いに遣り取りできるように構成される。機能ユニット20には、電源ユニット12によって適切な電圧の電源が供給される。このような機能ユニット20は、IOユニットや特殊ユニットを含む。
IOユニットは、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を司る。IOユニットは、検出スイッチ6などのセンサが何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニットは、リレー7やアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
特殊ユニットは、アナログデータの入出力、温度制御、PID制御、パルスカウンタ、サーボ制御、インバータ制御、特定の通信方式による通信(例えば、シリアル通信やエンコーダ入力)といった、IOユニットではサポートしない機能を有する。
フィールドネットワーク2は、CPUユニット10と遣り取りされる各種データを伝送する。フィールドネットワーク2としては、各種の産業用のイーサネット(登録商標)を用いることができる。産業用のイーサネット(登録商標)としては、例えば、EtherCAT(登録商標)、PROFINET(登録商標)、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどがある。さらに、産業用のイーサネット(登録商標)以外のフィールドネットワークを用いてもよい。例えば、DeviceNet、CompoNet(登録商標)などを用いてもよい。
本実施の形態においては、一例として、フィールドネットワーク2上をデータフレームが順次転送されることで、PLC1とリモートIOターミナル3との間、または、リモートIOターミナル3の間でデータが遣り取りされる。以下の説明では、内部バス上を伝搬するデータフレームと区別するために、フィールドネットワーク2上のデータフレームを「上位データフレーム」とも称す。
図1に示す制御システムSYSのフィールドネットワーク2には、さらに、1つ以上のリモートIOターミナル3が接続されている。リモートIOターミナル3は、PLC1に装着される機能ユニット20を、PLC1の配置位置とは異なる位置に拡張的に配置するためのものである。より具体的には、リモートIOターミナル3は、フィールドネットワーク2でのデータ伝送に係る処理を行うための通信カプラ30と、1つ以上の機能ユニット20とを含む。すなわち、リモートIOターミナル3は、制御対象との間で信号を遣り取りする1または複数の機能ユニット20を含む。これらの機能ユニット20は、内部バス31を介して、データを互いに遣り取りできるように構成される。
通信カプラ30は、機能ユニット20の動作を制御するとともに、CPUユニット10との間のデータ伝送を制御する。通信カプラ30は、フィールドネットワーク2を介して、PLC1のCPUユニット10に接続されている。
リモートIOターミナル3において、通信カプラ30は、装着される機能ユニット20(IOユニットや特殊ユニット)との間の内部バス31を介したデータ伝送を主体的に管理する。
以下の説明では、PLC1(より具体的には、CPUユニット10)は、フィールドネットワーク2を介したデータ伝送を主体的に管理するので、その機能に着目して、これらを「マスタ装置」とも記載し、それ以外のリモートIOターミナル3(より具体的には、通信カプラ30)を「スレーブ装置」とも記載する。すなわち、制御システムSYSは、マスタ装置(PLC1)と、マスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置(リモートIOターミナル3)とを含む。なお、スレーブ装置としては、リモートIOターミナル3以外にも、フィールドネットワーク2に直接接続される、サーボドライバなども含み得る。さらに、フィールドネットワーク2に複数のPLC1が接続される場合には、いずれか1つのPLC1がマスタ装置となり、残りのPLC1がスレーブ装置になる場合もある。さらにあるいは、PLC1およびリモートIOターミナル3のいずれとも異なる制御主体がマスタ装置になってもよい。
すなわち、「マスタ装置」および「スレーブ装置」との用語は、フィールドネットワーク2上のデータ伝送の制御機能に着目した表現であり、各装置が制御対象との間でどのような情報を遣り取りするのかについては、特に制限されるものではない。
<B.リモートIOターミナル3のハードウェア構成例>
次に、本実施の形態に係る制御システムSYSの一部を構成するリモートIOターミナル3のハードウェア構成について説明する。
(b1.接続構成)
図2は、本実施の形態に係るリモートIOターミナル3の接続構成を示す模式図である。図2を参照して、リモートIOターミナル3では、1つ以上の機能ユニット20−1,20−2,20−3,…が通信ラインである内部バス31(ダウンリンク311およびアップリンク312)を介して通信カプラ30と互いにデータ伝送可能になっている。
一例として、ダウンリンク311およびアップリンク312では、シリアル通信が採用されており、対象のデータは、時系列に一列に並べられた形で伝搬する。より具体的には、ダウンリンク311では、通信カプラ30から機能ユニット20へ向けて、ダウンリンク311を介して一方向にデータが送信される。一方、アップリンク312では、いずれかの機能ユニット20から通信カプラ30へ向けて、アップリンク312を介して一方向にデータが送信される。
機能ユニット20の各々は、ダウンリンク311またはアップリンク312を伝搬するデータフレームを受信すると、そのデータフレームからデータを復号して必要な処理を実行する。そして、機能ユニット20の各々は、データフレームを再生成した上で、次段の機能ユニット20へ再送信(フォワード)する。以下の説明では、フィールドネットワーク2上を伝搬するデータフレーム(上位データフレーム)と区別するために、機能ユニット20から出力すべき状態値を含むデータフレームを「内部バスOUTフレーム」とも称し、機能ユニット20によって取得された状態値を含むデータフレームを「内部バスINフレーム」とも称す。基本的には、「内部バスOUTフレーム」は、ダウンリンク311上を伝搬し、「内部バスINフレーム」は、アップリンク312を伝搬する。また、「内部バスOUTフレーム」および「内部バスINフレーム」を「内部バスフレーム」と総称する場合もある。
このようなデータフレーム(内部バスフレーム)の順次転送を実現するために、各機能ユニット20は、ダウンリンク311に関して、受信部(以下「RX」とも記す。)210aおよび送信部(以下「TX」とも記す。)210bを含むとともに、アップリンク312に関して、受信部220aおよび送信部220bを含む。受信部210aおよび220aは、通信ラインである内部バス31を介して他の機能ユニット20から内部バスフレームに含まれるデータを受信する。送信部210bおよび220bは、通信ラインである内部バス31を介して他の機能ユニット20へデータを含む内部バスフレームを送信する。
各機能ユニット20は、プロセッサ200を含み、プロセッサ200がこれらのデータ処理を制御する。
通信カプラ30は、演算主体であるプロセッサ100と、フィールドネットワーク制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。すなわち、通信カプラ30は、内部バス31(ダウンリンク311およびアップリンク312)と接続されるだけではなく、受信部112および送信部114を介して、フィールドネットワーク2とも接続される。フィールドネットワーク制御部110は、フィールドネットワーク2を介したデータ伝送を管理し、内部バス制御部130は、内部バス31を介したデータ伝送を管理する。
(b2.通信カプラ30の構成)
図3は、本実施の形態に係るリモートIOターミナル3を構成する通信カプラ30のハードウェア構成を示す模式図である。図3を参照して、リモートIOターミナル3の通信カプラ30は、プロセッサ100と、不揮発性メモリ101と、フィールドネットワーク制御部110と、受信部112と、送信部114と、内部バス制御部130とを含む。
受信部112は、PLC1からフィールドネットワーク2を介して送信される上位データフレームを受信してデータへ復号した上で、フィールドネットワーク制御部110へ出力する。送信部114は、フィールドネットワーク制御部110から出力されるデータから上位データフレームを再生成してフィールドネットワーク2を介して再送信(フォワード)する。
フィールドネットワーク制御部110は、受信部112および送信部114と協働して、フィールドネットワーク2を介して予め定められた伝送周期ごとに上位データフレームを送受信する。より具体的には、フィールドネットワーク制御部110は、フィールドネットワーク通信コントローラ120と、メモリコントローラ122と、FIFO(First In First Out)メモリ124と、受信バッファ126と、送信バッファ128とを含む。
フィールドネットワーク通信コントローラ120は、PLC1からフィールドネットワーク2を介して送信されるコマンドなどを解釈して、フィールドネットワーク2を介した通信を実現するために必要な処理を実行する。また、フィールドネットワーク通信コントローラ120は、FIFOメモリ124に順次格納される上位データフレームからのデータコピー、および上位データフレームに対するデータ書込みの処理を行う。
メモリコントローラ122は、DMA(Direct Memory Access)などの機能を実現する制御回路であり、FIFOメモリ124、受信バッファ126および送信バッファ128などへのデータの書込み/読出しを制御する。
FIFOメモリ124は、フィールドネットワーク2を介して受信された上位データフレームを一時的に格納するとともに、その格納された順序に従って上位データフレームを順次出力する。受信バッファ126は、FIFOメモリ124に順次格納される上位データフレームに含まれるデータのうち、自装置に装着されている機能ユニット20の出力部から出力すべき状態値を示すデータを抽出して一時的に格納する。送信バッファ128は、機能ユニット20の入力部で検出された状態値を示すプロセスデータであって、FIFOメモリ124に順次格納される上位データフレームの所定領域に書込むべきデータを一時的に格納する。
プロセッサ100は、フィールドネットワーク制御部110および内部バス制御部130に対して指示を与えるとともに、フィールドネットワーク制御部110と内部バス制御部130との間のデータ転送などを制御する。
不揮発性メモリ101は、システムプログラム102および構成情報104を格納する。構成情報104は、機能ユニット20の設定情報を含む。
内部バス制御部130は、内部バス31(ダウンリンク311およびアップリンク312)を介して機能ユニット20との間で内部バスフレーム(データ)を送受信する。
より具体的には、内部バス制御部130は、内部バス通信コントローラ132と、送信回路142と、受信回路144と、記憶部160とを含む。
内部バス通信コントローラ132は、内部バス31を介したデータ伝送を主体的に管理する。送信回路142は、内部バス通信コントローラ132からの指示に従って、内部バス31のダウンリンク上を流れる内部バスフレームを生成して送信する。受信回路144は、内部バス31のアップリンク上を流れる内部バスフレームを受信して、内部バス通信コントローラ132へ出力する。
記憶部160は、内部バス31を伝搬する内部バスフレーム(データ)を格納するバッファメモリに相当する。より具体的には、記憶部160は、共有メモリ162と、受信バッファ164と、送信バッファ166とを含む。共有メモリ162は、フィールドネットワーク制御部110と内部バス制御部130との間で遣り取りされる内部バスフレームを一時的に格納する。受信バッファ164は、内部バス31を介して機能ユニット20から受信した内部バスフレームを一時的に格納する。送信バッファ166は、フィールドネットワーク制御部110で受信された上位データフレームに含まれるデータを一時的に格納する。
(b3.機能ユニット20の構成)
図4は、本実施の形態に係るリモートIOターミナル3の機能ユニット20のハードウェア構成を示す模式図である。図4には、機能ユニット20の一例として、IOユニットを示す。図4を参照して、リモートIOターミナル3の機能ユニット20の各々は、逆シリアル変換器(de-serializer:以下「DES」とも称す。)212,222と、シリアル変換器(SER:serializer:以下「SER」とも称す。)216,226と、フォワードコントローラ214,224とを含む。さらに、機能ユニット20の各々は、バス250を介して互いに接続された、受信処理部230と、送信処理部240と、プロセッサ200と、共有メモリ202と、IOモジュール206と、メモリ207とを含む。
DES212、フォワードコントローラ214およびSER216は、図2に示すダウンリンク311についての受信部210aおよび送信部210bに対応する。これらの部分は、ダウンリンク311を流れる内部バスフレームの送受信に係る処理を実行する。同様に、DES222、フォワードコントローラ224およびSER226は、図2に示すアップリンク312についての受信部220aおよび送信部220bに対応する。これらの部分は、アップリンク312を流れる内部バスフレームの送受信に係る処理を実行する。
受信処理部230は、復号部232と、CRCチェック部234とを含む。復号部232は、受信されたデータフレームを所定のアルゴリズムに従ってデータへ復号する。CRCチェック部234は、データフレームの最後に付加されるフレームチェックシーケンス(Frame Check Sequence:FCS)などに基づいて誤りチェック(例えば、CRC(Cyclic Redundancy Check)符号)を行う。
送信処理部240は、フォワードコントローラ214および224に接続され、プロセッサ200などからの指示に従って、次段の機能ユニット20へ再送信(フォワード)する内部バスフレームの生成およびタイミング制御などを行う。また、送信処理部240は、プロセッサ200などと協働して、次段の機能ユニット20へ送信すべきデータを生成する。より具体的には、送信処理部240は、CRC生成部242と、符号化部244とを含む。CRC生成部242は、プロセッサ200などからのデータに対して誤り制御符号(CRC)を算出して、当該データを格納する内部バスフレームに付加する。符号化部244は、CRC生成部242からのデータを符号化し、対応するフォワードコントローラ214または224へ出力する。
プロセッサ200は、機能ユニット20を主体的に制御する演算主体である。より具体的には、プロセッサ200は、受信処理部230を介して受信されたデータフレームを共有メモリ202に格納し、あるいは共有メモリ202から所定のデータを読み出して送信処理部240へ出力し、内部バスフレームを生成させる。
共有メモリ202は、受信処理部230を介して受信された内部バスフレームを一時的に格納するための受信バッファ203と、送信処理部240へ介して送信するための内部バスフレームを一時的に格納するための送信バッファ204とを含む。また、共有メモリ202は、各種データを格納するための領域を含む。
IOモジュール206は、外部のスイッチやセンサからの入力信号を受信し、その値を共有メモリ202に書込む、および/または、共有メモリ202の対応する領域に書込まれた値に従ってその信号を外部のリレーやアクチュエータへ出力する。
メモリ207は、システムプログラム209および設定情報208を格納する。典型的には、システムプログラム209は、メモリ207の不揮発性領域に格納され、設定情報208は、メモリ207の揮発性領域に格納される。
<C.PLC1のハードウェア構成例>
本実施の形態に係る制御システムSYSの一部を構成するPLC1のCPUユニット10は、PLC制御周期ごとに、システム共通処理、IOリフレッシュ処理、ユーザプログラムを実行する。ユーザプログラムは、典型的には、シーケンスプログラムおよびモーションプログラムを含む。シーケンスプログラムは、ラダープログラムとも称され、1または複数の入力信号の組み合わせから、1または複数の出力値の値を決定する論理の集合である。モーションプログラムは、位置や速度などを連続的に制御するプログラムである。PLC1のその他のハードウェア構成については、上述したリモートIOターミナル3のハードウェア構成と同様であるので、詳細な説明は繰り返さない。
<D.サポート装置40>
次に、本実施の形態に係るPLC1に接続されるサポート装置40について説明する。サポート装置40は、制御システムSYSに対してパラメータを設定するための情報処理装置に相当する。
図5は、本実施の形態に係るPLC1に接続されるサポート装置40のハードウェア構成を示す模式図である。サポート装置40は、典型的には、汎用のコンピュータで構成される。
図5を参照して、サポート装置40は、OS(Operating System)を含む各種プログラムを実行するCPU41と、BIOS(Basic Input Output System)や各種データを格納するROM(Read Only Memory)52と、CPU41でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM43と、CPU41で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)44とを含む。ハードディスク44は、ツールプログラム441と、構成情報442と、デバイスプロファイル443とを格納している。
サポート装置40は、さらに、ユーザからの操作を受け付けるキーボード45およびマウス46と、情報をユーザに提示するためのディスプレイ47とを含む。さらに、サポート装置40は、PLC1(CPUユニット10)などと通信するための通信インターフェイス(IF)49を含む。
後述するように、サポート装置40で実行される情報処理プログラムの一例であるツールプログラム441は、CD−ROM(Compact Disk-Read Only Memory)52に格納されて流通する。このCD−ROM52に格納されたプログラムは、CD−ROM駆動装置48によって読取られ、ハードディスク44などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
<E.制御システムSYSにおける入出力同期モード>
次に、本実施の形態に係る制御システムSYSにおける処理の同期方法について説明する。制御システムSYSは、PLC1(マスタ装置)と、1または複数のリモートIOターミナル3(スレーブ装置)との間で、各種の処理を同期するために、その1つの同期方法として、DC(ディストリビュート・クロック)方式による時刻同期機能を有している。
図6は、本実施の形態に係る制御システムSYSにおける時刻同期機能を説明するための模式図である。図6を参照して、PLC1およびリモートIOターミナル3−1,3−2,3−3,3−4は、それぞれ時計を有している。この時計は、各装置での処理の実行タイミングなどを定める基準となる。より具体的には、PLC1およびリモートIOターミナル3−1〜3−4の各々は、時計として、同期の基準となる時刻情報(リファレンスクロック)を周期的に生成するタイマを有している。マスタ装置であるPLC1の時計が基準となり、スレーブ装置である各リモートIOターミナル3は、そのPLC1の時計に同期する。より具体的には、リモートIOターミナル3−1〜3−4の各々は、フィールドネットワーク2上を周期的に伝搬する上位データフレームに基づいて、各々が有するタイマに生じている時間的なずれを都度補正する。これによって、PLC1の時計が発生するリファレンスクロックと同じタイミングで、リモートIOターミナル3−1〜3−4の各々の内部でリファレンスクロックが発生されるようになる。
したがって、PLC1およびリモートIOターミナル3−1〜3−4の間では、実質的に、共通の時刻を利用可能になっている。
図6(A)には、DC方式により装置間が同期化された状態を示す。図6(A)を参照して、リモートIOターミナル3−1〜3−4は、共通の時間軸上で指定されたタイミングで、予め指定された処理をそれぞれ実行する。但し、上位データフレームの伝送遅延は存在する。そのため、例えば、リモートIOターミナル3−1において上位データフレームに含まれるデータを利用した処理を開始できるタイミング(時刻T1)と、リモートIOターミナル3−2において上位データフレームに含まれるデータを利用した処理を開始できるタイミング(時刻T2)との間には、時間差TD1が生じ得る。他のリモートIOターミナル3の間でも同様である。
伝送遅延、すなわち時間差(TD1〜TD4)はわずかな時間であるので、一般的な制御対象であれば、問題にはならない。しかしながら、多軸制御といった、複数のアクチュエータが同期して動作することが好ましい制御対象については、リモートIOターミナル3の間(あるいは、異なるリモートIOターミナル3に装着された機能ユニット20の間)で、制御対象からの状態値の取得(入力リフレッシュ)のタイミングと、制御対象に対する出力値の更新(出力リフレッシュ)のタイミングとを同期させる(揃える)ことが重要になってくる。
このようなニーズに対して、本実施の形態に係る制御システムSYSでは、以下に説明する「入出力同期」の機能を有している。
図6(B)には、装置間が「入出力同期」された状態を示す。図6(B)に示すように、リモートIOターミナル3−1〜3−4の間で、処理の開始タイミングが調整されており、いずれも時刻T4から一斉に処理を開始する。このような入出力同期を実現するために、リモートIOターミナル3−1〜3−4の各々には、ある時刻を基準として、それぞれの機能ユニット20において、必要な処理を開始するタイミング(位相/開始遅延時間)が設定される。この設定されたタイミングに従って、機能ユニット20の各々が必要な処理をトリガすることで、結果として、リモートIOターミナル3の間で、入力リフレッシュおよび出力リフレッシュのタイミングが実時間で同期される。
なお、図6に示すように、マスタ装置および1または複数のスレーブ装置の間で、共通の時刻が利用可能になっているため、フィールドネットワーク2に接続されている、PLC1および1または複数のリモートIOターミナル3の全部または一部の間では、入出力同期が可能になっている。以下では、説明の便宜上、リモートIOターミナル3における入出力同期モードの設定方法などを主として例示するが、PLC1(マスタ装置として機能する場合、および、スレーブ装置として機能する場合の両方を含む)においても同様の入出力同期モードの設定が可能である。言い換えれば、CPUユニット10は、通信カプラ30の機能を包含しており、通信カプラ30で実行可能な処理と実質的に等価な処理が可能になっている。
以下、入出力同期モードに係るタイミングの設定についてより詳細に説明する。
図7は、本実施の形態に係る制御システムSYSにおいて入出力同期モードが設定されている場合のタイムチャートである。図7には、マスタ装置であるPLC1と、スレーブ装置である2つのリモートIOターミナル#1,#2とからなる制御システムSYSの例を示す。
図7の符号501の部分を参照して、PLC1は、予め定められたPLC制御周期でユーザプログラムを繰り返し実行する(図7の(3)の部分)。ユーザプログラムは、典型的には、シーケンスプログラムおよびモーションプログラムを含む。なお、1回のPLC制御周期内ですべてのプログラムを完全に実行することができない場合もあり、その場合には、複数回のPLC制御周期にわたって、あるプログラムが1回実行されることもある。PLC1において、ユーザプログラムの実行に先立って、制御対象から状態値を取得する処理(入力リフレッシュ)が実行される(図7の(2)の部分)。また、PLC1において、ユーザプログラムの実行後に、その実行によって算出された結果(出力値)を反映する処理(出力リフレッシュ)が実行される(図7の(1)の部分)。典型的には、先の出力リフレッシュの開始から次の出力リフレッシュの開始までの期間が、PLC制御周期として算出される。
PLC1での出力リフレッシュが完了すると、CPUユニット10と内部バス11を介して接続されている1または複数の機能ユニット20の出力値が更新される。併せて、フィールドネットワーク2を介して、出力リフレッシュによって算出された結果(出力値)を含む上位データフレームの送出が開始される。
図7の符号502および符号503の部分を参照して、PLC1から送出された上位データフレームは、フィールドネットワーク2を介して、通信カプラ30へ順次転送される(図7の(4)の部分)。上位データフレームの先頭がリモートIOターミナル#1の通信カプラ30に到達してから、同一の上位データフレームの先頭がリモートIOターミナル#2の通信カプラ30に到達するまでの時間が「伝送遅延」に相当する。すなわち、リモートIOターミナル#1の上位データフレーム(図7の(4)の部分)と、リモートIOターミナル#2の上位データフレーム(図7の(4)の部分)との間の時間軸上のずれが、「伝送遅延」に相当する。
また、PLC1における制御周期(PLC制御周期)は、上位データフレームが送出される周期(通信周期)と一致している。
リモートIOターミナル#1,#2の各々において、通信カプラ30での上位データフレームの受信が完了すると、上位データフレームに含まれているリモートIOターミナル#1,#2に装着された機能ユニット20向けのデータ(内部バスOUTフレーム)が、内部バス31を介して、それぞれの機能ユニット20へ伝送される(図7の(5)の部分)。
機能ユニット20の各々は、内部バス31を介して伝送された内部バスOUTフレームに従って、制御対象に対する出力値を更新(出力リフレッシュ)する(図7の(6)の部分)。その後、機能ユニット20の各々は、制御対象からの状態値を取得(入力リフレッシュ)する(図7の(7)の部分)。続いて、それぞれの機能ユニット20が取得した状態値を含むデータ(内部バスINフレーム)が内部バス31を介して通信カプラ30へ伝送される(図7の(8)の部分)。さらに、通信カプラ30は、受信した内部バスINフレームの内容を上位データフレームへ反映した上で、次段の通信カプラ30へ転送する(図7の(4)の部分)。
このように、リモートIOターミナル3(通信カプラ30)は、到着した上位データフレームから出力値を示すデータを取得し、取得した出力値をそれぞれの機能ユニット20へ与える。併せて、リモートIOターミナル3(通信カプラ30)は、機能ユニット20からの状態値を取得するとともに、フィールドネットワーク2内を順次伝送される上位データフレームにその取得した状態値を示すデータを付加する。すなわち、PLC1(CPUユニット10)とリモートIOターミナル3(通信カプラ30)との間のフィールドネットワーク2を介したデータ更新処理と、通信カプラ30と機能ユニット20との間の内部バス31を介したデータ更新処理とが並列的に実行される。
本実施の形態に係る制御システムSYSにおいては、機能ユニット20が出力値を更新する(厳密に表現すると、出力値の更新が完了する)タイミングを機能ユニット20の間で一致させる。この出力値を更新するタイミングを「OUTデータ出力同期タイミング」とも称す。このOUTデータ出力同期タイミングにおいては、すべての機能ユニットに対して、出力すべきデータ(OUTデータ)が与えられている必要がある。そのため、出力リフレッシュを開始するタイミングは、各機能ユニット20の出力処理に要する時間などを考慮して決定される。
また、本実施の形態に係る制御システムSYSにおいては、制御対象から状態値を取得する(入力リフレッシュ)タイミングを機能ユニット20の間で一致させる。この状態値を取得するタイミングを「INデータラッチ同期タイミング」とも称す。「INデータラッチ」とは、機能ユニット20に入力されている信号の値をあるタイミングで取得することを意味する。リモートIOターミナル3は、次の伝送周期の上位データフレームが到着する前に、制御対象からの状態値を取得(入力リフレッシュ)しておく必要がある。上位データフレームは順次転送されるので、各リモートIOターミナル3のフィールドネットワーク2内の装着位置に応じて、上位データフレームが到着するタイミングが異なる。そのため、INデータラッチ同期タイミングは、機能ユニット20の入力処理に要する時間および上位データフレームに生じる伝送遅延などを考慮して決定される。
上述したような入出力同期モードを設定することで、異なるリモートIOターミナル3の間であっても、機能ユニット20同士の入力リフレッシュおよび出力リフレッシュのタイミングを互いに同期させることができるので、例えば、多軸制御などをより高精度に実現できる。
このとき、リモートIOターミナル#1および#2において、出力リフレッシュおよび入力リフレッシュが繰り返される周期(#1制御周期および#2制御周期)は、いずれもPLC制御周期と一致する。但し、入出力同期モードが設定されている場合において、制御対象から取得された状態値(入力値)に基づいて決定される出力値が実際に機能ユニット20で反映されるまでの時間(入出力応答時間)は、PLC制御周期より長くなる。
<F.制御システムSYSにおける入出力同期モードの課題>
次に、上述した入出力同期モードにおける課題について説明する。図8は、本実施の形態に係る制御システムSYSにおける入出力同期モードにおける課題を説明するタイムチャートである。
図8に示すタイムチャートでは、リモートIOターミナル#2の機能ユニット#2−2の出力リフレッシュに要する時間が、他の機能ユニットに比較して長い場合を示す。この場合、リモートIOターミナル#2において、すべての機能ユニットでの出力リフレッシュ(図8の(6)の部分)が完了するタイミングは、リモートIOターミナル#1において、それぞれの機能ユニットが入力リフレッシュ(図8の(7)の部分)を開始するタイミングより後になっている。この状態では、リモートIOターミナル#1のINデータラッチ同期タイミングと、リモートIOターミナル#2のINデータラッチ同期タイミングとは一致せず、入力同期が不可能な状態になる。リモートIOターミナル#2において、それぞれの機能ユニットが入力リフレッシュを実行し、その後、出力リフレッシュを実行した場合の処理全体に要する時間(#2制御周期)は、PLC制御周期より長くなる。すなわち、サイクルオーバーとなり、適切なパラメータ設定とは言えない。
この場合、PLC制御周期(すなわち、上位データフレームの通信周期)を長くすることで、リモートIOターミナル#2の機能ユニット#2−2の出力リフレッシュにも適合させることができる。すなわち、本実施の形態に係る入出力同期モードを設定した場合、対象となるリモートIOターミナル3に装着されている複数の機能ユニット20の間で、入力リフレッシュに要する最も長い時間および出力リフレッシュに要する最も長い時間でも適合できるように、PLC制御周期を調整しつつ、INデータラッチ同期タイミングおよびOUTデータ出力同期タイミングがそれぞれ設定される。
しかしながら、PLC制御周期を長くすることによって、入出力応答時間が長くなるので、結果として、制御システム全体としての応答性能は低下することになる。そのため、機能ユニット20の間での入出力同期モード(入力リフレッシュのタイミングと出力リフレッシュのタイミングとの間の同期)、および、フィールドネットワーク2上を伝送される上位データフレームの通信周期の短縮という、互いに相反する課題を同時に解決できる手段を要望される。
<G.制御システムSYSにおける選択的なモード>
上述のような課題を解決するために、本実施の形態に係る制御システムSYSでは、すべての機能ユニット20の間で入出力同期モードを実現する設定に加えて、一部の機能ユニット20の間でのみ入出力同期モードを実現する設定が可能になっている。すなわち、制御システムSYSを構成する複数の機能ユニット20のうち、特定の機能ユニット20の間で入出力同期モードを実現するとともに、残りの機能ユニット20については、当該入出力同期モードとは異なるタイミングで出力リフレッシュおよび入力リフレッシュを実行する。
(g1:入力優先モード)
図9は、本実施の形態に係る制御システムSYSにおいて部分的に入出力同期モードが設定されている場合のタイムチャートである。図9には、リモートIOターミナル#1の機能ユニット#1−3およびリモートIOターミナル#2の機能ユニット#2−3の入力リフレッシュに要する時間が、他の機能ユニットに比較して長い場合を示す。
図9に示す例では、機能ユニット#1−1,#1−2,#2−2の間では、入出力同期モードが設定されている。これらの機能ユニット#1−1,#1−2,#2−2は、INデータラッチ同期タイミングにおいて、一斉に入力リフレッシュを開始するとともに、OUTデータ出力同期タイミングにおいて、一斉に出力リフレッシュを完了する。
一方、残りの機能ユニット#1−3,#2−1,#2−3については、入力優先モードで、出力リフレッシュおよび入力リフレッシュのタイミングが設定されている。入力優先モードは、入力リフレッシュを優先してリモートIOターミナルの制御周期を短縮する方式である。入力優先モードは、ユーザプログラムにおいて使用されるタイミングになるべく近いタイミングで、制御対象からの状態値を取得することが好ましいという思想に基づくものである。図9に示すように、入力優先モードが設定されている機能ユニット#1−3,#2−1,#2−3については、次の上位データフレームが到着する直前に入力リフレッシュが完了するように設定されている。入力リフレッシュが完了すると、すぐに出力リフレッシュが開始されるようになっている。
次の上位データフレームが到着するタイミングは、リモートIOターミナル3ごとに異なるので、同一のリモートIOターミナル3に装着される機能ユニット20の間では、制御対象から状態値を取得する(入力リフレッシュ)タイミングが一致することになる。このタイミングを「INデータラッチ同期タイミング(入力優先)」と記す。すなわち、入力優先モードに設定された機能ユニット20については、主として、上位データフレームの通信周期に基づいて、出力リフレッシュおよび入力リフレッシュのタイミングが設定される。
但し、PLC制御周期に比較して、入力リフレッシュに要する時間が相対的に長い場合には、あるPLC制御周期で収集した状態値に基づいて算出された出力値は、次のPLC制御周期で機能ユニット20に反映されることになる(機能ユニット#1−3参照)。
(g2:出力優先モード)
図10は、本実施の形態に係る制御システムSYSにおいて部分的に入出力同期モードが設定されている場合の別のタイムチャートである。図10には、リモートIOターミナル#1の機能ユニット#1−3およびリモートIOターミナル#2の機能ユニット#2−3の入力リフレッシュに要する時間が、他の機能ユニットに比較して長い場合を示す。
図10に示す例では、機能ユニット#1−1,#1−2,#2−2の間では、入出力同期モードが設定されている。これらの機能ユニット#1−1,#1−2,#2−2は、INデータラッチ同期タイミングにおいて、一斉に入力リフレッシュを開始するとともに、OUTデータ出力同期タイミングにおいて、一斉に出力リフレッシュを完了する。
一方、残りの機能ユニット#1−3,#2−1,#2−3については、出力優先モードで、出力リフレッシュおよび入力リフレッシュのタイミングが設定されている。出力優先モードは、基準となる時刻情報(以下、「システム時間同期タイミング」または「Sync0」と記す。)を起点として、出力リフレッシュを開始する方式である。図10に示すように、出力優先モードが設定されている機能ユニット#1−3,#2−1,#2−3については、システム時間同期タイミング(Sync0)を起点として、出力リフレッシュを開始し、出力リフレッシュが完了すると、すぐに入力リフレッシュが開始されるようになっている。
システム時間同期タイミング(Sync0)は、PLC1およびリモートIOターミナル3の間で共通化されているので、出力優先モードが設定されている機能ユニット20の間では、出力リフレッシュの開始タイミングが互いに一致することになる。すなわち、出力優先モードに設定された機能ユニット20については、主として、データフレームの通信周期に基づいて、その通信周期内に設定されるシステム時間同期タイミング(Sync0)から出力リフレッシュおよび入力リフレッシュのタイミングが設定される。
但し、PLC制御周期に比較して、入力リフレッシュに要する時間の差が大きい場合には、同一の上位データフレームに含められる状態値(入力値)は、機能ユニット20の間で制御周期分だけずれる場合がある(機能ユニット#2−1および機能ユニット#2−3参照)。
(g3:複数の入出力優先モード)
図11は、本実施の形態に係る制御システムSYSにおいて異なる入出力同期モードが設定されている場合のタイムチャートである。図11に示す例では、機能ユニット#1−1,#1−2,#2−2については第1の入出力同期モードが設定されるとともに、残りの機能ユニット#1−3,#2−1,#2−3については第2の入出力同期モードが設定されている。機能ユニット#1−1,#1−2,#2−2は、INデータラッチ同期タイミング1において、一斉に入力リフレッシュを開始するとともに、OUTデータ出力同期タイミング1において、一斉に出力リフレッシュを完了する。同様に、機能ユニット#1−3,#2−1,#2−3は、INデータラッチ同期タイミング2において、一斉に入力リフレッシュを開始するとともに、OUTデータ出力同期タイミング2において、一斉に出力リフレッシュを完了する。
第1の入出力同期モードについては、PLC制御周期(すなわち、上位データフレームの通信周期)ごとに、INデータラッチ同期タイミング1およびOUTデータ出力同期タイミング1が生じる。これに対して、第2の入出力同期モードについては、1回のPLC制御周期内に、INデータラッチ同期タイミング1およびOUTデータ出力同期タイミング1が生じるとは限らない。但し、第2の入出力同期モードが設定されている機能ユニット20の間では、入力リフレッシュおよび出力リフレッシュがいずれも同期している。
(g4:小括)
上述のように、本実施の形態に係る制御システムSYSでは、リモートIOターミナル3(スレーブ装置)に含まれるすべての機能ユニット20の間で、制御対象からの状態値を取得するタイミング(INデータラッチ同期タイミング)、および、制御対象に対する出力値を更新するタイミング(OUTデータ出力同期タイミング)、の両方を同期させるモード(すなわち、すべての機能ユニット20に対して、入出力同期モードが設定される場合)の設定が可能になっている。
それに加えて、リモートIOターミナル3(スレーブ装置)に含まれる特定の機能ユニット20の間で、制御対象からの状態値を取得するタイミング(INデータラッチ同期タイミング)、および、制御対象に対する出力値を更新するタイミング(OUTデータ出力同期タイミング)、の両方を同期させるモード(すなわち、一部の機能ユニット20に対して、入出力同期モードが設定される場合)の設定が可能である。この場合、リモートIOターミナル3(スレーブ装置)に含まれる機能ユニット20のうち、特定の機能ユニット以外の機能ユニット20(つまり、入出力同期モードが設定されない機能ユニット20)の間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミングのいずれか一方を、同期させるモード(入力優先モードまたは出力優先モード)が設定される。
さらに、本実施の形態に係る制御システムSYSでは、PLC1(マスタ装置もしくはスレーブ装置)に含まれるすべての機能ユニット20の間で、制御対象からの状態値を取得するタイミング(INデータラッチ同期タイミング)、および、制御対象に対する出力値を更新するタイミング(OUTデータ出力同期タイミング)、の両方を同期させるモード(すなわち、すべての機能ユニット20に対して、入出力同期モードが設定される場合)の設定を可能にしてもよい。
それに加えて、PLC1(マスタ装置もしくはスレーブ装置)に含まれる特定の機能ユニット20の間で、制御対象からの状態値を取得するタイミング(INデータラッチ同期タイミング)、および、制御対象に対する出力値を更新するタイミング(OUTデータ出力同期タイミング)、の両方を同期させるモード(すなわち、一部の機能ユニット20に対して、入出力同期モードが設定される場合)の設定を可能にしてもよい。この場合、PLC1(マスタ装置もしくはスレーブ装置)に含まれる機能ユニット20のうち、特定の機能ユニット以外の機能ユニット20(つまり、入出力同期モードが設定されない機能ユニット20)の間で、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミングのいずれか一方を、同期させるモード(入力優先モードまたは出力優先モード)が設定される。
あるいは、図11に示すように、互いに異なる2種類の入出力同期モードが設定される場合もある。つまり、PLC1(マスタ装置もしくはスレーブ装置)またはリモートIOターミナル3(スレーブ装置)に含まれる特定の機能ユニット20の間で、制御対象からの状態値を取得するタイミング(INデータラッチ同期タイミング1)、および、制御対象に対する出力値を更新するタイミング(OUTデータ出力同期タイミング1)、の両方を同期させるとともに、当該特定の機能ユニット20以外のリモートIOターミナル3(スレーブ装置)に含まれる機能ユニット20の間で、当該特定の機能ユニットとは独立して、制御対象からの状態値を取得するタイミング(INデータラッチ同期タイミング2)、および、制御対象に対する出力値を更新するタイミング(OUTデータ出力同期タイミング2)、の両方を同期させる。
<H.サポート装置によるタイミング設定>
上述した図7〜図11に示すようなタイムチャートに示すような、機能ユニット20についての、状態値の取得(入力リフレッシュ)のタイミングおよび出力値の更新(出力リフレッシュ)のタイミングは、本実施の形態に係るサポート装置40によって算出および設定される。以下、サポート装置40に実装される各種パラメータの算出および設定の処理について説明する。
本実施の形態に係る制御システムSYSにおいては、入出力同期モードが設定される機能ユニット20については、OUTデータ出力同期タイミングおよびINデータラッチ同期タイミングがそれぞれ決定される。一般的な設計手法としては、制御対象や処理内容および上位データフレームに応じて、PLC制御周期が予め設計される。すなわち、PLC制御周期および上位データフレームの通信周期といった所与の条件下において、それぞれのタイミングが決定される。
また、入力優先モードまたは出力優先モードが設定されている機能ユニット20については、OUTデータ出力同期タイミングまたはINデータラッチ同期タイミングがそれぞれ決定される。
このように、サポート装置40は、予め用意された複数のモードのうち選択されたモードに従って、PLC1(マスタ装置もしくはスレーブ装置)、または、リモートIOターミナル3(スレーブ装置)に含まれる機能ユニット20の各々に対するパラメータを算出する機能と、算出されたパラメータを制御システムSYSに対して設定する機能とを有している。
以下、入力リフレッシュおよび出力リフレッシュに要する時間について説明するとともに、サポート装置40での設定操作などについて説明する。
(h1.入力リフレッシュ)
図12は、本実施の形態に係る制御システムSYSにおける入力リフレッシュに要する時間を説明するための図である。図12(A)は、リモートIOターミナル3の通信カプラ30における入力リフレッシュに要する時間を模式的に示し、図12(B)は、通信カプラ30に装着される機能ユニット20における入力リフレッシュに要する時間を模式的に示す。
図12(A)に示すように、通信カプラ30における入力リフレッシュに要する時間として、INデータラッチ同期タイミングから開始されるINデータラッチ処理時間を考える。INデータラッチ処理時間は、内部バス31に接続されている機能ユニット20の入力応答遅延時間の最大値とINデータ転送時間との合計値に相当する。
機能ユニット20の入力応答遅延時間は、IOモジュール206(図4参照)における信号変換処理や換算処理に要する時間、IOモジュール206から送信処理部240(図4参照)へのデータコピーに要する時間などを含む。PLC1またはリモートIOターミナル3には、複数の機能ユニット20が装着されている場合もあり、このような場合には、機能ユニット20の入力応答遅延時間のうち、その値が最も長いものが制約になるため、その最大値が考慮される。
INデータ転送時間は、通信カプラ30の内部バス制御部130(図3)の内部バス31を介した内部バスフレームの受信に要する時間や、受信した内部バスフレームに含まれるINデータのフィールドネットワーク制御部110(図3)へのデータコピーに要する時間などを含む。
図12(B)に示すように、機能ユニット20における入力処理に要する時間として、INデータラッチ同期タイミングから開始される入力応答遅延時間を考える。この入力応答遅延時間は、図12(A)を参照して説明したものと同様である。
但し、厳密に言えば、機能ユニット20の各々が入力処理を開始できる状態になるまでには、ハード遅延時間が存在する。このハード遅延時間としては、機能ユニット20を構成するプロセッサなどの演算周期のずれなどがある。また、入力された信号をデジタル信号に変換する処理で発生する入力変換遅延時間なども存在する。これらのパラメータは、基本的には機能ユニット20に固有であるので、後述するように、デバイスプロファイル443などに予め格納されている値を用いる。
(h2.出力リフレッシュ)
図13は、本実施の形態に係る制御システムSYSにおける出力リフレッシュに要する時間を説明するための図である。図13(A)は、リモートIOターミナル3の通信カプラ30における出力リフレッシュに要する時間を模式的に示し、図13(B)は、通信カプラ30に装着される機能ユニット20における出力リフレッシュに要する時間を模式的に示す。
図13(A)に示すように、通信カプラ30における出力リフレッシュに要する時間として、OUTデータ転送時間を考える。このOUTデータ転送時間は、通信カプラ30のフィールドネットワーク制御部110(図3)のフィールドネットワーク2を介した上位データフレームの受信に要する時間や、受信した上位データフレームに含まれるOUTデータの内部バス制御部130(図3)へのデータコピーに要する時間などを含む。
機能ユニット20の出力応答遅延時間は、OUTデータ転送時間およびハード遅延時間を含む。OUTデータ転送時間は、受信処理部230(図4)からIOモジュール206へのデータコピーに要する時間、IOモジュール206(図4)における信号変換処理や換算処理に要する時間などを含む。ハード遅延時間は、機能ユニット20を構成するプロセッサなどの演算周期のずれや、入力された信号をデジタル信号に変換する処理で発生する入力変換遅延時間などを含む。これらのパラメータは、基本的には機能ユニット20に固有であるので、後述するように、デバイスプロファイル443などに予め格納されている値を用いる。
PLC1またはリモートIOターミナル3の各々には、複数の機能ユニット20が装着されている場合もあり、このような場合には、機能ユニット20の出力応答遅延時間のうち、その値が最も長いものが制約になるため、その最大値が考慮される。
図13(B)に示すように、機能ユニット20における出力リフレッシュに要する時間として、OUTデータラッチ同期タイミングの前に存在する出力応答遅延時間を考える。この出力応答遅延時間は、図13(A)を参照して説明したものと同様である。
(h3.データ構造)
上述した図12および図13に示す各パラメータの一部は、機能ユニット20に固有のものであり、これらのパラメータの値については、予め用意されているデバイスプロファイル443から読み出される。以下、サポート装置40に格納されるデバイスプロファイル443のデータ構造について説明する。
図14は、本実施の形態に係る制御システムSYSを構成するサポート装置40に格納されるデバイスプロファイル443のデータ構造の一例を示す図である。図14を参照して、デバイスプロファイル443は、機能ユニットの別に用意されており、対応する機能ユニットを特定するための情報(例えば、形式名、製品名称、ユニットバージョン、ベンダ、コメント、URL)を含む。そして、デバイスプロファイル443の各々は、対応する機能ユニットに固有のパラメータ(例えば、入力応答遅延時間、入力変換遅延時間、出力応答遅延時間)などを含む。すなわち、入出力同期モードなどに関するパラメータを自動算出するために必要な見込み時間は、デバイスプロファイル443を参照して取得される。
ユーザは、制御システムSYSを設計する際には、サポート装置40を操作して、PLC1を構成するユニットの情報、つまり、CPUユニット10、機能ユニット20、電源ユニット12の種類、数および位置などを設定する。同様に、ユーザは、サポート装置40を操作して、フィールドネットワーク2に接続されるスレーブ装置の構成を設定するとともに、各スレーブ装置の構成についても設定する。例えば、リモートIOターミナル3については、通信カプラ30や機能ユニット20の種類、数および位置などを設定する。
このような制御システムSYSの設計に係る情報は、構成情報442としてサポート装置40に格納される。これらの構成情報442は、必要に応じて、サポート装置40からCPUユニット10や通信カプラ30へ転送される。すなわち、構成情報442によって、通信カプラ30やCPUユニット10の不揮発性メモリ101に格納される構成情報104(図3)が生成される。
また、上述した図12および図13に示す各パラメータの一部は、PLC1および通信カプラ30に装着されている機能ユニット20の数や位置などに依存するので、パラメータを自動的に算出する際には、デバイスプロファイル443に格納されているパラメータに加えて、構成情報442が参照される。つまり、パラメータを自動算出するための見込み時間は、構成情報104によって定義される制御システムSYSの設計値に基づいて決定される。このとき、これらの見込み時間は、構成情報442によって定義される制御システムSYSにおける最大値が採用される。
(h4.ユーザインターフェイス:その1)
上述したような、入出力同期モードの対象となる機能ユニット20を選択するために、以下のようなユーザインターフェイスが提供される。すなわち、サポート装置40は、PLC1(マスタ装置またはスレーブ装置)またはリモートIOターミナル3(スレーブ装置)に含まれる機能ユニット20のうち特定の機能ユニット20に該当するものの選択を受け付ける機能を有している。
まず、サポート装置40を用いて複数の機能ユニット20に対して、入出力同期モードを選択的に設定する場合のユーザインターフェイスについて説明する。サポート装置40は、制御システムSYSに含まれるPLC1(マスタ装置またはスレーブ装置)およびリモートIOターミナル3(スレーブ装置)を設計するためのユーザインターフェイスを提供する。
図15は、本実施の形態に係る制御システムSYSにおける入出力同期モードの選択的な設定方法の一例を示す模式図である。図16は、図15に示す設定方法に対応するユーザインターフェイス画面の一例を示す図である。
図15(A)に示すように、一例として、制御システムSYSに含まれる機能ユニット20の各々について、入出力同期モードおよび入力優先モード/出力優先モードの設定可否がそれぞれ予め定められているとする。それぞれの設定可否の属性は、各機能ユニット20の特性に応じて定められる。例えば、入力処理に係る時間が比較的長いもの(例えば、エンコーダ入力ユニットやアナログ入力ユニットなど)、ならびに、出力処理に係る時間が比較的長いもの(例えば、パルス出力ユニットやサーボ制御ユニットなど)については、入出力同期モードに加えて、入力優先モード/出力優先モードも設定可能に構成される。これに対して、デジタル入力ユニットやデジタル出力ユニットといった、入出力処理が比較的高速なものは、入出力同期モードのみが設定可能に構成される。
サポート装置40は、図16に示すようなユーザインターフェイス画面610を提供する。ユーザは、制御システムSYSを構成するマスタ装置およびスレーブ装置の一覧のうち、対象となる装置を選択する(符号611)。選択された装置の属性情報が一覧表示される(符号612)。一覧表示される属性情報のうち、「I/Oタイミング」のアイテム(符号613)を選択すると、「入出力同期」および「タスク周期優先」のいずれかを選択できるようになっている。
ここで、「入出力同期」が選択されると、対象の装置(マスタ装置またはいずれかのスレーブ装置)に装着されているすべての機能ユニット20が「入出力同期モード」に設定される(図15(B)参照)。
一方、「タスク周期優先」が選択されると、対象の装置(マスタ装置またはいずれかのスレーブ装置)に装着されている機能ユニット20のうち「入力優先モード/出力優先モード」が設定可能な機能ユニット20については、「入力優先モード」または「出力優先モード」が設定される。その他の機能ユニット20については、「入出力同期モード」が設定される(図15(C)参照)。
図15(B)または図15(C)に示すような設定モードに応じて、サポート装置40は、対象となる機能ユニット20に対する、システム時間同期タイミング、OUTデータ出力同期タイミング(または、出力リフレッシュのタイミング)、および、INデータラッチ同期タイミング(または、入力リフレッシュのタイミング)をそれぞれ算出する。
(h5.ユーザインターフェイス:その2)
図17は、本実施の形態に係るサポート装置40によって提供されるユーザインターフェイス画面の一例を示す図である。図17に示すユーザインターフェイス画面620は、PLC1およびリモートIOターミナル3のユニット構成を設計するためのものである。図17に示すユーザインターフェイス画面620が表示された状態で、ユーザがマウスやキーボードなどを操作することで、PLC1またはリモートIOターミナル3に装着する機能ユニット20を選択するとともに、所望の順序でレイアウトしていく(符号622)。図17に示すユーザインターフェイス画面620において、各機能ユニット20のパラメータを設定することもできる(符号626)。図17に示すユーザインターフェイス画面620上でユーザが設定する構成情報(コンフィギュレーション)は、構成情報442として、保持手段であるハードディスク44に格納される。
図17に示すユーザインターフェイス画面620では、PLC1またはリモートIOターミナル3に装着されている(あるいは、装着されることになっている)機能ユニット20のうち、入出力同期モードの対象となる機能ユニット20を任意に選択できるようになっている。一例として、ユーザインターフェイス画面620では、装着される1または複数の機能ユニット20のレイアウトに対応付けて、チェックボックスが表示される(符号624)。ユーザは、チェックボックスにチェックを入れることで、対応する機能ユニット20が入出力同期モードの対象となる。なお、チェックが入れられていない機能ユニット20については、入出力同期モード以外のモードが設定される。
なお、いずれかのモードが設定された後には、レイアウト表示されたそれぞれの機能ユニット20の色を設定されているモードに応じて変化させてもよい。このように表示態様を変化させることで、ユーザは、各機能ユニット20に対して、いずれのモードが設定されているのかを一見して把握できる。
(h6.ユーザインターフェイス:その3)
図18は、本実施の形態に係るサポート装置40によって提供されるユーザインターフェイス画面の別の一例を示す図である。図18に示すユーザインターフェイス画面630では、PLC1またはリモートIOターミナル3に装着されている(あるいは、装着されることになっている)機能ユニット20の各々に対して、いずれのモードを設定すべきかを任意に選択できるようになっている。一例として、ユーザインターフェイス画面630では、装着される1または複数の機能ユニット20のレイアウトに対応付けて、ラジオボタン群が表示される(符号632)。ラジオボタンの各セットは、入出力同期モード1または2、入力優先モード、出力優先モードの4つのモードを含む。ユーザは、目的とするモードを示すラジオボタンを選択することで、対応する機能ユニット20が選択されたモードに設定される。なお、入出力同期モード1と入出力同期モード2とは、上述の図11を参照して説明したような、複数の入出力同期モードを設定する場合に用いられる。
なお、いずれかのモードが設定された後には、レイアウト表示されたそれぞれの機能ユニット20の色を設定されているモードに応じて変化させてもよい。このように表示態様を変化させることで、ユーザは、各機能ユニット20に対して、いずれのモードが設定されているのかを一見して把握できる。
(h7:制御システムにおける各タイミングの算出)
サポート装置40は、上述したようなユーザインターフェイス画面などを提供することで、制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる対象となる(すなわち、入出力同期モードが設定される対象となる)機能ユニット20を特定する。そして、以下のような処理を行うことで、入出力同期モードの対象となる機能ユニット20に関して、それぞれのタイミングを算出する。
より具体的には、サポート装置40は、フィールドネットワーク2上を所定の通信周期で伝送される上位データフレームに関して、PLC1(マスタ装置)が上位データフレームを送出してから、リモートIOターミナル3(スレーブ装置)での受信が完了するまでに要する第1の見込み時間(図7〜図11の(4)の部分の時間長さ)を取得する。
また、サポート装置40は、リモートIOターミナル3(スレーブ装置)において、上位データフレームの受信が完了してから、当該受信した上位データフレームに含まれるデータの対象の機能ユニット20すべてへの転送が完了するまでに要する第2の見込み時間(図7〜図11の(5)の部分の時間長さ)を取得する。
また、サポート装置40は、リモートIOターミナル3(スレーブ装置)において、対象の機能ユニット20のすべてが制御対象から取得した状態値をフィールドネットワーク2を介して送出できる状態になるまでに要する第3の見込み時間(図7〜図11の(7)および(8)の部分の合計の時間長さの最大値)を取得する。
そして、サポート装置40は、対象の機能ユニット20の各々について、上述したような見込み時間に基づいて、制御対象からの状態値の取得を開始する通信周期内のタイミング(INデータラッチ同期タイミング)、および、受信したデータフレームに含まれるデータを制御対象に対して出力する通信周期内のタイミング(OUTデータ出力同期タイミング)をそれぞれ算出する。
同様に、サポート装置40は、入力優先モードまたは出力優先モードが設定されている機能ユニット20については、上述したような見込み時間を適宜用いて、それぞれタイミングを算出する。
<I.処理手順>
次に、サポート装置40を用いて、本実施の形態に係る制御システムSYSに対するパラメータを設定する処理手順について説明する。図19は、本実施の形態に係る制御システムSYSに対するパラメータを設定する処理手順を示すフローチャートである。図19に示す処理手順は、典型的には、サポート装置40のCPU41がツールプログラム441(図5)を実行することで実現される。必要なパラメータの算出処理をサポート装置40に実装する構成に代えて、PLC1のCPUユニット10やサポート装置40とは別の情報処理装置などに実装してもよい。
図19を参照して、ツールプログラム441の実行がユーザにより指示されると、サポート装置40は、制御システムSYSを設計するためのユーザインターフェイス画面をディスプレイ47上に表示する(ステップS100)。そして、サポート装置40は、ユーザから制御システムSYSに関する設計値を受け付ける(ステップS102)。この設計値は、制御システムSYSの全体に係るパラメータおよび各ユニットに係るパラメータなどを含む。
併せて、サポート装置40は、ユーザから、制御システムSYSを構成する機能ユニット20に対する同期モードの設定を受け付ける(ステップS104)。より具体的には、上述の図16〜図18を参照して説明したように、サポート装置40は、入出力同期モードを設定する対象となる1または複数の機能ユニット20の指定や、入出力同期モード以外のモード(入力優先モード/出力優先モード)の指定などを受け付ける。
ユーザから制御システムSYSに関する設計値の設定終了が指示されるまで(ステップS106においてNO)、ステップS102およびS104の処理が繰り返される。
ユーザから制御システムSYSに関する設計値の設定終了が指示されると(ステップS106においてYES)、サポート装置40は、ユーザによって入力された設計値で構成情報442を生成/更新する(ステップS108)。
続いて、パラメータの自動算出が指示されると(ステップS110においてYES)、サポート装置40は、構成情報442およびデバイスプロファイル443を参照して、パラメータの算出処理を開始する。具体的には、サポート装置40は、構成情報442から、(1)CPUユニット10のPLC制御周期、(2)スレーブ装置の有効/無効設定、(3)上位データフレームの通信周期などの情報を読み出す(ステップS112)。続いて、サポート装置40は、構成情報442を参照して、制御システムSYSに含まれる各機能ユニット20を特定するとともに、各機能ユニット20について、デバイスプロファイル443から、(a)入力応答遅延時間、(b)入力変換遅延時間、(c)出力応答遅延時間などの情報(いずれも図14参照)を読み出す(ステップS114)。
続いて、サポート装置40は、制御システムSYSに含まれる通信カプラ30の各々について、デバイスプロファイル443から装着される各機能ユニット20の入力応答遅延時間を読み出すとともに、各通信カプラ30に装着される機能ユニット20の入力応答遅延時間の最大値からスレーブ装置での入力応答遅延時間を決定する(ステップS116)。
続いて、サポート装置40は、構成情報442のうち、制御システムSYSのフィールドネットワーク2に関するパラメータ、および、スレーブ装置に関するパラメータ、ならびに、通信カプラ30の構成に係るパラメータ、および、各通信カプラ30に含まれる機能ユニット20に係るパラメータを読み出す(ステップS118)。
最終的に、サポート装置40は、システム時間同期タイミング、OUTデータ出力同期タイミング、INデータラッチ同期タイミングをそれぞれ算出する(ステップS120)。また、入力優先モードまたは出力優先モードが設定されている機能ユニット20については、OUTデータ出力同期タイミング、または、INデータラッチ同期タイミングが算出される。この算出されたそれぞれの値は、同期パラメータとして、構成情報442などに格納される。
すなわち、サポート装置40は、ステップS112〜S120において、予め用意された複数のモードのうち選択されたモードに従って、PLC1(マスタ装置もしくはスレーブ装置)またはリモートIOターミナル3(スレーブ装置)に含まれる機能ユニット20の各々に対するパラメータを算出する。
最終的に、サポート装置40は、算出された各種パラメータを制御システムSYS内のPLC1へ転送し(ステップS122)、PLC1から、1または複数のリモートIOターミナル3へ必要なパラメータが転送される。このような一連の手順によって、制御システムSYSでは、特定の機能ユニット20が入出力同期モードで動作し、他の機能ユニット20については、指定されたモード(入力優先モード/出力優先モード)、またはデフォルト設定のモードで動作する。このように、サポート装置40は、算出されたパラメータを制御システムSYSに対して設定する。
<J.利点>
本実施の形態によれば、制御対象などに応じて、入力リフレッシュおよび出力リフレッシュの両方を同期させたい機能ユニット20を選択的に指定できる。それ以外の機能ユニット20については、状況に応じて、入力優先モードまたは出力優先モードを設定できる。これによって、機能ユニット20間での入力タイミングおよび出力タイミングの同期と、フィールドネットワーク2上を伝送される上位データフレームの通信周期の短縮という、互いに相反する課題を同時に解決できる。
また、本実施の形態によれば、いずれのモードが設定された場合であっても、必要なパラメータが適宜算出されるので、専門知識のないユーザであっても、より少ない工数で制御システムSYSを動作させることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 PLC、2 フィールドネットワーク、3 リモートIOターミナル、6 検出スイッチ、7 リレー、10 CPUユニット、11,31 内部バス、12 電源ユニット、20 機能ユニット、30 通信カプラ、40 サポート装置、41 CPU、43 RAM、44 ハードディスク、45 キーボード、46 マウス、47 ディスプレイ、48 CD−ROM駆動装置、52 CD−ROM、54 接続ケーブル、100,200 プロセッサ、101 不揮発性メモリ、102,209 システムプログラム、104,442 構成情報、110 フィールドネットワーク制御部、112,210a,220a 受信部、114,210b,220b 送信部、120 フィールドネットワーク通信コントローラ、122 メモリコントローラ、124,207 メモリ、126,164,203 受信バッファ、128,166,204 送信バッファ、130 内部バス制御部、132 内部バス通信コントローラ、142 送信回路、144 受信回路、160 記憶部、162,202 共有メモリ、206 IOモジュール、208 設定情報、212,222 DES、214,224 フォワードコントローラ、216,226 SER、230 受信処理部、232 復号部、234 CRCチェック部、240 送信処理部、242 CRC生成部、244 符号化部、250 バス、311 ダウンリンク、312 アップリンク、441 ツールプログラム、443 デバイスプロファイル、SYS 制御システム。

Claims (8)

  1. マスタ装置と前記マスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムに対してパラメータを設定するための情報処理装置であって、前記スレーブ装置は、制御対象との間で信号を遣り取りする1または複数の機能ユニットを含み、
    予め用意された複数のモードのうち選択されたモードに従って、前記スレーブ装置に含まれる機能ユニットの各々に対するパラメータを算出する算出手段と、
    算出されたパラメータを前記制御システムに対して設定する設定手段とを備え、
    前記複数のモードは、
    前記スレーブ装置に含まれるすべての機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、
    前記スレーブ装置に含まれる特定の機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む、情報処理装置。
  2. 前記第2のモードにおいて、前記特定の機能ユニット以外の前記スレーブ装置に含まれる機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミングのいずれか一方を、同期させる、請求項1に記載の情報処理装置。
  3. 前記第2のモードにおいて、
    前記特定の機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させるとともに、
    前記特定の機能ユニット以外の前記スレーブ装置に含まれる機能ユニットの間で、前記特定の機能ユニットとは独立して、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる、請求項1に記載の情報処理装置。
  4. 前記スレーブ装置に含まれる機能ユニットのうち前記特定の機能ユニットに該当するものの選択を受け付ける手段をさらに備える、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記マスタ装置は、制御対象との間で信号を遣り取りする1または複数の機能ユニットを含み、
    前記算出手段は、さらに、前記複数のモードのうち選択されたモードに従って、前記マスタ装置に含まれる機能ユニットの各々に対するパラメータを算出する、
    前記複数のモードは、さらに
    前記マスタ装置に含まれるすべての機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させるモードと、
    前記マスタ装置に含まれる特定の機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させるモードとをさらに含む、請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる対象となる機能ユニットを特定する手段と、
    前記ネットワーク上を所定の通信周期で伝送されるデータフレームに関して、前記マスタ装置が前記データフレームを送出してから、前記スレーブ装置での受信が完了するまでに要する第1の見込み時間を取得する手段と、
    前記スレーブ装置において、前記データフレームの受信が完了してから、当該受信したデータフレームに含まれるデータの対象の機能ユニットすべてへの転送が完了するまでに要する第2の見込み時間を取得する手段と、
    前記スレーブ装置において、前記対象の機能ユニットのすべてが前記制御対象から取得した状態値を前記ネットワークを介して送出できる状態になるまでに要する第3の見込み時間を取得する手段と、
    前記対象の機能ユニットの各々について、前記第1〜第3の見込み時間に基づいて、前記制御対象からの状態値の取得を開始する通信周期内のタイミング、および、前記受信したデータフレームに含まれるデータを前記制御対象に対して出力する通信周期内のタイミングをそれぞれ決定する決定手段とをさらに備える、請求項1〜5のいずれか1項に記載の情報処理装置。
  7. マスタ装置と前記マスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムに対してパラメータを設定するための処理をコンピュータに実行させる情報処理プログラムであって、前記スレーブ装置は、制御対象との間で信号の遣り取りする1または複数の機能ユニットを含み、前記情報処理プログラムは、前記コンピュータに
    予め用意された複数のモードのうち選択されたモードに従って、前記スレーブ装置に含まれる機能ユニットの各々に対するパラメータを算出するステップと、
    算出されたパラメータを前記制御システムに対して設定するステップとを実行させ、
    前記複数のモードは、
    前記スレーブ装置に含まれるすべての機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、
    前記スレーブ装置に含まれる特定の機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む、情報処理プログラム。
  8. マスタ装置と前記マスタ装置とネットワークを介して接続される1つまたは複数のスレーブ装置とを備える制御システムに対してパラメータを設定するための情報処理方法であって、前記スレーブ装置は、制御対象との間で信号の遣り取りする1または複数の機能ユニットを含み、前記情報処理方法は、
    予め用意された複数のモードのうち選択されたモードに従って、前記スレーブ装置に含まれる機能ユニットの各々に対するパラメータを算出するステップと、
    算出されたパラメータを前記制御システムに対して設定するステップとを備え、
    前記複数のモードは、
    前記スレーブ装置に含まれるすべての機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第1のモードと、
    前記スレーブ装置に含まれる特定の機能ユニットの間で、前記制御対象からの状態値を取得するタイミング、および、制御対象に対する出力値を更新するタイミング、の両方を同期させる第2のモードとを含む、情報処理方法。
JP2015073048A 2015-03-31 2015-03-31 情報処理装置、情報処理プログラムおよび情報処理方法 Expired - Fee Related JP6477161B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015073048A JP6477161B2 (ja) 2015-03-31 2015-03-31 情報処理装置、情報処理プログラムおよび情報処理方法
CN201510801597.4A CN106020094B (zh) 2015-03-31 2015-11-19 信息处理装置、计算机可读存储介质及信息处理方法
US14/949,939 US10572420B2 (en) 2015-03-31 2015-11-24 Information processing apparatus, information processing program, and information processing method
EP15196372.5A EP3076251B1 (en) 2015-03-31 2015-11-25 Information processing apparatus, information processing program, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015073048A JP6477161B2 (ja) 2015-03-31 2015-03-31 情報処理装置、情報処理プログラムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2016192172A true JP2016192172A (ja) 2016-11-10
JP6477161B2 JP6477161B2 (ja) 2019-03-06

Family

ID=54770824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015073048A Expired - Fee Related JP6477161B2 (ja) 2015-03-31 2015-03-31 情報処理装置、情報処理プログラムおよび情報処理方法

Country Status (4)

Country Link
US (1) US10572420B2 (ja)
EP (1) EP3076251B1 (ja)
JP (1) JP6477161B2 (ja)
CN (1) CN106020094B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018173710A (ja) * 2017-03-31 2018-11-08 オムロン株式会社 制御装置、制御プログラム、および制御システム
JP2019079458A (ja) * 2017-10-27 2019-05-23 島津システムソリューションズ株式会社 プロセス制御装置
EP3540593A2 (en) 2018-03-15 2019-09-18 OMRON Corporation Program development assist system, program development assist method, and program development assist program
JP2020098487A (ja) * 2018-12-18 2020-06-25 ファナック株式会社 機械の制御装置
JP2020187659A (ja) * 2019-05-16 2020-11-19 オムロン株式会社 情報処理装置
JP2022009933A (ja) * 2019-02-28 2022-01-14 株式会社安川電機 通信システム、通信方法、及びプログラム
JP7034399B1 (ja) * 2021-06-25 2022-03-11 三菱電機株式会社 入力ユニット、制御システム、通信方法及びプログラム
JP2022093387A (ja) * 2019-03-15 2022-06-23 オムロン株式会社 制御システム、装置および制御方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113671894B (zh) * 2015-11-05 2024-02-13 三菱电机株式会社 功能单元及控制装置
JP6772748B2 (ja) * 2016-10-14 2020-10-21 オムロン株式会社 演算装置および制御システム
JP6753262B2 (ja) * 2016-10-14 2020-09-09 オムロン株式会社 制御装置および通信装置
JP6428805B2 (ja) * 2017-02-07 2018-11-28 オムロン株式会社 演算装置、制御装置および制御方法
EP3410646B1 (en) * 2017-05-31 2019-12-11 Omron Corporation A switch device for an automation network
JP6962099B2 (ja) * 2017-09-25 2021-11-05 オムロン株式会社 制御システムおよび制御装置
JP6897462B2 (ja) * 2017-09-27 2021-06-30 オムロン株式会社 制御システムおよび通信方法
JP6972873B2 (ja) * 2017-10-04 2021-11-24 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP6468377B1 (ja) * 2018-02-13 2019-02-13 オムロン株式会社 出力管理装置、出力管理方法及びプログラム
JP7183545B2 (ja) * 2018-02-27 2022-12-06 オムロン株式会社 制御システムおよび機能ユニット
JP6922814B2 (ja) * 2018-03-27 2021-08-18 オムロン株式会社 サポート装置、サポートプログラム、設定方法
DE102018111452A1 (de) * 2018-05-14 2019-11-14 Carl Zeiss Ag Steuereinheit für Echtzeitsysteme
JP6993580B2 (ja) * 2018-08-03 2022-01-13 日本電信電話株式会社 制御システム及び制御方法
CN111198698B (zh) * 2018-11-16 2023-04-18 上海安浦鸣志自动化设备有限公司 基于EtherCAT的多设备固件程序并行下载方法及系统
JP7003951B2 (ja) * 2019-03-14 2022-01-21 オムロン株式会社 制御システム
JP7036069B2 (ja) 2019-03-15 2022-03-15 オムロン株式会社 制御システム、中継装置、および中継プログラム
JP7192608B2 (ja) * 2019-03-26 2022-12-20 オムロン株式会社 ネットワーク管理装置、管理方法、管理プログラムおよび記録媒体
JP7423249B2 (ja) * 2019-10-24 2024-01-29 株式会社日立製作所 制御装置及び分散制御システム
JP7404789B2 (ja) 2019-11-01 2023-12-26 オムロン株式会社 制御システム、制御システムの通信制御方法、および制御装置
CN111061188B (zh) * 2019-12-19 2023-04-14 苏州迅镭激光科技有限公司 一种新型io通信的线束板卡的实现方法
JP2021149853A (ja) * 2020-03-23 2021-09-27 キヤノン株式会社 情報処理方法、情報処理装置、生産システム、および物品の製造方法
KR102543841B1 (ko) * 2021-04-06 2023-06-14 엘에스일렉트릭(주) 통신 기반 제어 시스템의 효율적 슬레이브 파라미터 관리 방법 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293569A (ja) * 2004-03-11 2005-10-20 Omron Corp 同期コントローラ
WO2012081115A1 (ja) * 2010-12-16 2012-06-21 三菱電機株式会社 シーケンサシステムおよびその制御方法
JP2014120884A (ja) * 2012-12-14 2014-06-30 Omron Corp 情報処理装置、情報処理プログラムおよび情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1574921B1 (en) 2004-03-11 2012-12-12 Omron Corporation Synchronous controller
CN101208652A (zh) * 2005-04-29 2008-06-25 皇家飞利浦电子股份有限公司 具有可编程写事务周期的i2c从设备
JP2007312043A (ja) 2006-05-17 2007-11-29 Omron Corp リモートi/oシステム
CA2592817C (en) * 2006-06-30 2010-02-16 Hitachi, Ltd. Control apparatus, control method and control program
US8005553B2 (en) 2006-09-29 2011-08-23 Fisher-Rosemount Systems, Inc. Automatic configuration of synchronous block execution for control modules run in fieldbus networks
JP4985979B2 (ja) * 2008-02-05 2012-07-25 横河電機株式会社 プログラマブルロジックコントローラ
JP5794449B2 (ja) * 2010-03-15 2015-10-14 オムロン株式会社 プログラマブルコントローラ
JP4752983B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
WO2013186889A1 (ja) * 2012-06-14 2013-12-19 三菱電機株式会社 I/oデバイス、プログラマブルロジックコントローラ及び演算方法
JP5570556B2 (ja) * 2012-07-23 2014-08-13 ファナック株式会社 Ioユニットと通信を行う数値制御装置
US9323286B2 (en) * 2012-09-22 2016-04-26 Innovasic, Inc. Ad-hoc synchronization of industrial control networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293569A (ja) * 2004-03-11 2005-10-20 Omron Corp 同期コントローラ
WO2012081115A1 (ja) * 2010-12-16 2012-06-21 三菱電機株式会社 シーケンサシステムおよびその制御方法
JP2014120884A (ja) * 2012-12-14 2014-06-30 Omron Corp 情報処理装置、情報処理プログラムおよび情報処理方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908579B2 (en) 2017-03-31 2021-02-02 Omron Corporation Controller, control program, and control system
JP2018173710A (ja) * 2017-03-31 2018-11-08 オムロン株式会社 制御装置、制御プログラム、および制御システム
JP2019079458A (ja) * 2017-10-27 2019-05-23 島津システムソリューションズ株式会社 プロセス制御装置
EP3540593A2 (en) 2018-03-15 2019-09-18 OMRON Corporation Program development assist system, program development assist method, and program development assist program
US10628143B2 (en) 2018-03-15 2020-04-21 Omron Corporation Program development assist system, program development assist method, and non-transitory computer readable recording medium
JP2020098487A (ja) * 2018-12-18 2020-06-25 ファナック株式会社 機械の制御装置
JP7359543B2 (ja) 2018-12-18 2023-10-11 ファナック株式会社 機械の制御装置
JP2022009933A (ja) * 2019-02-28 2022-01-14 株式会社安川電機 通信システム、通信方法、及びプログラム
JP7230989B2 (ja) 2019-02-28 2023-03-01 株式会社安川電機 通信システム、通信方法、及びプログラム
JP2022093387A (ja) * 2019-03-15 2022-06-23 オムロン株式会社 制御システム、装置および制御方法
US11811547B2 (en) 2019-03-15 2023-11-07 Omron Corporation Control system in which a plurality of apparatuses in time synchronization with one another are connected to a network
JP7396393B2 (ja) 2019-03-15 2023-12-12 オムロン株式会社 制御システム、装置および制御方法
WO2020230413A1 (ja) * 2019-05-16 2020-11-19 オムロン株式会社 情報処理装置
JP7226084B2 (ja) 2019-05-16 2023-02-21 オムロン株式会社 情報処理装置
US11734206B2 (en) 2019-05-16 2023-08-22 Omron Corporation Information processing device
JP2020187659A (ja) * 2019-05-16 2020-11-19 オムロン株式会社 情報処理装置
JP7034399B1 (ja) * 2021-06-25 2022-03-11 三菱電機株式会社 入力ユニット、制御システム、通信方法及びプログラム
WO2022269889A1 (ja) * 2021-06-25 2022-12-29 三菱電機株式会社 入力ユニット、制御システム、通信方法及びプログラム
CN116710857A (zh) * 2021-06-25 2023-09-05 三菱电机株式会社 输入单元、控制系统、通信方法及程序

Also Published As

Publication number Publication date
US20160292110A1 (en) 2016-10-06
CN106020094A (zh) 2016-10-12
JP6477161B2 (ja) 2019-03-06
CN106020094B (zh) 2018-10-12
US10572420B2 (en) 2020-02-25
EP3076251B1 (en) 2018-07-25
EP3076251A1 (en) 2016-10-05

Similar Documents

Publication Publication Date Title
JP6477161B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP6094196B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
US9398080B2 (en) Control device, image processing device, control method, computer-readable recording medium, and program
JP6187674B2 (ja) 制御システム、制御装置および制御方法
JP5794449B2 (ja) プログラマブルコントローラ
US9836038B2 (en) Control device, and control method for link activating and deactivating
JP6140459B2 (ja) センサーデータ伝送装置
JP6488830B2 (ja) 制御装置
JP6540166B2 (ja) 制御装置
US20150177723A1 (en) Control unit, output control method and program
JP6874438B2 (ja) スレーブ装置、スレーブ装置の制御方法、情報処理プログラム、および記録媒体
KR20150068498A (ko) 데이터 전송 장치
US20160291556A1 (en) Controller
WO2018070190A1 (ja) 演算装置および制御システム
JP6729746B2 (ja) 制御装置
JP2009049642A (ja) 伝送システム
JP6149393B2 (ja) 通信カプラ、情報処理装置、制御方法およびプログラム
KR101400319B1 (ko) 스타 토폴로지의 네트워크 기반 제어 시스템 및 시간 동기화 방법
US20250189954A1 (en) Field bus system
JP2016139300A (ja) 通信処理装置、通信処理方法、及び、情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180706

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: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6477161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees