JPH11288401A - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JPH11288401A JPH11288401A JP8842598A JP8842598A JPH11288401A JP H11288401 A JPH11288401 A JP H11288401A JP 8842598 A JP8842598 A JP 8842598A JP 8842598 A JP8842598 A JP 8842598A JP H11288401 A JPH11288401 A JP H11288401A
- Authority
- JP
- Japan
- Prior art keywords
- module
- bus
- modules
- access
- external bus
- 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
Links
Landscapes
- Information Transfer Systems (AREA)
- Programmable Controllers (AREA)
Abstract
たアクセス時間で固定されており、モジュールの実装形
態が小規模な時必要以上のアクセス時間がかかりプログ
ラマブルコントローラの全体的な処理時間が増大する。 【解決手段】バスコントローラにカウンタを設け、ウェ
イト数を設定するレジスタを設け、内部メモリにモジュ
ールの実装数に応じたウェイト数算出するためのテーブ
ルを設ける。
Description
ントローラの外部バスアクセス時間の制御方法に関し、
特に外部バスに接続されたIOモジュール等の接続負荷
により外部バスアクセス時間を可変にするプログラマブ
ルコントローラに関する。
部IOアクセス時間は、プログラマブルコントローラに
実装可能なIOモジュールの最大構成を想定し、その構
成で十分にアクセス可能な時間を固定値として設定して
いた。
には入力モジュール、出力モジュールに加え、高機能モ
ジュールと呼ばれるモジュールが用いられることがあ
る。この高機能モジュールには他のプログラマブルコン
トローラとの通信を行なうリンクモジュールや、モータ
の位置制御を行なう位置決めモジュール等、そのモジュ
ールで特定の処理を行なうモジュールが含まれる。この
高機能モジュールはCPUモジュールからのアクセスが
可能なだけでなく、負荷を制御するためのマイコンから
もアクセスが可能となるように共有メモリを有してい
る。高機能モジュールの一つとしてリンクモジュールの
構成の例を図11に示す。リンクモジュールは通信IF
部64と、外部バスIF部62と、MPU60と、共有
メモリ66とを備え、外部バスIF部62とMPU60
と共有メモリ66との間はバス65で接続され、通信I
F部64とMPU60との間はバス63で接続されてい
る。リンクモジュールのMPU60が他のプログラマブ
ルコントローラに実装されているリンクモジュール(図
示せず)と通信IF部64を介しデータを送受信し、共
有メモリ66にお互いのデータを格納する。送受信処理
はリンクモジュール自体が常時行なっており、CPUモ
ジュール10は外部バス4および外部バスIF部62を
介してこの共有メモリ66をアクセスすることで他のプ
ログラマブルコントローラの最新のデータを参照でき
る。また、MPU60はその内部のメモリ(図示せず)
にのモジュールが何であるかを知らせるモジュール情報
を格納しており、この場合はモジュールがリンクモジュ
ールであることを示すコードが格納される。また、高機
能モジュールがリモートモジュールである場合はリモー
トモジュールであることを示すコードが格納されてい
る。
ュールから共有メモリへのアクセス時に競合が発生した
場合、高機能モジュール側からBUSYを出力する手段
と、BUSYが解除されるまでアクセスを延ばす手段と
を設けていた。
高機能モジュールに対するアクセスに関しては高機能モ
ジュール側からBUSY_Nを出力するため、その期間
アクセスを延ばすことが出来るが、通常のIOモジュー
ルの場合その手段がないため、最大構成を想定した固定
のアクセス時間でアクセスしていた。そのため、実装す
るモジュールの数が少ない場合でも必要以上のアクセス
時間がかかり、CPUの処理時間が低下する。
ルの負荷(数)を認識し、その負荷に応じた最適なアク
セス時間で外部IOへアクセス可能なプログラマブルコ
ントローラを提供することを目的としている。
に、本発明は、メインプロセッサを有するCPUモジュ
ールとこのCPUモジュールにそれぞれ外部バスで接続
される入力モジュールと出力モジュールとを備えたプロ
グラマブルコントローラであって、CPUモジュールは
外部バスのアクセス時間を管理するカウンタを有するバ
スコントローラを備え、メインプロセッサはカウンタの
設定値をバスコントローラからの出力負荷から算出する
よう構成されたことを特徴とするものである。
8を用いて詳細に説明する。本実施例のプログラマブル
コントローラは、図2に示されるようにCPUモジュー
ル10とこのCPUモジュール10にそれぞれ外部バス
4で接続される入力モジュール11、12と出力モジュ
ール13、14とを備えたプログラマブルコントローラ
である。本実施例ではさらに高機能モジュール15、1
6と、図示していないが電源モジュールがCPUモジュ
ール10にそれぞれ外部バス4を介して接続される。高
機能モジュール15、16は例えば図11に示されるよ
うなリンクモジュールが用いられる。これらのCPUモ
ジュール10、入力モジュール11、12、出力モジュ
ール13、14、高機能モジュール15、16および電
源モジュールはベース17上のスロットに装着され、外
部バス4を介してCPUモジュール10と他の入力モジ
ュール11、12、出力モジュール13、14、高機能
モジュール15、16との間でのデータのやりとりが可
能となる。入力モジュール、出力モジュール、高機能モ
ジュール等の数が多い場合には、必要に応じて増設用の
ベース18、19を増設ケーブル40を介して接続す
る。増設用のベース18、19は少なくとも一つ以上設
けられ、ベース18、19上の外部バス41、42にこ
れらの入力モジュール、出力モジュール、高機能モジュ
ール等を接続することにより実装できるモジュールの数
を最大構成まで増設可能である。
に示す。入力モジュール11、12は外部バス4に接続
される外部バスIF部52と、ステータスレジスタ50
と、セレクタ56を内部に備え、外部には端子台54が
設けられる。ステータスレジスタ50は16ビットのレ
ジスタで内部には図10に示すようにモジュール情報、
入出力点数の情報が格納される。モジュール情報はその
モジュールが何であるかを知らせる情報で、入力モジュ
ールの場合は入力モジュールであることを示すコードが
格納される。同様に、モジュールが出力モジュールの場
合は出力モジュールであることを示すコードがそれぞれ
格納される。セレクタ56はバス51、53、55を介
してそれぞれステータスレジスタ50、外部バスIF部
52、端子台54に接続される。また、セレクタ56に
はコントロール信号線57からコントロール信号が供給
されて外部バスIF部52を端子台54またはステータ
スレジスタ50に選択的に接続する。
はメインプロセッサとしてのMPU1と、外部バス4へ
のアクセスを行なうバスコントローラ3と、システムプ
ログラムが格納されるシステムメモリ5と、ユーザプロ
グラムが格納されるプログラムメモリ6と、内部データ
が格納されるデータメモリ7とMPU1及びバスコント
ローラ3にクロックを供給する発振器8から構成され
る。MPU1はローカルバス2を介してバスコントロー
ラ3と、システムメモリ5と、プログラムメモリ6とに
接続される。図1に示すように、バスコントローラ3は
内部状態を示す内部ステート30と、内部ステート30
の状態を参照し外部バス4とのインタフェースを行なう
外部バスIF部31と、内部ステート30の状態を参照
しローカルバス2とのインタフェースを行なうローカル
バスIF部32と、アクセスのための待ち時間を設定す
るためのウェイト(wait)数をカウントするウェイ
トカウンタ33と、MPU1により設定されたウエイト
数が格納されるとともにバスコントローラ3からはこの
データの参照のみが可能なウェイト数設定レジスタ34
と、ウェイトカウンタ33の値とウェイト数設定レジス
タ34の値を常時比較し、比較結果を内部ステート30
に反映させる比較器35から構成される。バスコントロ
ーラ3はMPU1と外部バス4とのインターフェースを
行い、MPU1からのアクセスに対し外部バス4のアク
セスタイミングを制御する。MPU1はこのアクセス時
間からバスコントローラ3内のウェイト数設定レジスタ
34に格納すべき設定値を算出し、この設定値をウエイ
ト数設定レジスタ34に格納する。バスコントローラ3
は外部バス4へアクセスする時、あるタイミングで内部
に設けられるウェイトカウンタ33を1ずつカウントア
ップしそのカウント値がウェイト数設定レジスタ34に
格納されているウェイト数になるまで外部バス4の状態
を保持する。これにより外部バス4に実装されている入
力モジュール11、12、出力モジュール13、14等
の負荷に対し最適なアクセス時間を算出しアクセス可能
となる。すなわち、バスコントローラ3はウェイトカウ
ンタ33により外部バス4のアクセス時間を管理する機
能を有する。
の実装IOテーブルはモジュールが実装可能な各スロッ
トに対しどのモジュールが実装されているかを認識する
ためのテーブルである。設定方法はユーザがプログラマ
ブルコントローラを起動前に実装IOテーブルに設定す
るか、あるいはMPU1がウェイト数設定レジスタにベ
ースに設けられているスロットの数を最大値としてデフ
ォルトで設定後各スロットにアクセスして装着されたモ
ジュールの数を調べてデフォルトの値を補正してテーブ
ルに設定する。デフォルト値を正式な値に補正するに
は、1つの方法としては各モジュールにあるモジュール
毎の固有情報が格納されているステータスレジスタ50
からそのモジュールが何であるかを示すモジュール情報
を読み出してどのモジュールがいくつあるかを算出して
設定する方法があり、他の方法として各スロットにアク
セスして応答の有無でモジュールの有無を判別して応答
の数を計数することによりモジュールの数を算出して設
定する方法がある。上記のようにユーザがプログラマブ
ルコントローラを起動前に実装IOテーブルに設定しな
い場合には、MPU1はプログラムメモリ6に格納され
ているユーザプログラムを実行する前に図4に示す実装
IOテーブルを作成する。これをもとに図5に示すウェ
イト数設定テーブルを参照し、バスコントローラ3内の
ウェイト数設定レジスタ34に格納する。ウェイト数設
定テーブルは図5(a)に示すように実装されるモジュ
ールの数(この場合は実装数5毎に区切っている)によ
り参照するテーブルを変更する方法や、増設ベースが接
続されるとバスコントローラ3の出力負荷が増加するた
め、図5(b)に示すように増設ベースの有無により参
照するテーブルを変更する方法、あるいは上記2つの方
法を組み合わせた方法等がある。上記のようにメインプ
ロセッサMPU1は外部バス4に実装されているモジュ
ールの数を認識し、それに従って外部バス4のアクセス
時間の算出を行う。すなわち、MPU1はウエイトカウ
ンタ33の設定値をバスコントローラからの出力負荷で
ある外部バス4に実装されているモジュールの数から算
出する。
カルバス2側のインタフェース及び外部バス4側のイン
タフェースが定義され、各バスの詳細な信号は明記しな
いがこの内部ステート30のデコードで作成される。内
部ステート30にはバスコントローラ3が何もアクセス
を行なわない“Idle”と、バスコントローラ3が外
部バス4へのアクセスを行なう“St1”,“St
2“,”St3“,”St4“,”Stw“からな
る。”St2“から”St3“の間に”Stw“が挿入
される。“Stw”の挿入条件はウェイトカウンタ33
とウェイト数設定レジスタ34の値を比較器35で比較
した結果出力されるCMP_RDYが“0”か、アクセ
ス先のモジュールから出力されるBUSY_Nが“0”
の時に挿入され、CMP_RDY及びBUSY_Nが
“1”になるまでその状態を保持する。同じように外部
バス4の状態も保持したままとなる。尚、内部ステート
30の状態は説明のため6種のステートに分類している
が、バスのアクセスに合せて更に分類しても構わない。
バス4へのアクセスタイミングを図6に示す。MPU1
がローカルバス2、バスコントローラ3を介し入力モジ
ュール11、12へのアクセスを開始すると、バスコン
トローラ3の内部ステート30は次のクロックの立ち上
がりから“St1”となりバスコントローラ3が外部バ
ス4へのアクセスを開始する。同時にバスコントローラ
3はMPU1に対しアクセスをウェイトさせるためのW
AIT_Nを“0”にする。これにより内部ステート3
0は次のクロックの立ち上がりで“St2”に遷移し、
その次のクロックの立ち上がりでBUSY_N,CMP
_RDY共“1”であるため“St3”に遷移する。同
時にバスコントローラ3はWAIT_Nを“1”とし、
MPU1に対しアクセスの終了を知らせる。以降クロッ
クの立ち上がりが来るたびに内部ステートが“St4”
から“Idle”になる。同時にローカルバス2もアク
セスが終了する。次に高機能モジュール15、16の共
有メモリアクセスを実行する。本アクセスも入力モジュ
ールの場合と同様に“St1”から外部アクセスを開始
し、“St2”の時点でBUSY_Nが“0”であるた
め“Stw”に遷移する。以降BUSY_Nが“1”に
なるまで“Stw”を保持し、その後“St3”,“S
t4”と遷移し外部バスアクセスを終了する。
“4”が設定されている場合の入力モジュール11、1
2へのアクセスのタイミングを図7に示す。MPU1が
ローカルバス2、バスコントローラ3を介し入力モジュ
ール11、12へのアクセスを開始すると、バスコント
ローラ3の内部ステート30は次のクロックの立ち上が
りから“St1”となりバスコントローラ3が外部バス
4へのアクセスを開始する。内部ステート30が“St
2”となった時点でCMP_RDYが“0”であるた
め、“Stw”へと遷移しウェイトカウンタ33をクロ
ックの立ち上がり毎に更新する。その後CMP_RDY
が“1”になったらウエイトカウンタ33の更新はや
め、内部ステート30は“St3”に遷移する。ウエイ
トカウンタ33のリセットは電源立上げ時及び外部バス
4へのアクセス終了時に行われる。
“4”が設定されている場合の高機能モジュール15、
16へのアクセスのタイミングを図8に示す。MPU1
がローカルバス2を介しバスコントローラ3に対し高機
能モジュール15、16へのアクセスを開始すると、バ
スコントローラ3の内部ステート30は次のクロックの
立ち上がりから“St1”となりバスコントローラ3が
外部バス4へのアクセスを開始する。内部ステート30
が“St2”となった時点でCMP_RDYが“0”で
あるため、“Stw”へと遷移しウェイトカウンタ33
をクロックの立ち上がり毎に更新する。その後CMP_
RDYが“1”になったらウエイトカウンタ33の更新
はやめる。一方BUSY_Nがまだ“0”であるため、
内部ステート30は“Stw”を保持し、“1”となっ
た時点で“St3”に遷移する。その後クロックの立ち
上がり毎に“St4”,“Idle”と遷移し、ウェイ
トカウンタ33もクリアされる。
ール等の負荷(数)によって最適なウェイト数を算出し、
これに従ってアクセス時間が決定されるためプログラマ
ブルコントローラの全体性能が向上する。
ールの負荷(数)を認識し、その負荷に応じた最適なア
クセス時間で外部IOへアクセス可能なプログラマブル
コントローラを得ることができる。
トローラのバスコントローラの構成を示すブロック図で
ある。
トローラの構成を示すブロック図である。
トローラのCPUモジュールの構成を示すブロック図で
ある。
トローラの実装IOテーブルを示す図である。
トローラのウェイト数設定テーブルを示す図で、同図
(a)は実装されるモジュールの数毎に設定値を区切っ
た例を示す図、同図(b)は増設ベースの数毎に設定値
を区切った例を示す図である。
トローラのウェイト数を設定しない場合の外部バスアク
セスタイミングを示す図である。
トローラのウェイト数設定レジスタに設定値“4”が設
定されている場合の入出力モジュールアクセスのタイミ
ングを示す図である。
トローラのウェイト数設定レジスタに設定値“4”が設
定されている場合の高機能モジュールアクセスのタイミ
ングを示す図である。
トローラの入力モジュールの構成を示すブロック図であ
る。
ントローラの入力モジュールのステータスレジスタを示
す図である。
ントローラの高機能モジュールの一種であるリンクモジ
ュールの構成を示すブロック図である。
ントローラ、4:外部バス、5:システムメモリ、6プ
ログラムメモリ、7:データメモリ、8:発振器、1
0:CPUモジュール、11、12:入力モジュール、
13、14:出力モジュール、15、16:高機能モジ
ュール、17、18、19:ベース、30:内部ステー
ト、31:外部バスIF部、32:ローカルバスIF
部、33:ウエイトカウンタ、34:ウエイト数設定レ
ジスタ、35:比較器、50:ステータスレジスタ、6
6:共有メモリ。
Claims (3)
- 【請求項1】メインプロセッサを有するCPUモジュー
ルとこのCPUモジュールにそれぞれ外部バスで接続さ
れる入力モジュールと出力モジュールとを備えたプログ
ラマブルコントローラであって、上記CPUモジュール
は外部バスのアクセス時間を管理するカウンタを有する
バスコントローラを備え、上記メインプロセッサは上記
カウンタの設定値を上記バスコントローラからの出力負
荷から算出するよう構成されたことを特徴とするプログ
ラマブルコントローラ。 - 【請求項2】上記CPUモジュールと上記入力モジュー
ルと上記出力モジュールとが実装されるベースを備え、
上記メインプロセッサは上記カウンタの設定値を上記ベ
ースに実装されているモジュールの数から算出すること
を特徴とする請求項1記載のプログラマブルコントロー
ラ。 - 【請求項3】少なくとも上記入力モジュールおよび上記
出力モジュールとが実装されて上記CPUモジュールと
外部バスを介して接続されるベースを1つ以上備え、上
記メインプロセッサは上記カウンタの設定値を上記ベー
スの数から算出することを特徴とする請求項1記載のプ
ログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08842598A JP3930964B2 (ja) | 1998-04-01 | 1998-04-01 | プログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08842598A JP3930964B2 (ja) | 1998-04-01 | 1998-04-01 | プログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11288401A true JPH11288401A (ja) | 1999-10-19 |
JP3930964B2 JP3930964B2 (ja) | 2007-06-13 |
Family
ID=13942439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08842598A Expired - Lifetime JP3930964B2 (ja) | 1998-04-01 | 1998-04-01 | プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3930964B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100386902B1 (ko) * | 1999-12-22 | 2003-06-12 | 닛폰 덴키(주) | 외부 버스 제어 장치 |
JP2010003039A (ja) * | 2008-06-19 | 2010-01-07 | Koyo Electronics Ind Co Ltd | Cpu動作クロック同調式plcバスシステム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5307561B2 (ja) | 2009-01-07 | 2013-10-02 | 株式会社フジクラ | モジュール連接システム |
-
1998
- 1998-04-01 JP JP08842598A patent/JP3930964B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100386902B1 (ko) * | 1999-12-22 | 2003-06-12 | 닛폰 덴키(주) | 외부 버스 제어 장치 |
JP2010003039A (ja) * | 2008-06-19 | 2010-01-07 | Koyo Electronics Ind Co Ltd | Cpu動作クロック同調式plcバスシステム |
Also Published As
Publication number | Publication date |
---|---|
JP3930964B2 (ja) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7650274B2 (en) | Microcomputer logic development system | |
JPH0677249B2 (ja) | マイクロコンピュータ | |
JPH10507019A (ja) | ステートマシンを用いたマイクロプロセッサプログラミングのための一体型構造及びその回路基板の組み立て方法 | |
KR920004416B1 (ko) | 개량된 통신제어장치에 사용된 데이타 처리장치 | |
US20020178310A1 (en) | USB transmission control circuit | |
US6721810B2 (en) | Universal controller expansion module system, method and apparatus | |
CN111782027B (zh) | Ddr存储器运行频率调整方法及装置 | |
JPH11288401A (ja) | プログラマブルコントローラ | |
JP2734246B2 (ja) | パイプラインバス | |
JP3477306B2 (ja) | 拡張入出力インターフェイス | |
JP2004094945A (ja) | ホストと、ホストよりも大きなレイテンシを有するスレーブデバイス間のインタフェース | |
US20060206644A1 (en) | Method of hot switching data transfer rate on bus | |
US20040123006A1 (en) | Process and apparatus for managing use of a peripheral bus among a plurality of controllers | |
JP3164851B2 (ja) | 空気調和機のアドレス設定装置 | |
KR100429258B1 (ko) | 라우터에서 확장 가능한 메모리 인터페이스 구조 및구성정보 설정방법 | |
JP7310695B2 (ja) | 通信システム | |
JP3267110B2 (ja) | マイクロコンピュータのデータ転送装置 | |
JP2508038B2 (ja) | プログラマブル・コントロ−ラ | |
JP2743780B2 (ja) | 分散処理装置 | |
JP2000322376A (ja) | バスインターフェース変換回路 | |
CN115729863A (zh) | 数据传输方法、装置、电子设备及介质 | |
JP2003022247A (ja) | 半導体装置 | |
JPH06216909A (ja) | プログラマブルコントローラ | |
JPH03141450A (ja) | 周辺装置 | |
JPH03250968A (ja) | 入出力機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040202 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040206 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040206 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040206 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060510 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061220 |
|
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: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070312 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140316 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |