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

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

Info

Publication number
JPH0736373A
JPH0736373A JP17702693A JP17702693A JPH0736373A JP H0736373 A JPH0736373 A JP H0736373A JP 17702693 A JP17702693 A JP 17702693A JP 17702693 A JP17702693 A JP 17702693A JP H0736373 A JPH0736373 A JP H0736373A
Authority
JP
Japan
Prior art keywords
unit
flag
access
shared memory
accessed
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.)
Withdrawn
Application number
JP17702693A
Other languages
English (en)
Inventor
Koji Yoshida
耕士 吉田
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 JP17702693A priority Critical patent/JPH0736373A/ja
Publication of JPH0736373A publication Critical patent/JPH0736373A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 安価な構成でデュアルポートメモリと同等な
高速度でユニット間のデータ交換を行う。 【構成】 CPUユニット11と周辺ユニット12との
間のバス13上にバスアービタ14を介してシングルポ
ートメモリ15を接続しており、両ユニット11,12
からシングルポートメモリ15へのアクセスは、アクセ
ス中フラグ設定部16におけるフラグの排他的な設定に
基づいて行う。つまり、CPU側のフラグが“1”にセ
ットされていれば、かならず周辺側のフラグが“0”に
セットされており、その逆の場合はその反対にフラグが
セットされる。このため、各ユニットは、自ユニットに
対応したフラグに“1”をセットしにいき、そのフラグ
をリードして“1”がセットされていれば、シングルポ
ートメモリ15にアクセスすることができ、アクセス終
了後はそのフラグを“0”にセットする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、同一バスで接続された
CPUユニットと周辺ユニットとの間で共有メモリを介
してデータ交換を行うようにしたプログラマブルコント
ローラ(以下、PLCという)に関する。
【0002】
【従来の技術】従来のプログラマブルコントローラで
は、同一バスで接続されたCPUユニットと周辺ユニッ
ト間のデータ交換は、シングルポートあるいはデュアル
ポートを用いて次に示すような方式で行っていた。
【0003】(1)図10に示すように、CPUユニッ
ト1と周辺ユニット2間のバス3にバスアービタ4を介
してデータ交換用の共有メモリとしてシングルポートメ
モリ5を接続し、両ユニット1,2から共有メモリ6へ
のアクセスはアクセス権フラグ6で制御する方式。
【0004】つまり、図11に示すように、アクセス権
フラグが自ユニット側にある場合には、シングルポート
メモリへアクセスを行い、自ユニット側の処理の終了後
にアクセス権フラグを相手側にユニットに渡すようにす
る。
【0005】(2)図12に示すように、CPUユニッ
ト1と周辺ユニット2間のバス3上にデータ交換用の共
有メモリとしてデュアルポートメモリ5´を設け、必要
な場合はアクセス権フラグ6によりアクセスの排他制御
を行う方式。
【0006】
【発明が解決しようとする課題】ところで、上記(1)
の方式では、CPUユニットおよび周辺ユニットとも実
際に共有メモリにアクセスしている時間は処理中の一部
でしかなく、それ以外の例えばユーザプログラムの実行
や通信処理等を行っている間も共有メモリを占有してい
た。
【0007】図13に、上記(1)の方式による両ユニ
ットによる共有メモリの占有およびアクセス状態を示
す。
【0008】この図では、斜線部分が共有メモリにアク
セスしている時間を示しており、斜線以外の部分が共有
メモリにアクセスせずユーザプログラムの実行等の他の
処理を行っているときに共有メモリを占有している時間
を示している。
【0009】この図からも明らかなように、自ユニット
の処理が終了したときにアクセス権フラグを相手側ユニ
ットに渡した場合、その次に自ユニットが共有メモリに
アクセスできるのは、相手側ユニットが処理を終了して
からであるため、相手側ユニットが処理を行っている間
は共有メモリにアクセスできず、データ交換間隔を短く
できない、という問題がある。
【0010】また、上記(2)の従来の方式の場合、バ
スの占有権などについて考慮することなく両ユニット側
からほとんど自由にアクセスできるため、アクセス間隔
が短くなるが、シングルポートメモリに較べてデュアル
ポートメモリの価格が高いため、コストアップにつなが
る、という問題がある。
【0011】そこで、本発明はこのような問題に着目し
てなされたもので、安価な構成でデュアルポートメモリ
と同等な高速度でユニット間のデータ交換を行うことの
できるプログラマブルコントローラを提供することを目
的とする。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、ユーザプログラムを実行
するCPUユニットと周辺ユニット間のバスに共有メモ
リを接続し、CPUユニットまたは周辺ユニットが上記
バスの占有権を得て上記共有メモリへアクセスするよう
にしたプログラマブルコントローラにおいて、CPUユ
ニットから共有メモリへのアクセス中を示すフラグと、
周辺ユニットから共有メモリへのアクセス中を示すフラ
グとを有し、両フラグを排他的に設定するフラグ設定手
段と、上記フラグ設定手段によって排他的に設定された
フラグを参照して、アクセス中と設定されたフラグに対
応したCPUユニットあるいは周辺ユニットに上記バス
の占有権を与えるバス制御手段とを具備し、CPUユニ
ットおよび周辺ユニットは、各々、共有メモリへアクセ
スする際に、フラグ設定手段の自ユニットに対応したフ
ラグにアクセス中と設定しにいきその後当該フラグを読
取り、当該フラグにアクセス中と設定されている場合に
は、バス制御手段の制御によってバスの占有権を得て共
有メモリへアクセスし、アクセス終了後に当該フラグを
非アクセス中に設定する、ことを特徴とする。
【0013】請求項2記載の発明では、請求項1記載の
プログラマブルコントローラにおいて、CPUユニット
および周辺ユニットは、各々、共有メモリへアクセスす
る際に、フラグ設定手段の自ユニットに対応したフラグ
にアクセス中と設定しにいきその後両フラグを読取り、
両フラグに非アクセス中と設定されている場合には再度
自ユニットに対応したフラグにアクセス中と設定しにい
くようにする一方、自ユニットに対応したフラグにアク
セス中と設定されている場合にはバス制御手段の制御に
よってバスの占有権を得て共有メモリへアクセスし、ア
クセス終了後にそのフラグを非アクセス中に設定する、
ことを特徴とする。
【0014】請求項3記載の発明では、請求項1記載の
プログラマブルコントローラにおいて、CPUユニット
および周辺ユニットは、各々、共有メモリへアクセスす
る際に、フラグ設定手段の自各ユニットに対応したフラ
グにアクセス中と設定しにいきその後両フラグを読取
り、相手ユニットに対応したフラグにアクセス中と設定
されている場合には再度自ユニットに対応したフラグに
アクセス中と設定しにいくようにする一方、自ユニット
に対応したフラグにアクセス中と設定されている場合に
はバス制御手段の制御によってバスの占有権を得て共有
メモリへアクセスし、アクセス終了後にそのフラグを非
アクセス中に設定する、ことを特徴とする。
【0015】請求項4記載の発明では、ユーザプログラ
ムを実行するCPUユニットと周辺ユニット間のバスに
共有メモリを接続し、CPUユニットまたは周辺ユニッ
トが上記バスの占有権を得て上記共有メモリへアクセス
するようにしたプログラマブルコントローラにおいて、
CPUユニットから共有メモリへのアクセス中を示すフ
ラグと、周辺ユニットから共有メモリへのアクセス中を
示すフラグとを有し、両フラグを排他的に設定するフラ
グ設定手段と、上記フラグ設定手段によって排他的に設
定されたフラグを参照して、アクセス中と設定されたフ
ラグに対応したCPUユニットあるいは周辺ユニットに
上記バスの占有権を与えるバス制御手段とを具備し、ユ
ーザプログラム実行後は、CPUユニットで発生したイ
ベントデータを周辺ユニットへ送るため、CPUユニッ
トおよび周辺ユニットは、各々、共有メモリへアクセス
する際に、フラグ設定手段の自ユニットに対応したフラ
グにアクセス中と設定しにいきその後当該フラグを読取
り、当該フラグにアクセス中と設定されている場合に
は、バス制御手段の制御によって上記バスの占有権を得
て共有メモリへアクセスして上記イベントデータを交換
し、アクセス終了後に当該フラグを非アクセス中に設定
し、次いでサイクリックデータをCPUユニットおよび
周辺ユニット間で交換するため、CPUユニットおよび
周辺ユニットは、各々、共有メモリへアクセスする際
に、フラグ設定手段の自ユニットに対応したフラグにア
クセス中と設定しにいきその後当該フラグを読取り、当
該フラグにアクセス中と設定されている場合には、バス
制御手段の制御によって上記バスの占有権を得て共有メ
モリへアクセスして上記サイクリックデータを交換し、
アクセス終了後に当該フラグを非アクセス中に設定し、
次いで周辺ユニットで発生したイベントデータをCPU
ユニットへ送るため、CPUユニットおよび周辺ユニッ
トは、各々、共有メモリへアクセスする際に、フラグ設
定手段の自ユニットに対応したフラグにアクセス中と設
定しにいきその後当該フラグを読取り、当該フラグにア
クセス中と設定されている場合には、バス制御手段の制
御によって上記バスの占有権を得て共有メモリへアクセ
スして上記イベントデータを交換し、アクセス終了後に
当該フラグを非アクセス中に設定する、ことを特徴とす
る。
【0016】
【作用】請求項1記載の発明では、CPUユニットおよ
び周辺ユニットは、各々、共有メモリへアクセスする際
に、フラグ設定手段の自ユニットに対応したフラグにア
クセス中と設定しにいきその後当該フラグを読取る。そ
の際、各ユニットに対応したそれぞれのフラグは、排他
的に設定されているため同時にアクセス中を示すことは
ない。そして、当該フラグにアクセス中と設定されてい
る場合には、バス制御手段の制御によってバスの占有権
を得て共有メモリへアクセスし、アクセス終了後に当該
フラグを非アクセス中に設定する。
【0017】請求項2記載の発明では、請求項1記載の
プログラマブルコントローラと同様に、CPUユニット
および周辺ユニットが、各々、共有メモリへアクセスす
る際にフラグ設定手段の自ユニットに対応したフラグに
アクセス中と設定しにいき両フラグを読取るが、両フラ
グに非アクセス中と設定されている場合、本発明では、
再度自ユニットに対応したフラグにアクセス中と設定し
にいくようにする。そして、自ユニットに対応したフラ
グにアクセス中と設定された場合には、バス制御手段の
制御によってバスの占有権を得て共有メモリへアクセス
し、アクセス終了後にそのフラグを非アクセス中に設定
する。
【0018】請求項3記載の発明では、請求項1,2記
載のプログラマブルコントローラと同様に、CPUユニ
ットおよび周辺ユニットが、各々、共有メモリへアクセ
スする際にフラグ設定手段の自ユニットに対応したフラ
グにアクセス中と設定しにいき両フラグを読取るが、相
手ユニットに対応したフラグにアクセス中と設定されて
いる場合、本発明では、再度自ユニットに対応したフラ
グにアクセス中と設定しにいくようにする。そして、自
ユニットに対応したフラグにアクセス中と設定された場
合には、バス制御手段の制御によってバスの占有権を得
て共有メモリへアクセスし、アクセス終了後にそのフラ
グを非アクセス中に設定する。
【0019】請求項4記載の発明では、ユーザプログラ
ム実行後は、CPUユニットおよび周辺ユニットが、各
々、共有メモリへアクセスする際に、フラグ設定手段の
自ユニットに対応したフラグにアクセス中と設定しにい
きその後当該フラグを読取り、当該フラグにアクセス中
と設定されている場合には、バス制御手段の制御によっ
て上記バスの占有権を得て共有メモリへアクセスしてC
PUユニットから周辺ユニットへのイベントデータを交
換し、アクセス終了後に当該フラグを非アクセス中に設
定する。そして次に、CPUユニットおよび周辺ユニッ
トが、同様にしてバスの占有権を得て共有メモリへアク
セスしてCPUユニットおよび周辺ユニット間のサイク
リックデータを交換し、アクセス終了後に当該フラグを
非アクセス中に設定する。そして最後に、CPUユニッ
トおよび周辺ユニットが、同様にしてバスの占有権を得
て共有メモリへアクセスして周辺ユニットからCPUユ
ニットへのイベントデータを交換し、アクセス終了後に
当該フラグを非アクセス中に設定する。
【0020】
【実施例】以下、本発明に係るPLCの実施例を図面に
基づいて説明する。
【0021】図1に、本発明に係る第1実施例のPLC
の構成を示す。
【0022】本実施例では、CPUユニット11のCP
U側MPU11aと周辺ユニット側12の周辺側MPU
12aとの間のバス13上にバス制御手段としてのバス
アービタ14と、このバスアービタ14を介してバス1
3に接続されるデータ交換用の共有メモリとしてのシン
グルポートメモリ15と、アクセス中フラグ設定部16
とを有している。
【0023】アクセス中フラグ設定部16は、詳細は後
述するが、CPU側MPU11aあるいは周辺側MPU
12aがシングルポートメモリ15をアクセスしている
か否かを示すアクセス中フラグを各ユニットの分(本実
施例ではCPUユニット1台と周辺ユニット1台分の2
つ。)だけ有しており、両フラグを排他的に設定、すな
わち同時にアクセス中を示さないように構成されてい
る。
【0024】なお、この周辺ユニット12の中には、通
常のリレー等のI/Oユニットや、A/DおよびD/A
変換や高速カウンタ、位置コントローラ、通信ユニット
等の高機能なユニット等のCPUユニット以外のユニッ
トが含まれるものとする。
【0025】図2に、アクセス中フラグ設定部16にお
けるアクセス中フラグの設定状態を示す。
【0026】アクセス中フラグは、上述の通り、CPU
ユニット11側がアクセス中であるか否かを示す1ビッ
トと、周辺ユニット12側がアクセス中であるか否かを
示す1ビットとの2ビットから構成される。なお、周辺
ユニットが複数台あれば上述のようにそれに応じてビッ
トの数を増やす必要がある。
【0027】そして、ここでは、各フラグに“1(オ
ン)”がセットされているときはアクセス中を示し、
“0(オフ)”がセットされているときは非アクセス
中、すなわちアクセスしていないことを示すものとす
る。
【0028】つまり、アクセス中フラグ“00”によ
り、両ユニットの非アクセス中を示し、“10”により
CPUユニット11側のアクセス中を示し、“01”に
より周辺ユニット12側のアクセス中を示すことにな
る。
【0029】そしてアクセス中フラグ“11”の状態、
すなわち両アクセス中フラグが同時に“1”にセットさ
れないよう、アクセス中フラグ設定部32に次に示すイ
ンターロック回路等を設けて“11”の状態を禁止する
ようにしている。
【0030】図3は、上記インターロック回路の一例を
示している。
【0031】このインターロック回路17は、図1では
図示してないがアクセスフラグ設定部32内に設けられ
るもので、アクセス中フラグ“11”の状態が起こらな
いよう排他制御を行うための回路である。周知なもので
あるが、簡単に説明しておく。
【0032】このインターロック回路17は、シングル
ポートメモリ15へアクセスを行うユニットの数に合わ
せて、本実施例では、CPUユニット11側および周辺
ユニット12側の2つの入力D0 を有しており、各入力
D0 はリセット入力端R付きD−FF17-1a 、17-1
b に入力している。また、CPUユニット11および周
辺ユニットからは、各々、D−FF17-1a 、17-1b
の入力Cへのクロック信号としてチップセレクト信号
(CS)またはライト信号(WR)がオアゲート17-2
a 、17-2b を介して入力するようになっている。
【0033】そして、D−FF17-1a 、17-1b の各
出力Qを、各々、そのままCPUユニット11側、周辺
ユニット12側のアクセス中フラグとしていると共に、
インバータ17-3a ,17-3b を介しD−FF17-1b
、17-1a の反転入力であるリセット入力端Rに入力
するようにしている。
【0034】このため、CPUユニット11側のD−F
F17-1a の出力Qに“1”が出力している場合には、
インバータ17-3a を介して反転され、さらにリセット
入力端Rで反転されて“1”となって周辺ユニット側の
D−FF17-1b にインターロックがかかり、このD−
FF17-1b に入力D0 とライト信号(WR)が入力し
ている場合でも、その出力Qに“1”を出力せずに、以
前の状態を保持するように作動する。この逆の場合に同
じことが同様なことが言え、D−FF17-1a、17-1b
の各出力Qである両アクセス中フラグは排他的に設定
されることになる。
【0035】次に、このように構成されたPLCの処理
を説明する。
【0036】図4に、請求項1および請求項2記載の発
明に係るPLCにおけるユニット側からシングルポート
メモリへのアクセス手順を示す。ここでは、図1におい
てCPU側MPU11aがシングルポートメモリ15へ
アクセスする場合の手順を示している。
【0037】まず、CPU側MPU11aがシングルポ
ートメモリ15へアクセスしようとする場合、アクセス
中フラグ設定部16へ自ユニットに対応したアクセス中
フラグに“1”をライトしにいき(ステップ100)、
続いて2つのアクセス中フラグをリードして(ステップ
110)、これらアクセス中フラグの状態を判断する
(ステップ120)。
【0038】ここで、アクセス中フラグが“01”の場
合には、周辺ユニット12側のアクセス中フラグに
“1”がセットされ、周辺ユニット12がシングルポー
トメモリをアクセスしていることを示しているため、シ
ングルポートメモリ15へのアクセスは行わず、アクセ
ス処理を終了して、次のアクセスの機会までアクセスを
延期するようにする。
【0039】一方、アクセス中フラグが“10”の場合
には、CPUユニット11側のアクセス中フラグに
“1”がセットされたため、バスアービタ14の制御に
よってバス3の占有権を得てシングルポートメモリ15
へアクセスし(ステップ130)、そのアクセスが終了
したらCPUユニット11側のアクセス中フラグに
“0”をライトして(ステップ140)、アクセス処理
を終了する。
【0040】さらに、アクセス中フラグが“00”の場
合には、何らかの事情、例えばノイズや周辺側MPU2
1からも同時にアクセスがあってフラグの設定にインタ
ーロックがかかった場合等であるため、再度“1”のラ
イトを行ってここまでの処理を繰り返す(ステップ10
0〜120)。
【0041】このため、アクセス中フラグが“00”の
場合、すなわちアクセス可能な状態にあるのに、何らか
の事情によってアクセス中フラグがセットされない場合
には、すぐにアクセス中フラグの再ライトにいくため、
データの転送性が向上する。
【0042】なお、これと同様にして、周辺ユニット1
2側もシングルポートメモリ15へのアクセスを行い、
この場合には、アクセス中フラグが“01”のときアク
セスを行うことになる。
【0043】図5に、アクセス中フラグを使用してアク
セス管理を行った場合のシングルポートメモリの占有時
間を示す。
【0044】この図で両ユニットがシングルポートメモ
リを占有している時間、すなわち図上斜線で示された部
分は、図13に示す従来の場合のシングルポートメモリ
の占有時間と比較すれば明らかなように、本実施例の方
が短く、空き時間があくことになり、両ユニット側から
のアクセス頻度が高くても、アクセスの衝突する確率の
低いことが分かる。
【0045】従って、本実施例によれば、図5からも明
らかなように、両ユニットが共有メモリであるシングル
ポートメモリを占有している時間は、両ユニットが各々
共有メモリにアクセスしている時間だけとなるため、共
有メモリを安価なシングルポートメモリで構成した場合
でも、デュアルポートメモリの場合と同等な高速度でユ
ニット間のデータ交換を行うことができることになる。
【0046】次に、請求項3記載の発明に係るPLCの
実施例(以下、第2実施例という)を説明する。
【0047】第2実施例は、上記第1実施例のPLCと
構成が同じで、各ユニット側からシングルポートメモリ
へのアクセス手順の一部のみが異なるため、構成の説明
は省略して、本実施例での図1を用い、そのアクセス手
順のみを説明する。
【0048】図6に、本実施例におけるユニット側から
シングルポートメモリへのアクセス手順を示す。ここで
は、図4と同様、CPU側MPUがシングルポートメモ
リへアクセスする場合の手順を示している。図4に示す
第1実施例の場合と異なる点のみを説明する。
【0049】この第2実施例では、アクセス中フラグの
状態を判断した際に(ステップ220)、アクセス中フ
ラグが“01”、すなわち相手側である周辺側MPU1
2aがシングルポートメモリへアクセスしている場合に
は、第1実施例の場合のようにアクセス処理を終了して
次のアクセスの機会まで待つのではなく、アクセス中フ
ラグが“00”の場合と同様にCPUユニット11側の
アクセス中フラグに“1”がセットされて、CPU側M
PU11aがシングルポートメモリへアクセスできるよ
うになるまで再度アクセス中フラグに“1”のライト処
理からここまでの処理を繰り返すようにする(ステップ
200〜220)。
【0050】そして、以上のようなことを繰返す等し
て、アクセス中フラグが“10”にセットされた場合、
図1に示すように、CPU側MPU11aはバスアービ
タ14の制御によってバス3の占有権を得てシングルポ
ートメモリ15へのアクセスを行い(ステップ23
0)、アクセス終了後はその“1“のセットされたアク
セス中フラグに“0”をライトするように動作する。
【0051】なお、これと同様にして、周辺ユニット1
2側もシングルポートメモリ15へアクセスを行う際に
は、アクセス中フラグが“01”になるまで繰り返して
自ユニット12に対応したアクセス中フラグに“1”を
ライトしにいくようにして、シングルポートメモリ15
へのアクセスを行うようにする。
【0052】従って、この実施例によれば、上記第1実
施例と同様にデュアルポートメモリの場合と同等な高速
度でユニット間のデータ交換を行うとができると共に、
周辺ユニット12がシングルポートメモリ15にアクセ
スしている最中に、CPUユニット11がシングルポー
トメモリ15へアクセスした場合、上記第1実施例のよ
うに次のアクセスの機会までアクセスを延期せずに、周
辺ユニット12のアクセス終了後直ぐにシングルポート
メモリ15にアクセスできる。このため、タイムロスが
なくなり、素早く送る必要のあるデータ交換の場合に非
常に有効となる。
【0053】次に、請求項4記載の発明に係るPLCの
実施例(以下、第3実施例という)を説明する。
【0054】この第3実施例に係るPLCは、周辺ユニ
ットとして通信ユニットを有しており、このCPUユニ
ットと通信ユニット間でシングルポートメモリを介して
データ交換を行う場合のPLCにおける処理手順に特徴
がある。
【0055】図7に、この第3実施例に係るPLCの構
成を示す。
【0056】各PLC20,30は、CPUユニット2
1,31および周辺ユニットとして通信ユニット22,
32を各々有しており、各PLC20,30内でのサイ
クリック処理およびイベント処理を行い、その処理デー
タをPLC20,30間で交換するように構成されてい
る。
【0057】そして、ここでは図示してないが、各PL
C20,30においては、CPUユニット21,31と
通信ユニット22,32との間のバス23,33に、各
々、図1に示す第1実施例のものと同様なシングルポー
トメモリ、バスアービタおよびアクセス中フラグ設定部
が設けられているものとする。
【0058】なお、サイクリック処理とは、一定間隔で
予め決められたエリアのデータ(以下、サイクリックデ
ータという)の交換を行う処理をいい、イベント処理と
は、CPUユニットや周辺ユニットからの要求により非
定期的に行われる比較的大量のデータ(以下、イベント
データという)の交換処理をいう。
【0059】図8に、本実施例におけるシングルポート
メモリのエリア構成を示す。
【0060】このシングルポートメモリのエリア50に
は、サイクリックデータ格納用のサイクリックエリア5
1と、イベントデータ格納用のイベントエリア52とが
設けられている。イベントエリア52は、さらに、CP
Uユニットから通信ユニットへのイベントデータ格納用
のエリア52aと、通信ユニットからCPUユニットへ
のイベントデータ格納用のエリア52bと、いうように
1つのメモリ上にデータ転送の方向別にイベントエリア
が割り当てられている。
【0061】次に、このように構成された本実施例にお
けるPLCにおける処理を説明する。
【0062】PLCにおける処理は、通常、プログラム
の実行処理と、サイクリック処理およびイベント処理か
らなる入出力処理とから構成されている。
【0063】ここで、イベント処理の手順を簡単に説明
する。
【0064】このイベント処理も、アクセス中フラグの
排他的な設定により、CPUユニットまたは通信ユニッ
トが各シングルポートメモリへのアクセス権を得てイベ
ントデータを取り込むことによって行っている。
【0065】ところで、イベント処理では、イベントデ
ータを受け取った側のユニットがイベントデータの発行
側のユニットに対して応答を返すことになっており、こ
の応答も共有メモリであるシングルポートメモリ上のイ
ベントエリアを介して、データの場合と同様に転送方向
別のエリアを使用することによって行う。
【0066】つまり、例えば図7においてPLC20の
CPUユニット21がイベントデータを通信ユニット2
2を介してPLC30へ送信する場合には、イベントデ
ータの発行側と受信側との間に通信が介在しているた
め、イベント処理の応答が“通信ユニット22→通信ユ
ニット32→CPUユニット31→通信ユニット32→
通信ユニット22”という経路を経てCPUユニット2
1へ帰ってくる。したがって、この場合には応答が帰っ
てくるのに時間がかかる。
【0067】一方、例えば通信ユニット22からCPU
ユニット21へのイベントデータ転送の場合には、“通
信ユニット22→CPUユニット21→通信ユニット2
2”という経路で直ぐに通信ユニット22へ応答が返っ
てくる。
【0068】したがって、通信ユニット21からCPU
ユニット22へのイベント処理の場合には、CPUユニ
ット21から通信ユニット22への応答が直ぐにシング
ルポートメモリのイベントエリア52aに帰ってきてし
まうので、通信ユニット22が他の処理を行っていたり
また性能等の点から当該イベントエリア52aの応答を
直ぐに取り込めないことが多い。
【0069】このため、通信ユニット22がその応答を
取り込むまで、CPUユニット21が自ユニットで発生
したイベントデータの転送を行おうとしても、そのイベ
ントエリア52aが空いていなくイベント処理を行えな
い場合が有り得る。このようなことは、CPUユニット
の相手が通信ユニットの場合だけでなく、I/Oユニッ
ト等の周辺ユニットにおけるイベント処理の場合にも起
こり得る。
【0070】よって、本実施例では、イベント処理が行
えなくなる可能性を小さくするため、次のような手順で
PLCがイベント処理を含めた処理を行うようにする。
【0071】図9に、本実施例に係るPLCにおける処
理手順を示す。
【0072】本実施例に係るPLCでは、ユーザプログ
ラムを実行して(ステップ300)、そのプログラム実
行処理が終了すると、CPUユニットから通信ユニット
へのイベント処理をシングルポートメモリを介して上記
第1実施例と同様に行い(ステップ310)、次いでサ
イクリック処理もシングルポートメモリを介して上記第
1実施例と同様に行って(ステップ320)、最後に通
信ユニットからCPUユニットへのイベント処理をシン
グルポートメモリを介して上記第1実施例と同様に行う
(ステップ330)、という処理を繰り返すようにす
る。
【0073】従って、この第3実施例では、このように
イベント処理の間にサイクリック処理を挟むような形で
行い、しかもCPUユニットから通信ユニットへのイベ
ント処理をユーザプログラムの実行の次に行い、その後
にサイクリック処理を介して通信ユニットからCPUユ
ニットへのイベント処理を行うという順にしたため、以
下に示すような理由でイベント処理を効率良く実行でき
る。
【0074】(1)イベント処理の間に各々ユーザプロ
グラム実行処理(ステップ300)とサイクリック処理
(ステップ320)とを介在させて時間間隔を持たせた
ため、当該通信ユニットからCPUユニットへのイベン
ト処理(ステップ330)によりシングルポートメモリ
上のCPUユニットから通信ユニットへのイベントエリ
ア52aに帰ってきたCPUユニットからの応答を、ユ
ーザプログラム処理(ステップ300)の間に通信ユニ
ットが取り込むことができ、次のCPUユニットから通
信ユニットへのイベント処理時(ステップ310)に
は、そのイベントエリア42aの空く可能性が高くな
る。
【0075】(2)図9とは異なり、ユーザプログラム
の実行後、通信ユニットからCPUユニットへのイベン
ト処理(ステップ330)を、CPUユニットから通信
ユニットへのイベント処理(ステップ310)の先に行
うこととすると、通信ユニットからCPUユニットへの
イベント処理時には、すぐにCPUからそのイベント処
理の応答がCPUユニットから通信ユニットへのイベン
トエリア52aに帰ってくることになる。そのため、通
信ユニットは、図8において両方向のイベントエリア5
2a,52bの処理が可能となり、サイクリック処理を
介して次にCPUユニット側が通信ユニットへイベント
処理をしようとした場合に、通信ユニットがシングルポ
ートメモリへアクセス中のために、CPUユニット側が
シングルポートメモリへアクセスできない可能性が高く
なる。しかし、本実施例によれば、ユーザプログラムの
実行後は、図9に示すように、CPUユニットから通信
ユニットへのイベント処理(ステップ310)を通信ユ
ニットからCPUユニットへのイベント処理(ステップ
330)の前に行い、その後ユーザプログラムの実行処
理(ステップ300)を介してCPUユニットから通信
ユニットへのイベント処理(ステップ310)を行うよ
うにしているため、CPUユニット側がシングルポート
メモリへアクセスできなくなる可能性が極めて低くな
る。
【0076】
【発明の効果】以上説明したように、請求項1記載の発
明では、ユニット間に共有メモリを設け、各ユニットが
共有メモリへアクセスする際には、排他的に設定された
自ユニットに対応したフラグにアクセスしにいき、当該
フラグにアクセス中と設定されている場合のみバスの占
有権を得てアクセスするようにしたため、両ユニットが
共有メモリを占有している時間は、共有メモリにアクセ
スしている時間だけとなり、安価な構成でデュアルポー
トメモリの場合と同等な高速度でユニット間のデータ交
換を行うことができる。
【0077】また、請求項2記載の発明では、請求項1
記載の発明と同様の効果が得られると共に、アクセス中
フラグを読み取った際に両方のフラグに非アクセス中と
設定されている場合、再度自ユニットに対応したフラグ
にアクセス中と設定しにいくようにしたため、両ユニッ
トから同時にアクセスしにいってアクセス中と設定でき
なかった場合でも直ぐアクセスを行うことができる。
【0078】また、請求項3記載の発明では、請求項1
記載の発明と同様の効果が得られると共に、アクセス中
フラグを読み取った際に他のユニットに対応したフラグ
にアクセス中と設定されている場合、再度自ユニットに
対応したフラグにアクセス中と設定しにいくようにした
ため、他のユニットがアクセスを終了した後直ぐにアク
セス中フラグを設定して、共有メモリへアクセスするこ
とができ、素早く送る必要のあるデータ交換の場合に非
常に有効となる。
【0079】また、請求項4記載の発明では、PLCに
おける処理手順を、ユーザプログラム実行後、まずCP
Uユニットから周辺ユニットへのイベント処理を行い、
次いでサイクリックデータをCPUユニットおよび周辺
ユニット間で交換し、次いで周辺ユニットからCPUユ
ニットへのイベント処理の順で行うようにし、かつ、各
処理では、各ユニットが共有メモリへアクセスする際に
は、排他的に設定された自ユニットに対応したフラグに
アクセスしにいき、当該フラグにアクセス中と設定され
ている場合のみバスの占有権を得てアクセスするように
したため、イベント処理の間に時間間隔があき、共有メ
モリ上のイベントエリアに空きの起こる確率が高くな
り、イベント処理を効率良く実行できる。
【図面の簡単な説明】
【図1】本発明に係るPLCの構成を示すブロック図。
【図2】アクセス中フラグの設定状態を示す説明図。
【図3】インターロック回路の構成の一例を示すブロッ
ク図。
【図4】第1実施例に係るPLCにおけるユニット側か
らシングルポートメモリへのアクセス手順を示すフロー
チャート。
【図5】第1実施例に係るPLCにおけるシングルポー
トメモリの占有時間を示す説明図。
【図6】第2実施例に係るPLCにおけるユニット側か
らシングルポートメモリへのアクセス手順を示す説明
図。
【図7】第3実施例に係るPLCの構成を示すブロック
図。
【図8】第3実施例に係るPLCにおけるシングルポー
トメモリのエリア構成を示す説明図。
【図9】第3実施例に係るPLCにおける処理手順を示
すフローチャート。
【図10】シングルポートメモリを使用した従来方式の
一例を示すブロック図。
【図11】図10に示す従来方式による場合の手順を示
すフローチャート。
【図12】デュアルポートメモリを使用した従来方式の
他の例を示すブロック図。
【図13】図10に示す従来方式によるシングルポート
メモリの占有状態等を示す説明図。
【符号の説明】
11 CPUユニット 11a CPU側MPU 12 周辺ユニット 12a 周辺側MPU 13 バス 14 バスアービタ(バス制御手段) 15 シングルポートメモリ(共有メモリ) 16 アクセス中フラグ設定部 20 PLC 21 CPUユニット 22 通信ユニット(周辺ユニット) 30 PLC 31 CPUユニット 32 通信ユニット(周辺ユニット)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ユーザプログラムを実行するCPUユニ
    ットと周辺ユニット間のバスに共有メモリを接続し、C
    PUユニットまたは周辺ユニットが上記バスの占有権を
    得て上記共有メモリへアクセスするようにしたプログラ
    マブルコントローラにおいて、 CPUユニットから共有メモリへのアクセス中を示すフ
    ラグと、周辺ユニットから共有メモリへのアクセス中を
    示すフラグとを有し、両フラグを排他的に設定するフラ
    グ設定手段と、 上記フラグ設定手段によって排他的に設定されたフラグ
    を参照して、アクセス中と設定されたフラグに対応した
    CPUユニットあるいは周辺ユニットに上記バスの占有
    権を与えるバス制御手段とを具備し、 CPUユニットおよび周辺ユニットは、各々、共有メモ
    リへアクセスする際に、フラグ設定手段の自ユニットに
    対応したフラグにアクセス中と設定しにいきその後当該
    フラグを読取り、当該フラグにアクセス中と設定されて
    いる場合には、バス制御手段の制御によって上記バスの
    占有権を得て共有メモリへアクセスし、アクセス終了後
    に当該フラグを非アクセス中に設定する、 ことを特徴とするプログラマブルコントローラ。
  2. 【請求項2】 CPUユニットおよび周辺ユニットは、
    各々、共有メモリへアクセスする際に、フラグ設定手段
    の自ユニットに対応したフラグにアクセス中と設定しに
    いきその後両フラグを読取り、両フラグに非アクセス中
    と設定されている場合には再度自ユニットに対応したフ
    ラグにアクセス中と設定しにいくようにする一方、自ユ
    ニットに対応したフラグにアクセス中と設定されている
    場合にはバス制御手段の制御によってバスの占有権を得
    て共有メモリへアクセスし、アクセス終了後にそのフラ
    グを非アクセス中に設定する、 ことを特徴とする請求項1記載のプログラマブルコント
    ローラ。
  3. 【請求項3】 CPUユニットおよび周辺ユニットは、
    各々、共有メモリへアクセスする際に、フラグ設定手段
    の自各ユニットに対応したフラグにアクセス中と設定し
    にいきその後両フラグを読取り、相手ユニットに対応し
    たフラグにアクセス中と設定されている場合には再度自
    ユニットに対応したフラグにアクセス中と設定しにいく
    ようにする一方、自ユニットに対応したフラグにアクセ
    ス中と設定されている場合にはバス制御手段の制御によ
    ってユニットと共有メモリ間のバスの占有権を得て共有
    メモリへアクセスし、アクセス終了後にそのフラグを非
    アクセス中に設定する、 ことを特徴とする請求項1記載のプログラマブルコント
    ローラ。
  4. 【請求項4】 ユーザプログラムを実行するCPUユニ
    ットと周辺ユニット間のバスに共有メモリを接続し、C
    PUユニットまたは周辺ユニットが上記バスの占有権を
    得て上記共有メモリへアクセスするようにしたプログラ
    マブルコントローラにおいて、 CPUユニットから共有メモリへのアクセス中を示すフ
    ラグと、周辺ユニットから共有メモリへのアクセス中を
    示すフラグとを有し、両フラグを排他的に設定するフラ
    グ設定手段と、 上記フラグ設定手段によって排他的に設定されたフラグ
    を参照して、アクセス中と設定されたフラグに対応した
    CPUユニットあるいは周辺ユニットに上記バスの占有
    権を与えるバス制御手段とを具備し、 ユーザプログラム実行後は、 CPUユニットで発生したイベントデータを周辺ユニッ
    トへ送るため、CPUユニットおよび周辺ユニットは、
    各々、共有メモリへアクセスする際に、フラグ設定手段
    の自ユニットに対応したフラグにアクセス中と設定しに
    いきその後当該フラグを読取り、当該フラグにアクセス
    中と設定されている場合には、バス制御手段の制御によ
    って上記バスの占有権を得て共有メモリへアクセスして
    上記イベントデータを交換し、アクセス終了後に当該フ
    ラグを非アクセス中に設定し、 次いでサイクリックデータをCPUユニットおよび周辺
    ユニット間で交換するため、CPUユニットおよび周辺
    ユニットは、各々、共有メモリへアクセスする際に、フ
    ラグ設定手段の自ユニットに対応したフラグにアクセス
    中と設定しにいきその後当該フラグを読取り、当該フラ
    グにアクセス中と設定されている場合には、バス制御手
    段の制御によって上記バスの占有権を得て共有メモリへ
    アクセスして上記サイクリックデータを交換し、アクセ
    ス終了後に当該フラグを非アクセス中に設定し、 次いで周辺ユニットで発生したイベントデータをCPU
    ユニットへ送るため、CPUユニットおよび周辺ユニッ
    トは、各々、共有メモリへアクセスする際に、フラグ設
    定手段の自ユニットに対応したフラグにアクセス中と設
    定しにいきその後当該フラグを読取り、当該フラグにア
    クセス中と設定されている場合には、バス制御手段の制
    御によって上記バスの占有権を得て共有メモリへアクセ
    スして上記イベントデータを交換し、アクセス終了後に
    当該フラグを非アクセス中に設定する、 ことを特徴とするプログラマブルコントローラ。
JP17702693A 1993-07-16 1993-07-16 プログラマブルコントローラ Withdrawn JPH0736373A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17702693A JPH0736373A (ja) 1993-07-16 1993-07-16 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17702693A JPH0736373A (ja) 1993-07-16 1993-07-16 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH0736373A true JPH0736373A (ja) 1995-02-07

Family

ID=16023860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17702693A Withdrawn JPH0736373A (ja) 1993-07-16 1993-07-16 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH0736373A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278607A (ja) * 2001-03-21 2002-09-27 Toyo Commun Equip Co Ltd 異周期シーケンサの排他制御回路
JP2005322209A (ja) * 2004-05-06 2005-11-17 ▲萬▼國電腦股▲ふん▼有限公司 シリコン記憶媒体制御方法およびシリコン記憶媒体
JP2012523498A (ja) * 2009-04-10 2012-10-04 サン−ゴバン コーティング ソルスィヨン 溶射によってターゲットを製造するための方法
JP2014096173A (ja) * 2005-12-06 2014-05-22 Samsung Electronics Co Ltd メモリシステム及びそれを含むメモリ処理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278607A (ja) * 2001-03-21 2002-09-27 Toyo Commun Equip Co Ltd 異周期シーケンサの排他制御回路
JP4547821B2 (ja) * 2001-03-21 2010-09-22 ネッツエスアイ東洋株式会社 異周期シーケンサの排他制御回路
JP2005322209A (ja) * 2004-05-06 2005-11-17 ▲萬▼國電腦股▲ふん▼有限公司 シリコン記憶媒体制御方法およびシリコン記憶媒体
JP2014096173A (ja) * 2005-12-06 2014-05-22 Samsung Electronics Co Ltd メモリシステム及びそれを含むメモリ処理方法
US8984237B2 (en) 2005-12-06 2015-03-17 Samsung Electronics Co., Ltd. Memory system and memory management method including the same
JP2012523498A (ja) * 2009-04-10 2012-10-04 サン−ゴバン コーティング ソルスィヨン 溶射によってターゲットを製造するための方法

Similar Documents

Publication Publication Date Title
US4380798A (en) Semaphore register including ownership bits
JPH02500784A (ja) 保留バスにおいて割り込み要求メッセージを処理するノード
JP3481308B2 (ja) インターフェース装置、データ転送システム及びデータ転送方法
JPH0736373A (ja) プログラマブルコントローラ
JP2749819B2 (ja) 共有メモリ制御方式
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
JPS61165170A (ja) バス制御方式
JP3240863B2 (ja) 調停回路
JPH0340417B2 (ja)
JPS58107977A (ja) 記憶装置へのアクセス方式
JP3266610B2 (ja) Dma転送方式
JPH11110342A (ja) バス接続方法及び装置
JPS6029139B2 (ja) 処理装置間結合方式
JP2852149B2 (ja) セマフォビット回路
KR960007835B1 (ko) 다중 프로세서의 공통 메모리 억세스 장치
JP3367736B2 (ja) プログラマブルコントローラ
JPS6162158A (ja) デ−タ授受システム
JPH05314061A (ja) バス・インタフェース制御方式
JPH05282246A (ja) マイクロコンピュータ
JPS60169969A (ja) マルチプロセツサシステム
JPS62119661A (ja) 共有メモリに対するアクセス管理方式
JP3077992B2 (ja) データ伝送装置
JPH02219105A (ja) プログラマブルコントローラ
JP2539030B2 (ja) ダイレクトメモリアクセス装置
JPS63231664A (ja) 入出力制御アダプタ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20001003