WO2020166131A1 - リモートi/oシステム - Google Patents
リモートi/oシステム Download PDFInfo
- Publication number
- WO2020166131A1 WO2020166131A1 PCT/JP2019/040383 JP2019040383W WO2020166131A1 WO 2020166131 A1 WO2020166131 A1 WO 2020166131A1 JP 2019040383 W JP2019040383 W JP 2019040383W WO 2020166131 A1 WO2020166131 A1 WO 2020166131A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- module
- remote
- information network
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
Abstract
実施形態のリモートI/Oシステム(100)は、情報ネットワーク制御モジュール(1)と、I/Oインタフェースモジュール(2)と、リモートI/Oモジュール(3)と、を備える。情報ネットワーク制御モジュール(1)は、コモンメモリ(1a)と、第2制御IC(1b)と、を備える。第2制御IC(1b)は、情報ネットワーク(NT)から読み込んだデータを記憶するデータラッチ用バッファ(1d)と、情報ネットワーク(NT)から前回読み込んだデータを記憶する変化検出メモリ(1e)と、を有し、データラッチ用バッファ(1d)に記憶されるデータと、変化検出メモリ(1e)に記憶されるデータと、を比較してデータの変化を検出する変化検出回路(1c)を備え、スキャンメモリ領域のうち、変化検出回路(1c)によってデータの変化が検出されたスキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によってI/Oインタフェースモジュール(2)に送信する。
Description
本発明の実施形態は、リモートI/Oシステムに関する。
I/Oモジュールは、PAやFA等の工場において、コントローラやPC等のマスタ機器と接続され、モータやセンサ等の周辺機器に対して、データの入出力を行う電子機器である。その中でも、リモートI/Oモジュールは、通信ネットワークを介して、マスタ機器とデータの転送を行う電子機器である。リモートI/Oモジュールによれば、マスタ機器に搭載されるCPUモジュールの動作負荷の軽減、I/O通信に用いる配線の本数の削減、通信ネットワークで接続される一部のリモートI/Oモジュールの更新が可能となる。
ところで、大容量のデータを転送可能な大容量データ転送方式の需要拡大に伴い、I/OモジュールやリモートI/Oモジュールには、データ転送の高速化が求められている。
ここで、リモートI/Oモジュールを含むリモートI/Oシステムの構成の一例について説明する。リモートI/Oシステムにおいて、通信ネットワークに接続された情報ネットワーク制御モジュールからリモートI/Oモジュールへのデータの伝送は、I/Oインタフェースモジュールを介して行われる。その際、情報ネットワーク制御モジュールは、当該情報ネットワーク制御モジュールが有するコモンメモリ内のスキャンメモリ領域のうち、CPUモジュールによって指定されたスキャンメモリ領域に記憶されるデータを、I/Oインタフェースモジュールに対して送信する。その後、I/Oインタフェースモジュールは、情報ネットワーク制御モジュールから受信したデータを、リモートI/Oモジュールへ送信する。リモートI/Oモジュールから情報ネットワーク制御モジュールへのデータの転送方式も、同様に、I/Oインタフェースモジュールを介した転送方式によって行われる。
このようなリモートI/Oシステムでは、情報ネットワーク制御モジュールが有するコモンメモリ内のスキャンメモリ領域のうちリモートI/Oモジュールに送信するデータを記憶するスキャンメモリ領域をCPUモジュールが指定する処理(以下、CPU処理と言う)を介して、情報ネットワーク制御モジュールからI/Oインタフェースモジュールへのデータの送信が行われる。そのため、情報ネットワーク制御モジュールとI/Oインタフェースモジュール間でのデータの転送が、I/OインタフェースモジュールとリモートI/Oモジュール間でのデータの転送よりも常に時間がかかる。
これにより、情報ネットワーク制御モジュールとI/Oインタフェースモジュール間でのデータの転送、およびI/OインタフェースモジュールとリモートI/Oモジュール間でのデータの転送を並行して実行する一括入出力処理を行う場合に、情報ネットワーク制御モジュールとリモートI/Oモジュール間でのデータの転送に要するトータルの時間が、情報ネットワーク制御モジュールとI/Oインタフェースモジュール間でのデータの転送時間に依存してしまい、I/OインタフェースモジュールとリモートI/Oモジュール間でのデータの転送に無駄な待ち時間が生じている。
実施形態のリモートI/Oシステムは、情報ネットワーク制御モジュールと、I/Oインタフェースモジュールと、リモートI/Oモジュールと、を備える。I/Oインタフェースモジュールは、I/Oインタフェースメモリと、第1制御ICと、を備える。第1制御ICは、情報ネットワーク制御モジュールまたは他のI/Oインタフェースモジュールから、リモートI/Oバスを介して、サイクリックスキャン伝送によって送信されたデータを受信して、I/Oインタフェースメモリに書き込み、当該I/Oインタフェースメモリに記憶されるデータをリモートI/Oモジュールに出力する。情報ネットワーク制御モジュールは、コモンメモリと、第2制御ICと、を備える。コモンメモリは、I/Oインタフェースモジュール毎に設けられるスキャンメモリ領域を有する。第2制御ICは、情報ネットワークから読み込んだデータをスキャンメモリ領域に書き込み、スキャンメモリ領域に記憶されるデータを、リモートI/Oバスを介して、サイクリックスキャン伝送によってI/Oインタフェースモジュールに送信する。また、第2制御ICは、情報ネットワークから読み込んだデータを記憶するデータラッチ用バッファと、情報ネットワークから前回読み込んだデータを記憶する変化検出メモリと、を有し、データラッチ用バッファに記憶されるデータと、変化検出メモリに記憶されるデータと、を比較してデータの変化を検出する変化検出回路を備え、スキャンメモリ領域のうち、変化検出回路によってデータの変化が検出されたスキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によってI/Oインタフェースモジュールに送信する。
以下、添付の図面を用いて、本実施形態にかかるリモートI/Oシステムについて説明する。
図1は、本実施形態にかかるリモートI/Oシステムの構成の一例を示す図である。本実施形態にかかるリモートI/Oシステム100は、図1に示すように、情報ネットワーク制御モジュール1と、3つのI/Oインタフェースモジュール2-1~2-3と、複数のリモートI/Oモジュール3と、を有する。
以下、複数のI/Oインタフェースモジュール2-1~2-Nを区別する必要がない場合には、I/Oインタフェースモジュール2と記載する。本実施形態では、リモートI/Oシステム100が、3つのI/Oインタフェースモジュール2-1~2-3を有する例について説明するが、複数のI/Oインタフェースモジュール2を有するものであれば、これに限定するものではない。
情報ネットワーク制御モジュール1は、プラント内のイントラネット等の情報ネットワークNT、およびコントローラやPC等のマスタ機器4に搭載されるCPUモジュール4aと接続されている。また、情報ネットワーク制御モジュール1と、I/Oインタフェースモジュール2とは、リモートI/OバスB1を介して接続され、リモートI/OバスB1を介してサイクリックスキャン伝送を実行する。また、I/Oインタフェースモジュール2と、リモートI/Oモジュール3とは、I/OバスB2を介して接続されている。
リモートI/Oモジュール3は、I/Oメモリ3aと、制御IC3bと、を有する。I/Oメモリ3aは、I/Oインタフェースモジュール2から入力されるデータ、およびモータやセンサ等の周辺機器から入力されるデータを記憶する。制御IC3bは、I/OバスB2を介して、I/Oインタフェースモジュール2からデータを受信し、I/Oメモリ3aに書き込む。そして、制御IC3bは、I/Oメモリ3aに記憶されるデータ(I/Oインタフェースモジュール2から受信したデータ)を、周辺機器に送信する。また、制御IC3bは、周辺機器から入力されるデータを、I/Oメモリ3aに書き込み。そして、制御IC3bは、I/Oメモリ3aに記憶されるデータ(周辺機器から入力されるデータ)を、I/Oインタフェースモジュール2に送信する。
I/Oインタフェースモジュール2は、I/Oインタフェースメモリ2aと、制御IC2bと、を有する。I/Oインタフェースメモリ2aは、入力エリア2cと、出力エリア2dと、を有する。入力エリア2cは、リモートI/Oモジュール3から入力されるデータを記憶するメモリ領域である。出力エリア2dは、リモートI/Oモジュール3に出力するデータを記憶するメモリ領域である。
制御IC2bは、リモートI/Oモジュール3から入力されるデータを入力エリア2cに書き込み、当該入力エリア2cに記憶されるデータを、他のI/Oインタフェースモジュール2および情報ネットワーク制御モジュール1に対してサイクリックスキャン伝送によって送信する。また、制御IC2bは、情報ネットワーク制御モジュール1または他のI/Oインタフェースモジュール2からサイクリックスキャン伝送によって送信されたデータを受信して、出力エリア2dに書き込み、当該出力エリア2dに記憶されるデータを、リモートI/Oモジュール3に出力する。
情報ネットワーク制御モジュール1は、コモンメモリ1aと、制御IC1bと、を有する。コモンメモリ1aは、複数のスキャンメモリ領域を有する。ここで、スキャンメモリ領域は、I/Oインタフェースモジュール2毎に設けられ、リモートI/OバスB1を介したサイクリックスキャン伝送によってI/Oインタフェースモジュール2との間で送受信するデータを記憶するメモリ領域である。
図2は、本実施形態にかかるリモートI/Oシステムの情報ネットワーク制御モジュールが有するコモンメモリのメモリマップの一例を示す図である。図2に示すように、コモンメモリ1aは、I/Oインタフェースモジュール2-1に対応するスキャンメモリ領域M1、I/Oインタフェースモジュール2-2に対応するメモリ領域M2、およびI/Oインタフェースモジュール2-3に対応するメモリ領域M3を有する。
図1に戻り、制御IC1bは、情報ネットワークNTからデータを読み込み、当該読み込んだデータをコモンメモリ1aが有するスキャンメモリ領域に書き込み、スキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によってI/Oインタフェースモジュール2に送信する。また、制御IC1bは、I/Oインタフェースモジュール2からサイクリックスキャン伝送によって送信されるデータを受信する。そして、制御IC1bは、コモンメモリ1aが有するスキャンメモリ領域のうち、受信したデータの送信元のI/Oインタフェースモジュール2に対応するスキャンメモリ領域に対して、当該受信したデータを書き込む。
ところで、従来、リモートI/Oシステム100においては、情報ネットワーク制御モジュール1は、コモンメモリ1aが有するスキャンメモリ領域のうち、マスタ機器4に搭載されるCPUモジュール4aによって指定されたスキャンメモリ領域に記憶されるデータを、I/Oインタフェースモジュール2に対してサイクリックスキャン伝送によって送信する。すなわち、リモートI/Oシステム100では、CPUモジュール4aがスキャンメモリ領域を指定する処理(以下、CPU処理と言う)を介して、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信が行われる。そのため、情報ネットワーク制御モジュール1とI/Oインタフェースモジュール2間でのデータの転送が、I/Oインタフェースモジュール2とリモートI/Oモジュール3間でのデータの転送よりも常に時間がかかる。
これにより、情報ネットワーク制御モジュール1とI/Oインタフェースモジュール2間でのデータの転送、およびI/Oインタフェースモジュール2とリモートI/Oモジュール3間でのデータの転送を並行して実行する一括入出力処理を行う場合に、情報ネットワーク制御モジュール1とリモートI/Oモジュール3間でのデータの転送に要するトータルの時間が、情報ネットワーク制御モジュール1とI/Oインタフェースモジュール2間でのデータの転送時間に依存してしまい、I/Oインタフェースモジュール2とリモートI/Oモジュール3間でのデータの転送に無駄な待ち時間が生じている。
そこで、本実施形態では、情報ネットワーク制御モジュール1は、CPU処理を介さずに、I/Oインタフェースモジュール2へのデータの送信を行う。具体的には、情報ネットワーク制御モジュール1の制御IC1bは、変化検出回路1cを有する。変化検出回路1cは、データラッチ用バッファ1dと、変化検出メモリ1eと、を有する。データラッチ用バッファ1dは、情報ネットワークNTから読み込んだデータを記憶するバッファである。変化検出メモリ1eは、情報ネットワークNTから前回読み込んだデータ(以下、前回値と言う)を記憶するメモリである。
変化検出回路1cは、情報ネットワークNTから読み込んだデータを、データラッチ用バッファ1dに書き込む。次いで、変化検出回路1cは、データラッチ用バッファ1dに記憶されるデータと、変化検出メモリ1eに記憶される前回値とを比較する。これにより、変化検出回路1cは、データラッチ用バッファ1dに記憶されるデータの変化を検出する。
本実施形態では、変化検出回路1cは、外部のCPUモジュール4aからサイクリックスキャン伝送の実行が指示された後、予め設定された周期で、データラッチ用バッファ1dに記憶されるデータと、変化検出メモリ1eに記憶されるデータとを比較して、データラッチ用バッファ1dに記憶されるデータの変化を検出するものとする。
そして、制御IC1bは、コモンメモリ1aが有するスキャンメモリ領域のうち、変化検出回路1cによってデータの変化が検出されたスキャンメモリ領域に記憶されるデータを、サイクリックスキャン伝送によって、I/Oインタフェースモジュール2に送信する。また、制御IC1bは、コモンメモリ1aが有するスキャンメモリ領域のうち、変化検出回路1cによってデータの変化が検出されなかったスキャンメモリ領域に記憶されるデータについては、I/Oインタフェースモジュール2への送信を行わない。
これにより、CPU処理を介さずに、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2に対してサイクリックスキャン伝送によってデータを送信することができる。その結果、マスタ機器4が有するCPUモジュール4aによるCPU処理を待つ必要が無くなり、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信に要する時間が短縮できので、リモートI/Oシステム100内におけるデータの転送を高速化することができる。
また、情報ネットワーク制御モジュール1とI/Oインタフェースモジュール2間でのデータの転送、およびI/Oインタフェースモジュール2とリモートI/Oモジュール3間でのデータの転送を並行して実行する一括入出力処理を行う場合に、情報ネットワーク制御モジュール1とリモートI/Oモジュール3間でのデータの転送に要するトータルの時間が、情報ネットワーク制御モジュール1とI/Oインタフェースモジュール2間でのデータの転送時間に依存することを軽減できるので、I/Oインタフェースモジュール2とリモートI/Oモジュール3間でのデータの転送における無駄な待ち時間が短縮できる。
また、変化検出回路1cは、変化検出メモリ1eにデータが記憶されていない場合には、情報ネットワークNTから読み込んだデータを変化検出メモリ1eに書き込む初期更新処理を実行する。そして、変化検出回路1cは、初期更新処理の実行後、情報ネットワークNTから次にデータを読み込んだ場合に、データラッチ用バッファ1dに記憶されるデータと、変化検出メモリ1eに記憶されるデータとを比較してデータの変化を検出する。
本実施形態では、制御IC1bは、図1に示すように、リングバッファ1fを有する。リングバッファ1fは、情報ネットワークNTから読み込んだデータを記憶する。そして、制御IC1bは、初期更新処理の実行前においては、リングバッファ1fに記憶されるデータを、サイクリックスキャン伝送によってI/Oインタフェースモジュール2に送信する。
また、本実施形態では、I/Oインタフェースモジュール2の制御IC2bも、図1に示すように、情報ネットワーク制御モジュール1の制御IC1bと同様に、変化検出回路2eを有する。変化検出回路2eは、データラッチ用バッファ2fと、変化検出メモリ2gと、を有する。データラッチ用バッファ2fは、リモートI/Oモジュール3から入力されるデータを記憶するバッファである。変化検出メモリ2gは、リモートI/Oモジュール3から前回入力されたデータ(以下、前回値と言う)を記憶するメモリである。
変化検出回路2eは、リモートI/Oモジュール3から入力されるデータを、データラッチ用バッファ2fに書き込む。次いで、変化検出回路2eは、データラッチ用バッファ2fに記憶されるデータと、変化検出メモリ2gに記憶される前回値とを比較する。これにより、変化検出回路2eは、データラッチ用バッファ2fに記憶されるデータの変化を検出する。本実施形態では、変化検出回路2eは、予め設定された周期で、データラッチ用バッファ2fに記憶されるデータと、変化検出メモリ2gに記憶されるデータとを比較して、データラッチ用バッファ2fに記憶されるデータの変化を検出するものとする。
そして、制御IC2bは、入力エリア2cに記憶されるデータの変化が検出された場合には、当該データを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール1および他のI/Oインタフェースモジュール2に対して送信する。一方、制御IC2bは、入力エリア2cに記憶されるデータの変化が検出されなかった場合には、当該データを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール1および他のI/Oインタフェースモジュール2に対して送信しない。
これにより、入力エリア2cに記憶されるデータに変化がない場合には、I/Oインタフェースモジュール2から情報ネットワーク制御モジュール1へのデータの転送が行われなくなるので、I/Oインタフェースモジュール2から情報ネットワーク制御モジュール1へのデータの転送による情報ネットワーク制御モジュール1およびI/Oインタフェースモジュール2にかかる負荷を軽減することができる。
次に、図3を用いて、初期更新処理の実行前における、情報ネットワーク制御モジュール1からリモートI/Oモジュール3へのデータの送信処理の流れの一例について説明する。図3は、本実施形態にかかるリモートI/Oシステムにおける情報ネットワーク制御モジュールからリモートI/Oモジュールへのデータの送信処理の流れの一例を説明するための図である。
まず、リモートI/Oシステム100におけるデータの転送処理を起動させる際に、マスタ機器4に搭載されるCPUモジュール4aが、情報ネットワーク制御モジュール1が有する制御IC1bおよびI/Oインタフェースモジュール2が有する制御IC2bの動作モードを設定する(ステップS301)。
ここで、動作モードは、制御IC1b,2bが動作するモードである。本実施形態では、動作モードは、RIOモードおよびコントローラモードを有する。RIOモードは、制御IC1b,2bが、マスタ機器4が有するCPUモジュール4aからの指示によらずに動作するモードである。コントローラモードは、制御IC1b,2bが、マスタ機器4が有するCPUモジュール4aからの指示に従って、動作するモードである。
また、マスタ機器4に搭載されるCPUモジュール4aは、情報ネットワーク制御モジュール1が有するコモンメモリ1aのアドレスマップを、情報ネットワーク制御モジュール1およびI/Oインタフェースモジュール2に送信する。ここで、アドレスマップは、コモンメモリ1aにおける、I/Oインタフェースモジュール2毎に設けられるスキャンメモリ領域のメモリアドレスを示す。
制御IC1b,2bの動作モードが設定されると、情報ネットワーク制御モジュール1の制御IC1bは、情報ネットワークNTからデータを読み込み、読み込んだデータをリングバッファ1fに保存する(ステップS302)。さらに、制御IC1bは、リングバッファ1fに記憶されるデータを、アドレスマップに従って、コモンメモリ1aのスキャンメモリ領域に書き込むとともに、リングバッファ1fに記憶されるデータを、変化検出回路1cに出力する(ステップS303)。変化検出回路1cは、初期更新処理の実行前に、リングバッファ1fに記憶されるデータが入力されると、当該入力されたデータを前回値として変化検出メモリ1eに書き込む。
次に、制御IC1bは、リングバッファ1fに記憶されるデータを、サイクリックスキャン伝送によって、I/Oインタフェースモジュール2に対して送信する(ステップS304)。
I/Oインタフェースモジュール2の制御IC2bは、情報ネットワーク制御モジュール1から受信したデータを、出力エリア2dに書き込む(ステップS305)。そして、リモートI/Oモジュール3からI/Oインタフェースモジュール2に対してデータが入力されている場合には(すなわち、リモートI/Oモジュール3からI/Oインタフェースモジュール2へのデータの入力が並行して実行されている場合には)、リモートI/Oモジュール3からI/Oインタフェースモジュール2へのデータの入力の完了を待って、マスタ機器4が有するCPUモジュール4aと各ハードウェア(情報ネットワーク制御モジュール1、I/Oインタフェースモジュール2、リモートI/Oモジュール3)の同期を行う(ステップS306)。
その後、制御IC2bは、出力エリア2dに記憶されるデータを、リモートI/Oモジュール3に出力する(ステップS307)。
リモートI/Oモジュール3の制御IC3bは、I/Oインタフェースモジュール2から入力されるデータを、I/Oメモリ3aに書き込む(ステップS308)。そして、I/Oインタフェースモジュール2からリモートI/Oモジュール3へのデータの出力の完了を待って、マスタ機器4が有するCPUモジュール4aと各ハードウェア(情報ネットワーク制御モジュール1、I/Oインタフェースモジュール2、リモートI/Oモジュール3)の同期を行う(ステップS309)。
その後、I/Oインタフェースモジュール2の制御IC2bは、マスタ機器4のCPUモジュール4aに対して、情報ネットワーク制御モジュール1からリモートI/Oモジュール3へのデータの転送の完了を通知する(ステップS310)。
次に、図4を用いて、初期更新処理の実行前における、リモートI/Oモジュール3から情報ネットワーク制御モジュール1へのデータの送信処理の流れの一例について説明する。図4は、本実施形態にかかるリモートI/OシステムにおけるリモートI/Oモジュールから情報ネットワーク制御モジュールへのデータの送信処理の流れの一例を説明するための図である。
リモートI/Oモジュール3の制御IC3bは、I/Oメモリ3aに記憶されるデータを、予め設定された周期で、I/Oインタフェースモジュール2に出力する(ステップS401)。
I/Oインタフェースモジュール2の制御IC2bは、リモートI/Oモジュール3から入力されるデータを、I/Oインタフェースメモリ2aの入力エリア2cに書き込む。また、制御IC2bが有する変化検出回路2eは、リモートI/Oモジュール3から入力されるデータを、データラッチ用バッファ2fおよび変化検出メモリ2gに書き込む。
そして、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2に対してデータが送信されている場合には(すなわち、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信が並行して実行されている場合には)、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信の完了を待って、マスタ機器4が有するCPUモジュール4aと各ハードウェア(情報ネットワーク制御モジュール1、I/Oインタフェースモジュール2、リモートI/Oモジュール3)の同期を行う(ステップS402)。
その後、I/Oインタフェースモジュール2の制御IC2bは、入力エリア2cに記憶されるデータを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール1および他のI/Oインタフェースモジュール2に対して送信する(ステップS403)。
情報ネットワーク制御モジュール1の制御IC1bは、I/Oインタフェースモジュール2から受信したデータを、アドレスマップに基づいて、コモンメモリ1aが有するスキャンメモリ領域のうち、当該受信したデータの送信元のI/Oインタフェースモジュール2に対応するスキャンメモリ領域に対して書き込む(ステップS404)。I/Oインタフェースモジュール2から情報ネットワーク制御モジュール1へのデータの送信の完了を待って、マスタ機器4が有するCPUモジュール4aと各ハードウェア(情報ネットワーク制御モジュール1、I/Oインタフェースモジュール2、リモートI/Oモジュール3)の同期を行う(ステップS405)。
その後、I/Oインタフェースモジュール2の制御IC2bは、マスタ機器4のCPUモジュール4aに対して、I/Oインタフェースモジュール2から情報ネットワーク制御モジュール1へのデータの転送の完了を通知する(ステップS406)。
次に、図5を用いて、初期更新処理の実行後における、情報ネットワーク制御モジュール1からリモートI/Oモジュール3へのデータの送信処理の流れの一例について説明する。図5は、本実施形態にかかるリモートI/Oシステムにおける情報ネットワーク制御モジュールからリモートI/Oモジュールへのデータの送信処理の流れの一例を説明するための図である。以下の説明では、図3に示す、情報ネットワーク制御モジュール1からリモートI/Oモジュール3へのデータの送信処理と異なる処理について説明する。
制御IC1b,2bの動作モードが設定されると、情報ネットワーク制御モジュール1の制御IC1bは、情報ネットワークNTからデータを読み込み、読み込んだデータをリングバッファ1fに保存する(ステップS302)。さらに、制御IC1bは、リングバッファ1fに記憶されるデータを、アドレスマップに従って、コモンメモリ1aのスキャンメモリ領域に書き込む。また、変化検出回路1cは、リングバッファ1fに記憶されるデータを、データラッチ用バッファ1dに書き込む(ステップS501)。変化検出回路1cは、予め設定された周期で、データラッチ用バッファ2fに記憶されるデータと、変化検出メモリ1eに記憶されるデータとを比較して、データラッチ用バッファ1dに記憶されるデータの変化を検出する(ステップS502)。
そして、制御IC1bは、データラッチ用バッファ1dに記憶されるデータの変化が検出された場合、コモンメモリ1aが有するスキャンメモリ領域のうち、データの変化が検出されたスキャンメモリ領域に記憶されるデータを、サイクリックスキャン伝送によって、I/Oインタフェースモジュール2に送信する(ステップS503)。
その後、情報ネットワーク制御モジュール1からリモートI/Oモジュール3へのデータの転送が完了して、I/Oインタフェースモジュール2の制御IC2bによって、マスタ機器4のCPUモジュール4aに対して、情報ネットワーク制御モジュール1からリモートI/Oモジュール3へのデータの転送の完了が通知されると(ステップS310)、変化検出回路1cは、変化検出メモリ1eに記憶されるデータのリードバックによるリフレッシュを実行する(ステップS504)。
次に、図6を用いて、初期更新処理の実行後における、リモートI/Oモジュール3から情報ネットワーク制御モジュール1へのデータの送信処理の流れの一例について説明する。図6は、本実施形態にかかるリモートI/OシステムにおけるリモートI/Oモジュールから情報ネットワーク制御モジュールへのデータの送信処理の流れの一例を説明するための図である。以下の説明では、図4に示す、リモートI/Oモジュール3から情報ネットワーク制御モジュール1へのデータの送信処理と異なる処理について説明する。
I/Oインタフェースモジュール2の制御IC2bが有する変化検出回路2eは、リモートI/Oモジュール3から入力されるデータをデータラッチ用バッファ2fに書き込む(ステップS601)。そして、変化検出回路2eは、データラッチ用バッファ2fに記憶されるデータと、変化検出メモリ2gに記憶されるデータとを比較して、データラッチ用バッファ2fに記憶されるデータの変化を検出する(ステップS602)。
データラッチ用バッファ2fに記憶されるデータの変化が検出された場合、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信が完了し、マスタ機器4が有するCPUモジュール4aと各ハードウェア(情報ネットワーク制御モジュール1、I/Oインタフェースモジュール2、リモートI/Oモジュール3)の同期が行われるのを待って(ステップS402)、制御IC2bは、入力エリア2cに記憶されるデータを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール1および他のI/Oインタフェースモジュール2に対して送信する(ステップS603)。その後、変化検出回路2eは、データラッチ用バッファ2fに記憶されるデータによって、変化検出メモリ2gに記憶されるデータを更新する。
一方、データラッチ用バッファ2fに記憶されるデータの変化が検出されなかった場合、制御IC2bは、入力エリア2cに記憶されるデータを、サイクリックスキャン伝送によって、情報ネットワーク制御モジュール1および他のI/Oインタフェースモジュール2に対して送信しない。
その後、リモートI/Oモジュール3から情報ネットワーク制御モジュール1へのデータの転送が完了して、I/Oインタフェースモジュール2の制御IC2bによって、マスタ機器4のCPUモジュール4aに対して、I/Oインタフェースモジュール2から情報ネットワーク制御モジュール1へのデータの転送の完了が通知されると、変化検出回路2eは、変化検出メモリ2gに記憶されるデータのリードバックによるリフレッシュを実行する(ステップS604)。
次に、図7を用いて、情報ネットワーク制御モジュール1によるI/Oインタフェースモジュール2に対するデータの送信処理の流れの一例について説明する。図7は、本実施形態にかかるリモートI/Oシステムが有する情報ネットワーク制御モジュールによるI/Oインタフェースモジュールに対するデータの送信処理の流れの一例を示すフローチャートである。
マスタ機器4が有するCPUモジュール4aから、I/Oインタフェースモジュール2との間でのサイクリックスキャン伝送の開始を指示するスキャン開始コマンドが入力されると(ステップS701)、変化検出回路1cは、変化検出メモリ1eに記憶されるデータを初期化する(ステップS702)。その後、制御IC1bによって情報ネットワークNTからデータが読み込まれ、リングバッファ1fに対して当該読み込んだデータが書き込まれると、変化検出回路1cは、初期更新処理が実行されたか否かを判断する(ステップS703)。
初期更新処理が実行されていないと判断した場合(ステップS703:No)、変化検出回路1cは、リングバッファ1fに記憶される最新のデータを、データラッチ用バッファ1dに書き込むとともに(ステップS704)、当該最新のデータを前回値として、変化検出メモリ1eに書き込む(ステップS705)。その後、制御IC1bは、リングバッファ1fに記憶される最新のデータを、サイクリックスキャン伝送によって、I/Oインタフェースモジュールに対して送信する(ステップS706)。
一方、初期更新処理が実行されていると判断した場合(ステップS703:Yes)、変化検出回路1cは、リングバッファ1fに記憶される最新のデータを、データラッチ用バッファ1dに書き込む(ステップS707)。また、変化検出回路1cは、変化検出メモリ1eに記憶される前回値を読み込む(ステップS708)。そして、変化検出回路1cは、データラッチ用バッファ1dに記憶されるデータと、変化検出メモリ1eから読み込んだ前回値とを比較して、データラッチ用バッファ1dに記憶されるデータの変化を検出する(ステップS709)。
データラッチ用バッファ1dに記憶されるデータの変化が検出された場合(ステップS709:Yes)、変化検出回路1cは、データラッチ用バッファ1dに記憶される最新のデータを前回値として変化検出メモリ1eに書き込む(ステップS710)。さらに、制御IC1bは、コモンメモリ1aが有するスキャンメモリ領域のうち、データの変化が検出されたスキャンメモリ領域に記憶されるデータを、サイクリックスキャン伝送によって、I/Oインタフェースモジュール2に送信する(ステップS711)。
一方、データラッチ用バッファ1dに記憶されるデータの変化が検出されなかった場合(ステップS709:No)、制御IC1bは、変化検出メモリ1eに記憶されるデータの更新、および情報ネットワークNTから読み込んだデータのI/Oインタフェースモジュール2への送信を行わずに、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信処理を終了する。
このように、本実施形態にかかるリモートI/Oシステムによれば、CPU処理を介さずに、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2に対してサイクリックスキャン伝送によってデータを送信することができる。その結果、マスタ機器4が有するCPUモジュール4aによるCPU処理を待つ必要が無くなり、情報ネットワーク制御モジュール1からI/Oインタフェースモジュール2へのデータの送信に要する時間が短縮できので、リモートI/Oシステム100内におけるデータの転送を高速化することができる。
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
Claims (4)
- 情報ネットワーク制御モジュールと、
I/Oインタフェースモジュールと、
リモートI/Oモジュールと、を備え、
前記I/Oインタフェースモジュールは、
I/Oインタフェースメモリと、
前記情報ネットワーク制御モジュールまたは他の前記I/Oインタフェースモジュールから、リモートI/Oバスを介して、サイクリックスキャン伝送によって送信されたデータを受信して、前記I/Oインタフェースメモリに書き込み、当該I/Oインタフェースメモリに記憶されるデータを前記リモートI/Oモジュールに出力する第1制御ICと、備え、
前記情報ネットワーク制御モジュールは、
前記I/Oインタフェースモジュール毎に設けられるスキャンメモリ領域を有するコモンメモリと、
情報ネットワークから読み込んだデータを前記スキャンメモリ領域に書き込み、前記スキャンメモリ領域に記憶されるデータを、前記リモートI/Oバスを介して、サイクリックスキャン伝送によって前記I/Oインタフェースモジュールに送信する第2制御ICと、を備え、
前記第2制御ICは、
前記情報ネットワークから読み込んだデータを記憶するデータラッチ用バッファと、前記情報ネットワークから前回読み込んだデータを記憶する変化検出メモリと、を有し、前記データラッチ用バッファに記憶されるデータと、前記変化検出メモリに記憶されるデータと、を比較してデータの変化を検出する変化検出回路を備え、
前記スキャンメモリ領域のうち、前記変化検出回路によってデータの変化が検出された前記スキャンメモリ領域に記憶されるデータをサイクリックスキャン伝送によって前記I/Oインタフェースモジュールに送信する、リモートI/Oシステム。 - 前記変化検出回路は、前記変化検出メモリにデータが記憶されていない場合には、前記情報ネットワークから読み込んだデータを前記変化検出メモリに書き込む初期更新処理を実行し、前記初期更新処理の実行後、前記情報ネットワークから次にデータを読み込んだ場合に、前記データラッチ用バッファに記憶されるデータと、前記変化検出メモリに記憶されるデータとを比較してデータの変化を検出する請求項1に記載のリモートI/Oシステム。
- 前記変化検出回路は、外部のCPUモジュールからサイクリックスキャン伝送の実行が指示された後、予め設定された周期で、前記データラッチ用バッファに記憶されるデータと、前記変化検出メモリに記憶されるデータとを比較してデータの変化を検出する請求項1または2に記載のリモートI/Oシステム。
- 前記第2制御ICは、前記情報ネットワークから読み込んだデータを記憶するリングバッファを有し、前記初期更新処理の実行前においては、前記リングバッファに記憶されるデータをサイクリックスキャン伝送によって前記I/Oインタフェースモジュールに送信する請求項2に記載のリモートI/Oシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980019596.0A CN111868701B (zh) | 2019-02-12 | 2019-10-15 | 远程i/o系统 |
KR1020207028631A KR102354089B1 (ko) | 2019-02-12 | 2019-10-15 | 리모트 i/o 시스템 |
US16/977,118 US11194508B2 (en) | 2019-02-12 | 2019-10-15 | Remote input/output system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019022830A JP6678787B1 (ja) | 2019-02-12 | 2019-02-12 | リモートi/oシステム |
JP2019-022830 | 2019-02-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020166131A1 true WO2020166131A1 (ja) | 2020-08-20 |
Family
ID=70057938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/040383 WO2020166131A1 (ja) | 2019-02-12 | 2019-10-15 | リモートi/oシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11194508B2 (ja) |
JP (1) | JP6678787B1 (ja) |
KR (1) | KR102354089B1 (ja) |
CN (1) | CN111868701B (ja) |
WO (1) | WO2020166131A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07143148A (ja) * | 1993-11-18 | 1995-06-02 | Toshiba Corp | 高速サイクリック伝送装置 |
JP2005165770A (ja) * | 2003-12-03 | 2005-06-23 | Mitsubishi Electric Corp | 計測システムおよび計測装置 |
WO2018186160A1 (ja) * | 2017-04-03 | 2018-10-11 | 株式会社東芝 | 伝送局 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0546339B1 (en) * | 1991-12-09 | 1996-07-03 | Yokogawa Electric Corporation | Distributed control system |
JPH104410A (ja) * | 1996-06-14 | 1998-01-06 | Hitachi Ltd | 通信制御システム |
JP2004320195A (ja) * | 2003-04-14 | 2004-11-11 | Toshiba Corp | 監視制御システムにおけるリモートi/oシステム |
JP2007226445A (ja) * | 2006-02-22 | 2007-09-06 | Toshiba Corp | 分散制御システム |
IT1401647B1 (it) * | 2010-07-09 | 2013-08-02 | Campatents B V | Metodo per monitorare cambi di configurazione di un dispostivo di controllo di una macchina automatica |
JP2014010759A (ja) * | 2012-07-02 | 2014-01-20 | Toshiba Corp | ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム |
US9805194B2 (en) * | 2015-03-27 | 2017-10-31 | Intel Corporation | Memory scanning methods and apparatus |
JP6794919B2 (ja) * | 2017-04-28 | 2020-12-02 | 横河電機株式会社 | プロセス制御システム及びデータ処理方法 |
-
2019
- 2019-02-12 JP JP2019022830A patent/JP6678787B1/ja active Active
- 2019-10-15 KR KR1020207028631A patent/KR102354089B1/ko active IP Right Grant
- 2019-10-15 CN CN201980019596.0A patent/CN111868701B/zh active Active
- 2019-10-15 US US16/977,118 patent/US11194508B2/en active Active
- 2019-10-15 WO PCT/JP2019/040383 patent/WO2020166131A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07143148A (ja) * | 1993-11-18 | 1995-06-02 | Toshiba Corp | 高速サイクリック伝送装置 |
JP2005165770A (ja) * | 2003-12-03 | 2005-06-23 | Mitsubishi Electric Corp | 計測システムおよび計測装置 |
WO2018186160A1 (ja) * | 2017-04-03 | 2018-10-11 | 株式会社東芝 | 伝送局 |
Also Published As
Publication number | Publication date |
---|---|
JP6678787B1 (ja) | 2020-04-08 |
JP2020134963A (ja) | 2020-08-31 |
US20200409593A1 (en) | 2020-12-31 |
CN111868701B (zh) | 2023-12-05 |
US11194508B2 (en) | 2021-12-07 |
CN111868701A (zh) | 2020-10-30 |
KR102354089B1 (ko) | 2022-01-24 |
KR20200126421A (ko) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5464862B2 (ja) | 画像形成装置、その制御方法およびプログラム | |
JP2012064021A (ja) | 通信システム、マスター装置、及びスレーブ装置、並びに通信方法 | |
JP2006343815A (ja) | 通信装置、通信方法、通信システム | |
WO2020166131A1 (ja) | リモートi/oシステム | |
US20080147906A1 (en) | DMA Transferring System, DMA Controller, and DMA Transferring Method | |
JP5476956B2 (ja) | 通信システム及び通信方法 | |
KR101082110B1 (ko) | 타이밍 제어기, 이를 이용하여 데이터를 송수신하는 장치 | |
KR20190089155A (ko) | Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법 | |
JP6762546B1 (ja) | シリアル通信方法及びシリアル通信システム | |
JP2002073121A (ja) | ネットワーク制御システム、その通信モジュール、及びリモート制御方法 | |
JP3024345B2 (ja) | データリンク方法 | |
JP2017062758A (ja) | 制御システムおよび制御方法 | |
WO2006090714A1 (ja) | 情報中継装置、情報中継方法及び情報中継用プログラム並びに情報記録媒体 | |
JP2005228222A (ja) | シリアルデータ転送方法とその装置 | |
JP4403165B2 (ja) | データ送信システム、データ受信システムおよびデータ送信装置 | |
EP3327521B1 (en) | Duplexing process control device | |
JP2016096493A (ja) | 通信システムおよび画像形成装置 | |
JPH0514365A (ja) | スキヤン伝送方式 | |
JP3814389B2 (ja) | シリアル通信方法及びシステム並びに記憶媒体 | |
JPH10289196A (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
JP3265026B2 (ja) | 入出力データ交換方式 | |
KR200379327Y1 (ko) | 다중-입력 동기화 스위치 콘트롤러를 이용한 입출력데이터 제어장치 | |
JPS62232057A (ja) | 擬似dma方式 | |
JP2002341907A (ja) | 高炉設備プログラムロジックコントローラにおけるデータ送受信方法 | |
JPH10320352A (ja) | バスマスタ転送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19915529 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20207028631 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19915529 Country of ref document: EP Kind code of ref document: A1 |