JP2003029809A - Cpuユニット並びにプログラマブルコントローラ - Google Patents

Cpuユニット並びにプログラマブルコントローラ

Info

Publication number
JP2003029809A
JP2003029809A JP2001220707A JP2001220707A JP2003029809A JP 2003029809 A JP2003029809 A JP 2003029809A JP 2001220707 A JP2001220707 A JP 2001220707A JP 2001220707 A JP2001220707 A JP 2001220707A JP 2003029809 A JP2003029809 A JP 2003029809A
Authority
JP
Japan
Prior art keywords
unit
remote
data
instruction
slave
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
JP2001220707A
Other languages
English (en)
Other versions
JP3669302B2 (ja
Inventor
Takashi Miyake
高志 三宅
Makoto Inoue
誠 井上
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 JP2001220707A priority Critical patent/JP3669302B2/ja
Publication of JP2003029809A publication Critical patent/JP2003029809A/ja
Application granted granted Critical
Publication of JP3669302B2 publication Critical patent/JP3669302B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 I/Oリフレッシュに伴うデータ転送回数を
少なくし、高速にリフレッシュ処理をすることのできる
プログラマブルコントローラを提供すること 【解決手段】 PLC命令実行部12が、データメモリ
13をアクセスしながら命令実行をする。一方、リモー
トI/Oマスタ部14を設け、このリモートI/Oマス
タ部とリモートI/Oスレーブ23間でマスタ−スレー
ブ間通信を行い、データの送受を可能とする。また、リ
モートI/Oマスタ部は、マスタ−スレーブ間通信で得
られるI/Oデータは、データメモリに格納する。つま
り、データメモリは、PLC命令実行部とリモートI/
Oマスタ部の共有メモリとすることにより、I/Oデー
タ転送回数が削減される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、CPUユニット
並びにプログラマブルコントローラ(PLC)に関する
ものである。
【0002】
【従来の技術】FA(ファクトリーオートメーション)
で用いられるプログラマブルコントローラ(PLC)
は、入力機器(スイッチやセンサなど)のON/OFF
情報を入力し、ラダー言語などで書かれたシーケンスプ
ログラム(ユーザプログラム)に沿って論理演算(命
令)を実行して、その演算結果により、出力機器(リレ
ーやバルブ、アクチュエータなど)にON/OFF情報
の信号を出力することで制御を行う。
【0003】そして、係るON/OFF情報の最終的な
通信相手の機器の一つとして、リモートI/Oがある。
このリモートI/Oとの間で通信を行うためのネットワ
ーク構成の一例として、従来、図1に示すシステムによ
り実現している。
【0004】すなわち、PLCのCPUユニット1,リ
モートマスタユニット2が、I/Oバス3に接続されて
おり、I/Oバス3にリモートI/Oスレーブ4が接続
された構成をとる。CPUユニット1がリモートI/O
スレーブ4との間でデータの送受を行う場合、リモート
マスタユニット2を介して行うようになっている。
【0005】つまり、リモートマスタユニット2内のリ
モートI/Oマスタ部2aと、リモートI/Oスレーブ
4との間でマスタ−スレーブ通信を行い、リモートI/
Oスレーブ4からの入力データをI/Oバスインタフェ
ース部2bを介して共有メモリ2cに一時格納する。
【0006】一方、PLCのCPUユニット1は、PL
C命令実行部1aがデータメモリ1bをアクセスしなが
ら、命令を演算実行(命令実行)する。そして、リモー
トI/Oの入力データを取得するためには、I/Oバス
インタフェース部1c,I/Oバス3,I/Oバスイン
タフェース部2bを介してリモートマスタユニット2内
の共有メモリ2cに格納されたデータを読み出し取得す
る。
【0007】つまり、リモートI/Oスレーブ4からの
入力データをCPUユニット1のデータメモリ1bに格
納するためには、以下の手順に従って実行される。ま
ず、スイッチなどの接点の入力を受けたリモートI/O
スレーブ4が、その接点情報を内部のレジスタ(図示省
略)に記憶保持する。そして、リモートI/Oマスタ部
2aが各スレーブとシリアル通信をして、各リモートI
/Oスレーブ4の内部レジスタの入力データを取り込む
とともに、当該マスタ内のレジスタ(図示省略)に記憶
する。次いで、リモートI/Oマスタ部2aは、レジス
タ内の入力データをI/Oバスインタフェース部2bを
介して共有メモリ2cの所定データ領域に格納する(転
送する)。このリモートI/Oスレーブ4から入力デー
タを取得(受信)して共有メモリ2cに格納するまで
は、リモートI/Oマスタ部2aが主体となって行う。
【0008】そして、共有メモリ2cに格納された入力
データをCPUユニット1のデータメモリ1bに格納す
る処理は、まず、PLC命令実行部1aがI/Oリフレ
ッシュ処理を実行する際に共有メモリ2c内の入力デー
タをI/Oバス3経由で読み出してラッチし、所定のタ
イミングでそのラッチした入力データをデータメモリ1
bの所定のデータ領域に格納する。このように、入力デ
ータが、リモートI/Oスレーブ4のレジスタに格納さ
れてから実際にCPUユニット1のデータメモリ1bに
格納されるまでには、多数のデータ転送が行われる。
【0009】一方、データメモリ1bには、I/Oバス
3に接続されたローカルI/Oユニット7からの入力デ
ータも格納される。そして、係る入力データの格納は、
まず、スイッチなどの接点の入力を受けたローカルI/
Oユニット7が、その接点情報を内部のレジスタ(図示
省略)に記憶保持しておく。そして、PLC命令実行部
1aがI/Oリフレッシュ処理を実行する際にローカル
I/Oユニット7のレジスタ内の入力データをI/Oバ
ス3経由で読み出してラッチし、所定のタイミングでそ
のラッチした入力データをデータメモリ1bの所定のデ
ータ領域に格納する。
【0010】このように、ローカルI/Oユニット7の
入力データと、リモートI/Oスレーブ4の入力データ
は、共にPLCの各ユニットを接続するI/Oバス3を
経由してCPUユニット1に取り込まれる(同一系統を
使用する)ため、データの取り込みについて同時処理は
できず、連続処理(順次処理)により一方からの入力デ
ータを順番に取得することになる。
【0011】また、PLC命令実行部1aが命令実行し
て得られた演算結果は、データメモリ1bの所定データ
領域に格納される。そして、その格納された演算結果
(出力データ)は、次のI/Oリフレッシュその他の周
辺処理の際に、PLC命令実行部1aがデータメモリ1
bから読み出し、I/Oバス3を介してリモートI/O
マスタ部ユニット2内の共有メモリ2c或いはローカル
I/Oユニット7のレジスタに格納する。この際も、入
力データの取得のときと同様に同一系統のI/Oバス3
を用いるので、順次処理していく。
【0012】そして、共有メモリ2cに格納された出力
データは、リモートI/Oマスタ部2aが読み出して
(転送して)レジスタに記憶し、所定のタイミングでそ
のレジスタに格納したデータをマスタ−スレーブ通信に
より、所望のリモートI/Oスレーブ4に送るようにな
る。このように、出力データの転送回数も多くなる。
【0013】
【発明が解決しようとする課題】上記したように、従来
のリモートI/Oに対するリフレッシュは、リモートI
/Oスレーブ4の入力データがPLC命令実行部1aで
使用できるまで、並びにPLC命令実行部1aの演算結
果が、リモートI/Oスレーブ4に反映されるまでに、
複数のデータ転送が発生し、効率が悪い。
【0014】しかも、I/Oバス3を介してのデータ転
送は、PLC命令実行部1aを使用して、実行されるた
め、本来の演算処理のための命令実行サイクルに影響を
与えるという問題がある。
【0015】一例を示すと、図2に示すように、リモー
トマスタユニット内の共有メモリ2cに、図示のタイミ
ングで入力データ(INデータ)が格納された場合、P
LC命令実行部1aにおける次の命令実行スキャンの後
のI/Oリフレッシュ等周辺処理のタイミングで通信ユ
ニット内処理を実行するとともにCPUユニット1内の
データメモリ1bに取り込まれる。そして、次の命令実
行スキャンで上記取り込まれた入力データに基づき、演
算処理を実行し、得られた結果(出力データ:OUTデ
ータ)は、共有メモリ2cに与えられる。このように、
リモートI/Oスレーブ4から入力データが送られてき
てから、その入力データが反映された出力データがリモ
ートI/Oスレーブ4に送信されるまでに要するI/O
応答時間の最大は、 命令実行スキャン×2+通信ユニット内処理×2 となる。
【0016】このとき、命令実行サイクルがリモートI
/O通信サイクル分は定常的に大きくなる。そのため、
I/Oバス3上に存在するローカルI/Oユニット7に
対するI/O応答性能も遅くなるという問題がある。す
なわち、上記したようにリモートマスタユニット2の共
有メモリ2cとの間のデータ通信と、ローカルI/Oユ
ニット7のレジスタとの間のデータ通信は、共に同一系
統であるI/Oバス3を用いてるので、同時に通信をす
ることはできないためである。
【0017】また、リモートI/Oの通信サイクル(リ
モートI/Oスレーブ4のリフレッシュ)と、命令実行
サイクルを非同期に実行する場合、I/O応答サイクル
(INデータ変化→演算処理→OUTデータ出力)の最
大値が大きくなる。そして、通信サイクルよりも命令実
行スキャンが大きい(長い)場合のI/O応答時間の最
大値は、図3に示すように、命令実行スキャン開始と同
時に入力データがリモートマスタユニット2(共有メモ
リ2c)に取り込まれた場合、その命令実行スキャン終
了に伴い実行されるI/Oリフレッシュ処理(REF)
の際に通信ユニット内処理が行われ、更にその次のリフ
レッシュ処理の際に実際に入力データがCPUユニット
1内のデータメモリ1bに取り込まれる。そして、次の
命令実行スキャンでは、取り込まれた入力データに基づ
いて演算処理が実行され、求められた出力データは、順
でデータが転送され最終的にリモートマスタユニット2
からリモートI/Oスレーブ4に向けて出力される。こ
のようにリモートI/Oスレーブ4から入力データが送
られてきてから、その入力データが反映された出力デー
タがリモートI/Oスレーブ4に送信されるまでに要す
るI/O応答時間の最大は、 通信サイクル×3+命令実行スキャン×2+通信ユニッ
ト内処理×2 となる。
【0018】同様に、通信サイクルの方が命令実行スキ
ャンよりも長い場合には、図4に示す手順にしたがって
データの転送が行われるため、やはり、 通信サイクル×3+命令実行スキャン×2+通信ユニッ
ト内処理×2 となる。
【0019】この発明は、I/Oリフレッシュに伴うデ
ータ転送回数を少なくし、高速にリフレッシュ処理をす
ることのできるCPUユニット並びにプログラマブルコ
ントローラ(PLC)を提供することを目的としてい
る。
【0020】
【課題を解決するための手段】この発明によるプログラ
マブルコントローラは、命令を解読し、命令実行する命
令実行部と、その命令実行部に接続され、前記命令実行
する際に使用されるデータメモリとを備えたコントロー
ラであって、リモートI/Oスレーブとリモートアクセ
ス可能なリモートI/Oマスタ部を設け、そのリモート
I/Oマスタ部と前記命令実行部は、前記データメモリ
を共有メモリとしてアクセスするように構成した。
【0021】この発明によると、リモートI/Oマスタ
部は、外部のリモートI/Oスレーブとの間でデータ通
信(リモートI/Oの通信サイクル:リモートI/Oス
レーブリフレッシュ)を行い、リモートI/Oスレーブ
からの入力データをデータメモリに書き込む。命令実行
部は、命令実行する際にデータメモリをアクセスし、前
記入力データを読み出したり、命令実行して得られた出
力データをデータメモリに書き込む。この書き込まれた
出力データは、次のサイクルで、リモートI/Oマスタ
部が読み出し(転送し)、リモートI/Oスレーブのリ
フレッシュに反映される。
【0022】このように、データメモリを共有メモリと
し、リモートI/Oマスタ部と命令実行部がそれぞれア
クセスし、I/Oデータの読み書きをするので、I/O
データの転送回数が削減され、転送にかかる時間を短縮
でき、高速にリフレッシュ処理ができる。さらに、命令
実行部がアクセスするデータメモリに入力データを格納
する処理は、リモートI/Oマスタ部が行うので、命令
実行部の負荷が軽減される。
【0023】より具体的には、CPUユニットを含む複
数のユニットが、I/Oバスを介して接続されて構成さ
れるとともに、リモートI/Oスレーブに対してデータ
をリモートアクセスするプログラマブルコントローラで
あって、前記CPUユニットは、ユーザプログラムの命
令を解読して命令実行する命令実行部と、その命令実行
部が前記命令実行する際に使用する入力データと実行結
果として出力する出力データを記憶するデータメモリ
と、リモートI/Oスレーブに対してデータのシリアル
通信をすることで前記リモートアクセスを行うリモート
I/Oマスタ部と、前記データメモリに対するアクセス
を制御するアービタを備え、前記リモートI/Oマスタ
部と前記命令実行部とは、前記アービタにより調停され
て前記データメモリにアクセスするように構成すること
もできる。
【0024】さらに、入力機器と出力機器の少なくとも
一方が接続可能でCPUユニットに対してI/Oバスを
介してバス通信を行うI/Oユニットと、前記CPUユ
ニットとを含んで構成され、入力機器と出力機器の少な
くとも一方が接続可能なリモートI/Oスレーブとは、
シリアル通信を得るプログラマブルコントローラであっ
て、前記CPUユニットは、ユーザプログラムの命令を
解読して命令実行する命令実行部と、その命令実行部が
前記命令実行する際に使用する入力データと実行結果と
して出力する出力データを記憶するデータメモリと、リ
モートI/Oスレーブに対してデータのシリアル通信を
することで前記リモートアクセスを行うリモートI/O
マスタ部と、前記データメモリに対するアクセスを制御
するアービタを備え、前記CPUユニットにおける前記
I/Oユニットとの間のデータの送受と、前記リモート
I/Oスレーブとの間のデータの送受とは、別系統によ
る独立した通信処理で実行するように構成することもで
きる。
【0025】このように、アービタを介してデータメモ
リにアクセスするようにしたため、アクセス競合制御さ
れ、チャネル単位や複数チャネル単位での同時性が保証
される。
【0026】また、前記命令実行部は、命令実行処理
と、I/Oリフレッシュ処理等の周辺処理をサイクリッ
クに実行するものであり、命令実行処理の終了時に終了
通知を発する機能を持ち、前記リモートI/Oマスタ部
は、前記終了通知をトリガとしてI/Oリフレッシュ動
作を行い、前記データメモリに対するデータ転送を行う
ようにすることができる。
【0027】係る構成をとると、リモートI/Oマスタ
部と命令実行部の動作の同期が採れるので、1回の命令
実行サイクル中における同一のデータ領域におけるデー
タの同時性が保証される。なお、終了通知は、実施の形
態ではEND命令に対応する。I/Oリフレッシュ動作
は、実施の形態に示すEND通信起動方式とEND通信
停止方式のいずれも採れる。
【0028】また、前記命令実行部は、I/Oリフレッ
シュ命令を出力する機能を持ち、前記リモートI/Oマ
スタ部は、前記リフレッシュ命令をトリガとしてI/O
リフレッシュ動作を行い、前記データメモリに対するデ
ータ転送を行うようにすることもできる。このようにす
ると、任意のタイミングでリモートI/O上の入出力デ
ータをリフレッシュすることができる。
【0029】一方、前記命令実行部と前記リモートI/
Oマスタ部は非同期に動作するようにしてもよい。この
ようにすると、同期をとる必要がないので、命令実行部
の負荷が更に削減する。そして、アービタを設けている
ので、少なくともチャネル単位でのデータの同時性は保
証されるので、問題はない。
【0030】さらにまた、前記命令実行部は、命令実行
処理と、I/Oリフレッシュ処理等の周辺処理をサイク
リックに実行するものであり、前記リモートI/Oマス
タ部は、前記命令実行処理とI/Oリフレッシュ処理等
の周辺処理を実行するのに要する時間を測定し、前記命
令実行処理の終了タイミングで、リモートI/Oスレー
ブとの通信サイクルが終了するように制御するように構
成するとよい。
【0031】係る構成をとると、命令実行処理(命令実
行サイクル)が終了すると、遅滞なくリフレッシュ処理
が実行できるので、無駄が無く効率よく命令実行サイク
ルとリモートI/O通信サイクルを同期させて動作させ
ることができる。I/O応答性能も高速化できる。
【0032】また、本発明に係るCPUユニットは、上
記したプログラマブルコントローラを構成するCPUユ
ニットとすることができる。入力データを取り込んでユ
ーザプログラムに沿って演算実行し、その演算結果を出
力データとするプログラマブルコントローラに用いら
れ、I/OユニットをI/Oバスを介して接続可能にす
るとともに、リモートI/Oスレーブとリモートアクセ
ス可能に構成されるプログラマブルコントローラのCP
Uユニットである。そして、I/Oバスインタフェース
部を設け、前記I/Oユニットとは、前記I/Oバスを
介して前記入力データの受信と前記出力データの送信の
少なくとも一方を行い、リモートI/Oマスタ部を設
け、前記リモートI/Oスレーブとは、前記I/Oバス
を介すことなく前記リモートI/Oマスタ部を用いたシ
リアル通信により、前記入力データの受信と前記出力デ
ータの送信の少なくとも一方を行うように構成する。
【0033】また、I/OユニットをI/Oバスを介し
て接続可能で、リモートI/Oスレーブとリモートアク
セス可能なプログラマブルコントローラのCPUユニッ
トであって、ユーザプログラムの命令を解読して命令実
行する命令実行部と、前記命令実行部が命令実行する際
に使用するデータまたは実行結果としてのデータを記憶
するデータメモリと、I/Oユニットに対してデータの
バス通信を行うI/Oバスインタフェース部と、リモー
トI/Oスレーブに対してデータのシリアル通信を行う
リモートI/Oマスタ部と、前記データメモリに対する
アクセスを制御するアービタを備え、前記リモートI/
Oマスタ部と前記命令実行部は、前記アービタにより調
停されて前記データメモリにアクセスするように構成す
ることができる。
【0034】さらにまた、I/OユニットをI/Oバス
を介して接続可能で、リモートI/Oスレーブとリモー
トアクセス可能なプログラマブルコントローラのCPU
ユニットであって、ユーザプログラムの命令を解読して
命令実行する命令実行部と、前記命令実行部が命令実行
する際に使用するデータまたは実行結果としてのデータ
を記憶するデータメモリと、I/Oユニットに対してデ
ータのバス通信を行うI/Oバスインタフェース部と、
リモートI/Oスレーブに対してデータのシリアル通信
を行うリモートI/Oマスタ部と、前記データメモリに
対するアクセスを制御するアービタを備え、前記I/O
バスを経由して送信と受信の少なくとも一方が行われる
データと、前記リモートI/Oマスタ部を経由して送信
と受信の少なくとも一方が行われるデータとが、前記ア
ービタにより調停されて前記データメモリに読み書きさ
れるように構成することができる。
【0035】
【発明の実施の形態】図5は、本発明の好適な一実施の
形態を示している。良く知られているように、CPUユ
ニット,電源ユニット,CPUユニット,ローカルI/
Oユニットなどの各機能毎に構成される複数のユニット
をバスで接続することにより一体化し、PLCを形成す
るタイプのものがある。このバスが、I/Oデータを通
信するためのI/Oバスであり、また、電源もこのバス
を介して各ユニットに供給される。
【0036】そして、図5に示すように、PLCのCP
Uユニット10は、従来と同様にI/Oバスインタフェ
ース部11を介してI/Oバス20に接続されており、
ローカルI/Oユニット21と通信可能となっている。
なお、本発明との関係で言えば、このI/Oバス20を
介して接続されるPLCは必須の構成ではない。
【0037】また、CPUユニット10は、ユーザプロ
グラムで規定される命令を演算実行(命令実行)するP
LC命令実行部12を有し、データメモリ13からデー
タをアクセスしながら演算処理をする。つまり、データ
メモリ13に格納されたデータを読み出したり、命令実
行結果をデータメモリ13に書き込む処理をする。
【0038】ここで本発明では、CPUユニット10内
に、リモートI/Oマスタ部14を設け、このリモート
I/Oマスタ部14とリモートI/Oスレーブ23とを
接続するようにしている。リモートI/Oマスタ部14
とリモートI/Oスレーブ23の間では、マスタ−スレ
ーブ間通信により、データの送受を可能としている。
【0039】そして、リモートI/Oスレーブ23との
間で送受するデータは、データメモリ13に格納するよ
うにしている。つまり、データメモリ13を、PLC命
令実行部12とリモートI/Oマスタ部14が扱う(ア
クセスする)共有メモリとした。
【0040】そして、PLC命令実行部12とリモート
I/Oマスタ部14は、アービタ15を介してアクセス
をし、所定のデータ領域に対してデータの読み書きを行
うようにしている。このアービタ15によりアクセス競
合制御がなされ、同一のデータ領域に対してPLC命令
実行部12とリモートI/Oマスタ部14が同時に読み
書きをすることを抑止する。これにより、チャネル単位
或いは複数チャネル単位でのデータの同時性が保証され
る。
【0041】このように、データメモリ13を共有メモ
リとして使用し、リモートI/OのI/Oデータの転送
回数が削減される。更に、リモートI/Oスレーブ23
からの入力データをCPUユニット10内のデータメモ
リ13に格納する処理や、係るデータメモリ13に格納
された演算結果(リモートI/Oスレーブ23への出力
データ)の出力処理はリモートI/Oマスタ部14が実
行する。従って、係る処理を従来行っていたPLC命令
実行部12のI/Oデータリフレッシュ負荷が軽減され
る。更にまた、リモートI/Oマスタ部14から直接デ
ータメモリ13に転送されるので、PLC命令実行部1
2のI/O転送に係る時間を短縮することができ、I/
O応答性能も高速化する。
【0042】さらに、本実施の形態では、ローカルI/
Oユニット21のI/Oデータは、従来と同様にPLC
命令実行部12のI/Oリフレッシュその他の周辺処理
の際に、I/Oバス20を経由して、データの送受が行
われる。つまり、入力データは、PLC命令実行部12
がラッチし、データメモリ13の所定のデータ領域に書
き込む。また、データメモリ13に格納された出力デー
タは、PLC命令実行部12により読み出され、I/O
バス20を介してローカルI/Oユニット21に書き込
まれる。
【0043】このように、ローカルI/Oユニット21
とのI/Oデータの送受はI/Oバス20を介して行わ
れ、リモートI/Oスレーブ23とのI/Oデータの送
受はI/Oバス20を介することなくリモートI/Oマ
スタ部14を経由した別系統で独立して行われる。従っ
て、それぞれを同時並行に処理することができ、全体の
処理時間が短縮される。
【0044】更に、ローカルI/Oユニット21との間
で通信されるI/Oデータも、データメモリ13に格納
されるので、ローカルI/Oユニット21のI/Oデー
タと、リモートI/Oスレーブ23のI/Oデータメモ
リ13へのアクセスの調停もアービタ15により行わ
れ、同時にアクセスされないようにしている。なお、調
停が行われるのは実際のデータメモリ13へのアクセス
であるので、例えば、リモートI/Oマスタ部14がリ
モートI/Oスレーブ23からの入力データを受信し、
内部レジスタに格納する処理と、PLC命令実行部12
が楼閣I/Oユニット21から入力データを取得する処
理は、上記したように同時並列に処理可能である。
【0045】さらに、PLC命令実行部12とリモート
I/Oマスタ部14は、相互に制御信号を送受し、効率
よくI/Oリフレッシュ処理を実行するようにしてい
る。具体的には、図6に示すように、PLC命令実行部
12は、ユーザプログラムで規定される命令を順次命令
実行し、命令実行の際にデータメモリ13をアクセス
し、入力データを取得したり、演算結果の出力データを
格納する。そして、命令実行が終了した際に、END命
令実行を出力する。
【0046】一方、リモートI/Oマスタ部14は、上
記したEND命令が出力されるのをモニタリングしてお
り、END命令実行をトリガとして、所定のI/Oリフ
レッシュ動作を実行し、処理が完了すると、制御信号と
して転送完了命令を出力する。PLC命令実行部12
は、この転送終了命令をモニタリングし、その命令が出
力されると、今回のI/Oリフレッシュ処理が終了した
と判断し、次のサイクルに移行する。つまり、PLC命
令実行部12は、I/Oリフレッシュ+周辺処理フェー
ズでリモートI/Oマスタ部14からの転送終了通知の
みチェックしているだけで、リモート上のデータが全て
同期したタイミングでデータメモリ13にリフレッシュ
される。この点でも、PLC命令実行部12の負荷が軽
減される。
【0047】そして、上記したエンド命令並びに転送終
了通知に基づいて動作するPLC命令実行部12とリモ
ートI/Oマスタ部14の機能は、以下の通りである。
すなわち、まず図6(a)に示すEND通信起動方式の
場合、リモートI/Oマスタ部14は、PLC命令実行
部12からのEND命令をトリガとして、データメモリ
13に格納されている出力データを読み出す(OUT転
送)。次いで、リモートI/Oの通信を起動(1回)す
る。これに伴い、読み出した出力データを送信すべきリ
モートI/Oスレーブ23(出力機器)に対して送信し
(OUT送信)、リモートI/Oスレーブ23からの入
力データを受信する(IN受信)。その後、受信した入
力データを、データメモリ13の所定領域に格納する
(IN転送)。そして、係る転送処理が終了すると、P
LC命令実行部12に向けて転送終了通知を発行する。
【0048】また、別の方式としては、例えば図6
(b)に示すようにEND通信停止方式をとることもで
きる。この方式は、上記したEND通信起動方式とは逆
に、リモートI/Oの通信は定常的に起動させておき、
リモートI/Oマスタ部14とリモートI/Oスレーブ
23の間で出力データの送信(OUT送信)と入力デー
タの受信(IN受信)を繰り返し実行する。
【0049】そして、PLC命令実行部12からのEN
D命令を受信すると、リモートI/Oマスタ部14は、
リモートI/Oの通信を停止する。つまり、END命令
を受けたときに実行しているリモートI/O通信が終了
(IN受信処理終了)するのを待って、停止する。
【0050】そして、直前のIN受信処理で取得したリ
モートI/Oスレーブ23からの入力データをデータメ
モリ13の所定のデータ領域に書き込む(IN転送)。
次いで、データメモリ13に格納された出力データを読
み出す(OUT転送)。その後、転送終了通知を発行す
るとともに、リモートI/O通信を再開し、読み出した
出力データを所定のリモートI/Oスレーブ23に向け
て送信する(OUT送信)。
【0051】なお、上記した実施の形態では、PLC命
令実行部12の終了に伴い出力されるEND命令をトリ
ガとしてリモートI/Oマスタ部14はデータの転送を
行い、リモートI/O上の入出力データをリフレッシュ
するようにしたが、本発明はこれに限ることはなく、例
えば、PLC命令実行部12からリモートI/O通信起
動指令や、停止指令を出力するようにすることもでき
る。係る構成(都度リフレッシュ方式)をとることによ
り、任意のタイミングでリモートI/Oのリフレッシュ
を行うことができる。
【0052】一方、上記した実施の形態並びにその変形
例は、PLC命令実行部12とリモートI/Oマスタ部
14の同期をとるようにしたが、本発明は必ずしも同期
をとる必要はなく、それぞれ非同期に実行し、共有メモ
リであるデータメモリ13に対するアクセスも非同期に
転送するように構成することもできる。この場合でも、
アービタ15により、1チャネル(通常16点)或いは
複数チャネル単位での同時性は保証される。
【0053】これにより、PLC命令実行部12とリモ
ートI/Oマスタ部14は、互いに影響されることなく
実行され、タイミングをとる必要がないので、より高速
に実行することができる。なお、1サイクルの命令実行
中において、同一のデータ領域に格納されているデータ
値が変更されることはもちろんあるが、少なくとも1つ
の命令を実行中でのデータの同時性は保証される。この
場合の入出力データ(INデータ/OUTデータ)の転
送タイミングは、例えば、図7に示すようになり、最大
I/O応答時間は、 通信サイクル×3+命令実行スキャン×2−I/Oリフ
レッシュ周辺処理 となる。従って、図3,図4に示した従来の非同期リフ
レッシュ方式に比べて、通信ユニット内の転送処理×2
+(I/Oバス転送時間−データメモリ転送時間)×2
+I/Oリフレッシュ/周辺処理分だけ高速化される。
【0054】一方、上記したリモートI/Oマスタ部1
4の機能として、上記した実施の形態を基本とし、さら
に、命令実行スキャンタイム(命令実行時間十I/Oリ
フレッシュ/周辺サービス時間)を測定し、命令実行フ
ェーズ終了(END命令の出力)時にリモート通信サイ
クルが終了するように通信を起動する機能を設けると良
い。
【0055】このようにすると、命令実行が終了した際
には、入力データを受信(IN受信)しているので、す
ぐにデータメモリ13への転送が行える。よって、さら
なる高速処理が可能となる。
【0056】係る作用効果を具体例を示して説明する
と、図8のようになる。すなわち、前回測定した命令実
行スキャンタイムがC1測定時間に基づき、入出力デー
タの通信サイクルが、次の命令実行スキャンタイムの終
了時点A1で終了するようにB1のときに通信を起動す
る。これにより、入力データは、命令実行が終了した時
点A1で、スムーズに無駄なく入力データのデータメモ
リ13への転送が実行できる。
【0057】同様に,C2測定時間に基づき、A2の時
点で通信サイクルが終了するようにB2時点で通信を起
動する。従って、命令実行により求められ、データメモ
リ13に格納された出力データ(OUTデータ)は、R
EFフェーズで遅滞なくリモートI/O通信によりリモ
ートI/Oマスタ部14に転送され、その後、OUTデ
ータリフレッシュのために通信サイクルを起動し、所望
のリモートI/Oスレーブ23に送信される。
【0058】これにより、命令事項サイクルとリモート
I/O通信サイクルをロスなく同期させることができ、
図示した例(入力データが矢印のタイミングで入力さ
れた場合)におけるI/O応答時間は、 通信サイクル×1+命令実行スキャン×2+出力データ
転送時間 となる。また、入力データが矢印のタイミングで入力
された場合には、命令実行スキャンタイムが1回分短く
なるので、 通信サイクル×1+命令実行スキャン×1+出力データ
転送時間 となる。つまり、入力データの入力タイミングで上記し
た範囲内となり、矢印のタイミングの場合が最大I/
O応答時間となる。なお、図中一点鎖線の矢印は、デー
タ入力から演算ひいてはデータ出力までのデータの流れ
(I/O応答)を示している。
【0059】
【発明の効果】以上のように、この発明では、リモート
I/Oマスタ部を設け、リモートI/Oマスタ部と、命
令を実行する命令実行部が、データメモリを共有メモリ
として互いにアクセスするようにしたため、一方が書き
込んだデータを他方が読み出すことができる。よって、
I/Oリフレッシュに伴うデータ転送回数が少なくな
り、高速にリフレッシュ処理をすることができる。
【図面の簡単な説明】
【図1】従来例を示す図である。
【図2】従来の問題点を説明する図である。
【図3】従来の問題点を説明する図である。
【図4】従来の問題点を説明する図である。
【図5】本発明の好適な一実施の形態を示す図である。
【図6】(a)は、END通信起動方式を説明する図で
ある。(b)は、END通信停止方式を説明する図であ
る。
【図7】変形例を説明する図である。
【図8】他の実施の形態を説明する図である。
【符号の説明】
10 CPUユニット 11 I/Oバスインタフェース部 12 PLC命令実行部 13 データメモリ 14 リモートI/Oマスタ部 15 アービタ 20 I/Oバス 21 ローカルI/Oユニット 23 リモートI/Oスレーブ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B077 DD02 NN02 5H220 BB03 CC09 CX01 EE10 FF10 JJ12 JJ16 JJ38

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 入力データを取り込んでユーザプログラ
    ムに沿って演算実行し、その演算結果を出力データとす
    るプログラマブルコントローラに用いられ、I/Oユニ
    ットをI/Oバスを介して接続可能にするとともに、リ
    モートI/Oスレーブとリモートアクセス可能に構成さ
    れるプログラマブルコントローラのCPUユニットであ
    って、 I/Oバスインタフェース部を設け、前記I/Oユニッ
    トとは、前記I/Oバスを介して前記入力データの受信
    と前記出力データの送信の少なくとも一方を行い、 リモートI/Oマスタ部を設け、前記リモートI/Oス
    レーブとは、前記I/Oバスを介すことなく前記リモー
    トI/Oマスタ部を用いたシリアル通信により、前記入
    力データの受信と前記出力データの送信の少なくとも一
    方を行うようにしたことを特徴とするCPUユニット。
  2. 【請求項2】 CPUユニットを含む複数のユニット
    が、I/Oバスを介して接続されて構成されるととも
    に、リモートI/Oスレーブに対してデータをリモート
    アクセスするプログラマブルコントローラであって、 前記CPUユニットは、ユーザプログラムの命令を解読
    して命令実行する命令実行部と、その命令実行部が前記
    命令実行する際に使用する入力データと実行結果として
    出力する出力データを記憶するデータメモリと、リモー
    トI/Oスレーブに対してデータのシリアル通信をする
    ことで前記リモートアクセスを行うリモートI/Oマス
    タ部と、前記データメモリに対するアクセスを制御する
    アービタを備え、前記リモートI/Oマスタ部と前記命
    令実行部とは、前記アービタにより調停されて前記デー
    タメモリにアクセスするように構成したことを特徴とす
    るプログラマブルコントローラ。
  3. 【請求項3】 入力機器と出力機器の少なくとも一方が
    接続可能でCPUユニットに対してI/Oバスを介して
    バス通信を行うI/Oユニットと、前記CPUユニット
    とを含んで構成され、入力機器と出力機器の少なくとも
    一方が接続可能なリモートI/Oスレーブに対してシリ
    アル通信をするプログラマブルコントローラであって、 前記CPUユニットは、ユーザプログラムの命令を解読
    して命令実行する命令実行部と、その命令実行部が前記
    命令実行する際に使用する入力データと実行結果として
    出力する出力データを記憶するデータメモリと、リモー
    トI/Oスレーブに対してデータのシリアル通信をする
    ことで前記リモートアクセスを行うリモートI/Oマス
    タ部と、前記データメモリに対するアクセスを制御する
    アービタを備え、 前記I/Oバスを経由して送信と受信の少なくとも一方
    が行われるデータと、前記リモートI/Oマスタ部を経
    由して送信と受信の少なくとも一方が行われるデータと
    が、前記アービタにより調停されて前記データメモリに
    読み書きされるように構成したことを特徴とするプログ
    ラマブルコントローラ。
  4. 【請求項4】 入力機器と出力機器の少なくとも一方が
    接続可能でCPUユニットに対してI/Oバスを介して
    バス通信を行うI/Oユニットと、前記CPUユニット
    とを含んで構成され、入力機器と出力機器の少なくとも
    一方が接続可能なリモートI/Oスレーブとは、シリア
    ル通信を得るプログラマブルコントローラであって、 前記CPUユニットは、ユーザプログラムの命令を解読
    して命令実行する命令実行部と、その命令実行部が前記
    命令実行する際に使用する入力データと実行結果として
    出力する出力データを記憶するデータメモリと、リモー
    トI/Oスレーブに対してデータのシリアル通信をする
    ことで前記リモートアクセスを行うリモートI/Oマス
    タ部と、前記データメモリに対するアクセスを制御する
    アービタを備え、 前記CPUユニットにおける前記I/Oユニットとの間
    のデータの送受と、前記リモートI/Oスレーブとの間
    のデータの送受とは、別系統による独立した通信処理で
    実行するように構成したことを特徴とするプログラマブ
    ルコントローラ。
  5. 【請求項5】 I/OユニットをI/Oバスを介して接
    続可能で、リモートI/Oスレーブとリモートアクセス
    可能なプログラマブルコントローラのCPUユニットで
    あって、 ユーザプログラムの命令を解読して命令実行する命令実
    行部と、 前記命令実行部が命令実行する際に使用するデータまた
    は実行結果としてのデータを記憶するデータメモリと、 I/Oユニットに対してデータのバス通信を行うI/O
    バスインタフェース部と、 リモートI/Oスレーブに対してデータのシリアル通信
    を行うリモートI/Oマスタ部と、 前記データメモリに対するアクセスを制御するアービタ
    を備え、 前記リモートI/Oマスタ部と前記命令実行部は、前記
    アービタにより調停されて前記データメモリにアクセス
    するように構成したことを特徴とするCPUユニット。
  6. 【請求項6】 I/OユニットをI/Oバスを介して接
    続可能で、リモートI/Oスレーブとリモートアクセス
    可能なプログラマブルコントローラのCPUユニットで
    あって、 ユーザプログラムの命令を解読して命令実行する命令実
    行部と、 前記命令実行部が命令実行する際に使用するデータまた
    は実行結果としてのデータを記憶するデータメモリと、 I/Oユニットに対してデータのバス通信を行うI/O
    バスインタフェース部と、 リモートI/Oスレーブに対してデータのシリアル通信
    を行うリモートI/Oマスタ部と、 前記データメモリに対するアクセスを制御するアービタ
    を備え、 前記I/Oバスを経由して送信と受信の少なくとも一方
    が行われるデータと、前記リモートI/Oマスタ部を経
    由して送信と受信の少なくとも一方が行われるデータと
    が、前記アービタにより調停されて前記データメモリに
    読み書きされるように構成したことを特徴とするCPU
    ユニット。
  7. 【請求項7】 前記命令実行部は、命令実行処理と、I
    /Oリフレッシュ処理等の周辺処理をサイクリックに実
    行するものであり、命令実行処理の終了時に終了通知を
    発する機能を持ち、 前記リモートI/Oマスタ部は、前記終了通知をトリガ
    としてI/Oリフレッシュ動作を行い、前記データメモ
    リに対するデータ転送を行うことを特徴とする請求項2
    から4のいずれか1項に記載のプログラマブルコントロ
    ーラ。
  8. 【請求項8】 前記命令実行部は、I/Oリフレッシュ
    命令を出力する機能を持ち、 前記リモートI/Oマスタ部は、前記リフレッシュ命令
    をトリガとしてI/Oリフレッシュ動作を行い、前記デ
    ータメモリに対するデータ転送を行うことを特徴とする
    請求項2から4のいずれか1項に記載のプログラマブル
    コントローラ。
  9. 【請求項9】 前記命令実行部と前記リモートI/Oマ
    スタ部は非同期に動作することを特徴とする請求項2か
    ら4のいずれか1項に記載のプログラマブルコントロー
    ラ。
  10. 【請求項10】 前記命令実行部は、命令実行処理と、
    I/Oリフレッシュ処理等の周辺処理をサイクリックに
    実行するものであり、 前記リモートI/Oマスタ部は、前記命令実行処理とI
    /Oリフレッシュ処理等の周辺処理を実行するのに要す
    る時間を測定し、前記命令実行処理の終了タイミング
    で、リモートI/Oスレーブとの通信サイクルが終了す
    るように制御するように構成したことを特徴とする請求
    項2から4,6,7のいずれか1項に記載のプログラマ
    ブルコントローラ。
  11. 【請求項11】 命令を解読し、命令実行する命令実行
    部と、 その命令実行部に接続され、前記命令実行する際に使用
    されるデータメモリとを備えたコントローラであって、 リモートI/Oスレーブとリモートアクセス可能なリモ
    ートI/Oマスタ部を設け、 そのリモートI/Oマスタ部と前記命令実行部は、前記
    データメモリを共有メモリとしてアクセスする機能を備
    えたことを特徴とするプログラマブルコントローラ。
JP2001220707A 2001-07-19 2001-07-19 プログラマブルコントローラ Expired - Lifetime JP3669302B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001220707A JP3669302B2 (ja) 2001-07-19 2001-07-19 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001220707A JP3669302B2 (ja) 2001-07-19 2001-07-19 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2003029809A true JP2003029809A (ja) 2003-01-31
JP3669302B2 JP3669302B2 (ja) 2005-07-06

Family

ID=19054489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001220707A Expired - Lifetime JP3669302B2 (ja) 2001-07-19 2001-07-19 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP3669302B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640371B2 (en) 2003-08-04 2009-12-29 Nec Corporation Integrated circuit and information processing apparatus
US7643888B2 (en) 2004-09-29 2010-01-05 Kabushiki Kaisha Toshiba Control apparatus
WO2012124137A1 (ja) 2011-03-15 2012-09-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP2016110458A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
CN113661451A (zh) * 2019-04-16 2021-11-16 三菱电机株式会社 程序创建辅助装置、程序创建辅助方法及程序
JP7034399B1 (ja) * 2021-06-25 2022-03-11 三菱電機株式会社 入力ユニット、制御システム、通信方法及びプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640371B2 (en) 2003-08-04 2009-12-29 Nec Corporation Integrated circuit and information processing apparatus
CN1581127B (zh) * 2003-08-04 2010-10-06 日本电气株式会社 集成电路和信息处理装置
US7643888B2 (en) 2004-09-29 2010-01-05 Kabushiki Kaisha Toshiba Control apparatus
WO2012124137A1 (ja) 2011-03-15 2012-09-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
US9568905B2 (en) 2011-03-15 2017-02-14 Omron Corporation CPU of PLC, system program for PLC, and recording medium storing system program for PLC
JP2016110458A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
CN113661451A (zh) * 2019-04-16 2021-11-16 三菱电机株式会社 程序创建辅助装置、程序创建辅助方法及程序
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
JP3669302B2 (ja) 2005-07-06

Similar Documents

Publication Publication Date Title
US10409749B2 (en) Semiconductor device and system provided with a communication interface
JPH06231074A (ja) システムバスの多重アクセス方式
JP2003029809A (ja) Cpuユニット並びにプログラマブルコントローラ
US7080175B2 (en) Network system
CN110169017B (zh) 控制装置以及通信装置
JP2003036101A (ja) 冗長化コントローラ
US6845418B2 (en) Bus system for master-slave device accesses, has multiple pseudo-delayer connected to controllers which delay and output access commands to slave devices for having longer latency periods
US7302508B2 (en) Apparatus and method for high speed data transfer
CN110178344B (zh) 控制装置以及通信装置
JP3402332B2 (ja) プログラマブル・コントローラのリモートi/oシステム
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
JPH05257852A (ja) プロセスデータ処理システムおよび処理方法
JPS6232483B2 (ja)
JPH0272411A (ja) プログラマブルコントローラシステム
JP2754681B2 (ja) 分散型コントローラ
JP2002297209A (ja) シーケンス制御装置におけるシーケンスプログラム格納方法
JP2985276B2 (ja) 通信システム
JPH0792900A (ja) プログラマブルコントローラ
JP2850354B2 (ja) 分散型コントローラ
JP2730189B2 (ja) 分散型コントローラ
JPH0695718A (ja) プログラマブル・コントローラのリモートi/oシステム
JPH0526201B2 (ja)
JP2002232440A (ja) 通信端末の内部通信方法
JPS6220006A (ja) プログラマブルコントロ−ラのリモ−トi/oリンク方式
JPH07230304A (ja) Pcシステムのデュアル制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050404

R150 Certificate of patent or registration of utility model

Ref document number: 3669302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term