JPH02159603A - ループ制御装置 - Google Patents
ループ制御装置Info
- Publication number
- JPH02159603A JPH02159603A JP31385088A JP31385088A JPH02159603A JP H02159603 A JPH02159603 A JP H02159603A JP 31385088 A JP31385088 A JP 31385088A JP 31385088 A JP31385088 A JP 31385088A JP H02159603 A JPH02159603 A JP H02159603A
- Authority
- JP
- Japan
- Prior art keywords
- control
- machine language
- execution
- task
- cycle
- 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
- 238000003860 storage Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 68
- 238000000034 method Methods 0.000 description 55
- 230000004913 activation Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000000737 periodic effect Effects 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 244000061176 Nicotiana tabacum Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- OPQZHVFVHOLQNE-JFGKHBSWSA-N cyclosporin A metabolite M18 Chemical compound CC[C@@H]1NC(=O)[C@H]([C@@H]2OC(CCO)C[C@H]2C)N(C)C(=O)[C@H](C(C)C)N(C)C(=O)[C@H](CC(C)C)N(C)C(=O)[C@H](CC(C)C)N(C)C(=O)[C@@H](C)NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)N(C)C(=O)[C@@H](NC(=O)[C@H](CC(C)C)N(C)C(=O)CN(C)C1=O)C(C)C OPQZHVFVHOLQNE-JFGKHBSWSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Control By Computers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、−船釣にはプロセス制御におけるループ制御
を行うのにデジタル計算機(cpu)を用いたループ制
御装置に係り、より詳細には制御対象とするループ数を
増大することができるようにしたループ制御装置に関す
るものである。
を行うのにデジタル計算機(cpu)を用いたループ制
御装置に係り、より詳細には制御対象とするループ数を
増大することができるようにしたループ制御装置に関す
るものである。
〔従来の技術]
従来この種の装置の一例として、第19図に示すように
、制御対象とするループ数に応じて制御周期を切換えて
制御を行うようにしたものがる。
、制御対象とするループ数に応じて制御周期を切換えて
制御を行うようにしたものがる。
すなわち、制御対象のループ数が少ないとき(CPUの
負荷が軽いとき)第19 図(a)に示すように、例え
ば200 m5ecの速い制御周期でA/D変換等によ
るサンプリング、PID等のアルゴリズムによるMV算
出、D/A変換等による制御出力等の一連の制御動作を
行い、制御対象のループ数が多いとき(CPUの負荷が
重いとき)第19図(b)に示すように、例えば1 s
ecの遅い制御周期で全ループの制御動作を行っている
。
負荷が軽いとき)第19 図(a)に示すように、例え
ば200 m5ecの速い制御周期でA/D変換等によ
るサンプリング、PID等のアルゴリズムによるMV算
出、D/A変換等による制御出力等の一連の制御動作を
行い、制御対象のループ数が多いとき(CPUの負荷が
重いとき)第19図(b)に示すように、例えば1 s
ecの遅い制御周期で全ループの制御動作を行っている
。
他の装置例として、第20図に示すように、制御対象の
ループの特性に応じて制御対象毎に制御周期を変えて制
御を行うようにしたものがある。
ループの特性に応じて制御対象毎に制御周期を変えて制
御を行うようにしたものがある。
すなわち、積分時間を長く取る必要があるプロセスを制
御する場合、CPUの負荷を軽減するために1つのCP
Uに複数の制御周期を持たせ、ループ毎にその特性に応
じて例えば1,2.4secのいずれかの制御周期を割
り当てている。第20図(a)はサンプリング動作の期
間を示し、サンプリング周期は制御周期の最大公約数に
定められ、この期間内に全ループの制御が行われるよう
にしている。なお、この方式では、A/D変換等による
サンプリングはサンプリング周期を守るため一連の制御
動作から切り離して行っている。第20図(b)、(C
)及び(d)は1sec 、 2sec 。
御する場合、CPUの負荷を軽減するために1つのCP
Uに複数の制御周期を持たせ、ループ毎にその特性に応
じて例えば1,2.4secのいずれかの制御周期を割
り当てている。第20図(a)はサンプリング動作の期
間を示し、サンプリング周期は制御周期の最大公約数に
定められ、この期間内に全ループの制御が行われるよう
にしている。なお、この方式では、A/D変換等による
サンプリングはサンプリング周期を守るため一連の制御
動作から切り離して行っている。第20図(b)、(C
)及び(d)は1sec 、 2sec 。
4 sec周期のMV算出、D/A変換等による制御出
力の動作期間をそれぞれ示し、4 sec周期の動作期
間は次のサンプリング動作前に終了していることが条件
となる。
力の動作期間をそれぞれ示し、4 sec周期の動作期
間は次のサンプリング動作前に終了していることが条件
となる。
第19図について上述した従来装置では、制御対象のル
ープの特性の違い、すなわち速い応答性を持つループと
遅い応答性を持つループとがあるにも殉ず、CPUの負
荷という要因で一括して制御周期が決定されている。ま
た、ループ数が少々多い程度(CPUの負荷が若干重い
程度)のときCPUの空き時間が多く、ハードウェア資
源の有効活用ができず、制御ループの総数が多くとれな
いという問題点がある。
ープの特性の違い、すなわち速い応答性を持つループと
遅い応答性を持つループとがあるにも殉ず、CPUの負
荷という要因で一括して制御周期が決定されている。ま
た、ループ数が少々多い程度(CPUの負荷が若干重い
程度)のときCPUの空き時間が多く、ハードウェア資
源の有効活用ができず、制御ループの総数が多くとれな
いという問題点がある。
一方、第20図について上述した従来装置では、全ての
制御周期の最大公約数時間例えば1 sec内で全ての
制御周期の制御動作が終了していなければならないとい
う制限が付いているため、最大公約数時間内で一部の制
御周期の制御動作を行うときコンピュータ(CP U)
の空き時間が多く、ハードウェア資源の有効活用ができ
ないという問題がある。
制御周期の最大公約数時間例えば1 sec内で全ての
制御周期の制御動作が終了していなければならないとい
う制限が付いているため、最大公約数時間内で一部の制
御周期の制御動作を行うときコンピュータ(CP U)
の空き時間が多く、ハードウェア資源の有効活用ができ
ないという問題がある。
上述した従来の装置の問題点は、CPUの駆動形態とし
てシングルタスクと呼ばれる方式を採用しているため生
じるものであり、この問題点を解消するにはマルチタス
ク動作とすればよいということは分かっているが、従来
装置ではテーブルに記憶されているパラメータを固定の
ファームウェアが静的なワークエリア1組を使いながら
インタブリドする、すなわち解釈実行する方式を採用し
ているため、マルチタスク化することができなかった。
てシングルタスクと呼ばれる方式を採用しているため生
じるものであり、この問題点を解消するにはマルチタス
ク動作とすればよいということは分かっているが、従来
装置ではテーブルに記憶されているパラメータを固定の
ファームウェアが静的なワークエリア1組を使いながら
インタブリドする、すなわち解釈実行する方式を採用し
ているため、マルチタスク化することができなかった。
よって本発明は、制御動作を効率的におこなって、複数
の制御周期のうちの1つがそれぞれ割り当てられている
制御対象を制御することのできる数、すなわち制御する
ことのできるループ数を増大できるようにしたループ制
御装置を提供することを課題としている。
の制御周期のうちの1つがそれぞれ割り当てられている
制御対象を制御することのできる数、すなわち制御する
ことのできるループ数を増大できるようにしたループ制
御装置を提供することを課題としている。
上記課題を解決するため本発明により成されたループ制
御装置は、第1図の基本構成図に示す如く、複数の制御
周期のうちの1つがそれぞれ割り当てられている制御対
象Aからその制御量を入力する入力手段Bと、制御対象
Aにその制御操作量を出力する出力手段Cと、制御対象
Aをその制御周期毎に制御するためのループ制御機能情
報を機械語で格納する機械語記憶手段りと、前記複数の
制御周期の各々での前記機械語の実行に先立ち、該機械
語で使用する前記入力手段Bに入力されている制御量を
格納する制御量記憶手段Eと、各制御周期毎に前記機械
語を前記制御量記憶手段上に格納されている制′4″n
量を用いて実行し、該実行により得られる制御操作量を
前記出力手段Cから制御対象Aに出力する制御実行手段
Fと、各制御周期毎に設けられ、前記制御実行手段Fに
よる機械語の実行中に発生する情報をその実行の終了ま
で格納する記憶手段Gと、前記制御実行手段Fによる制
御実行動作を管理する管理手段Hとを備える。
御装置は、第1図の基本構成図に示す如く、複数の制御
周期のうちの1つがそれぞれ割り当てられている制御対
象Aからその制御量を入力する入力手段Bと、制御対象
Aにその制御操作量を出力する出力手段Cと、制御対象
Aをその制御周期毎に制御するためのループ制御機能情
報を機械語で格納する機械語記憶手段りと、前記複数の
制御周期の各々での前記機械語の実行に先立ち、該機械
語で使用する前記入力手段Bに入力されている制御量を
格納する制御量記憶手段Eと、各制御周期毎に前記機械
語を前記制御量記憶手段上に格納されている制′4″n
量を用いて実行し、該実行により得られる制御操作量を
前記出力手段Cから制御対象Aに出力する制御実行手段
Fと、各制御周期毎に設けられ、前記制御実行手段Fに
よる機械語の実行中に発生する情報をその実行の終了ま
で格納する記憶手段Gと、前記制御実行手段Fによる制
御実行動作を管理する管理手段Hとを備える。
前記管理手段Hは、前記制御実行手段Fによる制御周期
の長い機械語の実行を制御周期の短い機械語の実行終了
後開始させ、前記制御実行手段Fによる制御周期の長い
機械語の実行中の制御周期の短い機械語の実行開始に応
じて制御周期の長い機械語の実行を中断させ、該中断し
た機械語の実行を短い制御周期の機械語の終了後に前記
制御実行手段Fに再開させる。
の長い機械語の実行を制御周期の短い機械語の実行終了
後開始させ、前記制御実行手段Fによる制御周期の長い
機械語の実行中の制御周期の短い機械語の実行開始に応
じて制御周期の長い機械語の実行を中断させ、該中断し
た機械語の実行を短い制御周期の機械語の終了後に前記
制御実行手段Fに再開させる。
上記構成において、入力手段Bは複数の制御周期のうち
の1つがそれぞれ割り当てられている制御対象Aからそ
の制御量を入力し、出力手段Cは制御対象Aにその制御
操作量を出力する。機械語記憶手段りは制御対象Aをそ
の制御周期毎に制御するためのループ制御機能情報を機
械語で格納する。制御量記憶手段Eは前記複数の制御周
期の各々での前記機械語の実行に先立ち、該機械語で使
用する前記入力手段Bに入力されている制御量を格納す
る。制御実行手段Fは各制御周期毎に対応する前記機械
語を前記制御量記憶手段Eに格納されている制御量を用
いて実行し、該実行により得られる制御操作量を前記出
力手段Cから制御対象Aに出力する。該制御実行手段F
による機械語の実行中に発生する情報は各制御周期毎に
設けられた記憶手段Gに格納される。前記制御実行手段
Fによる制御実行動作は管理手段Hにより管理される。
の1つがそれぞれ割り当てられている制御対象Aからそ
の制御量を入力し、出力手段Cは制御対象Aにその制御
操作量を出力する。機械語記憶手段りは制御対象Aをそ
の制御周期毎に制御するためのループ制御機能情報を機
械語で格納する。制御量記憶手段Eは前記複数の制御周
期の各々での前記機械語の実行に先立ち、該機械語で使
用する前記入力手段Bに入力されている制御量を格納す
る。制御実行手段Fは各制御周期毎に対応する前記機械
語を前記制御量記憶手段Eに格納されている制御量を用
いて実行し、該実行により得られる制御操作量を前記出
力手段Cから制御対象Aに出力する。該制御実行手段F
による機械語の実行中に発生する情報は各制御周期毎に
設けられた記憶手段Gに格納される。前記制御実行手段
Fによる制御実行動作は管理手段Hにより管理される。
前記管理手段Hは、前記制御実行手段Fにより実行する
機械語の優先順位を管理する。2つの制御周期の機械語
の実行タイミングが同時に発生した場合、制御周期の短
い機械語の実行を制御周期の長い機械語の実行に優先さ
せて実行し、制御周期の短い制御周期の実行終了後に制
御周期の長い機械語の実行を開始させる。また管理手段
Hは、前記制御実行手段Fが制御周期の長い機械語を実
行している最中に制御周期の短い機械語の実行タイミン
グが発生したとき、現在実行している制御周期の長い機
械語の実行を中断させ、これに代えて制御周期の短い機
械語の実行を開始させる。そして、該中断した制御周期
の長い機械語の実行を短い制御周期の機械語が終了した
後に前記制御実行手段Fに再開させる。
機械語の優先順位を管理する。2つの制御周期の機械語
の実行タイミングが同時に発生した場合、制御周期の短
い機械語の実行を制御周期の長い機械語の実行に優先さ
せて実行し、制御周期の短い制御周期の実行終了後に制
御周期の長い機械語の実行を開始させる。また管理手段
Hは、前記制御実行手段Fが制御周期の長い機械語を実
行している最中に制御周期の短い機械語の実行タイミン
グが発生したとき、現在実行している制御周期の長い機
械語の実行を中断させ、これに代えて制御周期の短い機
械語の実行を開始させる。そして、該中断した制御周期
の長い機械語の実行を短い制御周期の機械語が終了した
後に前記制御実行手段Fに再開させる。
このように管理手段Hが制御周期の長い機械語の実行を
中断し、後に再開させる制御を行っているが、各制御周
期毎に機械語の実行中に発生する情報を格納する記憶手
段Gが設けられているため、機械語の中断によって情報
が失われてしまうことがなく、中断された機械語の再開
実行を正常に行うことができる。
中断し、後に再開させる制御を行っているが、各制御周
期毎に機械語の実行中に発生する情報を格納する記憶手
段Gが設けられているため、機械語の中断によって情報
が失われてしまうことがなく、中断された機械語の再開
実行を正常に行うことができる。
以下、本発明の実施例を図面に基づいて説明する。
第2図は本発明によるループ制御装置の一実施例を示す
ブロック図であり、図示ループ制御装置は、専用のデジ
タル計算機によって構成されている。
ブロック図であり、図示ループ制御装置は、専用のデジ
タル計算機によって構成されている。
同図において、1aはCPUであり、予め定められた制
御プログラムに従って動作し、後述する各種の仕事を行
う。1bはEPROMであり、これには制御プログラム
の他、演算式コンパイラ、組込みサブルーチン等のプロ
グラムが格納されている。1cはCMO3−3RAMで
あり、これには計器の情報、演算式機械語等が格納され
ている。
御プログラムに従って動作し、後述する各種の仕事を行
う。1bはEPROMであり、これには制御プログラム
の他、演算式コンパイラ、組込みサブルーチン等のプロ
グラムが格納されている。1cはCMO3−3RAMで
あり、これには計器の情報、演算式機械語等が格納され
ている。
1dはバッテリーバックアップ回路であり、これはCM
O5−3RAMI cに格納されている計器の情報、演
算式機械語等を保持する。leは制御動作時に必要なタ
イミングを作る周期タイマー、IfはR5〜232C信
号線を通じて外部との通信を行うインターフェイスを行
うシリアルインターフェイス、1gはアドレスバスlh
、データバス11、制御バス1jからなり、入出力ボー
ドlk〜Inとの信号伝達を行うコモンバス、loは制
御バス制御回路であり、該回路ioは制御バスljに読
取り、書込み(命令)等や割込み、停止、アクノリッジ
(同期信号)等を乗せる制御を行う。
O5−3RAMI cに格納されている計器の情報、演
算式機械語等を保持する。leは制御動作時に必要なタ
イミングを作る周期タイマー、IfはR5〜232C信
号線を通じて外部との通信を行うインターフェイスを行
うシリアルインターフェイス、1gはアドレスバスlh
、データバス11、制御バス1jからなり、入出力ボー
ドlk〜Inとの信号伝達を行うコモンバス、loは制
御バス制御回路であり、該回路ioは制御バスljに読
取り、書込み(命令)等や割込み、停止、アクノリッジ
(同期信号)等を乗せる制御を行う。
上記人出力ボード1k−1nのうちのアナログ入力ボー
ドlkには制御対象のプロセス中のセンサ等のアナログ
信号発生部が、アナログ出力ボード11には操作器等の
アナログ信号動作部が、デジタル入力ボード1mにはス
イッチ等のデジタル信号発生部が、そしてデジタル出力
ボードInには電磁弁等のデジタル信号動作部がそれぞ
れ接続されている。
ドlkには制御対象のプロセス中のセンサ等のアナログ
信号発生部が、アナログ出力ボード11には操作器等の
アナログ信号動作部が、デジタル入力ボード1mにはス
イッチ等のデジタル信号発生部が、そしてデジタル出力
ボードInには電磁弁等のデジタル信号動作部がそれぞ
れ接続されている。
上述した構成の専用デジタル計算機からなるループ制御
装置は、制御を行うに当たって後述する演算式コンパイ
ラによって演算式機械語を生成する方式をとっているた
め高速で動作することができるようになっている。
装置は、制御を行うに当たって後述する演算式コンパイ
ラによって演算式機械語を生成する方式をとっているた
め高速で動作することができるようになっている。
上記EPROM1bには、演算式コンパイラ、汎用組込
みサブルーチン等が収容されていて、演算式コンパイラ
は、SRAM1cに格納されている未変換文字列からな
る制御ソースプログラムの意味を解読してSRAMIC
の所定エリアにCPU1aが直接実行できる機械語で格
納する。勿論、文字列は予め規定された文法に従って記
述されていなければならない。演算式は、A/D変換、
S■の算出、PrD演算等のループ制御ロジックを記述
した式である。
みサブルーチン等が収容されていて、演算式コンパイラ
は、SRAM1cに格納されている未変換文字列からな
る制御ソースプログラムの意味を解読してSRAMIC
の所定エリアにCPU1aが直接実行できる機械語で格
納する。勿論、文字列は予め規定された文法に従って記
述されていなければならない。演算式は、A/D変換、
S■の算出、PrD演算等のループ制御ロジックを記述
した式である。
汎用組込みサブルーチンは制御ループ情報であり、これ
らとしては、入出力命令及び制j1用ロジックを節単に
記述できるようにサブルーチン形式で開放されたもので
、演算式中で一定の形式でコールすることにより、PI
D等のロジックを知らなくても設計が可能となり、これ
にはA/D変換、D/A変換、PID演算、カスケード
接続、折れ線近似、フィルタ演算等があり、これらは2
00m5ec 、 500m5ec Sl 000m5
ec 、の各周期の機械語からコールされることにより
実行される。
らとしては、入出力命令及び制j1用ロジックを節単に
記述できるようにサブルーチン形式で開放されたもので
、演算式中で一定の形式でコールすることにより、PI
D等のロジックを知らなくても設計が可能となり、これ
にはA/D変換、D/A変換、PID演算、カスケード
接続、折れ線近似、フィルタ演算等があり、これらは2
00m5ec 、 500m5ec Sl 000m5
ec 、の各周期の機械語からコールされることにより
実行される。
SRAM1cは、第3図のRA M ? 、7プに示す
ように、演算式文字列エリア(200m5ec 、 5
00m5ec 、 1000m5ec )、200m5
ec周期機械語エリア、500 m5ec周期機械語エ
リア、1000 m5ec機械語エリア、A/D変換値
使用フラグエリア、A/D変換値バッファエリア、A/
D変換値テーブルエリア、制御ループ情報記憶エリア、
起動許可フラグエリア、起動中フラグエリア、タスクI
スタックエリア、タスク■スタックエリア、タスク用ス
タックエリア、タスク■スタックエリア、レジスタ退避
エリア等の各種のエリアを有し、各エリアの使い方につ
いては後述する。
ように、演算式文字列エリア(200m5ec 、 5
00m5ec 、 1000m5ec )、200m5
ec周期機械語エリア、500 m5ec周期機械語エ
リア、1000 m5ec機械語エリア、A/D変換値
使用フラグエリア、A/D変換値バッファエリア、A/
D変換値テーブルエリア、制御ループ情報記憶エリア、
起動許可フラグエリア、起動中フラグエリア、タスクI
スタックエリア、タスク■スタックエリア、タスク用ス
タックエリア、タスク■スタックエリア、レジスタ退避
エリア等の各種のエリアを有し、各エリアの使い方につ
いては後述する。
上述した構成のループ制御装置の制御動作の概略を第4
図を参照して説明する。制御動作は、準備段階と実行段
階とに大別される。
図を参照して説明する。制御動作は、準備段階と実行段
階とに大別される。
まず準備段階では、図中■で示すように、例えばシリア
ルインターフェイス1fを介して外部から入力されSR
AM1cの演算式文字列エリアに格納している2 00
m5ec周期で実行する制御ソースプログラムをEF
ROMlbに格納されているコンパイラにかけ、字句解
析、構文解析、機械語生成を行う。続いて■、■で示す
ように、同様にSRAM1cの演算式文字列エリアに格
納している5 00m5ec 、 1000m5ec周
期で実行する制御ソースプログラムをEPROM1bに
格納されているコンパイラにかけ、■の場合と同様の処
理を行う。続いて■で示すように、■でのコンパイラに
よる処理により生成した2 00 m5ec周期で実行
する機械語をSRAM1cの200 m5ec周期機械
語エリアに書込む。また■及び■で示すように、■及び
■でのコンパイラによる処理により生成した5 00m
5ec s l 000m5ec周期で実行する機械語
をそれぞれSRAM1cの500 m5ec rfJj
EJ]機械語エリア、io00msec周期機械語エリ
アにそれぞれ書込む。更に■、■、■で示すように、上
記コンパイラの構文解析により、アナログ入力の全チャ
ンネルについて、各チャンネルに入力されるアナログ信
号が200 m5ec、500m5ec 、 100
0m5ecのどの周期の制御に使用されるかを判定し、
その結果により作成したフラグをSRAM1cのA/D
変換値使用フラグエリアに格納する。以上により準備段
階を終えて次に制御実行に移る。
ルインターフェイス1fを介して外部から入力されSR
AM1cの演算式文字列エリアに格納している2 00
m5ec周期で実行する制御ソースプログラムをEF
ROMlbに格納されているコンパイラにかけ、字句解
析、構文解析、機械語生成を行う。続いて■、■で示す
ように、同様にSRAM1cの演算式文字列エリアに格
納している5 00m5ec 、 1000m5ec周
期で実行する制御ソースプログラムをEPROM1bに
格納されているコンパイラにかけ、■の場合と同様の処
理を行う。続いて■で示すように、■でのコンパイラに
よる処理により生成した2 00 m5ec周期で実行
する機械語をSRAM1cの200 m5ec周期機械
語エリアに書込む。また■及び■で示すように、■及び
■でのコンパイラによる処理により生成した5 00m
5ec s l 000m5ec周期で実行する機械語
をそれぞれSRAM1cの500 m5ec rfJj
EJ]機械語エリア、io00msec周期機械語エリ
アにそれぞれ書込む。更に■、■、■で示すように、上
記コンパイラの構文解析により、アナログ入力の全チャ
ンネルについて、各チャンネルに入力されるアナログ信
号が200 m5ec、500m5ec 、 100
0m5ecのどの周期の制御に使用されるかを判定し、
その結果により作成したフラグをSRAM1cのA/D
変換値使用フラグエリアに格納する。以上により準備段
階を終えて次に制御実行に移る。
制御実行においては、EFROMlbに格納されている
マルチタスク管理プログラムにより、まず[相]におい
て優先順位最高位ですなわち真先に全チャンネルのA/
D変換を行うタスク!に起動をかけ、このタスク■によ
り■においてl OOm5ec周期で全チャンネルにつ
いてのA/D変換を行わせ、このA/D変換により得た
A/D変換値を@でSRAM1cのA/D変換値バンフ
ァエリアに書込む。
マルチタスク管理プログラムにより、まず[相]におい
て優先順位最高位ですなわち真先に全チャンネルのA/
D変換を行うタスク!に起動をかけ、このタスク■によ
り■においてl OOm5ec周期で全チャンネルにつ
いてのA/D変換を行わせ、このA/D変換により得た
A/D変換値を@でSRAM1cのA/D変換値バンフ
ァエリアに書込む。
全てのチャンネルをハードウェアでサンプリングしてA
/D変換する周期が一定でなければならないので、全制
御周期200m5ec 、 500m5ec+ 10
00m5ecの最大公約数時間周期100m5ec毎に
アナログ入力の全チャンネルについてA/D変換を行い
、各制御周期における制御実行の際にこのA/D変換し
た値を参照できるようにする。100 m5ec毎に全
チャンネルについて一定のチャンネル順に(例えば1,
2,3.・・・・N)A/D変換を行えば、各チャンネ
ルそれぞれにおけるサンプリング間隔はl Q Q m
5ecとなる。このようにすれば、制御に使用しないチ
ャンネルについても100 m5ec毎にA/D変換を
行う無駄があるが、実際には1チヤンネル当たりのA/
D変換に要する時間は60〜80μsec程度なので全
体からみるとそれほど大きくなく問題にならない。
/D変換する周期が一定でなければならないので、全制
御周期200m5ec 、 500m5ec+ 10
00m5ecの最大公約数時間周期100m5ec毎に
アナログ入力の全チャンネルについてA/D変換を行い
、各制御周期における制御実行の際にこのA/D変換し
た値を参照できるようにする。100 m5ec毎に全
チャンネルについて一定のチャンネル順に(例えば1,
2,3.・・・・N)A/D変換を行えば、各チャンネ
ルそれぞれにおけるサンプリング間隔はl Q Q m
5ecとなる。このようにすれば、制御に使用しないチ
ャンネルについても100 m5ec毎にA/D変換を
行う無駄があるが、実際には1チヤンネル当たりのA/
D変換に要する時間は60〜80μsec程度なので全
体からみるとそれほど大きくなく問題にならない。
再び第4図に戻って説明を続けると、マルチタスク管理
は、続いて■において優先順位2番目で200 m5e
c周期でのA/D変換値更新及び機械語コールを行うタ
スクHに起動をかける。このタスク■の実行により、ま
ず[相]で、200 m5ec周期で使用しているアナ
ログチャンネルについてのデータを上記A/D変換値バ
ッファエリアから同じSRAM1c中のA/D変換値テ
ーブルエリアに転送し、次に[相]で、上記■で作成さ
れSRAM1cの200 m5ec周期機械語エリアに
記憶されている2 00 m5ec周期機械語をコール
する。その後[相]において、コールされた機械語のプ
ログラムにより、SRAM1cの制御ループ情報記憶エ
リアに対してREAD/WRITEのアクセスを行う。
は、続いて■において優先順位2番目で200 m5e
c周期でのA/D変換値更新及び機械語コールを行うタ
スクHに起動をかける。このタスク■の実行により、ま
ず[相]で、200 m5ec周期で使用しているアナ
ログチャンネルについてのデータを上記A/D変換値バ
ッファエリアから同じSRAM1c中のA/D変換値テ
ーブルエリアに転送し、次に[相]で、上記■で作成さ
れSRAM1cの200 m5ec周期機械語エリアに
記憶されている2 00 m5ec周期機械語をコール
する。その後[相]において、コールされた機械語のプ
ログラムにより、SRAM1cの制御ループ情報記憶エ
リアに対してREAD/WRITEのアクセスを行う。
この機械語の実行には、制御量の読込み即ちA/D変換
値の読込みが含まれるが、これは@において機械語がA
/D変換値テーブルエリアからA/D変換値を読込むこ
によって行う。
値の読込みが含まれるが、これは@において機械語がA
/D変換値テーブルエリアからA/D変換値を読込むこ
によって行う。
その後゛マルチタスク管理は、■において優先順位3番
目で500 m5ec周期でのA/D変換値更新及び機
械語コールを行うタスク■に起動をかける。このタスク
■の実行により、まず■で、500m5ec周期で使用
しているアナログチャンネルについてのデータを上記A
/D変換値バッファエリアから同じSRAM1c中のA
/D変換値テーブルエリアに転送し、次に[相]で、上
記■で作成されSRAM1cの500 m5ec周期機
械語エリアに記憶されている5 00 m5ec周期機
械語をコールする。その後[相]において、コールされ
た機械語のプログラムにより、SRAMICの制御ルー
プ情報記憶エリアに対してREAD/WRITEのアク
セスを行う。この機械語の実行には、制御量の読込み即
ちA/D変換値の読込みが含まれるが、これは[相]に
おいて機械語がA/D変換値テーブルエリアからA/D
変換値を読込むことによって行う。
目で500 m5ec周期でのA/D変換値更新及び機
械語コールを行うタスク■に起動をかける。このタスク
■の実行により、まず■で、500m5ec周期で使用
しているアナログチャンネルについてのデータを上記A
/D変換値バッファエリアから同じSRAM1c中のA
/D変換値テーブルエリアに転送し、次に[相]で、上
記■で作成されSRAM1cの500 m5ec周期機
械語エリアに記憶されている5 00 m5ec周期機
械語をコールする。その後[相]において、コールされ
た機械語のプログラムにより、SRAMICの制御ルー
プ情報記憶エリアに対してREAD/WRITEのアク
セスを行う。この機械語の実行には、制御量の読込み即
ちA/D変換値の読込みが含まれるが、これは[相]に
おいて機械語がA/D変換値テーブルエリアからA/D
変換値を読込むことによって行う。
更にその後マルチタスク管理は、■において優先順位4
番目で1000100O周期でのA/D変換値更新及び
機械語コールを行うタスク■に起動をかける。このタス
ク■の実行により、まずOで1000 m5ec周期で
使用しているアナログチャンネルについてのデータを上
記A/D変換値バッファエリアから同じSRAM1c中
のA/D変換値テーブルエリアに転送し、次に@で、上
記■で作成されSRAM1cに記憶されている1000
100O周期機械語をコールする。その後[相]におい
て、コールされた機械語のプログラムにより、SRAM
1cの制御ループ情報記憶エリアに対してREAD/W
RITEのアクセスを行う。この機械語の実行には、制
御量の読込み即ちA/D変換値の読込みが含まれるが、
これは@において機械語がA/D変換値テーブルエリア
からA/D変換値を読込むことによって行う。
番目で1000100O周期でのA/D変換値更新及び
機械語コールを行うタスク■に起動をかける。このタス
ク■の実行により、まずOで1000 m5ec周期で
使用しているアナログチャンネルについてのデータを上
記A/D変換値バッファエリアから同じSRAM1c中
のA/D変換値テーブルエリアに転送し、次に@で、上
記■で作成されSRAM1cに記憶されている1000
100O周期機械語をコールする。その後[相]におい
て、コールされた機械語のプログラムにより、SRAM
1cの制御ループ情報記憶エリアに対してREAD/W
RITEのアクセスを行う。この機械語の実行には、制
御量の読込み即ちA/D変換値の読込みが含まれるが、
これは@において機械語がA/D変換値テーブルエリア
からA/D変換値を読込むことによって行う。
なお、A/D変換値使用フラグは上記[相]、@。
@における2 00m5ec 、 500m5ec
、 1000m5ecの各周期に関するA / D変
換値バッファエリアからA/D変換値テーブルエリアへ
の転送時に参照される。
、 1000m5ecの各周期に関するA / D変
換値バッファエリアからA/D変換値テーブルエリアへ
の転送時に参照される。
上記A/D変換値の更新の仕方を、第5図を参照しても
っと具体的に以下説明する。
っと具体的に以下説明する。
第5図において、まず最初に複数ある制御周期の最大公
約数時間周期100 m5ecで全チャンネルについて
A/D変換を行い、その変換値を矢印(a)で示すよう
にA/D変換バッファエリアに書込む、その後、各周期
の制御プログラムをコンパイルした段階で作成されてい
る各制御周期で使用されるチャン5ネルを指定するA/
D変換値使用フラグに基づいて、各制御周期の機械語実
行で実際に使用するA/D変換値を確定するために、こ
のフラグがオン「l」のチャンネルについてA/D変換
値バッファエリアの値をSRAMIC0A/D変換値テ
ーブルエリアに矢印(b)で示すように転送する。続い
て、機械語実行時に、A/D変換値テーブルエリアにあ
る全てのA/D変換値を矢印(C)で示すようにアクセ
ス(読み込み)する。
約数時間周期100 m5ecで全チャンネルについて
A/D変換を行い、その変換値を矢印(a)で示すよう
にA/D変換バッファエリアに書込む、その後、各周期
の制御プログラムをコンパイルした段階で作成されてい
る各制御周期で使用されるチャン5ネルを指定するA/
D変換値使用フラグに基づいて、各制御周期の機械語実
行で実際に使用するA/D変換値を確定するために、こ
のフラグがオン「l」のチャンネルについてA/D変換
値バッファエリアの値をSRAMIC0A/D変換値テ
ーブルエリアに矢印(b)で示すように転送する。続い
て、機械語実行時に、A/D変換値テーブルエリアにあ
る全てのA/D変換値を矢印(C)で示すようにアクセ
ス(読み込み)する。
以上の構成において、200m5ec 、500m5e
c及びl O00m5ecの3つの制御周期でループ制
御を行う場合について説明する。
c及びl O00m5ecの3つの制御周期でループ制
御を行う場合について説明する。
上記制御ソースプログラムとして次の演算式文字列、
が記述されている場合、
ADC(・・・・);は、A/D変換されたデジタルデ
ータをPVに変換するサブルーチンをコールすること、 SV(・・・) =XXX、は、SV(目標値)の−1
=7ト、PiD(・・・・);は、SVとPVにより操
作量MVを算出するサブルーチンをコールすること、D
AC(・・・・);は、MVをD/A変換するためのデ
ジタルデータへ変換するサブルーチンをコールすること
、 をそれぞれ意味する。
ータをPVに変換するサブルーチンをコールすること、 SV(・・・) =XXX、は、SV(目標値)の−1
=7ト、PiD(・・・・);は、SVとPVにより操
作量MVを算出するサブルーチンをコールすること、D
AC(・・・・);は、MVをD/A変換するためのデ
ジタルデータへ変換するサブルーチンをコールすること
、 をそれぞれ意味する。
ここで、処理時間が、八〇C(・・・・);で1m5e
c、sv<・・−)=xxx、で0.1 m5ec 5
PiD(・・・・);で5m5ec 、 DAC(・−
=);で0.9 m5ecの合計7m5ecを要する仕
様であるとすると、200 m5ecでは上述のような
記述が15ループ(7X15=105msec ) 、
500 m5ecでは上述のような記述が10ループ(
7X10=70msec )及び1000100Oでは
上述のような記述が30ループ(7X30=210ms
ec)だけされているとき、200.500及び100
0 m5ecの最少公倍数1000 m5ecの間に計
算に要するCPU時間は、105x5 (200mse
cが5回)+70x2(500m5ecが2回) +2
10 (1000m5ecが1回) =875m5ec
である。従って、高速(200m5ec ) 、中速(
500m5ec ) 、低速(1000m5ec )の
制御周期でそれぞれ15.10.30ループの制御が可
能である。
c、sv<・・−)=xxx、で0.1 m5ec 5
PiD(・・・・);で5m5ec 、 DAC(・−
=);で0.9 m5ecの合計7m5ecを要する仕
様であるとすると、200 m5ecでは上述のような
記述が15ループ(7X15=105msec ) 、
500 m5ecでは上述のような記述が10ループ(
7X10=70msec )及び1000100Oでは
上述のような記述が30ループ(7X30=210ms
ec)だけされているとき、200.500及び100
0 m5ecの最少公倍数1000 m5ecの間に計
算に要するCPU時間は、105x5 (200mse
cが5回)+70x2(500m5ecが2回) +2
10 (1000m5ecが1回) =875m5ec
である。従って、高速(200m5ec ) 、中速(
500m5ec ) 、低速(1000m5ec )の
制御周期でそれぞれ15.10.30ループの制御が可
能である。
この点、従来方式では、200 m5ecと10001
00Oの2つの制御周期をもつ場合、200m5ec周
期がlOループのとき1000 m5ec周期は(20
0−7X10)+7=18すなわち最大18ループしか
とれなかった。また、従来方式では、200.500、
l OOOm5ecの3つの制御周期をもつ場合、20
0 m5ecが10ループ、500 m5ecが4ルー
プのとき、1000 m5ec周期は、(−200−7
X10−7X4)+7=14すなわち最大14ループし
かとれなかった。
00Oの2つの制御周期をもつ場合、200m5ec周
期がlOループのとき1000 m5ec周期は(20
0−7X10)+7=18すなわち最大18ループしか
とれなかった。また、従来方式では、200.500、
l OOOm5ecの3つの制御周期をもつ場合、20
0 m5ecが10ループ、500 m5ecが4ルー
プのとき、1000 m5ec周期は、(−200−7
X10−7X4)+7=14すなわち最大14ループし
かとれなかった。
そして、サンプリング周期を守るためは、200m5e
cの周期で制御されるループについてのAnC(・・・
)が参照するA/D変換値の更新、500m5ecの周
期で制御されるループについてのADC(・・・)が参
照するA/D変換値の更新、1000100Oの周期で
制御されるループについてのADC(・・・)が参照す
るA/D変換値の更新がそれぞれ必要である。
cの周期で制御されるループについてのAnC(・・・
)が参照するA/D変換値の更新、500m5ecの周
期で制御されるループについてのADC(・・・)が参
照するA/D変換値の更新、1000100Oの周期で
制御されるループについてのADC(・・・)が参照す
るA/D変換値の更新がそれぞれ必要である。
ループ制御の実行は周期タイマ1eによる一定周期毎の
割込みにより行われ、その概略を第6図・を参照して説
明する。
割込みにより行われ、その概略を第6図・を参照して説
明する。
同図において、■においてタイマー割込みがかかると、
マルチタスク管理が時刻管理を行い、まず■、■、■、
■においてタスク!、■、■、■を100.200.5
00.1000 m5ecでそれぞれ起動する。これに
対してタスク■、■、■、■はその終了により■、■、
■、■で示すようにマルチタスク管理をコールする。タ
スク■はどの制御周期について実行開始させるかを判定
し、[相]で実行開始のタイミングとなっているタスク
■〜■について起動許可フラグをオンする。この仕事は
マルチタスク管理を介して行われる。
マルチタスク管理が時刻管理を行い、まず■、■、■、
■においてタスク!、■、■、■を100.200.5
00.1000 m5ecでそれぞれ起動する。これに
対してタスク■、■、■、■はその終了により■、■、
■、■で示すようにマルチタスク管理をコールする。タ
スク■はどの制御周期について実行開始させるかを判定
し、[相]で実行開始のタイミングとなっているタスク
■〜■について起動許可フラグをオンする。この仕事は
マルチタスク管理を介して行われる。
次にマルチタスク管理は0において、上記■、■、■、
■によるコールに基づいて起動許可フラグを読取り、ど
のタスクを起動するかについて判定する。マルチタスク
管理はまた@において、上記■、■、■、■によるコー
ルに基づいて起動中フラグを読取り、どのタスクを起動
するかについて判定する。上記判定によりタスク■〜■
に起動をかける際、@においてそのタスクの起動許可フ
ラグをオフにすると共に、[相]においてそのタスクの
起動中フラグをオフする。そして、タスク■〜■の実行
が終了したら■においてそのタスクの起動中フラグをオ
フする。
■によるコールに基づいて起動許可フラグを読取り、ど
のタスクを起動するかについて判定する。マルチタスク
管理はまた@において、上記■、■、■、■によるコー
ルに基づいて起動中フラグを読取り、どのタスクを起動
するかについて判定する。上記判定によりタスク■〜■
に起動をかける際、@においてそのタスクの起動許可フ
ラグをオフにすると共に、[相]においてそのタスクの
起動中フラグをオフする。そして、タスク■〜■の実行
が終了したら■においてそのタスクの起動中フラグをオ
フする。
タイマ割込みのとき、[相]において、レジスタ、プロ
グラムカウンタ(pc)、スタックポインタ(sp)等
の内容をレジスタ退避エリアに退避する。また起動中フ
ラグのオンによりそのタスクの続行を行うときには、そ
の続行するタスクに対応するレジスタ退避エリアから退
避しているレジスタ、PC,SP等の内容を読込む。
グラムカウンタ(pc)、スタックポインタ(sp)等
の内容をレジスタ退避エリアに退避する。また起動中フ
ラグのオンによりそのタスクの続行を行うときには、そ
の続行するタスクに対応するレジスタ退避エリアから退
避しているレジスタ、PC,SP等の内容を読込む。
上述したループ制御装置の動作の詳細を、予め定めた制
御プログラムに従ってCPU1aが行う仕事を示す第7
図乃至第16図のフローチャートを参照して以下説明す
る。
御プログラムに従ってCPU1aが行う仕事を示す第7
図乃至第16図のフローチャートを参照して以下説明す
る。
CPU1aは装置電源がオンすることにより動作をスタ
ートし、その最初のステップS1において各種の初期化
を行う。その後ステップS2に進み、ここでSRAM1
cの200 m5ec演算式文字列エリアに200m5
ecJi期実行ソースプログラムが入力されるのを待ち
、人力があると該入力されたソースプログラムを次のス
テップS3においてEPROM1bに格納されているコ
ンパイラによりコンパイルする。
ートし、その最初のステップS1において各種の初期化
を行う。その後ステップS2に進み、ここでSRAM1
cの200 m5ec演算式文字列エリアに200m5
ecJi期実行ソースプログラムが入力されるのを待ち
、人力があると該入力されたソースプログラムを次のス
テップS3においてEPROM1bに格納されているコ
ンパイラによりコンパイルする。
続いてステップS4に進み、ここでSRAMICの50
0 m5ec演算式文字列エリアに500m5ec周期
実行ソースプログラムが入力されるのを待ち、入力があ
ると該入力したソースプログラムを次のステップS5に
おいてEFROMlbに格納されているコンパイラによ
りコンパイルする。
0 m5ec演算式文字列エリアに500m5ec周期
実行ソースプログラムが入力されるのを待ち、入力があ
ると該入力したソースプログラムを次のステップS5に
おいてEFROMlbに格納されているコンパイラによ
りコンパイルする。
更にその後ステップS6に進み、ここでSRAMの10
00 m5ec演算式文字列エリアに1000100O
周期実行ソースプログラムが入力されるのを待ち、入力
があると該入力したソースプログラムを次のステップS
においてEFROMlbに格納されているコンパイラに
よりコンパイルする。
00 m5ec演算式文字列エリアに1000100O
周期実行ソースプログラムが入力されるのを待ち、入力
があると該入力したソースプログラムを次のステップS
においてEFROMlbに格納されているコンパイラに
よりコンパイルする。
次にステップS7に進み、ここで制御開始の指令入力を
待ち、指令入力があるとステップS8に進み、ここで制
御実行を行う。
待ち、指令入力があるとステップS8に進み、ここで制
御実行を行う。
上記ステップS3、S5及びS7における各周期実行ソ
ースプログラムのコンパイルは、第8図に示すフローチ
ャートに従って行われる。すなわち、第8図の各周期実
行ソースプログラムのコンパイルでは、まずステップS
31においてプログラムを記述している未変換文字列の
字句解析を行い、次のステップ332において構文解析
を行う。
ースプログラムのコンパイルは、第8図に示すフローチ
ャートに従って行われる。すなわち、第8図の各周期実
行ソースプログラムのコンパイルでは、まずステップS
31においてプログラムを記述している未変換文字列の
字句解析を行い、次のステップ332において構文解析
を行う。
ステップS32の構文解析では、本来の構文解析の他、
A/D変換値使用フラグのセットも行う。
A/D変換値使用フラグのセットも行う。
その後ステップS33に進み、ここで上記解析に基づい
て機械語の生成を行った後、第7図のフローチャートに
戻る。
て機械語の生成を行った後、第7図のフローチャートに
戻る。
上述した第8図のフローチャートは、200m5ec
、500m5ec 、 l OO0m5ec周期実行ソ
ースプログラムのコンパイルに共通である。
、500m5ec 、 l OO0m5ec周期実行ソ
ースプログラムのコンパイルに共通である。
次に、第8図のフローチャート中の上記ステップS32
におけるA/D変換値使用フラグのセットのためのフロ
ーチャートを第9図を参照して説明する。まずステップ
5321においてSRAM1cのA/D変換値使用フラ
グエリアに記憶されているその制御周期における全チャ
ンネルのフラ゛グをクリア、すなわちOにする0次にス
テップ5322に進み、ここで上記構文解析の結果によ
り周期実行ソースプログラムの字句がエンドコードであ
るか否かを判定し、判定がYESであるときには第7図
のフローチャートに戻る。そして判定がNoのときには
ステップ5323に進み、ここでプログラム記述がAB
C(・・・)であるか否か、すなわちA/D変換のため
のものであるか否かを判定し、判定がNOのときにはス
テップ5326に進み、YESのときにはステップ53
24に進む。
におけるA/D変換値使用フラグのセットのためのフロ
ーチャートを第9図を参照して説明する。まずステップ
5321においてSRAM1cのA/D変換値使用フラ
グエリアに記憶されているその制御周期における全チャ
ンネルのフラ゛グをクリア、すなわちOにする0次にス
テップ5322に進み、ここで上記構文解析の結果によ
り周期実行ソースプログラムの字句がエンドコードであ
るか否かを判定し、判定がYESであるときには第7図
のフローチャートに戻る。そして判定がNoのときには
ステップ5323に進み、ここでプログラム記述がAB
C(・・・)であるか否か、すなわちA/D変換のため
のものであるか否かを判定し、判定がNOのときにはス
テップ5326に進み、YESのときにはステップ53
24に進む。
ステップ5326では、プログラムの次の字句にステッ
プ5322或いは5323での判定の実行を移す。これ
に対してステップ5324では、八〇C(・・・、X)
の、・、・の後のXlすなわち引数で指定されたアナロ
グ入力チャンネルを読取る。次にステップ5325に進
み、ここでステップ5424で読取ったその制御周期に
おけるアナログ人力チャンネル(CH)のフラグを「1
」にしてからステップ326に進む。以上説明した第9
図のフローチャートは、当該演算式文字列のソースプロ
グラムにおいてループ制御に使用することが指定されて
いるアナログ入力チャンネルを特定するためのものであ
る。
プ5322或いは5323での判定の実行を移す。これ
に対してステップ5324では、八〇C(・・・、X)
の、・、・の後のXlすなわち引数で指定されたアナロ
グ入力チャンネルを読取る。次にステップ5325に進
み、ここでステップ5424で読取ったその制御周期に
おけるアナログ人力チャンネル(CH)のフラグを「1
」にしてからステップ326に進む。以上説明した第9
図のフローチャートは、当該演算式文字列のソースプロ
グラムにおいてループ制御に使用することが指定されて
いるアナログ入力チャンネルを特定するためのものであ
る。
続いて、第7図のフローチャート中の上記ステップS7
における制御実行のためのフローチャートを第10図以
降を参照して説明する。制御実行はタイマ割込みにより
例えば5或いは10 m5ec毎に行われ、タイマ割込
みが発生すると、ステップ591において、タイマ割込
みの直前に動いていたタスクを判別し、タイマ割込み時
点の全レジスタ、PC,SP等の内容をそのタスクのレ
ジスタ退避エリアに格納する。その後ステップS92に
進み、ここで今回のタイマ割込みが100m5ecのタ
イミングのものか否かを例えば割込みカウンタのカウン
ト値により判定し、判定がYESのときはステップS9
3に、NOのときはステップS94にそれぞれ進む、ス
テップS93ではタスク■を行い、ステップS94では
レジスタ退避エリアに退避しているレジスタ、PC,S
P等の内容をそれぞれ復帰する。ステップ394の実行
後ステップ395に進み、ここでタイマ割込み直前のP
Cより実行する。
における制御実行のためのフローチャートを第10図以
降を参照して説明する。制御実行はタイマ割込みにより
例えば5或いは10 m5ec毎に行われ、タイマ割込
みが発生すると、ステップ591において、タイマ割込
みの直前に動いていたタスクを判別し、タイマ割込み時
点の全レジスタ、PC,SP等の内容をそのタスクのレ
ジスタ退避エリアに格納する。その後ステップS92に
進み、ここで今回のタイマ割込みが100m5ecのタ
イミングのものか否かを例えば割込みカウンタのカウン
ト値により判定し、判定がYESのときはステップS9
3に、NOのときはステップS94にそれぞれ進む、ス
テップS93ではタスク■を行い、ステップS94では
レジスタ退避エリアに退避しているレジスタ、PC,S
P等の内容をそれぞれ復帰する。ステップ394の実行
後ステップ395に進み、ここでタイマ割込み直前のP
Cより実行する。
次に、第10図のフローチャート中の上記ステップS9
3におけるタスクIのためのフローチャートを第11図
を参照して説明する。タスクIはその最初のステップ5
931において、タスク■の起動のタイミングが200
.500.1000m secのものであるかを判定す
る0判定がYESのときはステップ5932に、NOの
ときはステップ5936にそれぞれ進む、ステップ59
32では、全チャンネルについてA/D変換し、その変
換値をA/D変換値バッファに書込む。ステップ593
2の実行後ステップ5933に進み、ここで起動が20
0 m5ecのタイミングのものであるか否かを判定し
、判定がNOのときはステップ5934に進む、ステッ
プ5934においては、起動が500 m5ecのタイ
ミングのものであるか否かを判定し、このステップ59
34の判定がNOのときにはステップ5935に進む、
ステップ5935では、起動が1000 m5ecのも
のか否かを判定し、判定がNOのときにはステップ59
36に進み、ここでマルチタスクをコールする。
3におけるタスクIのためのフローチャートを第11図
を参照して説明する。タスクIはその最初のステップ5
931において、タスク■の起動のタイミングが200
.500.1000m secのものであるかを判定す
る0判定がYESのときはステップ5932に、NOの
ときはステップ5936にそれぞれ進む、ステップ59
32では、全チャンネルについてA/D変換し、その変
換値をA/D変換値バッファに書込む。ステップ593
2の実行後ステップ5933に進み、ここで起動が20
0 m5ecのタイミングのものであるか否かを判定し
、判定がNOのときはステップ5934に進む、ステッ
プ5934においては、起動が500 m5ecのタイ
ミングのものであるか否かを判定し、このステップ59
34の判定がNOのときにはステップ5935に進む、
ステップ5935では、起動が1000 m5ecのも
のか否かを判定し、判定がNOのときにはステップ59
36に進み、ここでマルチタスクをコールする。
上記ステップ5933の判定がYESすなわち200
m5ecの起動のときには、ステップ5937に進みこ
こでタスク■の起動許可フラグをオンした後、ステップ
5934に進む。また上記ステップ5934の判定がY
ESすなわち500m5ecの起動のときには、ステッ
プ8938に進みここでタスク■の起動許可フラグをオ
ンした後、ステップ5935に進む。更に上記ステップ
5935の判定がYESすなわち1000100Oの起
動のときには、ステップ5939に進みここでタスク■
の起動許可フラグをオンしてからステップ3936に進
む。
m5ecの起動のときには、ステップ5937に進みこ
こでタスク■の起動許可フラグをオンした後、ステップ
5934に進む。また上記ステップ5934の判定がY
ESすなわち500m5ecの起動のときには、ステッ
プ8938に進みここでタスク■の起動許可フラグをオ
ンした後、ステップ5935に進む。更に上記ステップ
5935の判定がYESすなわち1000100Oの起
動のときには、ステップ5939に進みここでタスク■
の起動許可フラグをオンしてからステップ3936に進
む。
上記ステップ5939におけるマルチタスクのためのフ
ローチャートを第12図を参照して説明する。マルチタ
スクコールでは、その最初のステップ59391におい
て、コールしたタスクを判別し、そのタスクについての
起動中フラグをオフする。その後ステップ59392に
進み、ここでタスク■の起動許可フラグがオンであるか
否かを判定し、判定がNOのときにはステップ5939
3に進む。ステップ39393においては、タスクHの
起動中フラグがオンであるか否かを判定し、判定がNO
のときにはステップ59394に進む。
ローチャートを第12図を参照して説明する。マルチタ
スクコールでは、その最初のステップ59391におい
て、コールしたタスクを判別し、そのタスクについての
起動中フラグをオフする。その後ステップ59392に
進み、ここでタスク■の起動許可フラグがオンであるか
否かを判定し、判定がNOのときにはステップ5939
3に進む。ステップ39393においては、タスクHの
起動中フラグがオンであるか否かを判定し、判定がNO
のときにはステップ59394に進む。
ステップ59394においてはタスク■の起動許可フラ
グがオンであるか否かを判定し、判定がNOときにはス
テップ59395に進む。ステップ59395において
は、タスク■の起動中フラグがオンであるか否かを判定
し、判定がNOのときにはステップ59396に進む。
グがオンであるか否かを判定し、判定がNOときにはス
テップ59395に進む。ステップ59395において
は、タスク■の起動中フラグがオンであるか否かを判定
し、判定がNOのときにはステップ59396に進む。
ステップ59396においては、タスク■の起動許可フ
ラグがオンであるか否かを判定し、判定がNOのときに
はステップ59397に進む。ステップ59397にお
いては、タスク■の起動中フラグがオンであるか否かを
判定し、判定がNOのときにはステップ5939Bに進
む、ステップ39398においては、無限ループの実行
すなわちタイマ割込み待ちを行う。
ラグがオンであるか否かを判定し、判定がNOのときに
はステップ59397に進む。ステップ59397にお
いては、タスク■の起動中フラグがオンであるか否かを
判定し、判定がNOのときにはステップ5939Bに進
む、ステップ39398においては、無限ループの実行
すなわちタイマ割込み待ちを行う。
上記ステップ59392の判定がYESのときにはステ
ップ39401に進み、ここでタスクHの起動中フラグ
がオンであるか否かを判定し、判定がYESのときには
ステップ39402に、判定がNoのときにはステップ
59403にそれぞれ進む、ステップ39402では過
負荷の検出とシステムのストップのための仕事を行う、
またステップ59403ではタスク■の起動許可フラグ
をオフし、起動中フラグをオンした後、ステップ594
04に進み、ここでタスク■を実行する。
ップ39401に進み、ここでタスクHの起動中フラグ
がオンであるか否かを判定し、判定がYESのときには
ステップ39402に、判定がNoのときにはステップ
59403にそれぞれ進む、ステップ39402では過
負荷の検出とシステムのストップのための仕事を行う、
またステップ59403ではタスク■の起動許可フラグ
をオフし、起動中フラグをオンした後、ステップ594
04に進み、ここでタスク■を実行する。
上記ステップ59393の判定がYESのときにはステ
ップ59405に進み、ここでタスク■のレジスタ退避
エリアからレジスタ等を復帰し、そのPCよりプログラ
ムの実行を再開する。
ップ59405に進み、ここでタスク■のレジスタ退避
エリアからレジスタ等を復帰し、そのPCよりプログラ
ムの実行を再開する。
上記ステップ59394の判定がYESのときにはステ
ップ59406に進み、ここでタスク■の起動中フラグ
がオンであるか否かを判定し、判定がYESのときには
ステップ59407に、判定がNOのときにはステップ
3940Bにそれぞれ進む、ステップ59407では、
上記ステップ59402と同様に過負荷の検出とシステ
ムのストップのための仕事を行う。またステップ394
08ではタスク■の起動許可フラグをオフし、起動中フ
ラグをオンした後、ステップ59409に進み、ここで
タスク■を実行する。
ップ59406に進み、ここでタスク■の起動中フラグ
がオンであるか否かを判定し、判定がYESのときには
ステップ59407に、判定がNOのときにはステップ
3940Bにそれぞれ進む、ステップ59407では、
上記ステップ59402と同様に過負荷の検出とシステ
ムのストップのための仕事を行う。またステップ394
08ではタスク■の起動許可フラグをオフし、起動中フ
ラグをオンした後、ステップ59409に進み、ここで
タスク■を実行する。
上記ステップ59395の判定がYESのときにはステ
ップ59410に進み、ここでタスク■のレジスタ退避
エリアからレジスタ等を復帰し、そのPCよりプログラ
ムの実行を再開する。
ップ59410に進み、ここでタスク■のレジスタ退避
エリアからレジスタ等を復帰し、そのPCよりプログラ
ムの実行を再開する。
上記ステップ59397の判定がYESのときにはステ
ップ39411に進み、ここでタスク■の起動中フラグ
がオンであするか否かを判定し、判定がYESのときに
はステップ59412に、判定がNoのときにはステッ
プ59413にそれぞれ進む。ステップ59412では
、上記ステップ59402と同様に過負荷の検出とシス
テムのストップのための仕事を行う。またステップ39
413ではタスク■の起動許可フラグをオフし、起動中
フラグをオンした後、ステップ59414に進み、ここ
でタスク■を実行する。
ップ39411に進み、ここでタスク■の起動中フラグ
がオンであするか否かを判定し、判定がYESのときに
はステップ59412に、判定がNoのときにはステッ
プ59413にそれぞれ進む。ステップ59412では
、上記ステップ59402と同様に過負荷の検出とシス
テムのストップのための仕事を行う。またステップ39
413ではタスク■の起動許可フラグをオフし、起動中
フラグをオンした後、ステップ59414に進み、ここ
でタスク■を実行する。
そして、上記ステップ59397の判、定がYESのと
きにはステップ39415に進み、ここでタスク■のレ
ジスタ退避エリアからレジスタ等を復帰し、そのPCよ
りプログラムの実行を再開する。
きにはステップ39415に進み、ここでタスク■のレ
ジスタ退避エリアからレジスタ等を復帰し、そのPCよ
りプログラムの実行を再開する。
第12図について上述したフローチャート中のステップ
59404.59409及び59414におけるタスク
■、■及び■のフローチャートを第13図乃至第15図
を参照してそれぞれ説明する。
59404.59409及び59414におけるタスク
■、■及び■のフローチャートを第13図乃至第15図
を参照してそれぞれ説明する。
まずタスク■においては、その最初のステップ5940
41で200 m5ec周期実行がアクセスするA/D
変換値の更新を行う。次にステップ594042におい
て200 m5ec周期の機械語の実行を行い、その後
火のステップ594043においてマルチタスク管理の
コールを行う、タスクHの場合と同様に、タスク■にお
いては第14図に示すステップ594091乃至394
093の仕事を、タスク■においては第15図に示すス
テップ594141乃至594142の仕事をそれぞれ
行う。
41で200 m5ec周期実行がアクセスするA/D
変換値の更新を行う。次にステップ594042におい
て200 m5ec周期の機械語の実行を行い、その後
火のステップ594043においてマルチタスク管理の
コールを行う、タスクHの場合と同様に、タスク■にお
いては第14図に示すステップ594091乃至394
093の仕事を、タスク■においては第15図に示すス
テップ594141乃至594142の仕事をそれぞれ
行う。
上述した各タスクにおけるA/D変換値の更新は、第1
6図のフローチャートに従って次のように行われる。ま
ずステップ3411においてCHに1をセットし、次の
ステップ3412においてCH内の数値により指定され
るチャンネルのA/D変換値使用フラグが「1」すなわ
ち使用となっているか否かを判定する。該ステップの判
定がYESのときはステップ5413に進み、ここでA
/D変換値バックァエリア中のCHで指寓されるチャン
ネルのA/D変換値をA/D変換値テーブルエリア中の
CHで指定されるチャンネルに転送する。続いてステッ
プ5414に進み、ここで現在のCHの数値にプラス1
した数値をセットした後ステップ5415に進む、ステ
ップ5415においては、CHの数値が最大チャンネル
数Nより大きいか否かを判定し、判定がYESのときに
はこの更新動作を終了して各タスクの次のステップに進
み、判定がNOのときにはステップ5412に戻る。上
記ステップ5412の判定がNOのときすなわちA/D
変換値使用フラグがrlJでないときにはステップ54
13を飛ばしてステップ5414に進む。以上により、
タスク■、■及び■において使用する全てのチャンネル
のA/D変換値がSRAM1cのA/D変換値テーブル
エリアに格納されるようになる。
6図のフローチャートに従って次のように行われる。ま
ずステップ3411においてCHに1をセットし、次の
ステップ3412においてCH内の数値により指定され
るチャンネルのA/D変換値使用フラグが「1」すなわ
ち使用となっているか否かを判定する。該ステップの判
定がYESのときはステップ5413に進み、ここでA
/D変換値バックァエリア中のCHで指寓されるチャン
ネルのA/D変換値をA/D変換値テーブルエリア中の
CHで指定されるチャンネルに転送する。続いてステッ
プ5414に進み、ここで現在のCHの数値にプラス1
した数値をセットした後ステップ5415に進む、ステ
ップ5415においては、CHの数値が最大チャンネル
数Nより大きいか否かを判定し、判定がYESのときに
はこの更新動作を終了して各タスクの次のステップに進
み、判定がNOのときにはステップ5412に戻る。上
記ステップ5412の判定がNOのときすなわちA/D
変換値使用フラグがrlJでないときにはステップ54
13を飛ばしてステップ5414に進む。以上により、
タスク■、■及び■において使用する全てのチャンネル
のA/D変換値がSRAM1cのA/D変換値テーブル
エリアに格納されるようになる。
第11図及び第12図、第13図、第14図並びに第1
5図についてそれぞれ上述したタスク11■、■、■の
実行の際に各タスクの実行の途中で発生するデータ等を
WRITE/READして使用するワークエリアを、第
3図のRAMマツプに示したように、タスクニスタック
、タスクスタック、タスクスタック、タスクスタックと
してSRAMIc上にそれぞれ確保している。これらタ
スクスタックは、例えばタスクIのメインルーチンの実
行中には第17図(a)に示すような状態にあり、この
メインルーチンの実行中に例えばA/D変換サブルーチ
ンのコールが行われた場合には、第17図(b)に示す
ようにスタックエリアにメインルーチンの戻り番地がP
Cの内容により書き込まれると共に、第17図(c)に
示すようにスタックエリアの残部がコールされたサブル
ーチンで使用されるダイナミックな変数領域として確保
される。上述のようなスタックエリアの使用分の先頭は
通常CPUに1つだけあSPすなわちスタックポインタ
により指示され、変数領域は各タスクスタックの最大値
により指示される。
5図についてそれぞれ上述したタスク11■、■、■の
実行の際に各タスクの実行の途中で発生するデータ等を
WRITE/READして使用するワークエリアを、第
3図のRAMマツプに示したように、タスクニスタック
、タスクスタック、タスクスタック、タスクスタックと
してSRAMIc上にそれぞれ確保している。これらタ
スクスタックは、例えばタスクIのメインルーチンの実
行中には第17図(a)に示すような状態にあり、この
メインルーチンの実行中に例えばA/D変換サブルーチ
ンのコールが行われた場合には、第17図(b)に示す
ようにスタックエリアにメインルーチンの戻り番地がP
Cの内容により書き込まれると共に、第17図(c)に
示すようにスタックエリアの残部がコールされたサブル
ーチンで使用されるダイナミックな変数領域として確保
される。上述のようなスタックエリアの使用分の先頭は
通常CPUに1つだけあSPすなわちスタックポインタ
により指示され、変数領域は各タスクスタックの最大値
により指示される。
変数領域の内容はサブルーチンの実行が終わりメインル
ーチンに戻るまで確保され、例えサブルーチンの実行の
途中にタイマ割込みが入り、中断されても保持される。
ーチンに戻るまで確保され、例えサブルーチンの実行の
途中にタイマ割込みが入り、中断されても保持される。
また割込みによりタスクが中断されたとき、SPの内容
はPCの内容と共ににレジスタ退避エリアに退避されて
いるので、割り込んだタスクが終了したときこの退避し
ているSPとPCの内容により、割り込まれたタスクを
元の位置から再開することができる。そしてサブルーチ
ンの実行が終わると、第17図(d)に示すようにタス
クスタックに確保していたダイナミックな変数領域を開
放すると共に、第17図(e)に示すようにタスクスタ
ックに書き込まれているPCにより割り込まれる前のメ
インサブルーチンの元の位置に戻る。
はPCの内容と共ににレジスタ退避エリアに退避されて
いるので、割り込んだタスクが終了したときこの退避し
ているSPとPCの内容により、割り込まれたタスクを
元の位置から再開することができる。そしてサブルーチ
ンの実行が終わると、第17図(d)に示すようにタス
クスタックに確保していたダイナミックな変数領域を開
放すると共に、第17図(e)に示すようにタスクスタ
ックに書き込まれているPCにより割り込まれる前のメ
インサブルーチンの元の位置に戻る。
以上の説明から明らかなように、本発明によるループ制
御装置の上述した実施例では、タイマ割込みのうち第1
8図(a)に示すような特に100 m5ec毎のタイ
ミングにおいてタイマ割込みが生じると、第18図(b
)に示すようにタスクIが起動される。タスク!では、
0,200.400.500.600及び800 m5
ec等のタイミングでの起動時に、全てのチャンネルの
A/D変換を行い、100.300.700及び900
m5ec等のタイミングではA/D変換を行わずに直ち
にぬける。
御装置の上述した実施例では、タイマ割込みのうち第1
8図(a)に示すような特に100 m5ec毎のタイ
ミングにおいてタイマ割込みが生じると、第18図(b
)に示すようにタスクIが起動される。タスク!では、
0,200.400.500.600及び800 m5
ec等のタイミングでの起動時に、全てのチャンネルの
A/D変換を行い、100.300.700及び900
m5ec等のタイミングではA/D変換を行わずに直ち
にぬける。
0.200.400,600及び800 m5ecのタ
イミングでのタイマ割込みでは、タスクIでのA/D変
換の終了後、第18図(C)に示すようにタスク■が起
動される。また0及び500msecのタイミングでの
タイマ割込みでは、タスク■の終了後、第18図(d)
に示すようにタスク■が起動される。タスク■は、第1
8図(d)に示されているようにタスク!及びタスク■
の起動′により中断され、タスクI及びタスク■の終了
により再開される。更に0m5ecのタイミングでのタ
イマ割込みでは、タスク■の終了後、第18図(e)に
示すようにタスク■が起動される。タスク■は、第18
図(e)に示すようにタスクI、タスク■及びタスク■
の起動により中断され、タスク■或いはタスク■の終了
により再開される。
イミングでのタイマ割込みでは、タスクIでのA/D変
換の終了後、第18図(C)に示すようにタスク■が起
動される。また0及び500msecのタイミングでの
タイマ割込みでは、タスク■の終了後、第18図(d)
に示すようにタスク■が起動される。タスク■は、第1
8図(d)に示されているようにタスク!及びタスク■
の起動′により中断され、タスクI及びタスク■の終了
により再開される。更に0m5ecのタイミングでのタ
イマ割込みでは、タスク■の終了後、第18図(e)に
示すようにタスク■が起動される。タスク■は、第18
図(e)に示すようにタスクI、タスク■及びタスク■
の起動により中断され、タスク■或いはタスク■の終了
により再開される。
以上により、制御周期の短い優先順位の高いタスクが実
行されていない空き時間を利用して優先順位の低いタス
クが実行されるようになり、CPUを制御に有効利用す
ることができる。
行されていない空き時間を利用して優先順位の低いタス
クが実行されるようになり、CPUを制御に有効利用す
ることができる。
以上説明したように本発明によれば、制御周期の長い機
械語の実行を中断して制御周期の短い機械語の実行を割
り込ませることにより、制御周期毎の機械語をマルチタ
スク的に実行させているため、制御に使用するコンピュ
ータ(cpu)の能力を制御実行に最大限に割り当てる
ことができるようになり、制御対象(ループ)数の増大
を図ることができる。
械語の実行を中断して制御周期の短い機械語の実行を割
り込ませることにより、制御周期毎の機械語をマルチタ
スク的に実行させているため、制御に使用するコンピュ
ータ(cpu)の能力を制御実行に最大限に割り当てる
ことができるようになり、制御対象(ループ)数の増大
を図ることができる。
第1図は本発明によるループ制御装置の基本構成図を示
すブロック図、 第2図は本発明によるループ制御装置の一実施例を示す
ブロック図、 第3図は第2図中のSRAM内に形成されている記憶エ
リアを示す図、 第4図は第2図の装置の動作の一部分の概略を説明する
ための説明図、 第5図は第4図に示した動作の一部分の詳細を示す説明
図、 第6図は第2図の装置の動作のたの一部分の概略を説明
するための説明図、 第7図乃至第16図は第2図の装置が制御を行うために
予め定めたプログラムに従って行う仕事を示すフローチ
ャート図、 第17図は制御実行のためのタスクスタックの使い方を
説明するための説明図、 第18図は第2図の装置によるループ制御の動作タイミ
ングを示すタイミングチャート図、第19図及び第20
図は従来装置による制御の動作タイミングをそれぞれ示
すタイミングチャート図である。 A・・・制御対象、B・・・入力手段、C・・・出力手
段、D・・・機械語記憶手段、E・・・制御量記憶手段
、F・・・制御実行手段、G・・・記憶手段、H・・・
管理手段。 特許出願人 日本たばこ産業株式会社図 図 図
すブロック図、 第2図は本発明によるループ制御装置の一実施例を示す
ブロック図、 第3図は第2図中のSRAM内に形成されている記憶エ
リアを示す図、 第4図は第2図の装置の動作の一部分の概略を説明する
ための説明図、 第5図は第4図に示した動作の一部分の詳細を示す説明
図、 第6図は第2図の装置の動作のたの一部分の概略を説明
するための説明図、 第7図乃至第16図は第2図の装置が制御を行うために
予め定めたプログラムに従って行う仕事を示すフローチ
ャート図、 第17図は制御実行のためのタスクスタックの使い方を
説明するための説明図、 第18図は第2図の装置によるループ制御の動作タイミ
ングを示すタイミングチャート図、第19図及び第20
図は従来装置による制御の動作タイミングをそれぞれ示
すタイミングチャート図である。 A・・・制御対象、B・・・入力手段、C・・・出力手
段、D・・・機械語記憶手段、E・・・制御量記憶手段
、F・・・制御実行手段、G・・・記憶手段、H・・・
管理手段。 特許出願人 日本たばこ産業株式会社図 図 図
Claims (1)
- 【特許請求の範囲】 複数の制御周期のうちの1つがそれぞれ割り当てられて
いる制御対象からその制御量を入力する入力手段と、 制御対象にその制御操作量を出力する出力手段と、 制御対象をその制御周期毎に制御するためのループ制御
機能情報を機械語で格納する機械語記憶手段と、 前記複数の制御周期の各々での前記機械語の実行に先立
ち、該機械語で使用する前記入力手段に入力されている
制御量を格納する制御量記憶手段と、 各制御周期毎に前記機械語を前記制御量記憶手段に格納
されている制御量を用いて実行し、該実行により得られ
る制御操作量を前記出力手段から制御対象に出力する制
御実行手段と、 各制御周期毎に設けられ、前記制御実行手段による機械
語の実行中に発生する情報をその実行の終了まで格納す
る記憶手段と、 前記制御実行手段による制御実行動作を管理する管理手
段とを備え、 前記管理手段は、前記制御実行手段による制御周期の長
い機械語の実行を制御周期の短い機械語の実行終了後開
始させ、前記制御実行手段による制御周期の長い機械語
の実行中の制御周期の短い機械語の実行開始に応じて制
御周期の長い機械語の実行を中断させ、該中断した機械
語の実行を短い制御周期の機械語の終了後に前記制御実
行手段に再開させる、 ことを特徴とするループ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31385088A JP2589791B2 (ja) | 1988-12-14 | 1988-12-14 | ループ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31385088A JP2589791B2 (ja) | 1988-12-14 | 1988-12-14 | ループ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02159603A true JPH02159603A (ja) | 1990-06-19 |
JP2589791B2 JP2589791B2 (ja) | 1997-03-12 |
Family
ID=18046259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31385088A Expired - Lifetime JP2589791B2 (ja) | 1988-12-14 | 1988-12-14 | ループ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2589791B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04232533A (ja) * | 1990-12-27 | 1992-08-20 | Toshiba Corp | プログラムコントローラ |
JP2007233930A (ja) * | 2006-03-03 | 2007-09-13 | Shimadzu System Solutions Co Ltd | 分散制御システム用シミュレータ |
JP2008262529A (ja) * | 2007-03-19 | 2008-10-30 | Fuji Electric Fa Components & Systems Co Ltd | プログラマブルコントローラおよびファンクションブロック呼び出し処理プログラム |
JP2010160600A (ja) | 2009-01-07 | 2010-07-22 | Yamatake Corp | 情報処理装置、スケジューラ、及びスケジューリング方法 |
-
1988
- 1988-12-14 JP JP31385088A patent/JP2589791B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04232533A (ja) * | 1990-12-27 | 1992-08-20 | Toshiba Corp | プログラムコントローラ |
JP2007233930A (ja) * | 2006-03-03 | 2007-09-13 | Shimadzu System Solutions Co Ltd | 分散制御システム用シミュレータ |
JP2008262529A (ja) * | 2007-03-19 | 2008-10-30 | Fuji Electric Fa Components & Systems Co Ltd | プログラマブルコントローラおよびファンクションブロック呼び出し処理プログラム |
JP2010160600A (ja) | 2009-01-07 | 2010-07-22 | Yamatake Corp | 情報処理装置、スケジューラ、及びスケジューリング方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2589791B2 (ja) | 1997-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2692609B2 (ja) | マルチタスクのプログラムデバッグ方法とその装置 | |
KR950012293B1 (ko) | 정보처리장치 및 이를 이용한 정보처리방법 | |
US6823517B1 (en) | Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level | |
US20010034751A1 (en) | Real-time OS simulator | |
JPH0778088A (ja) | プロセッサシステムで複数個の割込を処理するための装置、プロセッサシステムで複数個の割込トリガからの割込に応動する方法、ならびに複数個のプロセッサ間の同時タスクのための方法および装置 | |
RU96119968A (ru) | Система обработки и способ ее функционирования | |
Anderson et al. | Accurately timed generation of discrete musical events | |
JP2001265412A (ja) | プログラマブルコントローラ | |
JPH02159603A (ja) | ループ制御装置 | |
JPH07295694A (ja) | 演算処理装置の省電力方法 | |
JP5542643B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
JPH09251389A (ja) | データ処理装置 | |
JP2003177943A (ja) | 概略マルチタスクソフトウェアのシミュレーションを行う方法、装置及びプログラム | |
JPH07281909A (ja) | リアルタイム・タスク周期実行管理システム | |
JPH0410081B2 (ja) | ||
JP2001255912A (ja) | モーションプログラムの実行方法 | |
Yuan et al. | IoT OS Teaching Material Development | |
JPH03288906A (ja) | Pcの命令実行方式 | |
KR100258893B1 (ko) | 단일 중앙처리부를 이용한 수치제어장치의 구현방법 | |
JP2002073120A (ja) | プログラマブルコントローラのプログラミング装置とその方法 | |
JPS61204704A (ja) | シ−ケンス制御及びサ−ボ制御に適したコンピユ−タシステム | |
JP3541094B2 (ja) | マルチタスク制御システムおよび制御方法 | |
JP2000250777A (ja) | 情報処理装置と情報処理方法、及び記憶媒体 | |
JPH0764802A (ja) | リアルタイムシステムのシミュレーション装置 | |
JPH08272630A (ja) | ラダープログラムによるマルチタスク処理方法及び処理装置 |