QnACPU プログラミングマニュアル(PID 制御命令編)

QnACPU
プログラミングマニュアル(PID 制御命令編)
形名
QNACPU-P(PID)
形名
コード
13J524
SH(名)-3543-A(9507)MEE
● 安全上のご注意 ●
(ご使用前に必ずお読みください)
MELSEC-A/QnAシリーズシーケンサのご使用に際しては,各製品に付属しているマニュアルおよび付属
マニュアルで紹介している関連マニュアルをよくお読みいただくと共に,安全に対して充分に注意を払っ
て,正しい取扱いをしていただくようお願いいたします。
なお,このマニュアルでは,安全注意事項のランクを「危険」,「注意」として区分してあります。
危険
注意
取扱いを誤った場合に,危険な状況が起こりえて,死亡または重傷
を受ける可能性が想定される場合。
取扱いを誤った場合に,危険な状況が起こりえて,中程度の傷害や
軽傷を受ける可能性が想定される場合および物的損害だけの発生が
想定される場合。
なお, 注意 に記載した事項でも,状況によっては重大な結果に結びつく可能性があります。
いずれも重要な内容を記載していますので必ず守ってください。
製品に付属しているマニュアルは必要なときに取り出して読めるように大切に保管すると共に,必ず
最終需要家までお届けいただくようにお願いいたします。
危険
【設計上の注意事項】
● 外部電源の異常やシーケンサ本体の故障時でも,システム全体が安全側に働くようにシーケンサの外
部で安全回路を設けてください。
誤出力,誤動作により,事故の恐れがあります。
(1) 非常停止回路,保護回路,正転/逆転などの相反する動作のインタロック回路,位置決めの上限/
下限など機械の破損防止のインタロック回路などは,シーケンサの外部で回路構成してください。
(2) シーケンサが次の異常状態を検出すると,演算を停止して全出力をOFFにします。
・電源ユニットの過電流保護装置または過電圧保護装置が働いたとき。
・シーケンサCPUでウォッチドグタイマエラーなど自己診断機能で異常を検出したとき。
また,シーケンサCPUで検出できない入出力制御部分などの異常時は,全出力がONすることがあ
ります。このとき,機械の動作が安全側に働くよう,シーケンサの外部でフェールセーフ回路を
構成したり,機構を設けたりしてください。
フェールセーフ回路例については,CPUユニットのユーザーズマニュアルを参照してください。
(3) 出力ユニットのリレーやトランジスタなどの故障によっては,出力がONしっぱなしになったり,
OFFしっぱなしになったりすることがあります。重大な事故につながるような出力信号について
は,外部で監視する回路を設けてください。
● シーケンサ本体電源立上げ後に,外部供給電源を投入するように回路を構成してください。
外部供給電源を先に立ち上げると,誤出力,誤動作により事故の恐れがあります。
1
━━━━ 安全上のご注意 ━━━━
危険
【設計上の注意事項】
● データリンクが交信異常になったとき,交信異常局は次のような状態になります。交信状態情報を使っ
て,システムが安全側に働くようにシーケンスプログラム上でインタロック回路を構成してください。
誤出力,誤動作により,事故の恐れがあります。
(1) データリンクデータは,交信異常前のデータを保持します。
(2) MELSECNET(Ⅱ,/B,/10)のリモートI/O局は,全出力がOFFします。
(3) MELSECNET/MINI-S3のリモートI/O局は,E.C.モード設定により出力保持または全出力がOFFします。
交信異常局の確認方法や交信異常時の動作状態については,各データリンクのマニュアルを参照して
ください。
注意
【設計上の注意事項】
● 制御線や通信ケーブルは,主回路や動力線などと束線したり,近接したりしないでください。
100mm以上を目安として離してください。
ノイズにより,誤動作の原因になります。
注意
【取付け上の注意事項】
● シーケンサは,マニュアル記載の一般仕様の環境で使用してください。
一般仕様の範囲以外の環境で使用すると,感電,火災,誤動作,製品の損傷あるいは劣化の原因にな
ります。
● ユニット下部のユニット固定用突起を,ベースユニットの固定穴に確実に挿入してから装着してくだ
さい。 ユニットが正しく装着されていないと,誤動作,故障,落下の原因になります。
● 増設ケーブルは,ベースユニットやユニットのコネクタに確実に装着してください。装着後に,浮上
りがないかチェックしてください。
接触不良により,誤入力,誤出力の原因になります。
● メモリカセットは,メモリカセット装着用コネクタに押し付けて確実に装着してください。装着後に,
浮上りがないかチェックしてください。
接触不良により,誤動作の原因になります。
● メモリは,メモリソケットに押し付けて確実に装着してください。装着後に,浮上りがないかチェッ
クしてください。
接触不良により,誤動作の原因になります。
2
━━━━ 安全上のご注意 ━━━━
危険
【配線上の注意事項】
● 取付け,配線作業などは,必ず電源を外部にて全相遮断してから行ってください。
全相遮断しないと,感電あるいは製品の損傷の恐れがあります。
● 取付け,配線作業などの後,通電,運転を行う場合は,必ず製品に付属の端子カバーを取り付けてく
ださい。
端子カバーを取付けないと,感電の恐れがあります。
注意
【配線上の注意事項】
● FG端子およびLG端子は,シーケンサ専用の第三種接地以上で必ず接地を行ってください。
感電,誤動作の恐れがあります。
● シーケンサへの配線は,製品の定格電圧および端子配列を確認した上で正しく行ってください。
定格と異なった電源を接続したり,誤配線をすると,火災,故障の原因になります。
● 複数の電源ユニットの出力を並列接続しないでください。
電源ユニットが加熱し,火災,故障の原因になります。
● 端子ネジは,規定トルクで締め付けてください。
端子ネジの締め付けがゆるいと,短絡,火災,誤動作の原因になります。
● ユニット内に,切粉や配線クズなどの異物が入らないように注意してください。
火災,故障,誤動作の原因になります。
● 外部接続用コネクタは,指定の工具で圧着,圧接または正しくハンダ付けしてください。
圧着工具,圧接工具については,入出力ユニットのユーザーズマニュアルを参照してください。
接続が不完全になっていると,短絡,火災,誤動作の原因になります。
3
━━━━ 安全上のご注意 ━━━━
危険
【立上げ・保守時の注意事項】
● 通電中に端子に触れないでください。
感電の恐れや,誤動作の原因になります。
● バッテリは正しく接続してください。充電,分解,加熱,火中投入,ショート,ハンダ付けなどを行
わないでください。
バッテリの取扱いを誤ると,発熱,破裂,発火などにより,ケガ,火災の恐れがあります。
● 清掃や端子ネジの増し締めは,電源をOFFしてから行ってください。
通電中に行うと,感電の恐れがあります。
注意
【立上げ・保守時の注意事項】
● 運転中のプログラム変更,強制出力,RUN,STOP,PAUSE等の操作はマニュアルを熟読し,十分に安全を
確認してから行ってください。
操作ミスにより機械の破損や事故の原因になります。
● 各ユニットの分解,改造はしないでください。
故障,誤動作,ケガ,火災の原因になります。
● ユニットの着脱は,電源をOFFしてから行ってください。
通電中に行うと,ユニットの故障や誤動作の原因になります。
● ヒューズを交換するときは,指定のヒューズを使用してください。
容量の大きなものや電線などを使用すると,火災の原因になります。
注意
【廃棄時の注意事項】
● 製品を廃棄するときは,産業廃棄物として扱ってください。
4
改
定
履
歴
※取扱説明書番号は,本説明書の裏表紙の左下に記載してあります。
印刷日付
1995年7月
※
取扱説明書番号
SH(名)-3543-A
改
定
内
容
初版印刷
本書によって,工業所有権その他の権利の実施に対する保証,または実施権を許諾するものではありません。また本書
の掲載内容の使用により起因する工業所有権上の諸問題については,当社は一切その責任を負うことができません。
 1995 MITSUBISHI ELECTRIC CORPORATION
は じ め に
このたびは,三菱汎用シーケンサMELSEC−QnAシリーズをお買い上げいただきまことにありがとうございました。
ご使用前に本書をよくお読みいただき,QnAシリーズシーケンサの機能・性能を十分ご理解のうえ,正しくご使用く
ださるようお願い致します。
なお,本マニュアルにつきましては最終ユーザまでお届けいただきますよう,宜しくお願い申し上げます。
目
1 概 要
次
1- 1∼1- 3
1.1 PID処理方法 .................................................................................. 1- 2
1.2 関連マニュアル ............................................................................... 1- 3
2 PID制御時のシステム構成
3 PID制御仕様
2- 1
3- 1∼3- 6
3.1 性能仕様 ..................................................................................... 3- 1
3.2 演算式 ....................................................................................... 3- 1
3.3 PID制御用命令一覧 ............................................................................ 3- 2
3.3.1 命令一覧表の見方 ......................................................................... 3- 3
3.3.2 PID制御用命令一覧 ........................................................................ 3- 5
4 PID制御
4- 1∼4- 9
4.1 PID制御の概要 ................................................................................ 4- 1
4.2 PID制御について .............................................................................. 4- 2
4.2.1 演算方式 ................................................................................. 4- 2
4.2.2 正動作と逆動作 ........................................................................... 4- 2
4.2.3 比例動作(P動作) ....................................................................... 4- 3
4.2.4 積分動作(I動作) ....................................................................... 4- 4
4.2.5 微分動作(D動作) ....................................................................... 4- 5
4.2.6 PID動作 .................................................................................. 4- 6
4.3 PID制御における機能 .......................................................................... 4- 6
4.3.1 バンプレス切換え ......................................................................... 4- 6
4.3.2 操作量上下限リミッタ制御 .................................................................. 4- 7
4.3.3 AD57(S1)によるPID制御モニタ ............................................................... 4- 8
4.3.4
手動モード時の測定値の設定値格納デバイスへの転送機能 ...................................... 4- 9
5 PID制御手順
5- 1∼5- 9
5.1 PID制御用データ .............................................................................. 5- 3
5.1.1 使用ループ数と1スキャンの実行ループ数について ............................................. 5- 6
5.1.2 サンプリング周期について .................................................................. 5- 7
5.2 入出力データ ................................................................................. 5- 8
6 命令の構成
6- 1
7 命令の見方
7- 1∼7- 2
8.PID制御用命令
8- 1∼8- 9
8.1 PID制御用データの設定 .................... PIDINIT,PIDINITP .................................. 8- 2
8.2 PID制御 .................................. PIDCONT,PIDCONTP .................................. 8- 3
8.3 PID制御状態のモニタ ...................... PID57,PID57P ...................................... 8- 5
8.4 指定ループNo.の演算停止/開始 ............ PIDSTOP,PIDSTOPP,PIDRUN,PIDRUNP .................... 8- 8
8.5 指定ループのパラメータ変更 ................................................................... 8- 9
9
PID制御用プログラム例
9- 1∼9- 8
9.1 プログラム例におけるシステム構成 ............................................................. 9- 1
9.2 自動モードによるPID制御用プログラム例 ........................................................ 9- 2
9.3 自動モード←
→手動モード切換え時のプログラム例 .................................................. 9- 6
付
録
付- 1
付1 処理時間一覧 ................................................................................ 付- 1
マニュアルについて
本製品に関連するマニュアルは,下記のものがあります。
必要に応じて本表を参考にしてご依頼ください。
関連マニュアル
マニュアル番号
マニュアル名称
(形名コード)
標準価格
QnACPUガイドブック
QnACPUを初めて使う人に,プログラムの作成からCPUにプログラムを書き込み,デバッグする
SH-3531
までの手順を説明しています。
(13JB97)
¥1,000
また,QnACPUの特長的な使い方についても説明しています。
Q2A(S1)/Q3A/Q4ACPUユーザーズマニュアル(詳細編)
Q2ACPU(S1),Q3ACPU,Q4ACPUの性能,機能,取扱いなどに関する事項および電源,メモリカー
ド,ベースユニットの仕様,取扱いについて説明しています。
(別売)
QnACPUプログラミングマニュアル(基礎編)
プログラムの作成に必要なプログラミング方法,デバイス名,パラメータ,プログラムの種
類などについて説明しています。
(別売)
QnACPUプログラミングマニュアル(共通命令編)
QnACPUプログラミングマニュアル(特殊機能ユニット編)
Q2ACPU(S1),Q3ACPU,Q4ACPUで特殊機能ユニット用の専用命令について説明しています。
(別売)
QnACPUプログラミングマニュアル(AD57命令編)
Q2ACPU(S1),Q3ACPU,Q4ACPUでAD57(S1)形CRTコントローラユニットを制御するための専用命令
(別売)
QnACPUプログラミングマニュアル(SFC編)
MELSAP-3のシステム構成,性能仕様,機能,プログラミング,デバッグおよびエラーコード
について説明しています。
(別売)
ビルディングブロックタイプ入出力ユニットユーザーズマニュアル
QnA対応MELSECNET/10ネットワークシステムリファレンスマニュアル
(13J522)
SH-3542
(13J523)
SH-3544
(13J525)
SH-3559
(13J520)
(13J339)
SH-3547
(別売)
MELSECNET,MELSECNET/Bデータリンクシステムリファレンスマニュアル
MELSECNET(Ⅱ),MELSECNET/Bの概要,仕様,各部の名称と設定などについて説明しています。
(別売)
SW0NX-GPPQ形GPP機能オぺレーティングマニュアル(オフライン編)
SW0NX-GPPQのプログラム作成方法,プリントアウト方法およびファイルメンテナンスなどの
オフライン機能について説明します。
SH-3540
(13J521)
IB-68036
ビルディングブロックタイプの入出力ユニットの仕様について説明しています。 (別売)
MELSECNET/10の概要,仕様,各部の名称と設定などについて説明しています。
(13JG73)
SH-3541
シーケンス命令,基本命令および応用命令の使用方法について説明しています。 (別売)
について説明しています。
SH-3532
(同梱)
SW0NX-GPPQ形GPP機能オぺレーティングマニュアル(オンライン編)
SW0NX-GPPQのモニタ方法,デバッグ方法などのオンライン機能について説明します。
(同梱)
SW0NX-GPPQ形GPP機能オぺレーティングマニュアル(SFC編)
MELSAP-3のシステム構成,性能仕様,機能,システム立上げ手順,SFCプログラム編集方法,
モニタ方法,プリントアウト方法およびエラーメッセージについて説明しています。(同梱)
(13JG88)
IB-68277
(13JA40)
IB-68516
(13J454)
IB-68517
(13J455)
IB-68518
(13J456)
¥2,000
¥1,000
¥2,000
¥1,000
¥1,500
¥1,000
¥600
¥2,000
¥1,500
¥2,000
¥1,500
¥1,000
1.
概
1.概
要要
MELSEC-QnA
概 要
1 概 要
本マニュアルは,QnACPUによりPID制御を行うためのシーケンスプログラム用命令についての
み説明したものです。
QnACPUでは,PID制御を行うための命令を標準装備していますので,A/D変換ユニット,D/A変
換ユニットを装着することによりPID制御を行うことができます。
また,AD57(S1)を使用することにより,PID制御状態をモニタすることができます。
1 - 1
1.概
要
MELSEC-QnA
1.1 PID処理方法
PID制御用命令によるPID制御の処理方法の概要について説明します。
(PID演算の詳細については,第4章を参照してください。)
PID制御用命令によるPID制御は,図1.1に示すようにA/D変換ユニット,D/A変換ユニットと組
み合わせて行います。
QnACPU
PID制御用命令
手動MV値
設定値
SV
PID演算
MV
自動MV値
(TO命令)
PV
D/A変換
ユニット
制御対象
A/D変換
ユニット
センサー
手動/自動
切換え
PV
(FROM命令)
SV:設定値(SET VALUE)
PV:測定値(PROCESS VALUE)
MV:操作量(MANIPULATED VALUE)
図1.1 PID制御の処理概要
処理方法は,図1.1に示すようにあらかじめ設定されている設定値(SV)と,A/D変換ユニット
から読み出したディジタル値(測定値(PV))によりPID演算を行い操作量(MV)を算出します。
算出された操作量(MV)は,D/A変換ユニットに書き込み外部へ出力します。
シーケンスプログラムでPIDCONT命令を実行時にサンプリング周期の計測とPID演算を行いま
す。
PIDCONT命令によるPID演算は,設定されたサンプリング周期ごとに行います。
PIDCONT
命令の実行
0ステップ
END
PIDCONT
命令の実行
0ステップ
END
PIDCONT
命令の実行
0ステップ
END
PIDCONT
命令の実行
0ステップ
END
PIDCONT
命令の実行
0ステップ
シーケンスプログラム
・サンプリング周期の計測
・サンプリング周期の計測
サンプリング周期
・サンプリング周期の計測
サンプリング周期
・サンプリング周期の計測
・PID演算
図1.2 PIDCONT命令実行時の動作
1 - 2
・サンプリング周期の計測
・PID演算
1.概
要
MELSEC-QnA
1.2 関連プログラミングマニュアル
QnACPUには,本マニュアルのほかに下記に示す5冊のプログラミングマニュアルがあります。
・QnACPUプログラミングマニュアル(基礎編)
・QnACPUプログラミングマニュアル(特殊機能ユニット編)
・QnACPUプログラミングマニュアル(共通命令編)
・QnACPUプログラミングマニュアル(AD57コマンド編)
・QnACPUプログラミングマニュアル(SFC編)
本マニュアルを読まれる前に,QnACPUプログラミングマニュアル(基礎編)によりQnACPUで
使用できるプログラム,入出力処理,デバイス,について確認しておいてください。
QnACPU
プログラミング
マニュアル
(基礎編)
QnACPUで実行できるプログラム,入出力処理,
デバイス名について説明。
本マニュアル
QnACPU
プログラミング
マニュアル
(共通命令編)
右記以外の命令に
ついて説明
QnACPU
プログラミング
マニュアル
特殊機能
ユニット編
QnACPU
プログラミング
マニュアル
(AD57コマンド編)
QnACPU
プログラミング
マニュアル
(PID制御命令編)
QnACPU
プログラミング
マニュアル
(SFC編)
AJ71QC24,AJ71PT32-S3
などの特殊機能ユニット
用命令について説明
AD57/AD58を制御する
ためのAD57コマンドに
ついて説明
PID制御を行うための
命令について説明
SFCについて説明
1 - 3
要
1.
2.概PID制御時のシステム構成
MELSEC-QnA
2 PID制御時のシステム構成
PID制御用命令によりPID制御を行う場合のシステム構成について説明します。
(システム構成を行う場合,使用できるユニットについては,使用するCPUユニットのユーザー
ズマニュアルを参照ください。)
測定値(PV)入力用
A/D変換ユニット
QnACPU
基本ベースユニット
操作量(MV)出力用
D/A変換ユニット
増設ケーブル
PID制御モニタ用
増設ベースユニット
CRTコントローラ
ユニット
AD57,AD57-S1
のみ使用可能
CRTまたは
プラズマディスプレイ
操作パネル
ポイント
(1) PID演算で使用するSV,PV,MV値は,0∼2000を基準で行っています。
PID制御の入出力用として使用するA/D変換ユニット,D/A変換ユニットの分解能が0∼
2000でない場合は,ディジタル値を0∼2000に変換してください。
2 - 1
3.
PID制御仕様
3.PID制御仕様
3
MELSEC-QnA
PID制御仕様
PID制御用命令におけるPID制御の仕様について説明します。
3.1 性能仕様
PID制御における性能仕様を下表に示します。
項 目
PID制御ループ数
サンプリング周期
PID演算方式
比例定数
PID定数設定範囲
積分定数
微分定数
設定値設定範囲
測定値設定範囲
操作量出力範囲
仕 様
最大32ループ
0.01∼60.00S
測定値微分形(正動作/逆動作)
0.01∼100.00
0.1∼3000.0S
0.00∼300.00S
0∼2000
−
TS
−
KP
TI
TD
SV
PV
MV
−50∼2050
3.2 演算式
PID制御用命令によるPID制御の演算式を下記に示します。
名 称
演算式
EVn=PVnf※−SV
正動作
TS
TD
ΔMV=KP{(EVn−EVn−1)+―EV
n−―(2PVnf−1−PVnf−
TI
TS
PVnf−2)}
MVn=ΣΔMV
測定値微分形
EVn=SV−PVnf※
逆動作
TS
TD
ΔMV=KP{(EVn−EVn−1)+―EV
n−―(2PVnf−1−PVnf−
TI
TS
PVnf−2)}
MVn=ΣΔMV
EVn
EVn-1
SV
PVnf
PVnf-1
PVnf-2
△MV
MVn
KP
TS
TI
TD
記号の意味
:今回サンプル時の偏差
:1周期前の偏差
:設定値
:今回サンプル時の測定値(フィルタ後)
:1周期前の測定値(フィルタ後)
:2周期前の測定値(フィルタ後)
:出力変化量
:今回の操作量
:比例定数
:サンプリング周期
:積分定数
:微分定数
ポイント
(1) ※:PVnfは,入力データの測定値を下式で演算した値です。
したがって入力データのフィルタ係数が設定されていない場合は,入力データの測定
値(PV)と同一の値となります。
フィルタ後の測定値 PVnf=PVn+α(PVnf−1−PVn)
PVn
:今回サンプル時の測定値
α
:フィルタ係数
PVnf−1
:1周期前の測定値(フィルタ後)
(2) PVnfは,入出力データエリアに格納されます。(5.2項参照)
3 - 1
3.PID制御仕様
MELSEC-QnA
3.3.1 命令一覧表の見方
3.3.2項に示す命令一覧表は,次のような形式になっています。
表3.1 命令一覧表の見方
命令記号
シ ン ボ ル
処 理 内 容
実行条件
サ ブ セ ッ ト
基本ステップ数
分 類
説 明
ページ
S で指定したワードデバイスに格納され
○
ているPID制御用データの設定を行う。
PIDINT
制御
データ
設定
S
○
S
○
共通データ
設定エリア
S +1
○
S +2
○
ループ1用
PIDINT
2
S +11
○
S +12
○
8-2
ループ2用
S +21
○
PIDINTP
S
○
S +n
○
ループn用
S +n+9
○
20
①
②
③
⑤
④
⑥⑦
説 明
①……命令を用途別に,分類しています。
②……プログラムで使用する命令記号を示します。
③……回路上でのシンボル図を示します。
④……各命令の処理内容を示します。
16ビットデータを示す
16ビットデータを示す
S
○
D
○
S +1
○
D +1
○
S +2
○
S +3
○
D +2
○
D +3
○
S で指定したデバイス番号から,
○
連続した4個のデバイス番号を示す。
D で指定したデバイス番号から,
○
連続した4個のデバイス番号を示す。
図3.1 各命令の処理内容
3 - 2
⑧
3.PID制御仕様
MELSEC-QnA
⑤ ……… 各命令の実行条件で詳細は次のとおりです。
記 号
実行条件
ON中実行形の命令で,命令の前条件がONの間だけその命令を実行する。
前条件がOFFの場合,その命令は実行せず,処理しない。
ON時1回実行形の命令で,命令の前条件がOFF→ONになった立上がり時だけ命令を実
行し,以後条件がONでも,その命令を実行せず,処理しない。
⑥ ……… 命令の基本のステップ数を示します。
ステップ数については,QnACPUプログラミングマニュアル(共通命令編)を参照くだ
さい。
⑦ ……… ○は,サブセット処理が可能な命令のあることを示します。
サブセット処理の詳細は,QnACPUプログラミングマニュアル(共通命令編)を参照く
ださい。
⑧ ……… 各命令を説明しているページを示します。
3 - 3
3.PID制御仕様
MELSEC-QnA
3.3 PID制御用命令一覧
PID制御を行うために使用する命令を一覧表に示します。
PID制御用命令には,次に示す命令があります。
命令名
PIDINIT
PIDCONT
PID57
PIDSTOP
PIDRUN
PIDPRMW
処理内容
PID演算において基準となるデータの設定を行う。
設定されている設定値(SV),測定値(PV)に基づきPID演算を行う。
PID演算の結果を,AD57(S1)を使用してモニタを行う。
指定したループNo.のPID演算の停止,開始を行う。
指定したループNo.の演算パラメータをPID制御用データに変更する。
3 - 4
3.PID制御仕様
MELSEC-QnA
3.3.2 PID制御用命令一覧
命令名
形
処 理 内 容
式
実行条件
サ ブ セ ッ ト
ス テ ッ プ 数
分 類
説 明
ページ
S で指定したワードデバイスに格納され
○
ているPID制御用データの設定を行う。
PIDINT
制御
データ
設定
S
○
S +1
○
S +2
○
S
○
共通データ
設定エリア
ループ1用
S +11
○
S +12
○
PIDINIT
2
8-2
2
8-3
4
8-5
ループ2用
S +21
○
PIDINTP
S
○
n
S +(10 −8)
○
ループn用
n
S +(10 +1)
○
S で指定したSV値,PV値によりPID演算
○
を行い,結果を○
S で指定したワードデ
バイスのMVエリアに格納する。
S
○
PIDCONT
S
○
S +9
○
S +10
○
共通データ
設定エリア
SV値設定エリア
PV値設定エリア
MV値格納エリア
PID演算
S +27
○
S +28
○
PIDCONT
ループ1用
SV値設定エリア
PV値設定エリア
MV値格納エリア
ループ2用
S +45
○
PIDCONTP
S
○
n
S +(18 −8) SV値設定エリア
○
PV値設定エリア
MV値格納エリア
ループn用
n
S +(18 +9)
○
PID57
モニタ
n ○
S1 ○
S2
○
n で指定したAD57(S1)に対して,PID
○
演算結果のモニタを行う。
n :AD57(S1)の先頭入出力番号
○
S1
○ :モニタ画面No.
1:ループNo.1∼8
2:ループNo.9∼16
3:ループNo.17∼24
4:ループNo.25∼32
PID57
PID57P
n ○
S1 ○
S2
○
S2 :モニタ画面表示要求
○
3 - 5
3.PID制御仕様
演算停止
演算開始
パラメータ
変更
命令名
形
式
処 理 内 容
PIDSTOP
n で指定されたループNo.のPID演算を
○
n
○
PIDSTOPP
n
○
PIDRUN
n で指定したループNo.の演算を開始す
○
n
○
PIDRUNP
n
○
停止する。
PIDSTOP
る。
PIDRUN
PIDPRMW
n で指定したループNo.の演算パラメー
○
n ○
S
○
S で指定したワードデバイスに
タを,○
PIDPRMWP
n ○
S
○
る。
PIDPRMW
格納されているPID制御データに変更す
3 - 6
実行条件
サ ブ セ ッ ト
ス テ ッ プ 数
分 類
MELSEC-QnA
説 明
ページ
2
8-8
2
8-8
3
8-9
4.PID制御
4.
PID制御
4
MELSEC-QnA
PID制御
PID制御命令によるPID制御方法について説明します。
4.1 PID制御の概要
PID制御は,流量,速度,風量,温度,張力,配合などのプロセス制御に応用される制御で,
制御対象を設定された値に保つために,図4.1に示す構成になります。
QnACPU
PID制御用命令
手動MV値
設定値
SV
MV
PID演算
PV
D/A変換
ユニット
制御対象
A/D変換
ユニット
センサー
手動/自動
切換え
SV:設定値(SET VALUE)
PV:測定値(PROCESS VALUE)
MV:操作量(MANIPULATED VALUE)
図4.1 プロセス制御への応用例
PID制御は,検出部で計測した値(測定値)と,あらかじめ設定されている値(設定値)を比
較して,測定値と設定値の差をなくすような出力値(操作量)を調整します。
PID制御における演算では,比例動作(P),積分動作(I),微分動作(D)を組み合わせることに
より,測定値を速く・正確に設定値と同一の値になるように操作量を演算します。
すなわち,測定値と設定値の差が大きい場合は操作量を多くして速く設定値に近づけ,測定値
と設定値の差が小さくなると,操作量を少なくしてゆっくりと正確に設定値と同じ値になるよ
うに操作量を調整します。
4 - 1
4.PID制御
MELSEC-QnA
4.2 PID制御について
PID制御命令のPID制御における演算方式は,速度形・測定値微分形です。速度形・測定値微
分形では,次に示す制御を行います。
4.2.1 演算方式
(1) 速度形演算
速度形演算は,PID演算で操作量(MV)の変化分を計算する方式です。
実際の操作量は,サンプリング周期ごとに計算した操作量の変化分が累積された値となり
ます。
(2) 測定値微分形
測定値微分形は,PID演算で微分項に測定値(PV)を使用して演算する方式です。
微分項に偏差を使用していないため,設定値変更による偏差の変化時に微分動作による出
力の急変を軽減することができます。
PID制御においては,制御方向を指定するために正動作/逆動作があります。
4.2.2 正動作と逆動作
(1) 正動作は,設定値より測定値が増加したときに操作量を増加させる動作です。
(2) 逆動作は,設定値より測定値が減少したときに操作量を増加させる動作です。
(3) 正動作,逆動作とも設定値と測定値の差が大きいほど操作量は多くなります。
(4) 正動作,逆動作を操作量(MV),測定値(PV),設定値(SV)を使用して図にすると次に示すよ
うになります。
(SV)
(MV)
逆動作
正動作
(PV)
(5) 正動作,逆動作によるプロセス制御例を下図に示します。
温度
温度
設定値
測定値
設定値
測定値
時間
時間
正動作(冷房の場合)
逆動作(暖房の場合)
4 - 2
4.PID制御
MELSEC-QnA
4.2.3 比例動作(P動作)
比例動作における制御方法について説明します。
(1) 比例動作とは,偏差(設定値と測定値の差)に比例した操作量を得る動作です。
(2) 比例動作で,偏差(E)と操作量(MV)の変化の関係を数式で表すと次式のようになります。
MV=KP・E
KPは比例定数で比例ゲインといいます。
偏差
(3) 偏差が一定値のステップ応答の場合の比例動作は,図4.2のようになります。
E
操作量
時間
Kp・E
時間
図4.2 偏差が一定の場合の比例動作
(4) 操作量は,−50∼2050までの間を変化します。
KPが大きくなるにつれて同一偏差に対する操作量が大きくなり,修正動作は強くなります。
(5) 比例動作では,オフセット(残留偏差)を生じます。
4 - 3
4.PID制御
MELSEC-QnA
4.2.4 積分動作(I動作)
積分動作における制御方法について説明します。
(1) 積分動作は,偏差がある場合,その偏差をなくすように連続的に操作量を変化させる動作
です。
比例動作で生じるオフセットをなくすことができます。
(2) 積分動作で,偏差が生じてから積分動作の操作量が比例動作の操作量になるまでの時間を
積分時間といい,TIで表します。
TIを小さくすると,積分動作が強くききます。
偏差
(3) 偏差が一定値のステップ応答の場合の積分動作は,図4.3のようになります
E
時間
操作量
比例動作+積分動作の操作量
積分動作の操作量
Kp・E
比例動作での操作量
T1
時間
図4.3 偏差が一定の場合の積分動作
(4) 積分動作は,比例動作と組み合わせたPI動作や比例動作と微分動作を組み合わせたPID動
作として使用します。
積分動作だけの使用はできません。
4 - 4
4.PID制御
MELSEC-QnA
4.2.5 微分動作(D動作)
微分動作における制御方法について説明します。
(1) 微分動作は,偏差を生じたとき,偏差をなくすようにその変化速度に比例した操作量を加
える動作です。
微分動作では,外乱などで制御対象が大きく変動するのを防ぐことができます。
(2) 微分動作で,偏差が生じてから微分動作の操作量が比例動作の操作量になるまでの時間を
微分時間といい,TDで表します。
TDを大きくすると,微分動作が強くききます。
偏差
(3) 偏差が一定値のステップ応答の場合の微分動作は,図4.4のようになります。
E
操作量
時間
Kp・E
比例動作での操作量
TD
時間
図4.4 偏差が一定の場合の微分動作
(4) 微分動作は,比例動作と組み合わせたPD動作や比例動作と積分動作を組み合わせたPID動
作として使用します。
微分動作だけの使用はできません。
4 - 5
4.PID制御
MELSEC-QnA
4.2.6 PID動作
比例動作(P動作),積分動作(I動作),微分動作(D動作)を組み合わせた制御方法について
説明します。
(1) PID動作は,(P+I+D)動作により算出した操作量で制御を行います。
偏差
(2) 偏差が一定値のステップ対応の場合のPID動作を,図4.5に示します。
時間
PID動作
操作量
PI動作
I動作
P動作
D動作
時間
図4.5 偏差が一定の場合のPID動作
4.3 PID制御における機能
PID制御用命令によるPID制御における機能について説明します。
PID制御用命令によるPID制御では,次に示すバンプレスに切換え,操作量上下限リミッタ制
御を自動的に行います。
4.3.1 バンプレス切換え
バンプレスとは,モード切換え(手動←
→自動)時,操作量(MV)を連続的に制御させる機能で
す。
モード切換え(手動←
→自動)を行うと,下記のように自動モードの操作量エリアと手動モー
ドの操作量エリア間でデータの転送を行っています。
モードの切換えは,入出力データエリア(5.2項参照)で行います。
① 手動モードから自動モードへの切換え時 … 手動モードの操作量を自動モードの操作量エ
リアに転送する。
② 自動モードから手動モードへの切換え時 … 自動モードの操作量を手動モードの操作量エ
リアの転送する。
4 - 6
4.PID制御
MELSEC-QnA
ポイント
(1) PID制御の自動,手動モードは次のようになっています。
① 自動モードは,PID制御命令でPID演算を行い算出した操作量により,制御対象の
制御を行うモードです。
② 手動モードは,PID制御命令でPID演算を行わないで,ユーザで算出した操作量に
より制御対象の制御を行うモードです。
(2) 手動モードに設定されているループは,サンプリング周期ごとにPV(測定値)を設定
値エリアに格納します。
4.3.2 操作量上下限リミッタ制御
操作量上下限リミッタ制御とは,PID演算で算出した操作量の上限または下限を制御する機
能です。この機能は自動モード時のみ有効で,手動モード時は実行されません。
操作量上限値(MVHL)および操作量下限値(MVLL)を設定することにより,PID演算で算出した操
作量を下限値から上限値の範囲内に制限することができます。
EV(偏差)
MVHL
(操作量上限値)
リミッタ機能がかからなかった
場合のMVAUTO
MVAUTO
MVLL
(操作量下限値)
図4.6 操作量上下限リミッタ機能による動作
操作量上下限リミッタ機能では,図4.6に示すような動作となります。
操作量上下限値,下限値は,各グループごとに−50∼2050の範囲が設定できます。操作量上
限値,下限値のデフォルト値は,下記の値になっています。
・操作量上限値 ……… 2000
・操作量下限値 ……… 0
操作上限値,下限値の設定では,(上限値)<(下限値)となるとエラーとなります。
4 - 7
4.PID制御
MELSEC-QnA
4.3.3 AD57(S1)によるPID制御モニタ
PID制御の演算結果は,AD57(S1)形CRTコントローラユニットを使用することにより棒グラフ
でモニタすることができます。
(1) モニタ画面は,下記に示すように指定したループNo.から8ループ分を表示します。
ループ番号表示
デバイス表示
デバイス番号表示
ループ番号(1∼32)を表示します。
PIDデータの設定値,測定値を格納
しているデバイスを表示します。
PIDデータの設定値,測定値を格納
しているデバイスの先頭デバイス
番号を表示します。
棒グラフ表示
各ループのSV,PV,MVの%値
を棒グラフで表示します。
また,MV値の%値が-2.5%
≦0%の範囲内にあるとき
は0%のところに“*”を
表し,100%<MV≦102.5%
の範囲内にあるときは,棒
グラフの上部に“※”を示
します。
リミッタ動作状態表示
SV,PV,MVのそれぞれのリミ
ッタが動作すると反転文字
で表示します。
SV,PV,MVの現在値表示
各ループのSV,PV,MVの現在
値を%値に変換して表示し
ます。
LOOP 1
LOOP 2
LOOP 3
LOOP 4
LOOP 5
DEVICE R
LOOP 6
NO.
80
LOOP 7
LOOP 8
100
100
100
100
100
100
100
100
80
80
80
80
80
80
80
80
60
60
60
60
60
60
60
60
40
40
40
40
40
40
40
40
20
20
20
20
20
20
20
20
0
0
0
0
0
0
0
S P M
SV 50 %
PV 40 %
MV 73 %
PV MV
S P M
SV 91 %
PV 95 %
MV 21 %
l=MM MV
S P M
SV
PV
MV
PV
30 %
60 %
50 %
MAIN
S 1=0 M
SV 88 %
PV 10 %
MV 100 %
l=MM MV
S P M
SV 40 %
PV 15 %
MV 83 %
PV MV
M1 P NI
SV 100 %
PV 45 %
MV 100 %
PV MAIN
S 1=0 M
SV 61 %
PV
0 %
MV 92 %
PV MV
アラーム状態の表示
PV,MV値がそれぞれ設定した△MVL,
△PVLの値を越えると反転文字で表
示します。
ポイント
(1) SV,PV,MVの現在値表示は,2000を基準としたときの%表示です。
SV
2000
PV
② PVの%表示……──×100(%)
2000
MV
③ MVの%表示……──×100(%)
2000
① SVの%表示……──×100(%)
(2) AD57(S1)へのモニタは,PID57命令により行います。
命令の詳細については,8.4項を参照してください。
4 - 8
0
S P M
SV
5 %
PV
1 %
MV 25 %
PV MV
4.PID制御
MELSEC-QnA
4.3.4 手動モード時の測定値の設定値格納デバイスへの転送機能
手動モード時もPIDCONT命令を実行させます。
手動モード時にはPIDバンプレス処理フラグ(SM774)のON/OFFにより,PIDCONT命令実行時にA/
D変換ユニットから取り込んだ測定値を設定値格納デバイスに転送するかの選択ができます。
・SM774 OFF時 :PIDCONT命令実行時に,測定値を設定値格納デバイスに転送します。
手動モード→自動モードに切り替え時,手動モード時の操作量出力を継続
できます。
自動モードに切り替わった後,設定値を変更すると出力していた操作量か
ら設定値への制御ができます。
・SM774 ON時
:PIDCONT命令実行時に,測定値を設定値格納デバイスに転送しません。
手動モード→自動モードに切り替えると,手動モード時の操作量出力から
設定値への制御ができます。
自動モードへの切り替え前に,設定値格納デバイスに設定値を格納してお
いてください。
備
考
1) 設定値および測定値は,PIDCONT命令で入出力データエリアに指定したデバイスに格納
されます。
4 - 9
5.
PID制御手順
5.PID制御手順
5
MELSEC-QnA
PID制御手順
PID制御を行うためのプログラミング手順について説明します。
プログラミング手順
PID制御用データ変更
PID制御用データの設定
設定項目,設定方法について
ワードデバイスにPID制御用 ………
は,5.1項参照
データをそれぞれ設定する。
PIDINIT命令の実行
命令の詳細については,6.2項
PIDINIT命令により,ワードデ ………
参照
バイスに設定されているPID制
御データをQnACPU内部に登録
する。
初回処理フラグの設定
入出力データの詳細について
入出力データにおける初回処 ………
は,5.2項参照
理フラグを設定する。
設定値(SV)の変更
設定値(SV)の設定
入出力データの詳細について
入出力データにおける設定値 ……… は,5.2項参照
(SV)設定する。
操作量(MV)の自動/手動変更
手動モードにするか
YES(手動)
NO(自動)
自動MVの選択
手動MVの選択
入出力データの手動/自動選
択を,自動に設定する。
入出力データの手動/自動選
択を,手動に設定する。
………
①
測定値(PV)の読出し/設定
手動操作量(MVMAN)の設定
A/D変換ユニットからデータを
読み出し,入出力データエリ
アの測定値(PV)エリアに設定
する。
入出力データにおける手動操
作量(MVMAN)を設定する。
②
5 - 1
入出力データの詳細
については,5.2項
参照
5.PID制御手順
MELSEC-QnA
①
②
PIDCONT命令の実行
命令の詳細については,8.3項
PIDCONT命令により,ワードデ ………
参照
バイスに設定されているPID制
御用データ,入出力データをも
とにPID演算を行う。
操作量の出力
PID演算結果の操作量(MV)は,
PID演算結果による操作量(MV) ……… 入出力データエリアに格納さ
れます。詳細については,5.2
を読み出して,D/A変換ユニッ
項参照
トに書き込む。
AD57(S1)へのモニタ
PID57命令を実行して,AD57
(S1)へのモニタを行う。
命令の詳細については,8.4項
参照
……… 本項目は,AD57(S1)に対する
モニタ処理を行わない場合は
行う必要はありません。
ポイント
PID制御データの登録または変更は,シーケンスプログラムのスキャンごとに行っても問題
ありません。
5 - 2
5.PID制御手順
MELSEC-QnA
5.1 PID制御用データ
(1) PID制御用データは,PID演算における基準値の設定を行うためのデータです。
PID制御用データは,PIDCONT命令によるPID演算を開始する前に,PIDINIT命令でQnACPU内
部に登録します。
PID制御用データには,各ループ共通で設定するデータと各ループごとに設定するデータの
2種類があります。
表5.1 PID制御用データ一覧表
データ
No.
共通設定
データ
1
使用
ループ数
2
1スキャン
の実行
ループ数
1
演算式選択
2
3
4
各ループ
ごとの設
定データ
データ項目
サンプリン
グ周期(TS)
比例定数
(KP)
積分定数
(TI)
5
微分定数
(TD)
6
フィルタ係
数(α)
7
操作量
下限値
(MVLL)
8
操作量
上限値
(MVHL)
内 容
PID演算を実行させるループ数の
設定です。
サンプリング周期に達したループ
が複数あったとき,1回のPID演
算で何ループを実行させるかの設
定です。
3.2項で示すPID演算式の選択で
す。
PID演算を行う周期の設定です。
設定範囲
ユーザの
指定範囲
1∼32
1∼32
正動作………0
逆動作………1
0または1
0.01∼60.00sec
0.01∼100.00
PID演算の比
積分動作(I動作)の効果の大き
さを表す定数です。
積分定数を大きくすると,操作量
の変化がゆっくりになります。
微分動作(D動作)の効果の大き
さを表す定数です。
微分定数を大きくすると,制御対
象のわずかな変化で大きな操作量
の変化になります。
測定値(A/D変換ユニットからの
入力)に対してフィルタをどの程
度かけるかの設定です。
0に近くなるほどフィルタは効か
なくなります。
自動モード時,PID演算で算出し
た操作量の下限値の設定です。操
作量が操作量下限値以下のとき
は,操作量下限値を操作量にしま
す。
自動モード時,PID演算で算出し
た操作量の上限値の設定です。操
作量が操作量上限値以上のとき
は,操作量上限値を操作量にしま
す。
0.1∼3000.0sec
無限大(∞)
T Iの設定が
3000.0secを超
えるとき
1∼32767
(単位100ms)
0∼30000
(単位10ms)
0∼100%
0∼100
5 - 3
該当ループのPID演算を実行
しません。
1∼6000
(単位10ms)
1∼10000
(単位0.01)
0.00∼300.00sec
−50∼2050
設定データが指定範囲外の
ときの処理
全ループPID演算を実行しま
せん。
−50∼2050
設定値≦0のときは,該当
ループのPID演算を実行しま
せん。
該当ループのPID演算を実行
しません。
MVLLまたはMVHLの値がユー
ザ指定範囲外のときは,下
記の値に変換してPID演算を
行います。
・MVLLまたはMVHLの値が−
50未満のときは,−50に
する。
・△MVLLまたは△MVHLが
2050を超えるときは,
2050にする。
5.PID制御手順
MELSEC-QnA
表5.1 PID制御用データ一覧表(つづき)
データ
No.
9
各ループ
ごとの設
定データ
10
内 容
設定範囲
ユーザの
指定範囲
前回と今回の操作量の変化量の
制限値の設定です。操作量の変
化量が制限値以上のときは,ア
ラーム用デバイスのビット1が1
となります。
前回と今回の測定値の変化量の
制限値の設定です。測定値の変
化量が制限値以上のときは,ア
ラーム用デバイスのビット0が1
となります。
0∼2000
0∼2000
データ項目
操作量変化
率リミット
値
(△MVL)
測定値変化
率リミット
値
(△PVL)
設定データが指定範囲外の
ときの処理
△PVLまたは△MVLの値がユー
ザ指定範囲外のときは下記の
値に変換してPID演算を行い
ます。
・△MVLまたは△PVLの値が0
未満のときは,0にする。
・△MVLまたは△PVLの値が
2000を超えるときは,
2000にする。
(2) PID制御データは,ワードデバイスの任意の番号に設定することができます。
ただし,使用ループ分のすべてのデータを連続したデバイス番号に設定する必要がありま
す。
(3) PID制御データの割付けは,次のようになっています。
指定デバイス番号+0
使用ループ数
+1
1スキャンの実行ループ数
+2
演算式選択
+3
サンプリング周期(TS)
+4
比例定数(KP)
+5
積分定数(TI)
+6
微分定数(TD)
+7
フィルタ係数(α)
+8
操作量下限値(MVLL)
+9
操作量上限値(MVHL)
全ループ共通
No.1ループ用
+10 操作量変化率リミット値(△MVL)
+11 測定値変化率リミット値(△PVL)
+12 演算式選択
+13 サンプリング周期(TS)
+14 比例定数(KP)
+15 積分定数(TI)
+16 微分定数(TD)
+17 フィルタ係数(α)
No.2ループ用
+18 操作量下限値(MVLL)
使用ループ数分
+19 操作量上限値(MVHL)
+20 操作量変化率リミット値(△MVL)
+21 測定値変化率リミット値(△PVL)
+22 演算式選択
+23 サンプリング周期(TS)
+m
No.3ループ用
演算式選択
+(m+1) サンプリング周期(TS)
+(m+2) 比例定数(KP)
+(m+3) 積分定数(TI)
+(m+4) 微分定数(TD)
+(m+5) フィルタ係数(α)
+(m+6) 操作量下限値(MVLL)
+(m+7) 操作量上限値(MVHL)
+(m+8) 操作量変化率リミット値(△MVL)
+(m+9) 測定値変化率リミット値(△PVL)
5 - 4
No.nループ用
5.PID制御手順
MELSEC-QnA
(4) 入出力データは,ワードデバイスの任意の番号を指定することができます。
ただし,使用ループ分のすべてのデータを連続したデバイス番号に設定する必要があり
ます。
(5) 入出力データの割付けは,次のようになっています。
指定デバイス番号+0
+1
+9
+10
+11
+12
+13
+14
+15
+16
+17
+27
+28
+29
初回処理フラグ
PID制御用ワークエリア
(ユーザ使用不可)
設定値(SV)
測定値(PV)
自動操作量(MV)
フィルタ後の測定値(PV1)
手動操作量(MVMAN)
手動/自動選択(MAN/AUTO)
アラーム(ALARM)
No.1ループ用ワークエリア
(ユーザ使用不可)
設定値(SV)
測定値(PV)
+30
+31
+32
+33
自動操作量(MV)
フィルタ後の測定値(PV1)
手動操作量(MVMAN)
手動/自動選択(MAN/AUTO)
+34
+35
アラーム(ALARM)
+45
+46
No.2ループ用ワークエリア
(ユーザ使用不可)
設定値(SV)
+47
+48
+49
測定値(PV)
自動操作量(MV)
+m
設定値(SV)
+(m+1)
+(m+2)
+(m+3)
+(m+4)
+(m+5)
+(m+6)
+(m+7)
+(m+17)
測定値(PV)
ライト
リード/ライト禁止
ライト
リード
ライト
リード/ライト
リード/ライト禁止
ライト
リード
ライト
使用ループ数分
リード/ライト禁止
ライト
リード
No.3ループ用
入出力データエリア
ライト
リード
手動操作量(MVMAN)
手動/自動選択(MAN/AUTO)
ライト
No.nループ用ワークエリア
(ユーザ使用不可)
No.2ループ用
入出力データエリア
リード/ライト
自動操作量(MV)
フィルタ後の測定値(PV1)
アラーム(ALARM)
No.1ループ用
入出力データエリア
No.nループ用
入出力データエリア
リード/ライト
リード/ライト禁止
(a) PID制御データの設定で使用するデバイスの点数は,下式により算出してください。
デバイス点数=2+10×n (n:使用ループ数)
(b) 各データの設定は,BIN値で設定してください。
(c) 使用ループ分のデバイス点数が,指定したデバイスの最終デバイス番号を超えるとエ
ラーとなり処理しません。
5 - 5
5.PID制御手順
MELSEC-QnA
5.1.1 使用ループ数と1スキャンの実行ループ数について
(1) 使用ループ数はPID演算を実行させるループ数です。
PIDCONT(PID制御命令)実行時に設定されたループ数分のサンプリング時間の計測を行い,
サンプリング周期に達したループのPID演算を行います。
(2) PIDCONTを実行した場合の処理時間はPID演算を実行するループ数に比例して増えていきま
す。
A:サンプリング時間の計測などの固定時間
B:1ループのPID演算を行うための時間
処理時間=A+B×n
n=ループ数
(3) 1スキャンの実行ループ数は,サンプリング周期に達したループが複数あったとき,1スキャ
ンで何ループのPID演算を行うかの設定です。
1スキャンの実行ループ数を指定しておくと,PID制御命令実行時サンプリング周期に達し
ているループ数が多い場合でも,設定された1スキャンの実行ループ数分のみを実行し,残
りを次スキャンに実行します。
PIDCONT命令の実行
END
PIDCONT命令の
次のステップ
0
END
0
シーケンスプログラム
PID制御の実行
処理時間
=A+B×n
処理時間
=A+B×n
スキャンタイム
ポイント
サンプリング周期に達したループが,1スキャンの実行ループ数より多い場合の優先順位は
次のようになっています。
① 優先順位はループNo.の若い番号が高くなっています。
② 前のスキャンでPID演算を実行していないループと実行したループがある場合は,前の
スキャンでPID演算を実行しなかったループを優先で行います。
5 - 6
5.PID制御手順
MELSEC-QnA
5.1.2 サンプリング周期について
(1) PID演算を行う周期です。
PIDCONT命令実行ごとに1スキャン分の計測時間を前回までのサンプリング時間に加算して
います。
サンプリング時間が設定されたサンプリング周期以上になったとき,該当ループのPID演算
を行います。
(2) PID演算で使用するためのサンプリング時間は,10ms単位の実行値を使用します。
たとえば,サンプリング周期の設定値が50msで計測値が57msの場合は,サンプリング時間
を50msとしてPID演算します。
また計測値が64msの場合は,サンプリング時間を60msとしてPID演算します。
サンプリング周期=50msのとき
電源ON
PIDCONT
0
シーケンス
プログラム
PIDCONT
END 0
END 0
PIDCONT
END 0
PIDCONT
END 0
PIDCONT
END 0
PIDCONT
PIDCONT
END 0
END
PIDINIT
19ms
計測値
PIDCONT
END 0
19ms
19ms
19ms
19ms
19ms
19ms
0ms
19ms
19+19=38ms
38+19=57ms
7+19=26ms
26+19=45ms
45+19=64ms
4+19=23ms
計測値<設定値
計測値<設定値
計測値<設定値
計測値>設定値
計測値<設定値
計測値<設定値
計測値>設定値
計測値<設定値
初期値でPID演算を行う
サンプリング時間=50msで
PID演算を行う
サンプリング時間=60msで
PID演算を行う
計測値を57−50=7msに変更
計測値を64−60=4msに変更
ポイント
(1) サンプリング周期の計測は,PIDCONT命令実行時に行いますので,シーケンスプログラ
ムのスキャンタイムよりも小さい値をサンプリング周期に設定することはできません。
スキャンタイムよりも小さい値を設定した場合は,スキャンタイム値でPID演算しま
す。
5 - 7
5.PID制御手順
MELSEC-QnA
5.2 入出力データ
(1) 入出力データとは,設定値(SV),測定値(PV)などPID演算を行うために設定する入力デー
タ,および演算結果などの出力データのことです。
(2) 入出力データエリアには,各ループごとに割り付けられている下記項目と,PID演算を行
うためにシステムで使用するワークエリアがあります。
表5.2 入出力データ一覧表
データ名称
設定値
内 容
PID制御の目標値です。
設定範囲
SV
0∼2000
制御対象からA/D変換ユニットにフィード
バックされたデータです。
PV
自動操作量
MV
フィルタ後
の測定値
PV1
手動操作量
MVMAN
手動/自動
選択
MAN/
AUTO
アラーム
ALARM
−50∼2050
PID演算で算出した操作量です。
D/A変換ユニットから制御対象へ出力しま
す。
3.4項ポイント(1)の演算式で算出した測定
値です。
手動時にD/A変換ユニットから出力したデー
タを格納します。
−50∼2050
−50∼2050
D/A変換ユニットへの出力データを手動操作
量にするか,自動操作量にするかの選択で
す。
手動時には,自動操作量は変化しません。
操作量,測定値の変化率がリミット値の範
囲内か範囲外かの判別用です。
1度セットされると,ユーザでリセットする
まで保持されます。
操作量がリミット範囲外のときビット0が1
になります。
測定値がリミット範囲外のときビット1が1
となります。
0:自動操作量のとき
1:手動操作量のとき
5 - 8
────
MVMANの値が設定範囲外の場合は下記の
処理を行い,PID演算を行います。
・MVMANが−50未満のときは,MVMANを−
50にする。
・MVMANが2050を超えているときは,
MVMANを2050にする。
0,1以外のときはエラーとなり,該当
ループの演算は,実行されません。
B15
B2
B1
B0
測定値
備 考
SVの値が指定範囲外の場合は,下記の
処理を行い,PID演算を行います。
・SVが0未満のときは,SVを0にする。
・SVが2000を超えているときは,SVを
2000にする。
PVの値が設定範囲外の場合は,下記の
処理を行い,PID演算を行います。
・PVが−50未満のときは,PVを−50に
する。
・PVが2050を超えるときは,PVを2050
にする。
PVの変化量
がリミット
範囲外で1に
なる。
MVの変化量
がリミット
範囲外で1に
なる。
────
5.PID制御手順
MELSEC-QnA
(a) 入出力データの設定で使用するデバイスの点数は,下式により算出してください。
デバイス点数=10+18×n (n:使用ループ数)
(b) 各データの設定は,BIN値で設定してください。
(c) 初回処理フラグは,PID演算開始時の処理方法の設定です。
① 初回演算処理時には,設定されたサンプリング周期に達しているとみなして演算
を行います。
② 初回処理フラグの設定は,次に示すように設定します。
0 ………… 使用ループ数分のPID演算処理を1スキャンで一括に処理します。
0以外 …… 使用ループ数分のPID演算処理を,数スキャンに分割して処理しま
す。初回処理を完了したループから順次サンプリングを開始します。
1スキャンあたりの処理ループ数は,設定されている1スキャンの実
行ループ数分です。
(d) 入出力データエリアで“ライト”となっているデータは,ユーザがシーケンスプログ
ラムで書き込んでください。
“リード”となっているデータは,ユーザがシーケンスプログラムで読み出して使用
します。
“リード/ライト禁止”および“リード”となっているデータには,絶対に書込みを
行わないでください。正常な演算が行えなくなります。
(e) 使用ループ分のデバイス点数が,指定したデバイスの最終デバイス番号を超えるとエ
ラーとなり処理しません。
5 - 9
6.
命令の構成
6.命令の構成
6
MELSEC-QnA
命令の構成
PID制御命令の命令構成は,QnACPUの共通命令と同一です。
命令構成については,QnACPUプログラミングマニュアル(共通命令編)を参照ください。
6 - 1
7.命令の見方
命令の見方
7.
MELSEC-QnA
7 命令の見方
次章の命令の説明は,次のような形式になっています。
①
PIDCONT,PIDCONTP
MELSEC-QnA
8.2 PID制御
②
使用可能デバイス
③
設定
内部デバイス
データ
(システム,ユーザ)
ビット
ワード
S
○
MELSECNET/10
ファイル
U
¥G
定数
Zn
○
─
インデックスレジスタ
特殊ユニット
ダイレクトJ ¥
ビット
ワード
レジスタ
その他
─
〔命令記号〕 〔実行条件〕
制御指令
PIDCONT
④
PIDCONTP
⑤
設定データ
設定データ
機
S
○
PIDCONTP
S
○
内 容
データ型
入出力データエリアに割り付けられているデバイ
S
○
⑥
PIDCONT
制御指令
BIN16ビット
スの先頭番号
能
(1) PIDCONT命令実行時にサンプリング時間の計測とPID演算を行います。
S で指定したデバイス番号以降に設定されている入出力データエリアの設
(2) PID演算では,○
定値(SV),計測値(PV)を基にPID演算を行い,演算結果を入出力データエリアの自動操作量
(MV)エリアに格納します。
(3) PID演算は,サンプリング周期の設定時間経過後の最初のPIDCONT命令実行時に行います。
(5.1.2項参照)
(4) PID制御中は,必ず制御指令をONさせて,PIDCONT命令を毎スキャン実行させるようにして
ください。
毎スキャン実行させない場合は,正常なサンプリング時間でPID演算ができなくなります。
また1スキャン中にPIDCONT命令を複数回実行させることもできません。
1スキャン中に複数回PIDCONT命令を実行させた場合は,正常なサンプリング時間でPID演算
ができなくなります。
S には,入出力データエリアに指定されているデバイス番号の先頭を指定します。
(5) ○
入出力データエリアとしてファイルレジスタを指定した場合は,ファイルレジスタに対し
てメモリプロテクトをかけないでください。
メモリプロテクトがかかっていると,エラーにはなりませんが正常なPID演算を行うことが
できなくなります。
入出力データエリアの詳細については,5.2項を参照してください。
8 - 3
① 命令記号を示します。
② 項番号,命令の概要を示します。
③ 命令で使用できるデバイスに○をつけています。
使用可能デバイスの使用区分を下記に示します。
デバイス
区分
使用可能
デバイス
内部デバイス
ファイル
(システム,ユーザ)
レジスタ
ビット
ワード
R,ZR
X,Y,M,L, T,ST,C,
D,W,SD,
SM,F,V,
SW,FD
B,SB,
FX,FY*2
MELSECNET/10
ダイレクトJ ¥
ビット
ワード
J
J
J
J
¥X
¥Y
¥B
¥SB
J
J
¥W
¥SW
特殊ユニット
U ¥G
U
¥G
インデックスレジスタ
Zn
Z
*1
*1
定数
その他
10進定数
16進定数
実数定数
文字列定数
P,I,J,U,
DX,DY,N,
BL,TR,
BL¥S
*1:定数,その他の欄には,設定可能デバイスを記載します。
*2:FX,FYはビットデータ,FDはワードデータでのみ使用可能です。
7 - 1
7.命令の見方
MELSEC-QnA
PIDCONT,PIDCONTP
MELSEC-QnA
(6) 手動モードにより手動操作量(MVMAN)の出力を行っている場合でも,PIDCONT命令を毎スキャ
ン実行してください。
PIDCONT命令を実行しないと,バンプレス機能を行うことができません。
バンプレス機能の詳細については,4.3.1項を参照してください。
(7) PIDCONT命令は,測定値(SV)の取込みを行うためのA/D変換ユニット,および操作量(MV)の
出力を行うためのD/A変換ユニットが正常なときのみ実行するように,各ユニットのREADY
信号によりインタロックするようにしてください。*
制御指令
A/Dユニットの
READY信号
PIDCONT
D100
D/Aユニットの
READY信号
各ユニット異常時に実行すると,正常な測定値(PV)の取込み,または正常な操作量(MV)の
出力が行えないため,PID演算も正常に行うことができません。
エ
ラ
⑦
ー
(1) 次の場合には演算エラーとなり,エラーフラグ(SM0)がONし,エラーコードがSD0に格納され
ます。
・PIDCONT命令実行前に,PIDINIT命令を実行していないとき。 (エラーコード:4103)
・入出力データエリアに設定したデータの値が,設定可能範囲外のとき。
(エラーコード:4100)
S で指定した入出力データエリアに割り付けられているデバイスの範囲が,該当デバイ
・○
スの最終デバイス番号を超えているとき。
(エラーコード:4101)
備 考
1)*:A/D変換ユニットおよびD/A変換ユニットのREADY信号については,使用するA/D変換
ユニット,D/A変換ユニットのマニュアルを参照ください。
8 - 4
④ 回路モードでの表現および命令の実行条件を示しています。
実行条件
ON中実行
ON時1回実行
説明ページの記載記号
⑤ 各命令の設定データの説明とデータ型を示しています。
データ型
BIN16ビット
内 容
BIN16ビットデータまたはワードデバイスの先頭番号を取扱うことを示す。
⑥ 命令の果たす機能について示しています。
⑦ エラーの起きる条件とエラーNo.について示しています。
7 - 2
PIDCONT,PIDCONTP
8.PID制御命令
8
MELSEC-QnA
PID制御命令
PID制御を行うためのPID制御命令の使用方法について説明します。
8 - 1
PIDINIT,PIDINITP
PIDCONT,PIDCONTP
MELSEC-QnA
8.1 PID制御用データの設定
設定
データ
内部デバイス
ファイル
(システム,ユーザ)
レジスタ
ビット
ワード
─
S
○
使用可能デバイス
MELSECNET/10
特殊ユニット
ダイレクトJ ¥
U ¥G
ビット
ワード
○
インデックスレジスタ
Zn
定数
その他
─
〔命令記号〕〔実行条件〕
指令
PIDINIT
PIDINIT
S
○
PIDINITP
S
○
指令
PIDINITP
設定データ
設定データ
S
○
機 データ型
内 容
PID制御用データが設定されているデバイスの先頭
番号
BIN16ビット
能
S で指定したデバイス番号以降に設定されている使用ループ数分のPID制御データを,一
(1) ○
括でQnACPU内部に登録し,PID制御を可能にします。
PID制御用データの詳細については,5.1項を参照してください。
(2) 1スキャン中に複数箇所でPIDINIT命令を実行した場合は,PIDCONT命令に1番近くで実行し
たPIDINIT命令の設定値が有効になります。
(3) PIDINIT命令の実行は,必ずPIDCONT命令実行前に行ってください。
PIDINIT命令を実行していない場合,PID制御を行うことはできません。
エ
ラ
ー
(1) 次の場合には演算エラーとなり,エラーフラグ(SM0)がONし,エラーコードがSD0に格納さ
れます。
・PID制御用データに設定した値が,設定可能範囲外のとき。
(エラーコード:4100)
S で指定したPID制御データエリアに割り付けられているデバイスの範囲が,該当デバ
・○
イスの最終デバイス番号を超えているとき。
8 - 2
(エラーコード:4101)
PIDCONT,PIDCONTP
MELSEC-QnA
8.2 PID制御
設定
データ
内部デバイス
ファイル
(システム,ユーザ)
レジスタ
ビット
ワード
─
S
○
使用可能デバイス
MELSECNET/10
特殊ユニット
ダイレクトJ ¥
U ¥G
ビット
ワード
○
インデックスレジスタ
Zn
定数
その他
─
〔命令記号〕〔実行条件〕
制御指令
PIDCONT
PIDCONT
S
○
PIDCONTP
S
○
制御指令
PIDCONTP
設定データ
設定データ
S
○
機 内 容
入出力データエリアに割り付けられているデバイ
スの先頭番号
データ型
BIN16ビット
能
(1) PIDCONT命令実行時にサンプリング時間の計測とPID演算を行います。
S で指定したデバイス番号以降に設定されている入出力データエリアの設
(2) PID演算では,○
定値(SV),計測値(PV)を基にPID演算を行い,演算結果を入出力データエリアの自動操作量
(MV)エリアに格納します。
(3) PID演算は,サンプリング周期の設定時間経過後の最初のPIDCONT命令実行時に行います。
(5.1.2項参照)
(4) PID制御中は,必ず制御指令をONさせて,PIDCONT命令を毎スキャン実行させるようにして
ください。
毎スキャン実行させない場合は,正常なサンプリング時間でPID演算ができなくなります。
また1スキャン中にPIDCONT命令を複数回実行させることもできません。
1スキャン中に複数回PIDCONT命令を実行させた場合は,正常なサンプリング時間でPID演算
ができなくなります。
S には,入出力データエリアに指定されているデバイス番号の先頭を指定します。
(5) ○
入出力データエリアとしてファイルレジスタを指定した場合は,ファイルレジスタに対し
てメモリプロテクトをかけないでください。
メモリプロテクトがかかっていると,エラーにはなりませんが正常なPID演算を行うことが
できなくなります。
入出力データエリアの詳細については,5.2項を参照してください。
8 - 3
PIDCONT,PIDCONTP
MELSEC-QnA
(6) 手動モードにより手動操作量(MVMAN)の出力を行っている場合でも,PIDCONT命令を毎スキャ
ン実行してください。
PIDCONT命令を実行しないと,バンプレス機能を行うことができません。
バンプレス機能の詳細については,4.3.1項を参照してください。
(7) PIDCONT命令は,測定値(SV)の取込みを行うためのA/D変換ユニット,および操作量(MV)の
出力を行うためのD/A変換ユニットが正常なときのみ実行するように,各ユニットのREADY
信号によりインタロックするようにしてください。*
制御指令
A/Dユニットの
READY信号
PIDCONT
D100
D/Aユニットの
READY信号
各ユニット異常時に実行すると,正常な測定値(PV)の取込み,または正常な操作量(MV)の
出力が行えないため,PID演算も正常に行うことができません。
エ
ラ
ー
(1) 次の場合には演算エラーとなり,エラーフラグ(SM0)がONし,エラーコードがSD0に格納さ
れます。
・PIDCONT命令実行前に,PIDINIT命令を実行していないとき。 (エラーコード:4103)
・入出力データエリアに設定したデータの値が,設定可能範囲外のとき。
(エラーコード:4100)
S で指定した入出力データエリアに割り付けられているデバイスの範囲が,該当デバイ
・○
スの最終デバイス番号を超えているとき。
(エラーコード:4101)
備 考
1)*:A/D変換ユニットおよびD/A変換ユニットのREADY信号については,使用するA/D変換
ユニット,D/A変換ユニットのマニュアルを参照ください。
8 - 4
PIDCONT,PIDCONTP
PID57,PID57P
MELSEC-QnA
8.3 PID制御状態のモニタ
設定
データ
内部デバイス
ファイル
(システム,ユーザ)
レジスタ
ビット
ワード
使用可能デバイス
MELSECNET/10
特殊ユニット
ダイレクトJ ¥
U ¥G
ビット
ワード
インデックスレジスタ
Zn
定数
K, H
その他
n
○
○
○
─
S1
○
S2
○
○
○
─
○
─
─
〔命令記号〕〔実行条件〕
指令
PID57
PID57
n
○
S1
○
S2
○
PID57P
n
○
S1
○
S2
○
指令
PID57P
設定データ
機 設定データ
内 容
n
○
PID制御モニタを行うAD57(S1)の先頭入出力番号
S1
○
S2
○
モニタするループNo.に対応する画面No.
データ型
BIN16ビット
初期画面表示要求
能
n で指定したAD57(S1)の表示器に,○
S1 で指定したループNo.のPID制御状態を棒グラフで
(1) ○
表示します。(4.3.3項参照)
S2 に指定する初期画面表示要求を行うことにより,棒グラ
PID制御モニタ実行初期時は,○
フ,数値データ以外の静止部分のキャラクタの表示を行います。
(2) PID制御モニタでは,AD57(S1)のVRAMエリアの0∼1599番地を使用します。
PID制御モニタを行う場合は,ユーザでVRAMエリアの0∼1599番地を使用できません。
ユーザでVRAMエリアの0∼1599番地を使用している場合PID制御モニタを行うと,VRAMエリ
アの0∼1599番地に格納されているデータが壊されます。
(3) PID制御モニタを行う場合は,PID57命令を実行する前に必ずAD57コマンドのCMODE命令を
実行してください。
AD57(S1)に対して,CMODE命令で表示モードがCRT標準モードに設定されていない場合,表
示器に表示を行うことができません。
(4) PID57命令は,PIDINIT命令,PIDCONT命令実行後に実行するようにしてください。
PIDINIT命令,PIDCONT命令を実行する前にPID57命令を実行するとエラーになります。
8 - 5
PIDCONT,PIDCONTP
PID57,PID57P
MELSEC-QnA
S1 で指定するループNo.は,下記に示す“1∼4”の画面No.で指定します。
(5) ○
画面No.
1
2
3
4
モニタするループNo.
ループNo. 1 ∼ 8
ループNo. 9 ∼ 16
ループNo.17 ∼ 24
ループNo.25 ∼ 32
(6) ○
S2 で指定する初期画面表示要求は,モニタ画面の棒グラフ,数値データ以外の静止部分の
キャラクタ表示を行うための指定です。
S2 に“0”を設定します。
初期画面表示要求を行う場合は,○
初期画面表示要求を行わない場合,棒グラフ,数値データ以外のキャラクタを表示しませ
ん。
S2 には自動的に○
S1 で指定した値が格納され,PID制御モニタを開始しま
(7) 初期画面表示後,○
す。
S2 で指定するデバイスがファイルレジスタの場合,ファイルレジスタに対してメモリプロ
○
テクトをかけないようにしてください。
メモリプロテクトがかかっていると正常な表示を行うことができません。
(8) 初期画面表示要求は,QnACPU RUN後最初のPID57命令で一回のみ実行するようにしてくだ
さい。
毎スキャン実行すると,静止部分のキャラクタは表示しますが,棒グラフ,数値データの
表示を行いません。
(9) AD57(S1)により制御状態のモニタを行う場合は,AD57(S1)にキャラジェネROM,キャンバ
スROMを装着する必要があります。
また,キャラジェネROMには,図8.1に示すキャラクタをキャラクタコード000∼00BHに作成
してください。
キャラクタコード000∼00BHに図8.1のキャラクタが作成されていない場合,棒グラフを表
示することはできません。
キャラジェネROM,キャンバスROMの作成方法については,下記マニュアルを参照してくだ
さい。
・SW1GP-AD57Pオペレーティングマニュアル
・SW0NX-AD57P・SW0SRX-AD57Pオペレーティングマニュル
(SW0NX-AD57P形システムFDでは,半角のキャラクタが作成できないため,図8.1のキャラ
クタを作成できません。)
8 - 6
PIDCONT,PIDCONTP
PID57,PID57P
MELSEC-QnA
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
000H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
001H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
002H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
003H
004H
005H
作成アドレス
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
006H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
007H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
008H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
009H
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
00AH
00BH
作成アドレス
図8.1 PID制御状態モニタ用キャラクタ
エ
ラ
ー
(1) 次の場合には演算エラーとなり,エラーフラグ(SM0)がONし,エラーコードがSD0に格納さ
れます。
・AD57(S1)に対してCMODE命令を実行していないとき。
(エラーコード:2110)
・PID57命令実行前に,PIDINIT命令を実行していないとき。
(エラーコード:4103)
・PID57命令実行前に,PIDCONT命令を実行していないとき。
(エラーコード:4103)
S1 で指定した画面No.が1∼4の範囲外のとき。
・○
(エラーコード:4100)
8 - 7
PIDCONT,PIDCONTP
PIDSTOP,PIDSTOPP,PIDRUN,PIDRUNP
MELSEC-QnA
8.4 指定ループNo.の演算停止/開始
設定
データ
内部デバイス
ファイル
(システム,ユーザ)
レジスタ
ビット
ワード
使用可能デバイス
MELSECNET/10
特殊ユニット
ダイレクトJ ¥
U ¥G
ビット
ワード
n
インデックスレジスタ
Zn
○
その他
─
はPIDSTOP/PIDRUNを示す。
〔命令記号〕〔実行条件〕
PIDSTOP
PIDRUN
指令
PIDSTOPP
PIDRUNP
指令
n
P
設定データ
内 容
設定データ
n
機 定数
K, H
停止/開始するループNo.
n
データ型
BIN16ビット
能
PIDSTOP
(1) nで指定されたループNo.のPID演算を停止します。
(2) 停止中は演算データを保持します。
PIDRUN
(1) nで指定したループNo.の演算を開始します。
PIDSTOP命令で演算を停止したループNo.を再度実行させるための命令です。
(2) すでに演算実行中のループNo.に対して本命令を実行した場合は無処理となります。
エ
ラ
ー
(1) 次の場合には演算エラーとなり,エラーフラグ(SM0)がONし,エラーコードがSD0に格納さ
れます。
・nで指定したループNo.が存在しないとき。
(エラーコード:4100)
・nが1∼32以外のとき
(エラーコード:4100)
8 - 8
PIDCONT,PIDCONTP
PIDPRMW,PIDPRMWP
MELSEC-QnA
8.5 指定ループのパラメータ変更
設定
データ
内部デバイス
ファイル
(システム,ユーザ)
レジスタ
ビット
ワード
使用可能デバイス
MELSECNET/10
特殊ユニット
ダイレクトJ ¥
U ¥G
ビット
ワード
インデックスレジスタ
Zn
定数
K, H
その他
n
○
○
○
─
S
○
─
○
─
─
〔命令記号〕 〔実行条件〕
指令
PIDPRMW
PIDPRMW
n
S
○
PIDPRMWP
n
S
○
指令
PIDPRMWP
設定データ
n
S
○
機 内 容
データ型
変更するPID制御用データが格納されているデバイ
BIN16ビット
設定データ
変更するループNo.
スの先頭番号
能
(1) nで指定したループNo.の演算パラメータを,○
S で指定したデバイス番号以降に格納されて
いるPID制御用データに変更します。
(2) ○
S で指定したデバイス番号以降のPID制御用データの構成は下記のとおりです。
PID制御データについては,5.1項を参照ください。
S +0
○
S +1
○
S +2
○
S +3
○
S +4
○
S +5
○
S +6
○
S +7
○
S +8
○
S +9
○
エ
ラ
演算式選択
サンプリング周期(TS)
比例定数(KP)
積分定数(TI)
微分定数(TD)
フィルタ係数(α)
操作量下限値(MVLL)
操作量上限値(MVHL)
操作量変換率リミット値(△MVLL)
測定値変化率リミット値(△PVL)
ー
(1) 次の場合には演算エラーとなり,エラーフラグ(SM0)がONし,エラーコードがSD0に格納さ
れます。
・nで指定したループNo.が存在しないとき。
(エラーコード:4100)
・nが1∼32以外のとき
(エラーコード:4100)
8 - 9
9.
PID制御用プログラム例
9.PID制御用プログラム例
9
MELSEC-QnA
PID制御用プログラム例
PID制御を行うためのシーケンスプログラム例について説明します。
9.1 プログラム例におけるシステム構成
9.2項,9.3項のプログラム例のシステム構成を下記に示します。
QnACPU
PID演算
ループ1
A62DA
PV
MV
A68AD
CH.1
外部機器
CH.1
CH.2
外部機器
CH.2
AD57
CRT
PID演算
ループ2
MV
PV
PID制御状態モニタ
A68ADの入出力番号 ……… X/Y80∼X/Y9F
A62DAの入出力番号 ……… X/YA0∼X/YBF
AD57 の入出力番号 ……… X/YC0∼X/YFF
9 - 1
9.PID制御用プログラム例
MELSEC-QnA
9.2 自動モードによるPID制御用プログラム例
A68ADから取り込んだディジタル値をPV値としてPID演算を行い,PID演算により求めたMV値
をA62DAから出力して,外部機器を制御するプログラム例を示します。
プログラム条件
(1) システム構成については,9.1項を参照してください。
(2) PID演算を行うループ数は,2本とする。
(3) サンプリング周期は,1秒とする。
(4) PID制御用データは,下記デバイスに設定する。*1
共通データ …………………………… D500∼D501
ループ1用データ ……………………… D502∼D511
ループ2用データ ……………………… D512∼D521
(5) 入出力データは,下記デバイスに設定する。*2
共通データ …………………………… D600∼D609
ループ1用データ ……………………… D610∼D627
ループ2用データ ……………………… D628∼D645
(6) ループ1,ループ2のSV値は,シーケンスプログラムで下記値に設定。
ループ1 ………………………………… 600
ループ2 ………………………………… 1000
(7) PID制御の開始/中止,およびAD57へのモニタ指令には,次に示すデバイスを使用する。
PID制御開始指令 ……………………… X0
PID制御中止指令 ……………………… X1
AD57へのモニタ指令 ………………… X2
(8) A68AD,A62DAのディジタル値は,それぞれ0∼2000に設定する。
備 考
1)*1:PID制御用データについては,5.1項を参照ください。
2)*2:入出力データについては,5.2項を参照ください。
9 - 2
9.PID制御用プログラム例
MELSEC-QnA
プログラム例
使用ループ数を2ループに
設定
1スキャンの実行ループ数を
2ループに設定
PID制御デー
タにおける
共通データ
の設定
演算式を正動作に設定
サンプリング周期を1秒に設定
比例定数を1に設定
積分定数を3000sに設定
微分定数を0sに設定
フィルタ係数を0%に設定
操作量下限値を0に設定
操作量上限値を2000に設定
操作量変化率リミット値を2000
に設定
測定値変化率リミット値を2000
に設定
9 - 3
ループ1に対
するPID制御
データの設
定
9.PID制御用プログラム例
MELSEC-QnA
演算式を逆動作に設定
サンプリング周期を1秒
に設定
比例定数を1に設定
積分定数を3000sに設定
微分定数を0sに設定
フィルタ係数を0%に
設定
ループ2に対す
るPID制御デー
タの設定
操作量下限値を0に
設定
操作量上限値を2000に
設定
操作量変化率リミット値
を2000に設定
測定値変化率リミット値
を2000に設定
D500∼D521に設定されているPID制御
データの設定を行う。
入出力データに
初回処理フラグを0に
おける共通デー
設定
タの設定
SV値を600に設定
自動モードを設定
SV値を1000に設定
自動モードを設定
ループ1に対す
る入出力データ
の設定
ループ2に対す
る入出力データ
の設定
PID演算開始指令
*
A68ADよりPV値の読出し
PV値を入出力データエリアに設定
(ループ1用)
PV値を入出力データエリアに設定
(ループ2用)
PID演算
備 考
1)*:特殊機能ユニットデバイスを使用して,プログラムを作成することもできます。
特殊機能ユニットデバイスを使用した場合は,下図のようになります。
M0
DMOV
U8¥G10
9 - 4
D100
9.PID制御用プログラム例
MELSEC-QnA
A62DAの出力イネーブルをON
ループ1,ループ2のMV値を
A62DAに書き込む。
*
PID演算中止
初期画面表示要求の設定
AD57へのモニタ
を行う。
備 考
1)*:特殊機能ユニットデバイスを使用して,プログラムを作成することもできます。
特殊機能ユニットデバイスを使用した場合は,下図のようになります。
DMOV
D110
9 - 5
U0A¥G0
9.PID制御用プログラム例
MELSEC-QnA
→手動モード切換え時のプログラム例
9.3 自動モード←
自動モード,手動モードを切り換えながらPID演算を行うプログラム例について説明します。
プログラム条件
(1) システム構成については,9.1項を参照してください。
(2) PID演算を行うループ数は,1本とする。
(3) サンプリング周期は,1秒とする。
(4) PID制御用データは,下記デバイスに設定する。
共通データ ……………………… D500∼D501
ループ1用データ ………………… D502∼D511
(5) 入出力データは,下記デバイスに設定する。
共通データ ……………………… D600∼D609
ループ1用データ ………………… D610∼D627
(6) SV値,および手動モード時のMV値は,外部のディジタルスイッチにより設定する。
SV値 ……………………………… X30∼X3F
MV値(手動モード時) ………… X20∼X2F
(7) PID制御の開始/中止,および自動/手動切換え指令には,次に示すデバイスを使用する。
PID制御開始指令 ………………… X0
PID制御中止指令 ………………… X1
AD57へのモニタ指令 …………… X2
SV値設定指令 …………………… X3
手動モード時のMV値設定指令 … X4
自動/手動切換え指令 ………… X6(OFF:自動モード,ON:手動モード)
(8) A68AD,A62DAのディジタル値は,それぞれ0∼2000に設定する。
(9) 自動モードから手動モードに切り換えると,PID演算時に自動的にSV値がPV値に書き変わ
るため,手動モードから自動モードに戻す場合は,SV値を手動モードに切り換える前に自
動モードで制御していたときの値に書き換える。
ただしSV値は1度に書き換えずに,次に示すように10回に分けて段階的に行う。
自動モード時のSV値
手動→自動
切換え指令
手動モード時のSV値
1秒 1秒 1秒 1秒
10秒
SV値の書換えにおける演算方法は,次のとおりとする。
手動モード
自動モード
──
時のSV値
時のSV値
───────────────────── = 加算値 ……… 余り
10
SV値の加算は,上記式の“加算値”を1秒ごとに加算する。“余り”は,1回目の加算時に同
時に加算する。
9 - 6
9.PID制御用プログラム例
MELSEC-QnA
プログラム例
使用ループ数を1ループに
設定
1スキャンの実行ループ数を
1ループに設定
PID制御データ
における共通
データの設定
演算式を正動作に設定
サンプリング周期を1秒に
設定
比例定数を1に設定
積分定数を3000sに設定
微分定数を0sに設定
フィルタ係数を0%に設定
ループ1に対す
るPID制御デー
タの設定
操作量下限値を0に設定
操作量上限値を2000に設定
操作量変化率リミット値を
2000に設定
測定値変化率リミット値を
2000に設定
D500∼D511に設定されているPID制御データの
設定を行う。
初回処理フラグを0に設定
外部からSV値を入力する。
入出力データ
の設定
手動→自動切換え処理用にSV値を保管する。
PID演算開始指令
A68ADからPV値を読み出す。
手動モードに設定
手動→自動切換え処理用
に使用するデバイスのリ
セット
手動モードに
おける処理
外部からMV値をセット
9 - 7
9.PID制御用プログラム例
MELSEC-QnA
自動モードに設定
手動→自動切換え指令
手動→自動切換え指令ON後,PID演算を行う
ことにより初めて自動モードに切り換わる
ため,自動モードに切り換わる時間のずれ
を考慮して,手動→自動切換え処理(169ス
テップ∼210ステップ)を実行する。
(自動モード時のPV値)−(現在のPV値)
10
を演算し商をD215に,余りをD216に格納す
る。
1秒間隔で処理を行うため
の指令
回数のカウント
商をPV値に加減算する
自動モードのPV
値に戻すための
処理
1回目のみ余りをPV値に
加減算する。
手動→自動切換え処理の終了
手動モード時,自動モード時のどちらでも
PID演算を行う。
A62DAの出力イネーブルをON
A62DAへMV値を出力する。
PID演算中止
AD57によるモニタ
9 - 8
付 録
付 録
付
MELSEC-QnA
録
付1 処理時間一覧
PID制御用命令の処理時間を示します。
命令名
Q4ACPU
処理時間(μs)
Q3ACPU
Q2ACPU(S1)
1ループ
23
46
61
32ループ
153
306
407
初回
80
159
211
2回目以降
68
136
181
初回
1912
3824
5086
2回目以降
1840
3680
4894
初回
3620
7240
9629
2回目以降
228
456
606
初回
3635
7270
9669
2回目以降
1398
2796
3719
4.2
8.4
11.2
13
26
36
条 件
PIDINT
1ループ
PIDCONT
32ループ
1ループ
PID57
8ループ
PIDSTOP
PIDRUN
1ループ
PIDPRMW
付 - 1