JP3695078B2 - パルス出力命令を持つプログラマブルコントローラ - Google Patents
パルス出力命令を持つプログラマブルコントローラ Download PDFInfo
- Publication number
- JP3695078B2 JP3695078B2 JP22869997A JP22869997A JP3695078B2 JP 3695078 B2 JP3695078 B2 JP 3695078B2 JP 22869997 A JP22869997 A JP 22869997A JP 22869997 A JP22869997 A JP 22869997A JP 3695078 B2 JP3695078 B2 JP 3695078B2
- Authority
- JP
- Japan
- Prior art keywords
- condition
- stored
- storage means
- previous
- scan
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
【発明の属する技術分野】
本発明は、パルス出力命令を持つプログラマブルコントローラに関するものである。
【0002】
【従来の技術】
一般に、プログラマブルコントローラにおいて、特定の条件の成立に基づいて制御を行なうためにパルスを発生させることが多い。たとえば、押釦スイッチの押操作に基づいて何らかの制御を行なうとすれば、押操作の時間のばらつきによる不都合を回避するために一定時間幅のパルスを生成する。また、計測器などからのデータを所定のタイミング信号の立ち上がりで補足するためにパルスを生成するのも一般的に行なわれていることである。このようなパルスは入力信号の立ち上がりや立ち下がりのタイミングで生成される。
【0003】
立ち上がりパルスを生成するには、図4に示すようなシーケンスプログラム(ラダー図として示してある)が必要である。図4においてX0は入力、M0は出力を示し、R0はパルス出力を生成するために用いるリレーを示している。この構成ではプログラマブルコントローラのスキャン動作を利用してパルスを生成している。すなわち、図4の構成では図5のように、入力X0の立ち上がりが検出されると、1スキャンタイム長のパルスが出力M0として得られるのである。
【0004】
【発明が解決しようとする課題】
ところで、このようなシーケンスプログラムでパルスを生成するとすれば4ステップの記述が必要であり、シーケンスプログラムが長くなってシーケンスプログラムの開発効率が悪くなるという問題が生じ、また入力X0と出力M0とのほかにリレーR0の記述が必要であるから、可読性が悪くなって修正や保守が面倒になるという問題が生じる。
【0005】
さらに、シーケンスプログラムの小容量化を図るにはアドレス修飾を行なうのが有効であるが(特開昭62−171002号公報等参照)、上述したパルス発生用のシーケンスプログラムにおいてアドレス修飾を行なうとすれば、入力X0、出力M0、リレーR0のそれぞれにアドレス修飾用の命令を用いる必要があり、しかもアドレス修飾を行なうと直接アドレス指定に比べて占有ステップ数(ワード数)が2倍になるから、1回のパルスの発生について8ステップが必要になって、シーケンスプログラムが一層長くなり可読性が一層低下するという問題が生じる。
【0006】
本発明は上記事由に鑑みて為されたものであり、その主な目的は、パルスを発生する専用の命令を持つことによりシーケンスプログラムの記述量を低減させることが可能なパルス出力命令を持つプログラマブルコントローラを提供することにある。また、請求項2の発明においては、パルス出力命令をアドレス修飾可能としてシーケンスプログラムの一層の小容量化を図ったプログラマブルコントローラを提供することを目的としている。
【0007】
【課題を解決するための手段】
請求項1の発明は、シーケンスプログラムのスキャンに伴って対象機器を制御するプログラマブルコントローラであって、条件としての規定の1ビットの変化点を検出すると1スキャンタイム長のパルスを出力するパルス出力命令を有し、パルス出力命令の出力を格納する出力記憶手段と、出力記憶手段と同容量であって前回のスキャン時における条件を格納する前回条件記憶手段と、アドレス修飾のためのインデックスレジスタと、インデックスレジスタの内容を用いてアドレス修飾を行なう修飾演算機能部とを備え、パルス出力命令をアドレス修飾可能とし、パルス出力命令は、インデックスレジスタを用いて出力記憶手段および前回条件記憶手段のアドレスを求める過程と、前回条件記憶手段の前記アドレスから読み出した前回のスキャン時の条件を汎用レジスタに転送する過程と、今回のスキャンで得られアキュムレータに格納された条件を一時レジスタに転送する過程と、アキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件とを比較して変化点の有無を検出する過程と、変化点を検出すると出力記憶手段の前記アドレスにそれ以前とは異なる値を格納する過程と、前記一時レジスタの格納値を前回条件記憶手段の前記アドレスに格納する過程とからなり、条件の変化点を検出するものである。この構成によれば、前回条件記憶手段に格納した前回のスキャン時の条件に基づいて条件の変化点を検出するから、条件の変化点を検出してパルスを出力することができるのである。また、前回条件記憶手段を出力記憶手段と同容量としているから、条件の変化点を検出するためのシーケンスプログラムをその都度記述する必要がなく、前回条件記憶手段に格納された前回のスキャン時の条件を読み出して今回のスキャン時の条件と比較する作業をパルス出力命令の中で実行することで、シーケンスプログラムの記述量を大幅に低減することができる。
【0008】
また、パルス出力命令を用いる際にアドレス修飾を行なうことができるから、シーケンスプログラムの小容量化につながる。つまり、1命令でパルスを発生させることができるから、アドレス修飾を行なう場合も2ステップで記述することができ、従来構成に比較するとシーケンスプログラムの記述量が1パルス当たり4分の1になる。
【0010】
請求項2の発明は、請求項1の発明において、前記変化点が条件の立ち上がり点であることを特徴とするものである。この構成は望ましい実施態様である。
請求項3の発明は、請求項1の発明において、前記変化点が条件の立ち下がり点であることを特徴とするものである。この構成は望ましい実施態様である。
【0011】
請求項4の発明は、請求項1の発明において、変化点の有無が、アキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件との排他的論理和により検出されるものである。この構成は望ましい実施態様である。
請求項5の発明は、請求項4の発明において、前記排他的論理和とアキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件との論理積を出力記憶手段に格納するものである。この構成は望ましい実施態様である。
【0012】
【発明の実施の形態】
本実施形態は、図1に示す処理手順を有したパルス出力命令をプログラマブルコントローラに持たせたものである。プログラマブルコントローラは、図2に示すように、マイクロプロセッサ1と、システムプログラムを格納したシステムメモリ2と、シーケンスプログラムを格納するプログラムメモリ3と、各種データを格納するデータメモリ4と、外部機器を接続する入出力部5とを備える。また、図示していないがプログラム支援装置を接続するポートなども設けられる。
【0013】
マイクロプロセッサ1は、演算処理ユニット11とアキュムレータ12とのほかインデックスレジスタ13、汎用レジスタ14、一時レジスタ15を備え、図1に示す処理の実行が可能になっている。また、データメモリ4にはパルス出力命令の実行結果を格納する出力記憶手段としての出力記憶領域D1 およびパルス出力命令を実行したときの条件を記憶する前回条件記憶手段としての条件記憶領域D2 が設けられている。出力記憶領域D1 と条件記憶領域D2 とは同容量で複数ビットのビットデータが格納可能になっている。
【0014】
本実施形態で説明するパルス出力命令は、アドレス修飾が可能になっている。すなわち、シーケンスプログラムには、インデックスレジスタの内容を書き込むステップとパルス出力命令を実行するステップとの2ステップを記述するだけでアドレス修飾指定を行なってパルスを出力することができる。ここに、アドレス修飾を実行するアドレス修飾機能部は、マイクロプロセッサ1、システムメモリ2、プログラムメモリ3により構成されることになる。
【0015】
以下に図1に示す処理手順について説明する。パルス出力命令を実行すると、インデックスレジスタ13の内容を用いて、出力記憶領域D1 の所望のアドレスと、条件記憶領域D2 における対応するアドレスとが計算される(S1)。こうして出力記憶領域D1 および条件記憶領域D2 のアドレスが求められると、今回のスキャンでのパルス出力命令の実行結果を格納する領域が確保され、かつ前回のスキャン時にパルス出力命令を実行したときの条件を獲得することができる。ここで、条件の立ち上がりを検出したときにパルスを発生するのであれば、条件記憶領域D2 の初期値は0になる(論理値が0から1に変化することを立ち上がりとしている)。
【0016】
出力記憶領域D1 および条件記憶領域D2 のアドレスを求めた後には、条件記憶領域D2 より得られた前回のスキャン時の条件を汎用レジスタ14に格納し、アキュムレータ12に格納された今回のスキャン時の条件を一時レジスタ15に格納する。この条件は次回のスキャン時に変化点(立ち上がり点、立ち下がり点)の検出用に用いることになる。さらに、条件に変化点があるか否かを検出するために、アキュムレータ12に格納された今回のスキャン時の条件と汎用レジスタ14に格納した前回のスキャン時の条件との排他的論理和を求める。この論理演算によって、条件の変化点の有無を検出することができる。つまり、条件に変化があれば論理演算の結果は1になり、条件に変化がなければ0になる。さらに、上述の排他的論理和の結果と現在のスキャン時の条件との論理積を求める。これにより、今回のスキャン時の条件が0であれば変化点の有無にかかわらず論理演算の結果が0であり、今回のスキャン時の条件が1であって変化点が検出されれば論理演算の結果が1になる。つまり、条件の立ち上がり点が検出されたときにのみ出力値が1になる。また、条件に変化がないか、条件の立ち下がり点が検出されたときには出力値が0になる。つまり、条件の立ち上がり点から1スキャンタイム長のパルスが出力されることになる。この演算結果はアキュムレータ12に格納される(S2)。
【0017】
次に、アキュムレータ12の内容が出力記憶領域D1 のうちステップS1で求めたアドレスに格納される(S3)。また、一時レジスタ15の内容が条件記憶領域D2 のうちステップS1で求めたアドレスに格納される(S4)。これらの処理によって、出力記憶領域D1 のうちステップS1で求めたアドレスの内容は、条件の立ち上がりから1スキャンタイム長の間だけ1になりパルスとして用いられることになる。また、今回のスキャン時の条件が一時レジスタ15から条件記憶領域D2 に転送されるから、この条件を次回のスキャン時に変化点の有無の検出に用いることになる。上述の説明から明らかなように、パルスは出力記憶領域D1 の特定アドレスに格納された値の変化として得られるから、他のビット演算において自由に参照することができる。
【0018】
上述のようなパルス出力命令を用いてビット演算を行なうことで、シーケンスプログラム中でアドレス修飾を行なってパルスを発生させることができるのであって、たとえば、図3に示すように、アドレス修飾を行なった入力iXnとアドレス修飾を行なった出力iPn(パルスリレー)とを記述するだけでパルスを用いることができるのである。このようにシーケンスプログラムを従来よりも簡単に記述することができるから、シーケンスプログラムのステップ数が低減され、かつ不要な命令の記述がなくなり、シーケンスプログラムの作成、修正、保守が容易になるのである。
【0019】
【発明の効果】
請求項1の発明は、シーケンスプログラムのスキャンに伴って対象機器を制御するプログラマブルコントローラであって、条件としての規定の1ビットの変化点を検出すると1スキャンタイム長のパルスを出力するパルス出力命令を有し、パルス出力命令の出力を格納する出力記憶手段と、出力記憶手段と同容量であって前回のスキャン時における条件を格納する前回条件記憶手段と、アドレス修飾のためのインデックスレジスタと、インデックスレジスタの内容を用いてアドレス修飾を行なう修飾演算機能部とを備え、パルス出力命令をアドレス修飾可能とし、パルス出力命令は、インデックスレジスタを用いて出力記憶手段および前回条件記憶手段のアドレスを求める過程と、前回条件記憶手段の前記アドレスから読み出した前回のスキャン時の条件を汎用レジスタに転送する過程と、今回のスキャンで得られアキュムレータに格納された条件を一時レジスタに転送する過程と、アキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件とを比較して変化点の有無を検出する過程と、変化点を検出すると出力記憶手段の前記アドレスにそれ以前とは異なる値を格納する過程と、前記一時レジスタの格納値を前回条件記憶手段の前記アドレスに格納する過程とからなり、条件の変化点を検出するものであり、前回条件記憶手段に格納した前回のスキャン時の条件に基づいて条件の変化点を検出するから、条件の変化点を検出してパルスを出力することができ、しかも、前回条件記憶手段を出力記憶手段と同容量としているから、条件の変化点を検出するためのシーケンスプログラムをその都度記述する必要がなく、前回条件記憶手段に格納された前回のスキャン時の条件を読み出して今回のスキャン時の条件と比較する作業をパルス出力命令の中で実行することで、シーケンスプログラムの記述量を大幅に低減することができるという利点がある。
【0020】
また、パルス出力命令を用いる際にアドレス修飾を行なうことができるから、シーケンスプログラムの小容量化につながるという利点がある。つまり、1命令でパルスを発生させることができるから、アドレス修飾を行なう場合も2ステップで記述することができ、従来構成に比較するとシーケンスプログラムの記述量が1パルス当たり4分の1になるという利点がある。さらに、パルスは出力記憶手段の特定アドレスに格納された値の変化として得られるから、他のビット演算において自由に参照することができる。
【図面の簡単な説明】
【図1】本発明の実施形態で用いるパルス出力命令の手順を示す動作説明図である。
【図2】同上を実行するプログラマブルコントローラのブロック図である。
【図3】同上を用いて記述したシーケンスプログラムの一部を示す図である。
【図4】従来のシーケンスプログラムの一部を示す図である。
【図5】同上の動作説明図である。
【符号の説明】
1 マイクロプロセッサ
2 システムメモリ
3 プログラムメモリ
11 演算処理ユニット
12 アキュムレータ
13 インデックスレジスタ
14 汎用レジスタ
15 一時レジスタ
D1 出力記憶領域
D2 条件記憶領域
Claims (5)
- シーケンスプログラムのスキャンに伴って対象機器を制御するプログラマブルコントローラであって、条件としての規定の1ビットの変化点を検出すると1スキャンタイム長のパルスを出力するパルス出力命令を有し、パルス出力命令の出力を格納する出力記憶手段と、出力記憶手段と同容量であって前回のスキャン時における条件を格納する前回条件記憶手段と、アドレス修飾のためのインデックスレジスタと、インデックスレジスタの内容を用いてアドレス修飾を行なう修飾演算機能部とを備え、パルス出力命令をアドレス修飾可能とし、パルス出力命令は、インデックスレジスタを用いて出力記憶手段および前回条件記憶手段のアドレスを求める過程と、前回条件記憶手段の前記アドレスから読み出した前回のスキャン時の条件を汎用レジスタに転送する過程と、今回のスキャンで得られアキュムレータに格納された条件を一時レジスタに転送する過程と、アキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件とを比較して変化点の有無を検出する過程と、変化点を検出すると出力記憶手段の前記アドレスにそれ以前とは異なる値を格納する過程と、前記一時レジスタの格納値を前回条件記憶手段の前記アドレスに格納する過程とからなり、条件の変化点を検出することを特徴とするパルス出力命令を持つプログラマブルコントローラ。
- 前記変化点は条件の立ち上がり点であることを特徴とする請求項1記載のパルス出力命令を持つプログラマブルコントローラ。
- 前記変化点は条件の立ち下がり点であることを特徴とする請求項1記載のパスル出力命令を持つプログラマブルコントローラ。
- 変化点の有無は、アキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件との排他的論理和により検出されることを特徴とする請求項1記載のパルス出力命令を持つプログラマブルコントローラ。
- 前記排他的論理和とアキュムレータに格納された今回のスキャン時の条件と汎用レジスタに格納された前回のスキャン時の条件との論理積を出力記憶手段に格納することを特徴とする請求項4記載のパルス出力命令を持つプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22869997A JP3695078B2 (ja) | 1997-08-26 | 1997-08-26 | パルス出力命令を持つプログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22869997A JP3695078B2 (ja) | 1997-08-26 | 1997-08-26 | パルス出力命令を持つプログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1165620A JPH1165620A (ja) | 1999-03-09 |
JP3695078B2 true JP3695078B2 (ja) | 2005-09-14 |
Family
ID=16880423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22869997A Expired - Lifetime JP3695078B2 (ja) | 1997-08-26 | 1997-08-26 | パルス出力命令を持つプログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3695078B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015210751A (ja) * | 2014-04-30 | 2015-11-24 | パナソニック デバイスSunx株式会社 | プログラマブルコントローラ、制御方法及び制御プログラム |
-
1997
- 1997-08-26 JP JP22869997A patent/JP3695078B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1165620A (ja) | 1999-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008217799A (ja) | 処理システムおよび情報をram構体で読取りおよび復元する方法 | |
JPH03252993A (ja) | E↑2promの情報書込み装置 | |
JP3695078B2 (ja) | パルス出力命令を持つプログラマブルコントローラ | |
US4807178A (en) | Programmable sequence controller having indirect and direct input/output apparatus | |
JPS5824811B2 (ja) | 情報処理システムにおける端末装置のリセット制御方式 | |
JP2731047B2 (ja) | プログラムのオペランドチェック方式 | |
JP2526703B2 (ja) | プログラマブルコントロ―ラ | |
JPS5922318B2 (ja) | 多重制御記憶装置 | |
JPS62202550A (ja) | 冗長回路付メモリicのテスト装置 | |
JPH08174926A (ja) | 印刷装置 | |
JPH11296441A (ja) | 誤り訂正回路 | |
JPS59153247A (ja) | デバツグ装置 | |
JPS6042492B2 (ja) | 処理フェ−ズ実行制御方式 | |
JPH01286028A (ja) | マイクロプログラムのパッチ方式 | |
JPH07319809A (ja) | プロセッサ | |
JPH07219765A (ja) | マイクロプログラム制御装置 | |
JPH04346153A (ja) | メモリアクセスバス制御方法とその情報処理装置 | |
JPH05210440A (ja) | キー入力装置のキー入力方法 | |
JPH06332508A (ja) | プログラマブルコントローラ | |
JPH0378833A (ja) | リスト処理言語を使用するデ―タ処理装置 | |
JPH07319753A (ja) | バスサイクルのマルチプレクス方式 | |
JPS63136238A (ja) | マイクロプログラム制御装置 | |
JPH0229839A (ja) | マイクロプログラム制御装置 | |
JPH05342064A (ja) | トレーサ回路 | |
JPS62221030A (ja) | マイクロプログラム制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050502 |
|
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: 20050607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |