JPH03144706A - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JPH03144706A JPH03144706A JP28201089A JP28201089A JPH03144706A JP H03144706 A JPH03144706 A JP H03144706A JP 28201089 A JP28201089 A JP 28201089A JP 28201089 A JP28201089 A JP 28201089A JP H03144706 A JPH03144706 A JP H03144706A
- Authority
- JP
- Japan
- Prior art keywords
- pid
- program
- sequence
- control
- programmable controller
- 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
- 230000000737 periodic effect Effects 0.000 claims description 23
- 238000011022 operating instruction Methods 0.000 abstract 1
- 238000000034 method Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 14
- 238000005070 sampling Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004886 process control Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Programmable Controllers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明はプログラマブルコントローラに係り、特に、P
ID制御プログラムを内部に有するシーケンス制御プロ
グラムを実行するに好適なプログラマブルコントローラ
に関する。
ID制御プログラムを内部に有するシーケンス制御プロ
グラムを実行するに好適なプログラマブルコントローラ
に関する。
[従来の技術]
第8図は、従来のプログラマブルコントローラの構成図
である。従来のプログラマブルコントローラは、CPU
部1と、入出力部2とを備え、外部に設けられたプログ
ラミング装置3でユーザが作成した制御プログラムをC
PU部lに読み込ませて該制御プログラムを実行させ、
入出力部2を介してシーケンス制御対象5を制御するよ
うになっている。CPU部lは、MPUIIと、システ
ムROM/RAM12と、プログラミング装置3等に接
続される周辺装置インタフェース13と。
である。従来のプログラマブルコントローラは、CPU
部1と、入出力部2とを備え、外部に設けられたプログ
ラミング装置3でユーザが作成した制御プログラムをC
PU部lに読み込ませて該制御プログラムを実行させ、
入出力部2を介してシーケンス制御対象5を制御するよ
うになっている。CPU部lは、MPUIIと、システ
ムROM/RAM12と、プログラミング装置3等に接
続される周辺装置インタフェース13と。
制御プログラムを格納するユーザメモリ↓5と、これら
を相互に接続するシステムバス14とから成る。入出力
部2は、ディジタル信号入力ポート21と、ディジタル
信号出力ポート22と、アナログ信号入力ポート23と
、アナログ信号出力ポート24とを備え、これらはシス
テムバス14に接続されている。
を相互に接続するシステムバス14とから成る。入出力
部2は、ディジタル信号入力ポート21と、ディジタル
信号出力ポート22と、アナログ信号入力ポート23と
、アナログ信号出力ポート24とを備え、これらはシス
テムバス14に接続されている。
ユーザメモリ15に格納される制御プログラムは、通常
スキャンプログラム部40と、該通常スキャンプログラ
ム部40の実行中に一定周期で割込処理される定周期ス
キャンプログラム部41とに分かれている。通常スキャ
ンプログラム部40は、該プログラム部40の先頭から
END命令までをサイクリックに演算処理され、定周期
スキャンプログラム部41は、INT命令(定周期スキ
ャンプログラムの開始位置を示すラベル)からRTI命
令(定周期スキャンプログラムから通常スキャンプログ
ラムへ戻るための命令)までを割込処理される。
スキャンプログラム部40と、該通常スキャンプログラ
ム部40の実行中に一定周期で割込処理される定周期ス
キャンプログラム部41とに分かれている。通常スキャ
ンプログラム部40は、該プログラム部40の先頭から
END命令までをサイクリックに演算処理され、定周期
スキャンプログラム部41は、INT命令(定周期スキ
ャンプログラムの開始位置を示すラベル)からRTI命
令(定周期スキャンプログラムから通常スキャンプログ
ラムへ戻るための命令)までを割込処理される。
上記の制御プログラムは、プログラミング装置3から周
辺装置インタフェース■3を介してユーザメモリ15に
書き込まれ、MPU11は、この制御プログラムの各命
令をJllj次読み出し、入出力部2からの読み込みデ
ータを演算処理し、制御対象5の制御を行う。
辺装置インタフェース■3を介してユーザメモリ15に
書き込まれ、MPU11は、この制御プログラムの各命
令をJllj次読み出し、入出力部2からの読み込みデ
ータを演算処理し、制御対象5の制御を行う。
従来のプログラマブルコントローラにおいて、上述した
ように、制御プログラムを通常スキャンプログラム部4
0と定周期スキャンプログラム部41に分けたのは、次
の理由による5通常スキャンプログラム部40は、ユー
ザのプログラム量に比例して処理時間が長くなる。従っ
て、制御対象の中で、短い応答時間を必要とする制御部
分がある場合、前記のプログラム量が大きいとこの短時
間で応答すべき制御部分の制御は不可能になってしまう
。そこで、制御プログラムに定周期スキャンプログラム
部4↓を設け、短時間応答の必要な制御をこの定周期ス
キャンプログラム部41で行わせることで、短時間応答
制御を定周期で実行させ、合わせて、ユーザが大きなプ
ログラムを組むことができるようにしている。
ように、制御プログラムを通常スキャンプログラム部4
0と定周期スキャンプログラム部41に分けたのは、次
の理由による5通常スキャンプログラム部40は、ユー
ザのプログラム量に比例して処理時間が長くなる。従っ
て、制御対象の中で、短い応答時間を必要とする制御部
分がある場合、前記のプログラム量が大きいとこの短時
間で応答すべき制御部分の制御は不可能になってしまう
。そこで、制御プログラムに定周期スキャンプログラム
部4↓を設け、短時間応答の必要な制御をこの定周期ス
キャンプログラム部41で行わせることで、短時間応答
制御を定周期で実行させ、合わせて、ユーザが大きなプ
ログラムを組むことができるようにしている。
尚、従来のプログラマブルコントローラに関連するもの
として1例えば、「日立評論J 1989年7月発行(
U、D、C,658,527,7’132)P43〜P
48に記載のものがある。
として1例えば、「日立評論J 1989年7月発行(
U、D、C,658,527,7’132)P43〜P
48に記載のものがある。
[発明が解決しようとする課題]
プログラマブルコントローラの制御対象は、従来はシー
ケンス制御を行うものに限られていたが、近年は、プロ
セス制御にも応用しようとする傾向が出てきている。し
かし、プロセス制御を行うには、PID (比例、積分
、微分)制御を行う必要がある。しかし、従来のプログ
ラマブルコントローラは、PID制御については配慮し
ておらず、以下のような問題が生しるという不具合があ
る。
ケンス制御を行うものに限られていたが、近年は、プロ
セス制御にも応用しようとする傾向が出てきている。し
かし、プロセス制御を行うには、PID (比例、積分
、微分)制御を行う必要がある。しかし、従来のプログ
ラマブルコントローラは、PID制御については配慮し
ておらず、以下のような問題が生しるという不具合があ
る。
(1)PID演算を行う上で、制御対象の測定データを
サンプリングしてコントローラ内に取り込む必要がある
が、このサンプリングは、一定周期毎に行わなければな
らない。しかし、ユーザプログラムの大きさによって処
理時間が変わるため。
サンプリングしてコントローラ内に取り込む必要がある
が、このサンプリングは、一定周期毎に行わなければな
らない。しかし、ユーザプログラムの大きさによって処
理時間が変わるため。
このサンプリング周期を固定することができず、従って
、PID定数を一義に設定できないという問題がある。
、PID定数を一義に設定できないという問題がある。
(2)上記(1)の問題は、PID′/fI算を定周期
スキャンプログラム部41にプログラミングすることで
対処することはできるが、制御しなければならないPI
Dループの数が多くなると、定周期スキャンの実行時間
が長くなり、通常スキャンプログラムが殆ど実行されな
くなってしまうという問題が生じてしまう。
スキャンプログラム部41にプログラミングすることで
対処することはできるが、制御しなければならないPI
Dループの数が多くなると、定周期スキャンの実行時間
が長くなり、通常スキャンプログラムが殆ど実行されな
くなってしまうという問題が生じてしまう。
(3)シーケンス演算命令には通常四則演算までしかな
いが、PID演算は積分、微分演算まで含まれるので、
プログラムの長さはPID制御プログラムの方が長くな
り、また、そのプログラミングも多大の労力を要するこ
とになる。
いが、PID演算は積分、微分演算まで含まれるので、
プログラムの長さはPID制御プログラムの方が長くな
り、また、そのプログラミングも多大の労力を要するこ
とになる。
本発明の第1の目的は、ユーザプログラムの大きさにか
かわらずPID定数を設定することの可能なプログラマ
ブルコントローラを提供することにある。
かわらずPID定数を設定することの可能なプログラマ
ブルコントローラを提供することにある。
本発明の第2の目的は、PIDループ数が多くなっても
確実に通常スキャンプログラムを実行することのできる
プログラマブルコントローラを提供することにある。
確実に通常スキャンプログラムを実行することのできる
プログラマブルコントローラを提供することにある。
本発明の第3の目的は、容易にPID制御プログラムを
作成することのできるプログラマブルコントローラを提
供することにある。
作成することのできるプログラマブルコントローラを提
供することにある。
[課題を解決するための手段]
上記第1の目的は、1つの中央処理装置でシーケンス制
御とPID制御の両方を交互に行うプログラマブルコン
トローラにおいて、シーケンス制御用にシーケンス演算
を行っている前記中央処理装置は、周期的に該シーケン
ス演算処理中にP■D制御用の演算を割込処理すること
で、達成される。
御とPID制御の両方を交互に行うプログラマブルコン
トローラにおいて、シーケンス制御用にシーケンス演算
を行っている前記中央処理装置は、周期的に該シーケン
ス演算処理中にP■D制御用の演算を割込処理すること
で、達成される。
上記第2の目的は、1つの中央処理装置でシーケンス制
御と複数ループのPID制御の両方を行うプログラマブ
ルコントローラにおいて、シーケンス制御用にシーケン
ス演算を行っている前記中央処理装置は1周期的に該シ
ーケンス演算処理中にPID制御用の演算を割込処理し
且つ1回の割込処理で1ループのPID演算を行うこと
で、達成される。
御と複数ループのPID制御の両方を行うプログラマブ
ルコントローラにおいて、シーケンス制御用にシーケン
ス演算を行っている前記中央処理装置は1周期的に該シ
ーケンス演算処理中にPID制御用の演算を割込処理し
且つ1回の割込処理で1ループのPID演算を行うこと
で、達成される。
上記第3の目的は、PID演算用のサブルーチン命令を
シーケンス演算命令の1つとして持ちユーザはPIDの
パラメータをセットするだけでサブルーチン命令をプロ
グラムできるようにすることで、達成される。
シーケンス演算命令の1つとして持ちユーザはPIDの
パラメータをセットするだけでサブルーチン命令をプロ
グラムできるようにすることで、達成される。
[作用]
定周期でPID制御プログラムを実行することで、ユー
ザプログラムの大きさにかかわりなく定期的に制御対象
のデータを取り込むことができ、PID定数を決めるこ
とが可能となる。
ザプログラムの大きさにかかわりなく定期的に制御対象
のデータを取り込むことができ、PID定数を決めるこ
とが可能となる。
定周期でPID制御を行う場合、1回で1ループのPI
D演算しかしないようにすると、多数のPIDループが
あっても、それにより、通常スキャンプログラムの実行
゛が行われなくなるという事態は回避される。
D演算しかしないようにすると、多数のPIDループが
あっても、それにより、通常スキャンプログラムの実行
゛が行われなくなるという事態は回避される。
PIDプログラムを作成する場合、単にパラメータをセ
ットするだけでサブルーチン命令をプログラムできるの
で、PID制御プログラムの作成が容易となる。
ットするだけでサブルーチン命令をプログラムできるの
で、PID制御プログラムの作成が容易となる。
[実施例]
以下1本発明の一実施例を第1図乃至第7図を参照して
説明する。
説明する。
第1図は1本発明の一実施例に係るプログラマブルコン
トローラの構成図である1本プログラマブルコントロー
ラと、第8図に示した従来のプログラマブルコントロー
ラとは、定周期スキャンプログラム部41の内容と、P
ID制御対象6がアナログ信号入出力ポート23.24
に接続されている点が異なるだけで、他の構成は同じで
ある。
トローラの構成図である1本プログラマブルコントロー
ラと、第8図に示した従来のプログラマブルコントロー
ラとは、定周期スキャンプログラム部41の内容と、P
ID制御対象6がアナログ信号入出力ポート23.24
に接続されている点が異なるだけで、他の構成は同じで
ある。
以下、定周期スキャンプログラム部41の内容とMPU
IIが該内容に従って行う動作について説明する。
IIが該内容に従って行う動作について説明する。
本実施例における定周期スキャンプログラム部41は1
通常スキャンプログラム部40の実行処理中に20ミリ
秒毎に読み出されて実行される。
通常スキャンプログラム部40の実行処理中に20ミリ
秒毎に読み出されて実行される。
そのプログラム構成は、開始位置を示すラベルであるI
NT命令で始まり1次に、ループ管理を行う命令PID
”C”があり、以下、実際のPID演算命令であるPI
D“l”〜p I DanIIのnループの命令群が並
び(各命令では、PID制御対象6の測定値Xnをアナ
ログ信号入力ポート23から取り込むと共に対応する目
標値WnをシステムROM/RAM12から読み出し9
両値Xn。
NT命令で始まり1次に、ループ管理を行う命令PID
”C”があり、以下、実際のPID演算命令であるPI
D“l”〜p I DanIIのnループの命令群が並
び(各命令では、PID制御対象6の測定値Xnをアナ
ログ信号入力ポート23から取り込むと共に対応する目
標値WnをシステムROM/RAM12から読み出し9
両値Xn。
Wnを用いてPID演算を行い、その結果を操作量Yn
としてアナログ信号出力ポート24からPID制御対象
6に出力する。)、最後に、通常スキャンプログラムに
戻る命令RTIがある。
としてアナログ信号出力ポート24からPID制御対象
6に出力する。)、最後に、通常スキャンプログラムに
戻る命令RTIがある。
ループ管理命令PID”C″′は、PID演算命令PI
D’l” 〜PID″nII対応にソフト的に設けられ
たPID演算起動フラグR′″I II〜R11nII
を、この定周期スキャンプログラム部41がMPU11
に読み出され割込み処理される毎に順次1つづつオンす
る働きをする。つまり、ある周期でこの定周期スキャン
プロゲラ11部41が読み出され割込処理されるときの
フラグR″i”がオンになっている場合には、この定周
期スキャンプログラム部41の実行ではp I D t
t i rt命令のみが実行され、次の20ミリ秒後の
この定周期スキャンプログラム部41の実行では、フラ
グR“i+1”がオンになっているので、PID“i十
工″′命令が実行される。つまり、1回の定周期スキャ
ンプログラム部41の実行では51ル一プ分のPID演
算命令のみ実行される。本実施例で斯かるプログラム構
成にしたのは、前述したように、PID制御を連続して
実行すると、PID制御の処理時間が長くなって各割込
処理の間で実行されるべき通常スキャンプログラム部4
0の実行時間が無くなってしまうのを回避するためであ
る。
D’l” 〜PID″nII対応にソフト的に設けられ
たPID演算起動フラグR′″I II〜R11nII
を、この定周期スキャンプログラム部41がMPU11
に読み出され割込み処理される毎に順次1つづつオンす
る働きをする。つまり、ある周期でこの定周期スキャン
プロゲラ11部41が読み出され割込処理されるときの
フラグR″i”がオンになっている場合には、この定周
期スキャンプログラム部41の実行ではp I D t
t i rt命令のみが実行され、次の20ミリ秒後の
この定周期スキャンプログラム部41の実行では、フラ
グR“i+1”がオンになっているので、PID“i十
工″′命令が実行される。つまり、1回の定周期スキャ
ンプログラム部41の実行では51ル一プ分のPID演
算命令のみ実行される。本実施例で斯かるプログラム構
成にしたのは、前述したように、PID制御を連続して
実行すると、PID制御の処理時間が長くなって各割込
処理の間で実行されるべき通常スキャンプログラム部4
0の実行時間が無くなってしまうのを回避するためであ
る。
従って、高速のプロセッサを使用し各割込処理間で必ず
通常スキャンプログラムの実行時間が確保されるのであ
れば、つまり割込処理の時間間隔オーダで通常スキャン
プログラムと定周期スキャンプログラムの実行が交互に
並行処理されるのであれば、1回の定周期スキャンプロ
グラム部41の実行で連続して2ループ、3ル一プ等複
数ループのPID演算命令を連続して実行してもよいこ
とはいうまでもない。
通常スキャンプログラムの実行時間が確保されるのであ
れば、つまり割込処理の時間間隔オーダで通常スキャン
プログラムと定周期スキャンプログラムの実行が交互に
並行処理されるのであれば、1回の定周期スキャンプロ
グラム部41の実行で連続して2ループ、3ル一プ等複
数ループのPID演算命令を連続して実行してもよいこ
とはいうまでもない。
第2図は、PID制御プログラムの作成説明図である。
第1図のシステムROM/RAM12には、第2図の左
側に記載されたサブルーチン命令FUN (0)、FU
N (1)、−、FUN (n)がPID演算命令命令
D (0)、PID (1)。
側に記載されたサブルーチン命令FUN (0)、FU
N (1)、−、FUN (n)がPID演算命令命令
D (0)、PID (1)。
・・・、PID (n)対応に予め作成されており、ユ
ーザは、各サブルーチン命令FUN (i)全体を作成
する必要はなく、各サブルーチン命令FtJN(i)で
使用されるパラメータTz、Kp、KI等をセットする
だけで済むようになっている。これらのパラメータは、
データエリアWROO0゜001、・・・に格納される
のであるが、データエリアのアドレスを指定しながらパ
ラメータをセットするのは、ユーザにとっては不便であ
るので、例えば第2図の右側の図面をCRTに描き、こ
こでT z = 20 an s等と指定することで行
えるようにする。
ーザは、各サブルーチン命令FUN (i)全体を作成
する必要はなく、各サブルーチン命令FtJN(i)で
使用されるパラメータTz、Kp、KI等をセットする
だけで済むようになっている。これらのパラメータは、
データエリアWROO0゜001、・・・に格納される
のであるが、データエリアのアドレスを指定しながらパ
ラメータをセットするのは、ユーザにとっては不便であ
るので、例えば第2図の右側の図面をCRTに描き、こ
こでT z = 20 an s等と指定することで行
えるようにする。
このようにしてユーザが各パラメータをセットし、MP
UI 1が前述したフラグを参照してi番目のサブルー
チン命令FUN (i)を起動すると、MPUIIは該
サブルーチン命令FUN (i)の実行に必要なパラメ
ータをデータエリアを検索することで探し、PID演算
を実行しPID制御対象(i)を制御する。
UI 1が前述したフラグを参照してi番目のサブルー
チン命令FUN (i)を起動すると、MPUIIは該
サブルーチン命令FUN (i)の実行に必要なパラメ
ータをデータエリアを検索することで探し、PID演算
を実行しPID制御対象(i)を制御する。
第3図は、本実施例におけるプログラマブルコントロー
ラのシステム構成図である6周辺装置インタフェース1
3を介してユーザメモリMEM内にプログラミングされ
たシーケンス制御プログラムとPID制御プログラムは
CPUが実行する。
ラのシステム構成図である6周辺装置インタフェース1
3を介してユーザメモリMEM内にプログラミングされ
たシーケンス制御プログラムとPID制御プログラムは
CPUが実行する。
CPUとシーケンス制御対象たる機械との間ではディジ
タル入力DIとディジタル出力Doとを介して検出信号
と制御信号が送受され、CPUとアナログ制御対象(本
実施例ではプロセス制御対象)との間ではアナログ入力
AIとアナログ出力AOとを介して検出信号と制御信号
とが送受される。
タル入力DIとディジタル出力Doとを介して検出信号
と制御信号が送受され、CPUとアナログ制御対象(本
実施例ではプロセス制御対象)との間ではアナログ入力
AIとアナログ出力AOとを介して検出信号と制御信号
とが送受される。
これにより、シーケンス制御対象はシーケンス制御され
、プロセス制御対象はPID制御される。
、プロセス制御対象はPID制御される。
第4図は、PIDループが複数ある場合のシステム構成
図である。この実施例では、CPUを備える基本ユニッ
ト20にCPUを持たない増設ユニット31,32.3
3が接続され、また、基本ユニット30にはリモート回
線を介して離れた位置に増設ユニツh34,35が接続
されている。
図である。この実施例では、CPUを備える基本ユニッ
ト20にCPUを持たない増設ユニット31,32.3
3が接続され、また、基本ユニット30にはリモート回
線を介して離れた位置に増設ユニツh34,35が接続
されている。
各ユニットはモジュール化されており、図示の例では、
AIはアナログインプットモジュール、AOはアナログ
アウトプットモジュールを示している。この例では、P
ID制御対象が3つあり、1番目は基本ユニット30に
設けられたAI、A○モジュールに接続され、2番目は
増設ユニット33のAI、AOモジュールに接続され、
3番目は増設ユニット35のAI、AOモジュールに接
続されている。そして、各PrD制御対象は、基本ユニ
ット30のCPUにより制御されるが、前述したように
、1回目の割込処理では1番目の制御対象が制御され、
2回目の割込処理では2番目の制御対象が制御され、3
回目の割込処理では3番目の制御対象が制御され、4回
目の割込処理では再び1番目の制御対象が制御されるよ
うになっている。
AIはアナログインプットモジュール、AOはアナログ
アウトプットモジュールを示している。この例では、P
ID制御対象が3つあり、1番目は基本ユニット30に
設けられたAI、A○モジュールに接続され、2番目は
増設ユニット33のAI、AOモジュールに接続され、
3番目は増設ユニット35のAI、AOモジュールに接
続されている。そして、各PrD制御対象は、基本ユニ
ット30のCPUにより制御されるが、前述したように
、1回目の割込処理では1番目の制御対象が制御され、
2回目の割込処理では2番目の制御対象が制御され、3
回目の割込処理では3番目の制御対象が制御され、4回
目の割込処理では再び1番目の制御対象が制御されるよ
うになっている。
第5図は、PID制御ループが2ループの場合の制御タ
イミングを示すチャートである。この実施例におけるC
PUは、動作モードが4種類あり、夫々のモードにおけ
るCPU動作は、次の通りである。
イミングを示すチャートである。この実施例におけるC
PUは、動作モードが4種類あり、夫々のモードにおけ
るCPU動作は、次の通りである。
(Dシステム定周期スキャン処理:
CPUが10ミリ秒毎に実行する処理で(第5図におい
ては1図を見やすくするために、2回分の処理をまとめ
て表現しであるため、20ミリ秒毎の処理のように示し
である。実際には、3ミリ秒の処理■の後に4ミリ秒の
処理■を行い、次に3ミリ秒の処理■を行った後、再び
(最初から10ミリ秒後)3ミリ秒の処理■を行うよう
になっている。第5図では、処理■の6ミリ秒の中央に
線分を記載することで上記の各処理を省略しである。)
、シーケンスプログラム中のタイマの経過値更新・自己
診断・周辺サービスを実行する。
ては1図を見やすくするために、2回分の処理をまとめ
て表現しであるため、20ミリ秒毎の処理のように示し
である。実際には、3ミリ秒の処理■の後に4ミリ秒の
処理■を行い、次に3ミリ秒の処理■を行った後、再び
(最初から10ミリ秒後)3ミリ秒の処理■を行うよう
になっている。第5図では、処理■の6ミリ秒の中央に
線分を記載することで上記の各処理を省略しである。)
、シーケンスプログラム中のタイマの経過値更新・自己
診断・周辺サービスを実行する。
■20ミリ秒毎の定周期スキャン処理:CPtJが20
ミリ秒毎に必ず実行する処理で、処理a、b、c、dか
らなる。処理aでは、PIDループ1の定周期スキャン
開始命令INTが実行され、処理すでは、ループ管理命
令P I D”C”が実行され、次に処理CでPID演
算命令が実行され、最後に処理dで定周期スキャン終了
処理(処理■に戻る。)を行う。
ミリ秒毎に必ず実行する処理で、処理a、b、c、dか
らなる。処理aでは、PIDループ1の定周期スキャン
開始命令INTが実行され、処理すでは、ループ管理命
令P I D”C”が実行され、次に処理CでPID演
算命令が実行され、最後に処理dで定周期スキャン終了
処理(処理■に戻る。)を行う。
■スキャンエンド処理:
通常スキャン処理■の最後に実行される処理であり、通
常スキャンプログラムのrENDJ命令で起動され、実
行命令のアドレスを示すプログラムカウンタの値を通常
スキャンプログラムの先頭へ戻す処理や、MPU内の演
算器の診断処理を実行する。
常スキャンプログラムのrENDJ命令で起動され、実
行命令のアドレスを示すプログラムカウンタの値を通常
スキャンプログラムの先頭へ戻す処理や、MPU内の演
算器の診断処理を実行する。
■通常スキャン処理:
ユーザメモリに書き込まれた通常スキャンプログラムを
先頭からrENDJ命令までサイクリックに実行する。
先頭からrENDJ命令までサイクリックに実行する。
第5図に示す定周期スキャン処理では、処理■の処理C
でPID演算を実行しているが、最初の定周期スキャン
処理■ではPIDループ1の演算を実行し、2回目の定
周期スキャン処理■ではPIDループ2の演算を実行し
、3回目ではPIDループlを、4回目ではPIDルー
プ2を実行するという具合に、PIDループ1とPID
ループ2の処理を20ミリ秒毎に交互↓こ実行する。従
って、1つのPIDループの処理は40ミリ秒に1回の
一定周期で実行されることになり、各PIDループは確
実に一定のサンプリング周期で実行されることになる。
でPID演算を実行しているが、最初の定周期スキャン
処理■ではPIDループ1の演算を実行し、2回目の定
周期スキャン処理■ではPIDループ2の演算を実行し
、3回目ではPIDループlを、4回目ではPIDルー
プ2を実行するという具合に、PIDループ1とPID
ループ2の処理を20ミリ秒毎に交互↓こ実行する。従
って、1つのPIDループの処理は40ミリ秒に1回の
一定周期で実行されることになり、各PIDループは確
実に一定のサンプリング周期で実行されることになる。
第6図は、PID制御ループが3ループの場合のタイミ
ングチャートである。定周期スキャン処理■で各ループ
は1ループづつ重複することなく実行される。この例で
は、ループ1が60ミリ秒毎(3ループを実行するとき
の最小サンプリング時間)に処理され、ループ2が12
0ミリ秒毎に処理され、ループ3が240ミリ秒毎に処
理される。従って、各ループは必ず一定周期で実行され
るが、20ミリ秒毎の定周期スキャン処理で毎回PID
ループが実行されることは無くなり、第6図に↓印で示
すタイミングでは通常スキャンプログラムを実行する余
裕ができ1通常スキャンプログラムの処理を多くとるこ
とができる。第7図に、PID演算機能の仕様の一例を
示す。
ングチャートである。定周期スキャン処理■で各ループ
は1ループづつ重複することなく実行される。この例で
は、ループ1が60ミリ秒毎(3ループを実行するとき
の最小サンプリング時間)に処理され、ループ2が12
0ミリ秒毎に処理され、ループ3が240ミリ秒毎に処
理される。従って、各ループは必ず一定周期で実行され
るが、20ミリ秒毎の定周期スキャン処理で毎回PID
ループが実行されることは無くなり、第6図に↓印で示
すタイミングでは通常スキャンプログラムを実行する余
裕ができ1通常スキャンプログラムの処理を多くとるこ
とができる。第7図に、PID演算機能の仕様の一例を
示す。
尚、PID制御は、例えば温度を一定温度に制御するよ
うな場合に行うものであり、温度変化が急な場合にはサ
ンプリング間隔を短くした方が精度の高い制御−が可能
になる。しかし、温度が一定温度近辺の定常状態になっ
た後は、サンプリング間隔を長くしても、制御精度はそ
れほど落ちない。
うな場合に行うものであり、温度変化が急な場合にはサ
ンプリング間隔を短くした方が精度の高い制御−が可能
になる。しかし、温度が一定温度近辺の定常状態になっ
た後は、サンプリング間隔を長くしても、制御精度はそ
れほど落ちない。
そこで、制御対象が目標値近辺に制御され制御量が安定
した後は、サンプリング周期を延ばし、その分を通常ス
キャンプログラムの実行に割くことで、より円滑な制御
を実行できるようになる。
した後は、サンプリング周期を延ばし、その分を通常ス
キャンプログラムの実行に割くことで、より円滑な制御
を実行できるようになる。
本実施例によれば、ユーザプログラム(シーケンス#御
プログラム部分)の大きさに関係なく。
プログラム部分)の大きさに関係なく。
所定周期でPID演算を実行できるので、シーケンス制
御とPID制御を1つのCPUで実行しても、PID制
御のサンプリング間隔が変化することなく実行でき、P
ID定数をサンプリング時間に対応して′tAffi5
するような複雑な処理が不用になる。また、CPUが1
つで済むので、シーケンス演算とpID?jl算の組合
せを調整することで、システムの制御装置のコスト低減
を図ることもできる。更に、PID制御とシーケンス制
御の演算負荷の割合を、各PIDループの実行周期を指
定することで調整でき、シーケンス制御の応答時間の調
整が可能になる。
御とPID制御を1つのCPUで実行しても、PID制
御のサンプリング間隔が変化することなく実行でき、P
ID定数をサンプリング時間に対応して′tAffi5
するような複雑な処理が不用になる。また、CPUが1
つで済むので、シーケンス演算とpID?jl算の組合
せを調整することで、システムの制御装置のコスト低減
を図ることもできる。更に、PID制御とシーケンス制
御の演算負荷の割合を、各PIDループの実行周期を指
定することで調整でき、シーケンス制御の応答時間の調
整が可能になる。
[発明の効果]
本発明によれば、1つのCPUでシーケンス制御対象と
PID制御対象を並行して制御でき、また、PID制御
対象が複数あっても、各PID制御対象の制御の他にシ
ーケンス制御も確実に実行できるという効果がある。更
に、ユーザがPID制御プログラムを容易に作成するこ
とが可能になる。
PID制御対象を並行して制御でき、また、PID制御
対象が複数あっても、各PID制御対象の制御の他にシ
ーケンス制御も確実に実行できるという効果がある。更
に、ユーザがPID制御プログラムを容易に作成するこ
とが可能になる。
第1図は本発明の一実施例に係るプログラマブルコント
ローラの構成図、第2図は本発明の一実施例に係るPI
D制御プログラム作成方法の説明図、第3図は第1図の
プログラマブルコントローラで1ループのPID制御を
行う場合の一システム構成図、第4図は第1図に示すプ
ログラマブルコントローラで3ループのPID制御を行
う場合の一システム構成図、第5図は2ループのPID
制御を行う場合の一例に係るタイミングチャート。 第6図は3ループのPID制御を行う場合の一例に係る
タイミングチャート、第7図はPID演算機能の一仕様
説明図、第8図は従来のプログラマブルコントローラの
構成図である。 1・・・CPU部、2・・・入出力部、3・・・プログ
ラミング装置、5・・・シーケンス制御対象、6・・・
PID制御対象、11・・・MPU、12・・・システ
ムROM/RAM、13・・・周辺装置インタフェース
、14・・・システムバス、15・・・ユーザメモリ、
40・・・通常スキャンプログラム部、 41・・・定周期スキャン プログラム部。
ローラの構成図、第2図は本発明の一実施例に係るPI
D制御プログラム作成方法の説明図、第3図は第1図の
プログラマブルコントローラで1ループのPID制御を
行う場合の一システム構成図、第4図は第1図に示すプ
ログラマブルコントローラで3ループのPID制御を行
う場合の一システム構成図、第5図は2ループのPID
制御を行う場合の一例に係るタイミングチャート。 第6図は3ループのPID制御を行う場合の一例に係る
タイミングチャート、第7図はPID演算機能の一仕様
説明図、第8図は従来のプログラマブルコントローラの
構成図である。 1・・・CPU部、2・・・入出力部、3・・・プログ
ラミング装置、5・・・シーケンス制御対象、6・・・
PID制御対象、11・・・MPU、12・・・システ
ムROM/RAM、13・・・周辺装置インタフェース
、14・・・システムバス、15・・・ユーザメモリ、
40・・・通常スキャンプログラム部、 41・・・定周期スキャン プログラム部。
Claims (1)
- 【特許請求の範囲】 1、1つの中央処理装置でシーケンス制御とPID制御
の両方を交互に行うプログラマブルコントローラにおい
て、シーケンス制御用にシーケンス演算を行っている前
記中央処理装置は、周期的に該シーケンス演算処理中に
PID制御用の演算を割込処理するものであることを特
徴とするプログラマブルコントローラ。 2、1つの中央処理装置でシーケンス制御と複数ループ
のPID制御の両方を行うプログラマブルコントローラ
において、シーケンス制御用にシーケンス演算を行って
いる前記中央処理装置は、周期的に該シーケンス演算処
理中にPID制御用の演算を割込処理し且つ1回の割込
処理で1ループのPID演算を行うものであることを特
徴とするプログラマブルコントローラ。 3、シーケンス制御プログラムとPID制御プログラム
とを格納したユーザメモリと、シーケンス制御対象との
間でデータの送受を行うディジタル信号入出力ポートと
、PID制御対象との間でデータの送受を行うアナログ
信号入出力ポートと、前記シーケンス制御プログラムを
実行して前記ディジタル信号入出力ポートを介して前記
シーケンス制御対象を制御している最中に定期的に前記
PID制御プログラムを割込処理し前記アナログ信号入
出力ポートを介して前記PID制御対象を制御するプロ
セッサとを備えることを特徴とするプログラマブルコン
トローラ。 4、シーケンス制御プログラムと複数ループのPID制
御プログラムを格納したユーザメモリと、シーケンス制
御対象との間でデータの送受を行うディジタル信号入出
力ポートと、PID制御対象との間でデータの送受を行
うアナログ信号入出力ポートと、PID制御対象との間
でデータの送受を行うアナログ信号入出力ポートと、前
記シーケンス制御プログラムを実行して前記ディジタル
信号入出力ポートを介して前記シーケンス制御対象を制
御している最中に定期的に前記PID制御プログラムを
1ループづつ割込処理し前記アナログ信号入出力ポート
を介して前記PID制御対象を制御するプロセッサとを
備えることを特徴とするプログラマブルコントローラ。 5、請求項4において、前記プロセッサは、あるPID
制御による制御量が安定したとき当該PID制御の周期
的処理の周期を延ばして実行するものであることを特徴
とするプログラマブルコントローラ。 6、シーケンス演算処理プログラム中に存在する定周期
演算処理プログラムの中に複数ループのPID制御プロ
グラムを有しこれらのプログラムを実行処理するプロセ
ッサを備えるプログラマブルコントローラにおいて、前
記プロセッサは、前記定周期演算処理プログラムの実行
時に1ループのPID制御プログラムのみを実行し次の
定周期演算処理プログラムの実行時には別の1ループの
PID制御プログラムを実行するものであることを特徴
とするプログラマブルコントローラ。 7、請求項6において、複数ループのPID制御プログ
ラムの中で任意のループの実行間隔をループ数の任意の
倍数で設定する手段を備えることを特徴とするプログラ
マブルコントローラ。 8、請求項1乃至請求項7のいずれかにおいて、PID
演算用のサブルーチン命令をシーケンス演算命令の1つ
として持ちユーザはPIDのパラメータを前記サブルー
チン命令にセットすることで該サブルーチン命令をプロ
グラムする手段を備えることを特徴とするプログラマブ
ルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1282010A JP2799009B2 (ja) | 1989-10-31 | 1989-10-31 | プログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1282010A JP2799009B2 (ja) | 1989-10-31 | 1989-10-31 | プログラマブルコントローラ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15398797A Division JP2963676B2 (ja) | 1997-06-11 | 1997-06-11 | プログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03144706A true JPH03144706A (ja) | 1991-06-20 |
JP2799009B2 JP2799009B2 (ja) | 1998-09-17 |
Family
ID=17646971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1282010A Expired - Lifetime JP2799009B2 (ja) | 1989-10-31 | 1989-10-31 | プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2799009B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002243436A (ja) * | 2001-02-22 | 2002-08-28 | Ricoh Co Ltd | 測定装置、測定方法、測定装置の動作制御方法及び測定制御ユニット |
KR100422517B1 (ko) * | 1999-07-09 | 2004-03-12 | 가부시끼가이샤 도시바 | 통합제어기, 통합제어시스템, 및 데이터통신용 전송제어기 |
WO2015041028A1 (ja) * | 2013-09-20 | 2015-03-26 | 株式会社日立製作所 | 制御コントローラ及びそのプログラミング方法 |
JP2016105330A (ja) * | 2016-03-04 | 2016-06-09 | 株式会社日立製作所 | 制御コントローラ及びそのプログラミング方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61220001A (ja) * | 1985-03-25 | 1986-09-30 | Mitsubishi Electric Corp | シ−ケンス制御・直接デイジタル制御混在型プロセスコントロ−ル方法 |
JPS62248002A (ja) * | 1986-04-22 | 1987-10-29 | Toshiba Corp | プロセスコントロ−ラ |
JPS6472202A (en) * | 1987-09-14 | 1989-03-17 | Hitachi Ltd | Sequence control system |
JPH01116705A (ja) * | 1987-10-30 | 1989-05-09 | Hitachi Ltd | サンプリング方式 |
-
1989
- 1989-10-31 JP JP1282010A patent/JP2799009B2/ja not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61220001A (ja) * | 1985-03-25 | 1986-09-30 | Mitsubishi Electric Corp | シ−ケンス制御・直接デイジタル制御混在型プロセスコントロ−ル方法 |
JPS62248002A (ja) * | 1986-04-22 | 1987-10-29 | Toshiba Corp | プロセスコントロ−ラ |
JPS6472202A (en) * | 1987-09-14 | 1989-03-17 | Hitachi Ltd | Sequence control system |
JPH01116705A (ja) * | 1987-10-30 | 1989-05-09 | Hitachi Ltd | サンプリング方式 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100422517B1 (ko) * | 1999-07-09 | 2004-03-12 | 가부시끼가이샤 도시바 | 통합제어기, 통합제어시스템, 및 데이터통신용 전송제어기 |
JP2002243436A (ja) * | 2001-02-22 | 2002-08-28 | Ricoh Co Ltd | 測定装置、測定方法、測定装置の動作制御方法及び測定制御ユニット |
WO2015041028A1 (ja) * | 2013-09-20 | 2015-03-26 | 株式会社日立製作所 | 制御コントローラ及びそのプログラミング方法 |
JP2015060538A (ja) * | 2013-09-20 | 2015-03-30 | 株式会社日立製作所 | 制御コントローラ及びそのプログラミング方法 |
JP2016105330A (ja) * | 2016-03-04 | 2016-06-09 | 株式会社日立製作所 | 制御コントローラ及びそのプログラミング方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2799009B2 (ja) | 1998-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6880029B2 (en) | Programmable controller | |
JPH03144706A (ja) | プログラマブルコントローラ | |
US4941081A (en) | Interrupt zone in rung of ladder program in programmable controller | |
JP2963676B2 (ja) | プログラマブルコントローラ | |
EP0757305B1 (en) | A control processor | |
US4907190A (en) | Computer control system and method for effecting sequence controls and servo-controls | |
JPH04195205A (ja) | Cnc装置のプロブラム実行方式 | |
JP2824921B2 (ja) | 多系列制御nc装置 | |
EP0256149B1 (en) | Computer system | |
JPS58149503A (ja) | 調節計における制御演算方法 | |
JP2875841B2 (ja) | プログラマブルコントローラ | |
JPS63200204A (ja) | 産業用ロボツトの制御方法 | |
JPH03288906A (ja) | Pcの命令実行方式 | |
JP3638821B2 (ja) | 数値制御装置 | |
WO1999061986A1 (fr) | Equipements peripheriques pour controleur programmable et leur procede de surveillance | |
CA1259417A (en) | Computer systems suitable for effecting sequence controls and servo-controls | |
JPH0683652A (ja) | マイクロコンピュ−タシステム | |
JPS616704A (ja) | プログラマブル・コントロ−ラ | |
JPH0568726B2 (ja) | ||
JPS61170803A (ja) | シ−ケンス制御方法 | |
JPH0630009B2 (ja) | 高速加工数値制御方式 | |
JPH0326841B2 (ja) | ||
JPH07219608A (ja) | プロセス制御装置 | |
JPH02110739A (ja) | マルチタスク用中央処理装置 | |
JPH0782370B2 (ja) | シ−ケンサのタイマ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080703 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090703 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090703 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100703 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100703 Year of fee payment: 12 |