JP3669302B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP3669302B2
JP3669302B2 JP2001220707A JP2001220707A JP3669302B2 JP 3669302 B2 JP3669302 B2 JP 3669302B2 JP 2001220707 A JP2001220707 A JP 2001220707A JP 2001220707 A JP2001220707 A JP 2001220707A JP 3669302 B2 JP3669302 B2 JP 3669302B2
Authority
JP
Japan
Prior art keywords
remote
data
instruction execution
unit
processing
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.)
Expired - Lifetime
Application number
JP2001220707A
Other languages
English (en)
Other versions
JP2003029809A (ja
Inventor
高志 三宅
誠 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to 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

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
この発明は、プログラマブルコントローラ(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は、PLC命令実行部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経由で読み出してラッチし、所定のタイミングでそのラッチした入力データをデータメモリ1bの所定のデータ領域に格納する。このように、入力データが、リモート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がデータメモリ1bから読み出し、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データ)が格納された場合、PLC命令実行部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リフレッシュに伴うデータ転送回数を少なくし、高速にリフレッシュ処理をすることのできるプログラマブルコントローラ(PLC)を提供することを目的としている。
【0020】
【課題を解決するための手段】
この発明によるプログラマブルコントローラは、ユーザプログラムの命令を解読して命令実行する命令実行部と、ローカルI/O部を接続するI/Oバスと、リモートI/Oスレーブとデータの送受信が可能であり、前記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マスタ部が行うので、命令実行部の負荷が軽減される。
【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応答性能も高速化できる。
【0035】
【発明の実施の形態】
図5は、本発明の好適な一実施の形態を示している。良く知られているように、CPUユニット,電源ユニット,ローカルI/Oユニットなどの各機能毎に構成される複数のユニットをバスで接続することにより一体化し、PLCを形成するタイプのものがある。このバスが、I/Oデータを通信するためのI/Oバスであり、また、電源もこのバスを介して各ユニットに供給される。
【0036】
そして、図5に示すように、PLCのCPUユニット10は、従来と同様にI/Oバスインタフェース部11を介してI/Oバス20に接続されており、ローカルI/Oユニット21と通信可能となっている。
【0037】
また、CPUユニット10は、ユーザプログラムで規定される命令を演算実行(命令実行)するPLC命令実行部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命令実行部12の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転送)。そして、係る転送処理が終了すると、PLC命令実行部12に向けて転送終了通知を発行する。
【0048】
また、別の方式としては、例えば図6(b)に示すようにEND通信停止方式をとることもできる。この方式は、上記したEND通信起動方式とは逆に、リモートI/Oの通信は定常的に起動させておき、リモートI/Oマスタ部14とリモートI/Oスレーブ23の間で出力データの送信(OUT送信)と入力データの受信(IN受信)を繰り返し実行する。
【0049】
そして、PLC命令実行部12からのEND命令を受信すると、リモート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マスタ部14の機能として、上記した実施の形態を基本とし、さらに、命令実行スキャンタイム(命令実行時間十I/Oリフレッシュ/周辺サービス時間)を測定し、命令実行フェーズ終了(END命令の出力)時にリモート通信サイクルが終了するように通信を起動する機能を設けると良い。
【0055】
このようにすると、命令実行が終了した際には、入力データを受信(IN受信)しているので、すぐにデータメモリ13への転送が行える。よって、さらなる高速処理が可能となる。
【0056】
係る作用効果を具体例を示して説明すると、図8のようになる。すなわち、前回測定した命令実行スキャンタイムがC1測定時間に基づき、入出力データの通信サイクルが、次の命令実行スキャンタイムの終了時点A1で終了するようにB1のときに通信を起動する。これにより、入力データは、命令実行が終了した時点A1で、スムーズに無駄なく入力データのデータメモリ13への転送が実行できる。
【0057】
同様に,C2測定時間に基づき、A2の時点で通信サイクルが終了するようにB2時点で通信を起動する。従って、命令実行により求められ、データメモリ13に格納された出力データ(OUTデータ)は、REFフェーズで遅滞なくリモートI/O通信によりリモートI/Oマスタ部14に転送され、その後、OUTデータリフレッシュのために通信サイクルを起動し、所望のリモートI/Oスレーブ23に送信される。
【0058】
これにより、命令事項サイクルとリモートI/O通信サイクルをロスなく同期させることができ、図示した例(入力データが矢印▲1▼のタイミングで入力された場合)におけるI/O応答時間は、
通信サイクル×1+命令実行スキャン×2+出力データ転送時間
となる。また、入力データが矢印▲2▼のタイミングで入力された場合には、命令実行スキャンタイムが1回分短くなるので、
通信サイクル×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スレーブ

Claims (5)

  1. ユーザプログラムの命令を解読して命令実行する命令実行部と、
    ローカルI/O部を接続するI/Oバスと、
    リモートI/Oスレーブとデータの送受信が可能であり、前記I/Oバスを介することなく前記命令実行部とデータの交換が可能であるリモートマスタ部と、
    前記リモートI/Oスレーブから入力した入力データと、前記命令実行結果としてリモートI/Oスレーブに出力する出力データとを記憶し、前記命令実行部が命令実行する際にアクセスするデータメモリと、
    前記データメモリに対する前記命令実行部からのアクセスおよび前記リモートマスタ部からのアクセスを調停するアービタと、
    を備えたプログラマブルコントローラ。
  2. 前記命令実行部は、命令実行処理とI/Oリフレッシュ処理等の周辺処理とをサイクリックに実行するものであり、
    前記リモートI/Oマスタ部は、前記命令実行処理とI/Oリフレッシュ処理等の周辺処理とを実行する時間を測定し、前記命令実行処理の終了タイミングで、リモートI/Oスレーブとの通信サイクルが終了するように制御するように構成したことを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記命令実行部は、命令実行処理と、I/Oリフレッシュ処理等の周辺処理とをサイクリックに実行するものであり、命令実行処理の終了時に終了通知を発する機能を持ち、
    前記リモートI/Oマスタ部は、前記終了通知をトリガとしてI/Oリフレッシュ動作を行い、前記データメモリに対するデータ転送を行うことを特徴とする請求項1に記載のプログラマブルコントロ−ラ。
  4. 前記命令実行部は、I/Oリフレッシュ命令を出力する機能を持ち、前記リモートI/Oマスタ部は、前記リフレッシュ命令をトリガとしてI/Oリフレッシュ動作を行い、前記データメモリに対するデータ転送を行うことを特徴とする請求項1に記載のプログラマブルコントローラ。
  5. 前記命令実行部と前記リモートI/Oマスタ部とは非同期に動作することを特徴とする請求項1に記載のプログラマブルコントローラ。
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 JP2003029809A (ja) 2003-01-31
JP3669302B2 true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4385247B2 (ja) * 2003-08-04 2009-12-16 日本電気株式会社 集積回路、および情報処理装置
JP4008911B2 (ja) 2004-09-29 2007-11-14 株式会社東芝 制御装置
JP4877424B1 (ja) 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP6535459B2 (ja) * 2014-12-08 2019-06-26 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
CN113661451B (zh) * 2019-04-16 2022-11-25 三菱电机株式会社 程序创建辅助装置、程序创建辅助方法及计算机可读取的记录介质
US20230308514A1 (en) * 2021-06-25 2023-09-28 Mitsubishi Electric Corporation Input unit, control system, communication method, and recording medium

Also Published As

Publication number Publication date
JP2003029809A (ja) 2003-01-31

Similar Documents

Publication Publication Date Title
JP2004171209A (ja) 共有メモリデータ転送装置
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
JP3669302B2 (ja) プログラマブルコントローラ
CN110169017B (zh) 控制装置以及通信装置
US7080175B2 (en) Network system
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
CN110178344B (zh) 控制装置以及通信装置
JP2920441B2 (ja) プロセスデータ処理システムおよび処理方法
US20040255061A1 (en) Apparatus and method for high speed data transfer
JP3402332B2 (ja) プログラマブル・コントローラのリモートi/oシステム
JPS6232483B2 (ja)
JP3388246B2 (ja) プログラマブル・コントローラのリモートi/oシステム
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
JP4517263B2 (ja) データ伝送方法及びデータ伝送システム並びに通信装置
JPS6049350B2 (ja) デ−タバス制御方式
JPH05342172A (ja) マルチプロセッサシステム
JP4633378B2 (ja) 昇降機制御情報伝送制御回路
JP2985276B2 (ja) 通信システム
JP4854598B2 (ja) データ転送制御装置
JPH02211571A (ja) 情報処理装置
JP2004280303A (ja) プログラマブルコントローラ及びユニット
JP2002297209A (ja) シーケンス制御装置におけるシーケンスプログラム格納方法
JPH06149749A (ja) 複数プロセッサ間におけるデータ転送方式
JPH0272411A (ja) プログラマブルコントローラシステム
JPH08221106A (ja) プログラマブルコントローラ

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