JPS61204704A - シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステム - Google Patents
シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステムInfo
- Publication number
- JPS61204704A JPS61204704A JP60044445A JP4444585A JPS61204704A JP S61204704 A JPS61204704 A JP S61204704A JP 60044445 A JP60044445 A JP 60044445A JP 4444585 A JP4444585 A JP 4444585A JP S61204704 A JPS61204704 A JP S61204704A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- program
- pointer
- pause
- open
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4147—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using a programmable interface controller [PIC]
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(発明の技術分野)
この発明は、シーケンス制御やサーボ制御を行なうのに
適したコンピュータシステムに関する。
適したコンピュータシステムに関する。
(発明の技術的背景とその問題点)
従来、シーケンスやサーボ系の制御はPC(Progr
ammable Controller) やCN
C(Computer−ized Numerical
Control)によッテ行なわれて来たが、これら
システムにはプログラミングにおいていくつかの欠点が
ある。PCの場合には。
ammable Controller) やCN
C(Computer−ized Numerical
Control)によッテ行なわれて来たが、これら
システムにはプログラミングにおいていくつかの欠点が
ある。PCの場合には。
ラダー回路によってプログラミングするため。
一般のコンピュータで行なわれているようなプログラミ
ングができないことが大きな欠点となる。すなわち、ラ
ダー回路によってプログラミングを行なうと、順序回路
のように、過去の回路の状態によって結果が異なるもの
についてのプログラミングが困難となる。また、たとえ
そのようなプログラミングを行なえたとしても、コンピ
ュータのプログラミングのような、複雑かつ高度な内容
のプログラミングはさらに困難となる。これに加えて、
プログラムの開発支援手段やプログラミングテクニック
の技術では。
ングができないことが大きな欠点となる。すなわち、ラ
ダー回路によってプログラミングを行なうと、順序回路
のように、過去の回路の状態によって結果が異なるもの
についてのプログラミングが困難となる。また、たとえ
そのようなプログラミングを行なえたとしても、コンピ
ュータのプログラミングのような、複雑かつ高度な内容
のプログラミングはさらに困難となる。これに加えて、
プログラムの開発支援手段やプログラミングテクニック
の技術では。
一般のコンピユー身の方がはるかに進歩しており、これ
らを利用できないことも問題となる。
らを利用できないことも問題となる。
また、PCによる制御の速度には、PCのサイクルタイ
ムによる制約があり、数ミリ秒以下の早い応答を望むこ
とができない、また、PCの入出力点数が限られている
ため、数値データの入出力が不可能となってしまうこと
が多い、さらに、PCでは算術演算を含む条件の判別が
困難であるなど、PCで直接シーケンスやサーボ系を制
御することは無理が多かった。
ムによる制約があり、数ミリ秒以下の早い応答を望むこ
とができない、また、PCの入出力点数が限られている
ため、数値データの入出力が不可能となってしまうこと
が多い、さらに、PCでは算術演算を含む条件の判別が
困難であるなど、PCで直接シーケンスやサーボ系を制
御することは無理が多かった。
一方、CNCの場合にはコンピュータを用いているため
、装置のパードウ霊アのみならずソフトウェアも複雑な
ものになっている。このため、ソフトウェアに関する智
識の少ない機械技術者や現場の担当者などが、プログラ
ムを作成したリシーケンスを変更することは困難である
。このようなシステム言語を用いる困難さを回避するた
めに、シーケンス専用のマクロ言語を持つシステムも存
在するが、従来のマクロ言語はインタプリタであるため
実行速度が遅いし1機能も限定されていた。
、装置のパードウ霊アのみならずソフトウェアも複雑な
ものになっている。このため、ソフトウェアに関する智
識の少ない機械技術者や現場の担当者などが、プログラ
ムを作成したリシーケンスを変更することは困難である
。このようなシステム言語を用いる困難さを回避するた
めに、シーケンス専用のマクロ言語を持つシステムも存
在するが、従来のマクロ言語はインタプリタであるため
実行速度が遅いし1機能も限定されていた。
(発IIの目的)
この発明は上述の点を考慮してなされたものであり、シ
ーケンス制御やサーボ制御のためのプログラミング1゛
語とそれを実行するコンピュータシステムを提供するこ
とを目的としている。
ーケンス制御やサーボ制御のためのプログラミング1゛
語とそれを実行するコンピュータシステムを提供するこ
とを目的としている。
(発明の概要)
この発明は、シーケンス制御やサーボ制御を行なうのに
適したコンピュータシステムに関するもので、オープン
命令、クローズ命令及びポーズ命令の3種の並行処理命
令をもったプログラミング言語とそれを実行するコンピ
ュータを提供することによって、シーケンス制御やサー
ボ制御を容易に効率良く行ない得るようにしたものであ
る。
適したコンピュータシステムに関するもので、オープン
命令、クローズ命令及びポーズ命令の3種の並行処理命
令をもったプログラミング言語とそれを実行するコンピ
ュータを提供することによって、シーケンス制御やサー
ボ制御を容易に効率良く行ない得るようにしたものであ
る。
(発明の実施例)
この発明では、シーケンス制御やサーボ制御のプログラ
ミング言語としてシステム言語を使用せず、装置のソフ
トウェアについての知識が少なくても使用できるベーシ
ック、フォートランなどの言語を使用する。勿論必要な
場合は、システム言語の使用も可□□□である。
ミング言語としてシステム言語を使用せず、装置のソフ
トウェアについての知識が少なくても使用できるベーシ
ック、フォートランなどの言語を使用する。勿論必要な
場合は、システム言語の使用も可□□□である。
このような言語を用いた場合、コンピュータの動作速度
に比較して、機械シーケンスの動作が遅いためにプログ
ラミング上問題がある。すなわち、プログラムに待ち時
間が多くなるので、待ち時間の間コンピュータはループ
を実行することとなり、その間システムは遊んでしまう
ことになる。また、待ち時間を正確に作り出すため、多
くのフラグやタイマーが必要となり、プログラムが必要
以上複雑になる。
に比較して、機械シーケンスの動作が遅いためにプログ
ラミング上問題がある。すなわち、プログラムに待ち時
間が多くなるので、待ち時間の間コンピュータはループ
を実行することとなり、その間システムは遊んでしまう
ことになる。また、待ち時間を正確に作り出すため、多
くのフラグやタイマーが必要となり、プログラムが必要
以上複雑になる。
これらの問題を解決する並行処理によるプログラミング
は、システム言語において行なうことができるが、ベー
シック、フォートランなどの言語では行なえなかった。
は、システム言語において行なうことができるが、ベー
シック、フォートランなどの言語では行なえなかった。
この発明は、オープン命令、クローズ命令及びポーズ命
令の3種の並行処理命令を導入することにより、これを
可能にするものである。
令の3種の並行処理命令を導入することにより、これを
可能にするものである。
オープン命令0PENβの動作を第1図にフローチャー
トで示す、オープン命令0PENβは、現在実行されて
いるプログラムαから別のプログラムβの実行を開始さ
せる。この命令が実行された後は、プログラムα及びβ
は同時に並行処理される。シーケンス制御では、同時に
いくつかのシーケンスが並行して実行されるが、そのよ
うな場合にこの命令を用いて並行処理を行なう。
トで示す、オープン命令0PENβは、現在実行されて
いるプログラムαから別のプログラムβの実行を開始さ
せる。この命令が実行された後は、プログラムα及びβ
は同時に並行処理される。シーケンス制御では、同時に
いくつかのシーケンスが並行して実行されるが、そのよ
うな場合にこの命令を用いて並行処理を行なう。
クローズ命令CLO3Eβの動作を第2図及び第3図に
示す、クローズ命令CLOSEβは、現在実行されてい
るプログラムαにより、並行して実行中のプログラムβ
を強制的に終了させるための命令である。プログラムβ
はこの命令が実行された時点で、実行中の命令をもって
実行が強制的に終了させられる。ここで、同じプログラ
ムを実行するタスクが複数個あった場合、例えばプログ
ラムβがいくつか並行処理されていた場合には、プログ
ラムβのすべての実行が強制御的に終了させられること
となる。このクローズ命令CLOSEβを用いることに
より、処理の完了条件等の監視と処理の終了を別に設け
た専用のプログラムによって行なうことができる。また
、このクローズ命令を自分自身のプログラムの終了のた
めにも使用することができる。
示す、クローズ命令CLOSEβは、現在実行されてい
るプログラムαにより、並行して実行中のプログラムβ
を強制的に終了させるための命令である。プログラムβ
はこの命令が実行された時点で、実行中の命令をもって
実行が強制的に終了させられる。ここで、同じプログラ
ムを実行するタスクが複数個あった場合、例えばプログ
ラムβがいくつか並行処理されていた場合には、プログ
ラムβのすべての実行が強制御的に終了させられること
となる。このクローズ命令CLOSEβを用いることに
より、処理の完了条件等の監視と処理の終了を別に設け
た専用のプログラムによって行なうことができる。また
、このクローズ命令を自分自身のプログラムの終了のた
めにも使用することができる。
ポーズ命令PAUSE tの動作を第4図に示す。
この命令が実行されると、パラメータ tで与えられた
時間(単位はミリ秒)だけプログラムの実行が中断され
た後に次の処理が再開される。
時間(単位はミリ秒)だけプログラムの実行が中断され
た後に次の処理が再開される。
例えばパラメータ tが35”であったとすると、処理
γが実行された後、35ミ“り秒間プログラムαのサー
ビスが中断され、その後にプログラムαのサービスが再
開され、処理δ実行される。ポーズ命令を実行中に他の
プログラムの処理は中断されることなく、実行され続け
る。このポーズ命令PAUSE tにより1機械動作や
入出力の完了を待つためのタイミングが7特別なタイマ
ーを設けることなしに作り出される。また、ループを用
いてタイミングを待つ場合と異なり、中断中に他のシー
ケンスの処理を待たせることもない。
γが実行された後、35ミ“り秒間プログラムαのサー
ビスが中断され、その後にプログラムαのサービスが再
開され、処理δ実行される。ポーズ命令を実行中に他の
プログラムの処理は中断されることなく、実行され続け
る。このポーズ命令PAUSE tにより1機械動作や
入出力の完了を待つためのタイミングが7特別なタイマ
ーを設けることなしに作り出される。また、ループを用
いてタイミングを待つ場合と異なり、中断中に他のシー
ケンスの処理を待たせることもない。
以上述べたようなオープン命令、クローズ命令及びポー
ズ命令の3種の並行処理命令を用いて、シーケンス制御
やサーボ制御を行なう方法を第5図で示された例を参照
して説明する。
ズ命令の3種の並行処理命令を用いて、シーケンス制御
やサーボ制御を行なう方法を第5図で示された例を参照
して説明する。
第5図のフローチャートで示されるサブプログラムAL
ARMは、プログラム5ERVOの中のエラーフラグを
常時監視し、プログラム中でエラーが発生した時にメツ
セージを出力するプログラムである。メインプログラム
5ERVOではエラーが起きた場合、エラーの種類に応
じて配列ERROR中の要素の値を“1”にセットする
。配列ERROR中の各要素に対し表示すべきエラーメ
ツセージは、配列TABLE中の対応する要素にあらか
じめ格納しておく、このプログラムALARMは。
ARMは、プログラム5ERVOの中のエラーフラグを
常時監視し、プログラム中でエラーが発生した時にメツ
セージを出力するプログラムである。メインプログラム
5ERVOではエラーが起きた場合、エラーの種類に応
じて配列ERROR中の要素の値を“1”にセットする
。配列ERROR中の各要素に対し表示すべきエラーメ
ツセージは、配列TABLE中の対応する要素にあらか
じめ格納しておく、このプログラムALARMは。
メインプログラム中のオープン命令0PEN ALAR
Mを用いて起動され、プログラム5ERVOと並行して
実行される。起動されると、変fiR1をまず“O″に
セットしくステップS1)、配列ERRORの要素ER
ROR(R1)が“l”にセットされているかどうかを
調べる(ステップS2)、“1”にセットされていなか
った場合には、配列ERRORの次の要素を調べるため
、R1=R1+1による変数R1をインクリメントしく
ステップS3)、同様の動作を繰り返す、こうして85
個ある配列ERRORの全要素が“l”でなかった時に
は、エラーが発見されなかったこととなるので、ポーズ
命令PAUSE50(ステー、プS5)により50ミリ
秒間待ってから、再び同じプログラムを繰り返す。
Mを用いて起動され、プログラム5ERVOと並行して
実行される。起動されると、変fiR1をまず“O″に
セットしくステップS1)、配列ERRORの要素ER
ROR(R1)が“l”にセットされているかどうかを
調べる(ステップS2)、“1”にセットされていなか
った場合には、配列ERRORの次の要素を調べるため
、R1=R1+1による変数R1をインクリメントしく
ステップS3)、同様の動作を繰り返す、こうして85
個ある配列ERRORの全要素が“l”でなかった時に
は、エラーが発見されなかったこととなるので、ポーズ
命令PAUSE50(ステー、プS5)により50ミリ
秒間待ってから、再び同じプログラムを繰り返す。
一方、条件分岐命令ERROR(R1)=1において、
ERROR(R1)が“1”にセットされていることが
検出されると、MESSAGE=TABLE(1?l)
により、配列ERRORの“l”となっている要素に対
応する配列TABLE 17)中(7)メツセージ力’
f aNESSAGE ニ代入される(ステップS2.
SS)、そして、オープン命令0PEN DISPLA
Yにより表示用のプログラムが起動され(ステップS7
)、変数)IEssAGEに格納されたメツセージが表
示される。また、エラーを起したプログラムSEI’l
VOは、クローズ命令CLO9E 5ERVOによって
強制終了させられる(ステップS8)、このようなオー
プン命令、クローズ命令及びポーズ命令を使用した並行
処理プログラムにより、プログラム5ERVOとは独立
して、50ミリ秒ごとのエラーのチェック、エラー表示
及びエラーを起したプログラムの強制終了を行なうこと
ができる。
ERROR(R1)が“1”にセットされていることが
検出されると、MESSAGE=TABLE(1?l)
により、配列ERRORの“l”となっている要素に対
応する配列TABLE 17)中(7)メツセージ力’
f aNESSAGE ニ代入される(ステップS2.
SS)、そして、オープン命令0PEN DISPLA
Yにより表示用のプログラムが起動され(ステップS7
)、変数)IEssAGEに格納されたメツセージが表
示される。また、エラーを起したプログラムSEI’l
VOは、クローズ命令CLO9E 5ERVOによって
強制終了させられる(ステップS8)、このようなオー
プン命令、クローズ命令及びポーズ命令を使用した並行
処理プログラムにより、プログラム5ERVOとは独立
して、50ミリ秒ごとのエラーのチェック、エラー表示
及びエラーを起したプログラムの強制終了を行なうこと
ができる。
次に、サーボ系及びシーケンスを制御するプログラムの
例を第6図に示して説明する。
例を第6図に示して説明する。
プログラム上では常に30ミリ秒間隔でスタート信号を
チェックしており(ステップSIO,5ll)、このチ
ェックによりスタート信号が検出された場合はサーボ系
の速度を20Orpmに指令しくステップ91g)、5
ミリ秒おきにサーボプログラムを0PENする(ステー
2プS13,514)、そして、ストップ信号の入力及
びリミットスイッチのON、OFFをチェックしくステ
ップS15,5ift)、ストップ信号が無くリミット
スイッチがオフの場合には上記動作を繰り返し、ストッ
プ信号が検出された場合やリミットスイッチがオンの場
合には、サーボ系の速度をOrpmに指令する(ステッ
プ520)、その後、5ミリ秒おきにサーボプログラム
を0PENL (ステップS21.522)、電源が切
れるのを待つ(ステップ523)。
チェックしており(ステップSIO,5ll)、このチ
ェックによりスタート信号が検出された場合はサーボ系
の速度を20Orpmに指令しくステップ91g)、5
ミリ秒おきにサーボプログラムを0PENする(ステー
2プS13,514)、そして、ストップ信号の入力及
びリミットスイッチのON、OFFをチェックしくステ
ップS15,5ift)、ストップ信号が無くリミット
スイッチがオフの場合には上記動作を繰り返し、ストッ
プ信号が検出された場合やリミットスイッチがオンの場
合には、サーボ系の速度をOrpmに指令する(ステッ
プ520)、その後、5ミリ秒おきにサーボプログラム
を0PENL (ステップS21.522)、電源が切
れるのを待つ(ステップ523)。
以上述べたように、ベーシック、フォートランなどの言
語にオープン命令、クローズ命令及びポーズ命令を付加
することにより、シーケンス制御やサーボ制御を容易に
行なうことができるので、次にこれらの並行処理命令を
導入するためのコンピュータシステムについて第7図を
参照して説明する。
語にオープン命令、クローズ命令及びポーズ命令を付加
することにより、シーケンス制御やサーボ制御を容易に
行なうことができるので、次にこれらの並行処理命令を
導入するためのコンピュータシステムについて第7図を
参照して説明する。
中央演算処理装置(CPtl)2には、プログラムカウ
ンタ3及びプログラムメモリ4が接続されており、プロ
グラムメモリ4中のプログラムカウンタ3に格納された
番地の命令が取出されて、中央演算処理装置2に読込ま
れて処理が実行されるようになっている。タイマ1はそ
の時点での時刻を計数しているカウンタであり、中央演
算処理装置2に接続されていて、中央演算処理装置2か
らその時点での時刻を読取ることができるようになって
いる。また、中央演算処理装置2には、アドレステーブ
ル5.タイムテーブル7及びポインタ6が接続されてお
り、ポインタ6に格納された番地に対応するようなタイ
ムテーブル7中の時刻のデータ及びアドレステーブル5
中の番地のデータが、それぞれ中央演算処理装置2から
読取れるようになっている。
ンタ3及びプログラムメモリ4が接続されており、プロ
グラムメモリ4中のプログラムカウンタ3に格納された
番地の命令が取出されて、中央演算処理装置2に読込ま
れて処理が実行されるようになっている。タイマ1はそ
の時点での時刻を計数しているカウンタであり、中央演
算処理装置2に接続されていて、中央演算処理装置2か
らその時点での時刻を読取ることができるようになって
いる。また、中央演算処理装置2には、アドレステーブ
ル5.タイムテーブル7及びポインタ6が接続されてお
り、ポインタ6に格納された番地に対応するようなタイ
ムテーブル7中の時刻のデータ及びアドレステーブル5
中の番地のデータが、それぞれ中央演算処理装置2から
読取れるようになっている。
このような構成のコンピュータシステムを使用して、一
般の命令とこの発明による。オープン命令、クローズ命
令及びポーズ命令とを実行する方法を説明する。
般の命令とこの発明による。オープン命令、クローズ命
令及びポーズ命令とを実行する方法を説明する。
初期状態において、プログラムメモリ4には、実行する
べきシーケンス制御またはサーボ制御等のプログラムが
格納され、プログラムカウンタ3はプログラムの実行開
始番地を保持している。また、タイマ1は“θ″にリセ
ットされており、アドレステーブル5及びタイムテーブ
ル7は空となっていて、ポインタ6はアドレステーブル
5及びタイムテーブル7の先頭を指すようになっている
。中央演算処理装置2は、プログラムカウンタ3の保持
している番地の命令を読込んで実行するという動作を繰
り返す。
べきシーケンス制御またはサーボ制御等のプログラムが
格納され、プログラムカウンタ3はプログラムの実行開
始番地を保持している。また、タイマ1は“θ″にリセ
ットされており、アドレステーブル5及びタイムテーブ
ル7は空となっていて、ポインタ6はアドレステーブル
5及びタイムテーブル7の先頭を指すようになっている
。中央演算処理装置2は、プログラムカウンタ3の保持
している番地の命令を読込んで実行するという動作を繰
り返す。
読込まれた命令が、オープン命令、クローズ命令及びポ
ーズ命令以外の一般命令だった場合、通常のコンピュー
タと同様に命令が実行され、プログラムカウンタ3が更
新される。読込まれた命令がオープン命令だった場合に
は、まずポインタ6によりタイムテーブル7がスキャン
され、テーブルの空いた部分が見つけ出される。
ーズ命令以外の一般命令だった場合、通常のコンピュー
タと同様に命令が実行され、プログラムカウンタ3が更
新される。読込まれた命令がオープン命令だった場合に
は、まずポインタ6によりタイムテーブル7がスキャン
され、テーブルの空いた部分が見つけ出される。
次に、中央演算処理装置2によりタイマ1の値が読込ま
れ、タイムテーブル7の空きが見つけ出された位置に書
込まれ、さらにアドレステーブル5の同じ位置にはオー
プンされるべきプログラムの開始番地が書込まれる。こ
の後、プログラムカウンタの値がオープン命令に引き続
く命令の番地に更新され、次の命令の実行に移る。
れ、タイムテーブル7の空きが見つけ出された位置に書
込まれ、さらにアドレステーブル5の同じ位置にはオー
プンされるべきプログラムの開始番地が書込まれる。こ
の後、プログラムカウンタの値がオープン命令に引き続
く命令の番地に更新され、次の命令の実行に移る。
読込まれた命令がクローズ命令で、そのクローズ命令を
含むプログラム自身を終了させるクローズ命令の場合に
は、まず中央演算処理装置2によりタイマ1の値が読込
まれ、ポインタ6によりタイムテーブル7をスキャンし
てタイマlの値よりも小さな値が検索される。もしその
ような値がなければ、再びタイマlを読込んで同じ動作
が繰り返される。タイマlの値よりも小さな値が登録さ
れていたら、そのときのポインタ6で示されるアドレス
テーブル5の内容がプログラムカウンタ3に移され、ポ
インタ6で示されてるタイムテーブル7及びアドレステ
ーブル5の内容が抹消されて、プログラムカウンタ3で
示される命令から実行が開始される。このようにしても
とのプログラムは終了させられ、他のプログラムに実行
が移される。
含むプログラム自身を終了させるクローズ命令の場合に
は、まず中央演算処理装置2によりタイマ1の値が読込
まれ、ポインタ6によりタイムテーブル7をスキャンし
てタイマlの値よりも小さな値が検索される。もしその
ような値がなければ、再びタイマlを読込んで同じ動作
が繰り返される。タイマlの値よりも小さな値が登録さ
れていたら、そのときのポインタ6で示されるアドレス
テーブル5の内容がプログラムカウンタ3に移され、ポ
インタ6で示されてるタイムテーブル7及びアドレステ
ーブル5の内容が抹消されて、プログラムカウンタ3で
示される命令から実行が開始される。このようにしても
とのプログラムは終了させられ、他のプログラムに実行
が移される。
読込まれた命令が上述以外のクローズ命令の場合には、
ポインタ6によりアドレステーブル5がスキャンされて
、クローズされるべきプログラムが抹消され、同じ位置
のタイムテーブル7の内容も抹消される。このようにし
て、クローズ命令によるプログラムが強制終了させられ
る。
ポインタ6によりアドレステーブル5がスキャンされて
、クローズされるべきプログラムが抹消され、同じ位置
のタイムテーブル7の内容も抹消される。このようにし
て、クローズ命令によるプログラムが強制終了させられ
る。
読込まれた命令がポーズ命令の場合には、まずポインタ
6によりタイムテーブル7がスキャジされ、テーブルの
空いた部分が見つけ出される0次に、中央演算処理装置
2によりタイマ1の値が読込まれてポーズ時間に加えら
れ、タイムテーブル7の空きが見つけ出された位置に書
込まれる。また、アドレステーブル5の同じ位置にもポ
ーズ命令に続く命令の番地が書込まれる0以上で、プロ
グラムの実行が休止させられたので、休止中に実行でき
る他のプログラムを探す、まず中央演算処理装置2によ
りタイマ1の値が読込まれ、ポインタ6に“よりタイム
テーブル7をスキャンしてタイマ1の値よりも小さな値
が検索される。もしそのような値がなければ再びタイマ
1を読込んで、同じ動作が縁り返される。タイマ1の値
よりも小さな値が登録されていたら、そのときのポイン
タ6で示されるアドレステーブル5の内容がプログラム
カウンタ3に移され、ポインタ6で示されるタイムテー
ブル7及びアドレステーブル5の内容が抹消されて、プ
ログラムカウンタ3で示される命令から実行が開始され
る。このようにしても尤のプログラムは休止させられ、
他のプログラムに実行が移される。
6によりタイムテーブル7がスキャジされ、テーブルの
空いた部分が見つけ出される0次に、中央演算処理装置
2によりタイマ1の値が読込まれてポーズ時間に加えら
れ、タイムテーブル7の空きが見つけ出された位置に書
込まれる。また、アドレステーブル5の同じ位置にもポ
ーズ命令に続く命令の番地が書込まれる0以上で、プロ
グラムの実行が休止させられたので、休止中に実行でき
る他のプログラムを探す、まず中央演算処理装置2によ
りタイマ1の値が読込まれ、ポインタ6に“よりタイム
テーブル7をスキャンしてタイマ1の値よりも小さな値
が検索される。もしそのような値がなければ再びタイマ
1を読込んで、同じ動作が縁り返される。タイマ1の値
よりも小さな値が登録されていたら、そのときのポイン
タ6で示されるアドレステーブル5の内容がプログラム
カウンタ3に移され、ポインタ6で示されるタイムテー
ブル7及びアドレステーブル5の内容が抹消されて、プ
ログラムカウンタ3で示される命令から実行が開始され
る。このようにしても尤のプログラムは休止させられ、
他のプログラムに実行が移される。
このようにして、上記コンピュータシステL1により一
般の命令、オープン命令、クローズ命令及びポーズ命令
を実行することができる。
般の命令、オープン命令、クローズ命令及びポーズ命令
を実行することができる。
以上のようにタイマlの値をもとにオープン命令、クロ
ーズ命令及びポーズ命令を実行することができるが、第
8図に示すようにポーズ命令別にサービス回路9を設け
ることにより、同様の動作をより効率よく実行すること
ができる。
ーズ命令及びポーズ命令を実行することができるが、第
8図に示すようにポーズ命令別にサービス回路9を設け
ることにより、同様の動作をより効率よく実行すること
ができる。
中央演算処理装置(CPU)2にはプログラムカウンタ
3及びプログラムメモリ4が接続されており、プログラ
ムメモリ4中のプログラムカウンタ3に格納された番地
の命令が取出されて中央演算処理装置2に読込まれて実
行されるようになっている0割込クロック11は中央演
算処理装置2に接続されており、一定時間間隔で中央演
算処理装置2に割込みをかけるようになっている。また
、中央演算処理装M2には、サービス回路9が複数個と
ポーズポインタ71とが接続されており、ポーズポイン
タ?!で示されるサービス回路9が選択されるようにな
っている。それぞ・れのサービス回路9はアドレステー
ブル5と、その内容を参照するためのサービスポインタ
61と、トップポインタ82と、カタログポインタ83
とにより構成されている。オープン命令。
3及びプログラムメモリ4が接続されており、プログラ
ムメモリ4中のプログラムカウンタ3に格納された番地
の命令が取出されて中央演算処理装置2に読込まれて実
行されるようになっている0割込クロック11は中央演
算処理装置2に接続されており、一定時間間隔で中央演
算処理装置2に割込みをかけるようになっている。また
、中央演算処理装M2には、サービス回路9が複数個と
ポーズポインタ71とが接続されており、ポーズポイン
タ?!で示されるサービス回路9が選択されるようにな
っている。それぞ・れのサービス回路9はアドレステー
ブル5と、その内容を参照するためのサービスポインタ
61と、トップポインタ82と、カタログポインタ83
とにより構成されている。オープン命令。
クローズ命令およびポーズ命令には、サービス回路9を
選択するためのアーギュメントが付加されている。
選択するためのアーギュメントが付加されている。
このような構成の第8図で示されるコンピュータシステ
ムを使用して、一般の命令とこの発明によるオープン命
令、クローズ命令及びポーズ命令とを実行する方法は次
のようになる。
ムを使用して、一般の命令とこの発明によるオープン命
令、クローズ命令及びポーズ命令とを実行する方法は次
のようになる。
最初に、中央演算処理装置2の動作が開始された後の動
作は、ポーズポインタ71でポーズタイムに対応したサ
ービス回路9が選択される。
作は、ポーズポインタ71でポーズタイムに対応したサ
ービス回路9が選択される。
ポーズポインタ71は、各サービス回路9があらかじめ
決められたポーズタイムに対応して選択されるように、
中央演算処理m′j!12によって設定される。このと
きポーズタイムは割込みクロック11によって計られる
。この時、トップポインタ62の内容がサービスポイン
タ81ニ移サレ、カタログポインタ63の内容がトップ
ポインタ62に移される。そして、サービスポインタ6
1で示されるアドレステーブル上の番地がプログラムカ
ウンタ3に移され、プログラムカウンタ3で示されるプ
ログラムメモリ4上の命令が実行される。その後1通常
のコンピュータと同様に、実行された命令に従ってプロ
グラムカウンタ3の内容が更新され、サービスが継続さ
れる。
決められたポーズタイムに対応して選択されるように、
中央演算処理m′j!12によって設定される。このと
きポーズタイムは割込みクロック11によって計られる
。この時、トップポインタ62の内容がサービスポイン
タ81ニ移サレ、カタログポインタ63の内容がトップ
ポインタ62に移される。そして、サービスポインタ6
1で示されるアドレステーブル上の番地がプログラムカ
ウンタ3に移され、プログラムカウンタ3で示されるプ
ログラムメモリ4上の命令が実行される。その後1通常
のコンピュータと同様に、実行された命令に従ってプロ
グラムカウンタ3の内容が更新され、サービスが継続さ
れる。
次に、オープン命令が実行された時の動作は、先ず示さ
れるサービス回路9の付加されたアーギュメントで、カ
タログポインタ63で示されたアドレステーブル5上に
オープンすべきプログラムの開始番地が登録される。そ
して、カタログポインタ63の内容が、アドレステーブ
ル5の次の位置を示すように更新される。サービスポイ
ンタ61およびカタログポインタ63の内容は、各々ア
ドレステーブル5の最後までくると1アドレステーブル
5の先頭を示すように更新される。
れるサービス回路9の付加されたアーギュメントで、カ
タログポインタ63で示されたアドレステーブル5上に
オープンすべきプログラムの開始番地が登録される。そ
して、カタログポインタ63の内容が、アドレステーブ
ル5の次の位置を示すように更新される。サービスポイ
ンタ61およびカタログポインタ63の内容は、各々ア
ドレステーブル5の最後までくると1アドレステーブル
5の先頭を示すように更新される。
また、クローズ命令が実行された時の動作は、示される
サービス回路9の付加されたアーギュメントでアドレス
テーブル5がスキャンされ、クローズすべきプログラム
が抹消される。
サービス回路9の付加されたアーギュメントでアドレス
テーブル5がスキャンされ、クローズすべきプログラム
が抹消される。
最後に、ポーズ命令が実行された時の動作は、先ず示さ
れるサービス回路9の付加されたアーギュメントで、カ
タログポインタ63で示されるアドレステーブル5に、
ポーズ命令の次の番地が登録される。そして、ポーズポ
インタ71で示されるサービス回路9のサービスポイン
タ61の内容が次のアドレステーブル5の次の位置を示
すように更新され、サービスポインタ81の内容とトッ
プポインタ62の内容とが比較され。
れるサービス回路9の付加されたアーギュメントで、カ
タログポインタ63で示されるアドレステーブル5に、
ポーズ命令の次の番地が登録される。そして、ポーズポ
インタ71で示されるサービス回路9のサービスポイン
タ61の内容が次のアドレステーブル5の次の位置を示
すように更新され、サービスポインタ81の内容とトッ
プポインタ62の内容とが比較され。
一致しない場合は上記cpu2の動作が開始された後の
動作へ分岐する。また、両者が一致した場合は上記開始
動作へ分岐し、中央処理装置2によってポーズポインタ
71が更新されるのを待つ。
動作へ分岐する。また、両者が一致した場合は上記開始
動作へ分岐し、中央処理装置2によってポーズポインタ
71が更新されるのを待つ。
以上のようにして、第8図に示されたコンピュータシス
テムにより、一般の命令、オープン命令、クローズ命令
及びポーズ命令を実行することができる。
テムにより、一般の命令、オープン命令、クローズ命令
及びポーズ命令を実行することができる。
なお、上述では、システムがアドレステーブル5.ポイ
ンタ6及びタイムテーブル7′:gを持つ専用のハード
ウェアにより実現されているが、このシステムは汎用の
コンピュータにタイマ1を付加したシステムとソフトウ
ェアのみによっても実現可能である。
ンタ6及びタイムテーブル7′:gを持つ専用のハード
ウェアにより実現されているが、このシステムは汎用の
コンピュータにタイマ1を付加したシステムとソフトウ
ェアのみによっても実現可能である。
(発明の効果)
以上のようにこの発明によれば、シーケンス制御やサー
ボ制御などをベーシック、フォートランなどのシステム
言語でない言語によって容易に行なうことができる。し
かも、フラグやタイマが大幅に節減されるため、プログ
ラムが単純かつ平明になる。高速を要する場合や特殊な
@算を要する場合などには、アセンブラなどのシステム
言語を併用することもできる。また、この発明をタイム
テーブルとアドレステーブルを持つハードウェアにより
実現することにより、効率的な制御を行なうことが可能
である。
ボ制御などをベーシック、フォートランなどのシステム
言語でない言語によって容易に行なうことができる。し
かも、フラグやタイマが大幅に節減されるため、プログ
ラムが単純かつ平明になる。高速を要する場合や特殊な
@算を要する場合などには、アセンブラなどのシステム
言語を併用することもできる。また、この発明をタイム
テーブルとアドレステーブルを持つハードウェアにより
実現することにより、効率的な制御を行なうことが可能
である。
【図面の簡単な説明】
第1図はオープン命令の動作を示すフローチャート、第
2図及び第3図はクローズ命令の動作を示すフローチャ
ート、第4図はポーズ命令の動作を示すフローチャート
、第5図及び第6図はそれぞれオープン命令、クローズ
命令及びポーズ命令を使用したサーボ制御プログラムの
例を示すフローチャート、第7図及び第8図はそれぞれ
この発明のコンピュータシステムの例を示す構成図であ
る。 l・・・タイマ、2・・・中央演算処理袋数、3・・・
プログラムカウンタ、4・・・プログラムメモリ。 5・・・アドレステーブル、6・・・ポインタ、7・・
・タイムテーブル、 11・・・割込みクロック、61
・・・サービスポインタ、82・・・トップポインタ、
63・・・カタログポインタ、71・・・ポーズポイン
タ。 蔓2 図 慕 7 図 奈 6 固
2図及び第3図はクローズ命令の動作を示すフローチャ
ート、第4図はポーズ命令の動作を示すフローチャート
、第5図及び第6図はそれぞれオープン命令、クローズ
命令及びポーズ命令を使用したサーボ制御プログラムの
例を示すフローチャート、第7図及び第8図はそれぞれ
この発明のコンピュータシステムの例を示す構成図であ
る。 l・・・タイマ、2・・・中央演算処理袋数、3・・・
プログラムカウンタ、4・・・プログラムメモリ。 5・・・アドレステーブル、6・・・ポインタ、7・・
・タイムテーブル、 11・・・割込みクロック、61
・・・サービスポインタ、82・・・トップポインタ、
63・・・カタログポインタ、71・・・ポーズポイン
タ。 蔓2 図 慕 7 図 奈 6 固
Claims (1)
- シーケンス制御またはサーボ制御用のコンピュータシス
テムにおいて、第1のプログラムから他の第2のプログ
ラムの並行処理を開始させるオープン命令と、前記第1
のプログラムから自分自身または他の第2のプログラム
を強制的に終了させるクローズ命令と、前記第1のプロ
グラムの実行を一定時間停止させるポーズ命令との3種
の並行処理命令を有することを特徴とするシーケンス制
御及びサーボ制御に適したコンピュータシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60044445A JPS61204704A (ja) | 1985-03-06 | 1985-03-06 | シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60044445A JPS61204704A (ja) | 1985-03-06 | 1985-03-06 | シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステム |
EP86111200A EP0256149B1 (en) | 1986-08-13 | 1986-08-13 | Computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61204704A true JPS61204704A (ja) | 1986-09-10 |
JPH0330164B2 JPH0330164B2 (ja) | 1991-04-26 |
Family
ID=26102395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60044445A Granted JPS61204704A (ja) | 1985-03-06 | 1985-03-06 | シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61204704A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992008171A1 (en) * | 1990-11-06 | 1992-05-14 | Koyo Electronics Industries Co., Ltd. | Programmable controller |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5569873A (en) * | 1978-11-20 | 1980-05-26 | Toshiba Corp | Programmable logic controller |
JPS56168214A (en) * | 1980-05-29 | 1981-12-24 | Idec Izumi Corp | Process step-forward type sequence controller |
-
1985
- 1985-03-06 JP JP60044445A patent/JPS61204704A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5569873A (en) * | 1978-11-20 | 1980-05-26 | Toshiba Corp | Programmable logic controller |
JPS56168214A (en) * | 1980-05-29 | 1981-12-24 | Idec Izumi Corp | Process step-forward type sequence controller |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992008171A1 (en) * | 1990-11-06 | 1992-05-14 | Koyo Electronics Industries Co., Ltd. | Programmable controller |
US5404456A (en) * | 1990-11-06 | 1995-04-04 | Koyo Electronics Industries Co., Ltd. | Controlled method of operating a programmable controller with a multi-level stage configuration |
Also Published As
Publication number | Publication date |
---|---|
JPH0330164B2 (ja) | 1991-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0561646B2 (ja) | ||
US5844795A (en) | Diagnostic aid for industrial controller using multi-tasking architecture | |
US5636124A (en) | Multitasking industrial controller | |
US5812133A (en) | Industrial controller with display of rung execution | |
US7168075B1 (en) | Automation device and updating method | |
EP3767411A1 (en) | Control system, development assistance device, and development assistance program | |
JP2001265412A (ja) | プログラマブルコントローラ | |
WO2020071435A1 (ja) | 開発支援プログラム、開発支援装置、および開発支援方法 | |
KR20010085997A (ko) | 프로그램 스레드 디버깅 방법 | |
JPS61204704A (ja) | シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステム | |
US4907190A (en) | Computer control system and method for effecting sequence controls and servo-controls | |
JP2002152020A (ja) | パルス信号生成装置 | |
KR900008536B1 (ko) | 시이퀀스 제어 및 서보제어의 실행에 적합한 컴퓨터제어 시스템 | |
JP3015793B1 (ja) | プログラマブルコントロ―ラ | |
EP0256149B1 (en) | Computer system | |
CN1040588C (zh) | 适用于实现顺序控制和伺服控制的计算机控制系统和方法 | |
JPH0410081B2 (ja) | ||
JP3167245B2 (ja) | プログラマブルコントローラ動作状態監視装置 | |
JP2552738B2 (ja) | データ処理装置 | |
JPH02159603A (ja) | ループ制御装置 | |
JPS60124746A (ja) | デ−タ処理装置 | |
JPH03288906A (ja) | Pcの命令実行方式 | |
CA1259417A (en) | Computer systems suitable for effecting sequence controls and servo-controls | |
JP2002073120A (ja) | プログラマブルコントローラのプログラミング装置とその方法 | |
JPH08263127A (ja) | 数値制御装置及びそのプログラム作成方法 |