JP4037941B2 - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP4037941B2 JP4037941B2 JP28199697A JP28199697A JP4037941B2 JP 4037941 B2 JP4037941 B2 JP 4037941B2 JP 28199697 A JP28199697 A JP 28199697A JP 28199697 A JP28199697 A JP 28199697A JP 4037941 B2 JP4037941 B2 JP 4037941B2
- Authority
- JP
- Japan
- Prior art keywords
- instructions
- instruction
- port
- command
- given
- 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 - Fee Related
Links
Images
Description
【産業上の利用分野】
この発明は、プログラマブルコントローラのような制御装置に関する。
【0002】
【従来の技術】
プログラマブルコントローラは、複数の命令を順次実行し、全ての命令を実行し終えると、再び最初の命令に戻って実行を繰り返す。このようにして、外部および内部リレー、スイッチ等の状態に従った、リアルタイムに近い制御を行うことができる。なお、この1サイクルの命令実行は、スキャンサイクルと呼ばれている。
【0003】
ところで、近年、外部のコンピュータ、表示器等の周辺機器からの命令も実行可能であるプログラマブルコントローラ2が実用化されている。そのシステム構成を図9に示す。プログラマブルコントローラ2には、押しボタンスイッチ、リミットスイッチ等の入力デバイス4、電磁開閉器、リレー等の出力デバイス6が接続されている。プログラマブルコントローラ2は、入力デバイス4の状態をメモリに反映し、このメモリの状態に基づいて出力デバイス6の状態を制御する。
【0004】
また、プログラマブルコントローラ2には、コンピュータ、表示器等の周辺機器8も接続されている。周辺機器8は、プログラマブルコントローラ2に対して、たとえば、メモリの状態を変更する書込命令を与える。スキャンサイクル内において、これを受けたプログラマブルコントローラ2は、この書込命令をメモリに記憶する。その後、スキャンサイクル終了時に、メモリに記録しておいた書込命令を実行する。
【0005】
これにより、入力デバイス4の実際の状態にかかわらず、当該入力デバイス4が所定の状態にあるものとして、プログラマブルコントローラ2を動作させることができる。
【0006】
【発明が解決しようとする課題】
しかしながら、上記のような従来の制御装置には、次のような問題点があった。
【0007】
第一に、従来の制御装置は、外部からの命令を、1スキャンサイクル内に1つしか受け取れないようになっていた。仮に、1スキャンサイクル内に二以上の命令が与えられると、二番目以降に与えられた命令は実行されず、無視されることとなっていた。したがって、複数の命令によって構成されるジョブを行うためには、少なくとも、当該命令の数と同じだけの数のスキャンサイクル分の時間を要していた。つまり、外部からの命令の実行が迅速ではなっかった。
【0008】
第二に、従来の制御装置は、複数の周辺機器からの命令を受けて、これを適切に実行することはできなかった。
【0009】
この発明は上記のような問題点を解決して、1スキャンサイクル内に複数の外部からの命令を受けて実行可能な制御装置、および接続された複数の周辺機器からの命令を受けて適切に実行することができる制御装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
この発明の制御装置は、各ポートごとに、1スキャンサイクル内において受け取り可能な命令数を定めておき、1スキャンサイクル内に、1つのポートに対し、当該受け取り可能な命令数を超える命令が与えられた場合、当該命令が受け取り不可である旨を返送することを特徴としている。
【0015】
【発明の効果】
この発明の制御装置は、各ポートごとに、1スキャンサイクル内において受け取り可能な命令数を定めておき、1スキャンサイクル内に、1つのポートに対し、当該受け取り可能な命令数を超える命令が与えられた場合、当該命令が受け取り不可である旨を返送することを特徴としている。これにより、命令を与えた外部機器は、後のスキャンサイクルにおいて、再び当該命令を与えて、確実に命令を実行させることができる。また、1つのポートによって、外部命令の実行が占有され、他のポートとの命令実行のバランスを欠く事態を回避することができる。
【0016】
【発明の実施の形態】
図1に、この発明の一実施形態によるプログラマブルコントローラの構成を示す。CPU10には、システムプログラムメモリ12、シーケンスプログラムメモリ14、補助メモリ16、I/Oインターフェース18、ポートP1、P2・・・Pnが接続されている。I/Oインターフェース18には、入力リレー、出力リレー、スイッチ等のデバイスが接続されている。
【0017】
ポートP1〜Pnには、それぞれ、外部から命令を与えるコンピュータ、表示器等の周辺機器が接続される。
【0018】
シーケンスプログラムメモリ14内には、これらの外部デバイスの状態に対応した記憶状態を保持する記憶部が設けられている。また、この記憶部には、内部リレーの状態を示す箇所も設けられている。さらに、シーケンスプログラムメモリ14には、ユーザの作成したシーケンスプログラムが格納される。
【0019】
システムプログラムメモリ12には、このプログラマブルコントローラの基本的動作を制御するシステムプログラムが格納されている。
【0020】
外部命令記憶手段である補助メモリ16は、各ポートP1〜Pnからの命令を記憶する。
【0021】
以下、このシーケンスコントローラに、ポートP1、ポートP2を介して、図2に示すような外部命令が与えられた場合を例にとって説明する。図3Aに、外部命令のフォーマットを示す。先頭のヘッダに続いて、操作種別、対象デバイス、データ、ターミネータが与えられる。ヘッダは開始を、ターミネータは終了を示す。操作種別は、データクリア、書込等の操作の種類を示す。対象デバイスは、その操作を行う対象となるデバイス(入力、出力、内部リレー、データレジスタ等)を示す。データは、操作を行うデータを示す。
【0022】
例えば、一括データクリア命令は、図3Bに示すような構成を有している。データクリア命令の場合には、操作を行うデータは不要である。また、スタートコントロールリレーON命令は、図3Cに示すような構成を有している。対象デバイスは、その種類(m、内部リレー)と対応するメモリ14内のアドレス(300)とによって指定されている。
【0023】
図4に、メモリ12に格納されたシステムプログラムのフローチャートを示す。まず、ステップS1において、出力デバイス(インターフェース18に接続された出力リレー等)に対応したメモリ14のアドレスの内容を読み出して、この内容に基づいて出力デバイスを制御する。
【0024】
次に、入力デバイス(インターフェース18に接続されたスイッチ等)の状態を得て、この状態に応じて対応するメモリ14のアドレスの内容を書き換える(ステップS2)。
【0025】
その後、メモリ14に格納されたユーザプログラムの最初のステップを実行する(ステップS3)。これが終わると、次のステップを実行する(ステップS4)。これを繰り返して、ユーザプログラムの最後のステップまで実行する(ステップS5)。
【0026】
なお、上記のステップS1〜S5の実行中に、いずれかのポートP1〜Pnから図2に示すように外部命令が与えられると、割り込み処理によってこの外部命令を補助メモリ16に格納する。
【0027】
このようにしてユーザプログラムを実行し終えると、補助メモリ16に記憶された命令を実行する(ステップS6)。これにより、外部から与えられた命令を、1スキャンサイクルの最後において実行することができる。
【0028】
補助メモリ16に記憶された命令を実行すると(つまり、1スキャンサイクルが終了すると)、再び、ステップS1以下の実行を繰り返す。
【0029】
図5に、外部命令を補助メモリ16へ記憶する割り込み処理のフローチャートを示す。まず、ステップS10において、外部命令の与えられたポートにつき、今まで与えられた命令数m
を取得する。補助メモリ16には、図6に示すようなデータ構造にて、各ポートP1〜Pnからの命令を記憶するようになっている。したがって、当該ポートに関して、今までに与えられた命令数mを容易に取得することができる。
【0030】
図2に示すように外部命令が与えられた場合には、まず、ポートP1に与えられた一括データクリア命令によって、図5の割り込み処理が実行される。なお、外部命令が完全に与えられ終わった時間の早い順(t1,t2,t3の順)に、割り込み処理が行われる。このスキャンサイクルが始まって、ポートP1に与えられた命令は今までなかったので、取得される命令数mは0である。
【0031】
次に、ステップS11において、このポートP1の命令数mが、最大命令可能数より小さいか否かを判断する。小さければ、全ポートを通じての命令総数k(各ポートの命令数mの合計)を1つインクリメントする(ステップS12)。この命令総数kは、図6の補助メモリに記憶される。ここでは、命令総数kは1となる。
【0032】
次に、命令総数kを、当該命令の順序とする(ステップS13)。この命令が与えられた順序も、補助メモリに記憶される(図6参照)。続いて、当該ポート(ここではポートP1)の命令数mを1つインクリメントする(ステップS14)。この命令数は、補助メモリに記録される(図6参照)。ここでは、命令数mは1となり、ポートP1からの命令数mとして記憶される。
【0033】
次に、外部命令の解釈を行い、書込データとアドレスを得る(ステップS15)。一括データクリア命令は、図3Bのようなフォーマットを有している。この命令を解釈して、どのアドレス(つまりデバイス)に、何れのデータを書き込めばよいのかを決定する。つまり、外部命令が、メモリ14の何れのアドレスに対して、どのようなデータを書き込むことを要求しているのかを解釈する。たとえば、図3Bの一括データクリア命令であれば、対象アドレスは、入力デバイス、出力デバイス、内部デバイス(内部リレー等)に対応する全てのアドレスとなる。また、書込データは”0”となる。このようにして得られたアドレスと書込データは、補助メモリに記憶される(図6参照)。
【0034】
上記と同じようにして、図2のスタートコントロールOFF命令、スタートコントロールON命令についても、図5の割り込み処理が行われる。
【0035】
なお、図5のステップS11において、命令数mが、当該ポートが受け取ることの可能な命令数(最大命令可能数)と等しくなると、当該命令を受け取ることができない旨を、ポートを介して返送する(ステップS16)。また、最大命令可能数は、予め設定しておく。このようにして、1つのポートによって、外部命令の実行が占有され、他のポートとの命令実行のバランスを欠く事態を回避することができる。
【0036】
上記のようにして、補助メモリ16(命令記憶部)には、図6に示すように、全ポートからの命令総数k、各ポートの命令情報が記憶される。各ポートの命令情報には、全ポートを通しての命令が与えられた順序、命令の内容(書込データ、アドレス)が記憶される。
【0037】
図7に、図2のように外部命令が与えられた場合に、補助メモリに記憶される具体的な内容を示す。この実施形態では、外部命令を解釈してアドレスと書込データを記憶するようにしているが、外部命令をそのまま記憶するようにしてもよい。
【0038】
次に、このようにして記憶された外部命令の実行(図4のステップS6)について説明する。そのフローチャートを図8に示す。ここでは、図7のように外部命令が記憶されているものとして説明する。
【0039】
まず、ステップS20、S21において、処理用カウンタqを1とし、ポートカウンタnを1とする。次に、命令カウンタjを0とする(ステップS22)。
次に、ポートカウンタnによって示されるポートにつき、記憶されている命令数mと最初に記憶されている命令の順序を取得する(ステップS23)。ここでは、命令数m=2、順序=1を取得する。ステップS24では、命令カウンタjが命令数mと等しくなったかどうかを判断する。ここでは、j=0、m=2であり、等しくなっていないから、ステップS25に進む。ステップS25では、命令カウンタjを1つインクリメントする。これにより、j=1となる。
【0040】
次に、取得した順序が処理用カウンタqと等しいか否かを判断する(ステップS26)。ここでは、順序=1、q=1であって等しいので、順序=”1”が付されて記録されていた当該命令を実行する(ステップS27)。つまり、全アドレスに対してデータ”0”の書込が行われ、一括データクリア命令が実行される。
【0041】
その後、qが全ポートからの命令総数kに等しくなったか否かを判断し、等しければこの処理を終了する(ステップS28)。ここでは、k=3、q=1であるから、ステップS28において、qを1つインクリメントする(ステップS29)。これによりq=2となり、再び、ステップS22以下を実行する。これにより、2番目の順序が付されている命令の実行を行う。
【0042】
まず、命令カウンタjを0にする(ステップS22)。次に、命令数mと順序を取得する(ステップS23)。今、ポートカウンタn=1であるから、命令数m=2、順序=1が取得される。さらに、ステップS24において、命令カウンタjが命令数mに等しくなったか否かを判断する。ここでは、命令カウンタj=0、命令数m=2であるから、ステップS25に進んで、命令カウンタjを1つインクリメントする。これにより、命令カウンタj=1となる。
【0043】
次に、処理用カウンタqが順序に等しいか否かを判断する(ステップS26)。ここでは、q=2、順序=1であるから、ステップS23に戻る。
【0044】
ステップS23では、次に記憶されている命令について、その順序を取得する。ここでは、順序=3が取得される(図7参照)。以下、ステップS24、ステップS25、ステップS26順に実行される。ステップS26においては、q=2、順序=3であるから、さらに再び、ステップS23に戻る。そして、ステップS24において、命令カウンタj(=2)と命令数m(=2)が等しくなるので、ステップS30に進む。
【0045】
ステップS30においては、ポートカウンタnがポート総数(ここでは2とする)に等しくなったか否かを判断する。ここでは、ポートカウンタn=1、ポート総数=2であるから、ステップS31に進む。ステップS31では、ポートカウンタnを1つインクリメントする。その後、ステップS22以下を実行する。このようにして、ポートP2についても同じように処理を行う。その結果、ステップS26において、処理用カウンタq=2、順序=2となって、ステップS27により、図7のスタートコントロールリレーOFF命令が実行される。つまり、アドレス300に対して、データ”0”が書き込まれる。
【0046】
その後、処理用カウンタq=3として、同様の処理が行われ、図7のスタートコントロールON命令が実行される。つまり、アドレス300に対して、データ”1”が書き込まれる。
【0047】
以上のようにして、与えられた順序どおり、外部命令を実行することができる。特に、図2のように、OFF命令とON命令が与えられた場合には、その実行順序が重要である。なぜなら、この順序が逆になると、最終的なリレーのON、OFFが変わってしまうからである。この点、上記実施形態によれば、命令が与えられた順に実行され、適正な処理が可能である。
【0048】
なお、上記の実施形態においては、複数のポートP1〜Pnを有する場合について説明したが、1つのポートを有する場合であっても適用することができる。この場合、1スキャンサイクル内に複数の命令が1つのポートから与えられても、それらの命令を与えられた順に実行することができる。
【0049】
また、上記実施形態では、各ポートごとにまとめて命令を記憶するようにしている。これは、ポート単位で処理をまとめた方がプログラムを簡素化することができるからである。しかし、場合によっては、命令が与えられた順序に従って、ポート番号を付して、命令を記憶するようにしてもよい。
【0050】
なお、上記実施形態においては、外部命令として書込を行う命令を示したが、1スキャンサイクルエンド処理を行う外部命令も対象とすることができる。
【図面の簡単な説明】
【図1】この発明の一実施形態によるプログラマブルコントローラの構成を示す図である。
【図2】ポートに与えられる外部命令のタイミングを示す図である。
【図3】外部命令のフォーマット及び、例を示す図である。
【図4】システムプログラムの処理を示すフローチャートである。
【図5】外部命令を受けたときの処理を示すフローチャートである。
【図6】補助メモリに記憶されるデータ(外部命令)のデータ構造を示す図である。
【図7】補助メモリに記憶される外部命令のデータ例を示す図である。
【図8】補助メモリに記憶された命令の実行処理を示すフローチャートである。
【図9】従来のプログラマブルコントローラを示す図である。
【符号の説明】
P1〜Pn・・・ポート
10・・・CPU
12・・・システムプログラムメモリ
14・・・シーケンスプログラムメモリ
16・・・補助メモリ
18・・・I/Oインターフェース
Claims (1)
- スキャンサイクルによりプログラムを繰り返し実行して制御を行う制御装置において、
外部からの命令を受けるための少なくとも1つ以上のポート、
1スキャンサイクル内において、前記ポートを介して与えられた命令を、与えられた順序とともに記憶する外部命令記憶手段、
1スキャンサイクル終了の際に、外部命令記憶手段に記憶された命令を、与えられた順序に従って実行する外部命令実行手段、を備え、
各ポートごとに、1スキャンサイクル内において受け取り可能な命令数を定めておき、
1スキャンサイクル内に、1つのポートに対し、当該受け取り可能な命令数を超える命令が与えられた場合、当該命令が受け取り不可である旨を返送する、
ことを特徴とする制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28199697A JP4037941B2 (ja) | 1997-10-15 | 1997-10-15 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28199697A JP4037941B2 (ja) | 1997-10-15 | 1997-10-15 | 制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11119813A JPH11119813A (ja) | 1999-04-30 |
JP4037941B2 true JP4037941B2 (ja) | 2008-01-23 |
Family
ID=17646783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28199697A Expired - Fee Related JP4037941B2 (ja) | 1997-10-15 | 1997-10-15 | 制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4037941B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8183250B2 (en) | 2006-06-20 | 2012-05-22 | Abbott Laboratories | Potent PARP inhibitors |
-
1997
- 1997-10-15 JP JP28199697A patent/JP4037941B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8183250B2 (en) | 2006-06-20 | 2012-05-22 | Abbott Laboratories | Potent PARP inhibitors |
Also Published As
Publication number | Publication date |
---|---|
JPH11119813A (ja) | 1999-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001265609A (ja) | 演算処理装置 | |
US5504869A (en) | High speed processing system capable of executing strings of instructions in order without waiting completion of previous memory access instruction | |
JP4037941B2 (ja) | 制御装置 | |
US4807178A (en) | Programmable sequence controller having indirect and direct input/output apparatus | |
AU714669B2 (en) | Peripheral device control | |
JP2846760B2 (ja) | プログラマブルコントローラ | |
KR960001977B1 (ko) | 프로그램가능 제어기의 제어방법 | |
JP2731166B2 (ja) | プログラマブルコントローラ | |
JPH08161010A (ja) | ラダーシーケンスプログラム演算装置 | |
JPH10268914A (ja) | プログラマブルコントローラ | |
JP3442972B2 (ja) | 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法 | |
JP5088566B2 (ja) | 割込機能を備えたplc | |
KR100383001B1 (ko) | 엠씨유의 온-보드 프로그램 방법 | |
JPH0158522B2 (ja) | ||
JP2000029508A (ja) | プログラマブルコントローラ | |
JPH06230843A (ja) | ハードウェア立ち上げ方式 | |
JPH10247107A (ja) | シーケンス処理時間の短縮方法 | |
JPH03246637A (ja) | プログラム記憶方式 | |
JPH09160786A (ja) | マイクロプロセッサ | |
JPH10171509A (ja) | プロセス制御装置 | |
JPH06242908A (ja) | コンピュータ・システム | |
JPH10187212A (ja) | プログラマブルコントローラ | |
JPH02181831A (ja) | プログラム制御方法 | |
JPS6148746B2 (ja) | ||
JPH08297583A (ja) | 割り込み処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040928 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070806 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071005 |
|
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: 20071029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071102 |
|
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: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131109 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |