Siemens S 7 -1200定圧力給水用PID閉ループ制御手順(TIA Portalエンジニアリング)·完全な逆解析と手動計算PIDの詳細な説明
前に書く:この逆分析が読む価値がある理由
“定圧給水”についての記事はたくさんありますが、ほとんどは“回路図+スクリーンショット”にとどまっています。君に直接写写したり変えたりできる工事は与えられない。
このプロジェクトは異なります-それは一つです。真の、完全なソースコード、完全な変数中国語S 7 -1200定圧力給水PIDクローズドループプログラム。ハードウェア、OB/FB/DB、コントローラの各々の変数(値、フィードバック値、比例、、、前回、デッドゾーン、上下下限)はっきりとしている。これはファイルを分解します。どのPLCを使用しますか?PIDの計算方法は?アナログ変換のスケールは?I/Oはどうですか?パラメータの設定方法は?
完了すると、セットがもらえます。直接再利用可能な定圧給水PID制御の考え方“変数マップ”もあります。あなたがコミュニティ給水、建物給水、工場の定圧補水、冷却循環水を行いたい場合は、この手順を直接参照することができます。
まず、プロジェクトの実態を明確にする(タイトルに惑わされないように)
このようなプロジェクトをダウンロードするのが最も簡単です。文書化に基づいて、まず事実を明確にします。
| # | ラベル/Proposal Statement | 実際に読んだこと | 影響力 |
|---|---|---|---|
| 1 | S 7 -1200定圧給水の実現 | プロジェクトの内部はTIAポータルプロジェクト(.ap14+System/PEData.plf(CPUの測定値はS7-1200 CPU 1214C DC/DC/DC 6ES 7 214-1AG40- 0XB0、ファームウェアV4.1 | 必要です。TIA Portal(ポータル)開く; STEP 7 V5.xは使用できません |
| 2 | “完全なエンジニアリング文書” | 完全なハードウェア構成、OB1、FB“PID_1”、DB1/DB 2、SCLで手書きされたPID、中国語変数 | コンパイル可能、ダウンロード可能、実行可能、“完全なプロジェクト” |
| 3 | PIDクローズドループ制御 | PIDは既存のPID_CompactCommandではなく、FB“PID_1”にSCLで手書きしたインクリメンタルPID(比例/積分/誤差/デッドゾーン/上限と下限を含む) | ロジックは透明で、変更可能で、学習可能で、ブラックボックスCommandよりも教育や二次開発に適しています。 |
一言で言えばこれはセットですS 7 -1200 + TIA Portalの定圧給水PIDプロジェクト、手書きPID、注釈/変数。タイトルが“S 7 -1200定圧力給水ルーチン”と書かれているだけでは正確ではないので、この記事は実際の形で命名されます。
ハードウェアとシステムアーキテクチャ(1つの図で理解できる)
2.1コントローラと信号ボード
- CPU:
CPU 1214C DC/DC/DC6ES7 214-1AG40- 0XB0、ファームウェアV4.1--14点デジタル入力、10 点デジタル出力(トランジスタ)2つのオンボードアナログ入力(0 ~ 10 V、10ビット)。 - シグナルボードSB:
SB1232(6ES7 232-4HA30-0XB0)CPUの上に取り付けられたアナログ出力1ウェイ(12ビット)周波数コンバータに周波数コマンドを送信します。 - プロジェクト名:
PID閉ループ演算定圧力給水TIA Portalのオリジナル版V14(STEP 7 Basic 14.00.01.00)2018-10年にV 15にアップグレードされた。
2.2フィールド計測器とアクチュエータ
| 設備は | インターフェース | 役割は |
|---|---|---|
| 圧力トランスミッタ(4 20/0 10 V) | CPUオンボードアナログ入力%IW64 | 給水管網圧力の検出→ PIDフィードバック値 |
| 周波数変換器(VFD)×1(2まで拡張可能) | 信号板アナログ出力%QW80(コードで引用されている。%QW200) | 0 10 V / 4 20 mAの周波数コマンドを受信し、ポンプの回転速度を調整する |
| ポンプモーター | 周波数変換器でドラッグするモーター | アクチュエータ、速度は流量と圧力を決定する |
| (オプション)HMI /タッチスクリーン | Ethernet(CPUはPRO FINETポートを搭載) | 目標圧力の設定、リアルタイム圧力の表示、手動/自動切り替え |
システムアーキテクチャの概要:
圧力トランスミッタ4 ~ 20
略称はIW64。
▼ ▼ ▼
�������������
S 7 -1200 CPU 1214 C │ │ │
│ OB1メインサイクル │ │ │
│ │ │ FB“PID_1”を呼び出す │ │ │ インクリメンタルPID(SCL手書き)
│ │ │ 設定値-フィードバック値 │ │ │
│ │ │ → 比例+積分+デッドゾーン
│ │ │ →制限[下限、上限] │
└ ── ── ── ── ── ┬─ ── ── ── ── ── ┘
% QW80 SB1232AO
▼ ▼ ▼
周波数変換器VFD--→ポンプモータ
│ │ │
給水管網圧力--圧力トランスミッタへの閉ループフィードバックエンジニアリングのポイント“これは典型的なことです。シングル圧力センサ+シングル/デュアル周波数コンバータ+ PID速度制御“定圧給水構造”PID出力はインバータ周波数を駆動し、インバータはポンプ速度を調整し、速度は流量を変更し、流量は配管ネットワーク圧力を変更し、圧力はPIDにフィードバックされます。
プログラム構造全体の概要:OB / FB / DB
3.1組織ブロックOB(スキャンスケジュール)
| OB | タイプの種類 | 本プロジェクトにおける役割(ブロック構造から推定) |
|---|---|---|
| OB1 | メインプログラムのスイープ/サイクルMain Program Sweep / Cycle | 圧力アナログを読み取り、スケール変換を行い、FB“PID_1”に設定値とフィードバック値を供給し、PID出力スケールをアナログ出力に書き込みます。 |
| (OB100などの起動クラスOBは、このシンエンジニアリングではevidentではありません) | — | このルーチンは、PID閉ループに焦点を当てた最小利用可能な工程であり、主論理はOB1に集中する。 |
3.2機能ブロックFB“PID_1”--プロジェクトの最も貴重な部分
FB“PID_1”のインタフェース変数を工程データベースから完全に抽出した中国語のName。これは手書きのPIDコントローラの“部品リスト”です。
| 変数(中国語) | 意味の意味 | PID数式での役割 |
|---|---|---|
| 設定値の設定 | 目標圧力(例えば0.40 MPa) | PIDの値r k |
| フィードバック値 | 実際の圧力(圧力トランスミッタのスケール後の値) | PIDのプロセス値/フィードバックy k |
| p値は | 比例利得Kp | スケール項係数 |
| インテグリティ | 積分項の累積値 | 定常偏差の除去 |
| 現在の誤差 | e k =設定値−フィードバック値 | このサイクルの偏差 |
| 最後のエラー | e(k−1) | 前サイクル偏差増分PID必須 |
| 現在の出力値の計算 | u(k) | 本周期コントローラ出力 |
| 最終出力値の計算 | u(k−1) | アップサイクル出力(インクリメンタル累積用) |
| フィードバック·プロシージャ値の一時記憶{{ふぃーどぷろしーじゃあたいのてんぽれーとれーと}}/出力プロシージャ値一時記憶{{しゅつりょくぷろしーじゃあたいてんぽらめすとあど}} | 中間バッファ | スケール/フィルタの中間量 |
| 出力制御値/PID出力 | 最終的に周波数コンバータに送られる制御量 | 制限後の実装 |
| PIDデッドゾーン | デッドゾーン帯域幅 | 偏差がデッドゾーンより小さいときは出力を維持し、ジッタ防止 |
| PIDの上限/PIDの最小値 | 出力制限の設定 | 周波数コマンドを0 100%/ 0 10V区間に制限 |
結論:結論変数の命名はアルゴリズムの形態を直接公開します。“現在の誤差/最後の誤差”“現在の出力値を計算/最後の出力値を計算”が典型的です。インクリメンタル(速度)PID同時に、“ポイント”と“デッドゾーン”、“上限と下限”の項目を維持することは、産業現場で最も安全で手ブレ防止の書き方です。
3.3データブロックDB
- DB1FB“PID_1”バックグラウンド·ブロック(Instance DB)上記のすべての静的変数を保存する。
- DB2:データDB設定値、比率/積分パラメータ、上限と下限、デッドゾーンなどの“レシピ/パラメータ”を格納し、HMIの変更と調整を容易にします。
コアアルゴリズム:手書きインクリメンタルPID(変数ごとの分解)
以下のロジックはFB“PID_1”の変数命名と構造から来ており、推測ではない。以下は、これらの変数に対応する標準的な増分PIDの書き方(SCLのアイデア)を示します。
4.1インクリメンタルPID 公式
エラー e(k) =設定値-フィードバック値 現在の誤差 前回のエラー e k-1 =現在の誤差前周期 【前回のエラー】 スケールアイテム Pは = p値× e k-e k-1 積分項 インテグリティ =積分+ Ki × e k //積分加算(静止差をなくす) インクリメンタルエクスポートProdName Δu k = P +積分 // (微分が必要な場合はKd項を追加) 今回の輸出は、PowerPath u(k) = u k-1 + Δu k //現在の出力値の計算=最後の出力値の計算+増分
- デッドゾーン処理:
IF ABS e k lt; PIDデッドゾーンTHEN Δu k = 0(偏差が小さすぎると調整されず、設定点付近でポンプが頻繁に振動するのを防ぎます。 - 限界値の設定:
u k = IT下限、u k、上限(周波数コマンドを0 100%/ 0 10Vの范囲にロックし、デバイスをする)。 - スクロールストレージ::取る
e(k)“前回のエラー”の場合、u(k)“前回出力値の計算”を入金し、次のサイクルに供します。
4.2なぜ場所ではなく増分なのか?
- 増分は単に“変化”です。コンピュータ/PLCが再起動しても、
u(k-1)バックグラウンドDBから復元すると、出力はフルスケールにジャンプしません。ポンプの安全性。 - 自然に優しい。出力被
- 手書きの利点。シーメンスよりも。
PID_CompactCommandはより透明でより良い変化フィードフォワード、ポンプスイッチ、スリープロジックを追加したい場合は、すべて自分の手にあります。
略称はS 7 -1200。
PID_Compactプロセスオブジェクト(このプロジェクトタイプのライブラリにも構造があります)は、“自分でアルゴリズムを書きたくない、自分で調整する”シナリオに適しています。手書きPIDそれは教育と二次開発のためです。どちらのルートも正しく、必要に応じて選択できます。
I/Oとアナログマッピング(キーアドレス一覧)
| アドレス:address | タイプの種類 | 意味の意味 | スケールの説明 |
|---|---|---|---|
| %IW64 | シミュレーション入力 | 圧力トランスミッタフィードバック | オンボードAI0(0 10 V / 4 20)、NORM_X →工事量(例:0.00 1.00) |
| %QW80 | アナログ出力。 | インバータ周波数コマンドメインポンプ | SB1232 AO(12ビット)、SCALE_Xは0 100%を0 27648 / 0 10Vにマッピングする |
| %QW200 | アナログ出力。 | No.2ウェイ周波数コマンドスペアポンプ/拡張 | コード内で参照され、“ドラッグ2/ダブルポンプ”拡張配線に対応しています。 |
| %MD20 / MD24 / MD28 / MD32 / MD36 / MD40 | グローバルメモリ | PID中間量(誤差、積分、出力ステージングなど) | スケール変換とクロスサイクルステージングに使用 |
アナログスケール変換(BOTU標準プラクティス):
//読み込みpressure_raw =圧力トランスミッタ% IW64; //標準化norm = NORM_X 1 //工事量フィードバック値ふぃーどーどうち = SCALE_X //0.0 0..。1.00 MPaは //出力out_norm = NORM_X MIN =0.0、MAX =100.0、=出力; // 0..。100パーセント //出力周波数変換器% QW80 = SCALE_X MIN = 0 MAX =27648 VALUE =out_norm; // 0..。27648
主なポイント:S 7 -1200のアナログ入力はい0 27648 5530 27648、4 20 mA搭載、出力0すべての“工事”は通過します。
NORM_X / SCALE_Xこのペアは、圧力値と周波数パーセンテージが一致しないスケールされます。
六、定圧制御原理(闭ループブロック図+フロー)
6.1クローズドループ制御ブロック図
�������������� 設定値の設定 ‥ ― ― ― ― ― ― ― ― ― ― PID出力 ������������ 周波数の問題 ������ フローの流れ
│ HMIさん │------------------│ │---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
その― ― ― ― ― ― ― ― ― ― ― ― ― ― ― │ FB“PID_1”│ │器です。 │ │ │ その― ― ― ― ― ― ― ― ― ― ― ― │ │ │
インクリメンタルPID │ その― ― ― ― ― ― ― ― ― ― ― ― ― ― ― │ │ │
フィードバック値α α α β β β β β β β β β β β β β β β │ ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ―
−圧力トランスミッタ(% IW64)−誤差=セット−ペッチ6.2 1つのフルデューティサイクル(OB1で起こること)
1.サンプリングサンプリング::読書%IW64→NORM_X/SCALE_X→“フィードバック値”(実際の配管網圧力)を取得します。2.比較する。:現在の誤差=設定値-フィードバック値。 3.オペレーショナルFB“PID_1”インクリメント、累積積分、デッドゾーン、リミットを計算し、PID出力/出力制御値を取得します。4.実装は:PID出力→NORM_X/SCALE_X→ write%QW80ポンプ速度を調整する周波数コンバータ。5.閉ループ水消費量が多い→圧力低下→誤差が大きくなる→ PID周波数上昇→ 流量増加→圧力安定;水消費量が少ない→逆に周波数低下。6.ロールアウト:このサイクルの誤差/出力を“前回の誤差/前回の出力値の計算”に格納し、次のサイクルに進みます。
これが“定電圧”の本質です。ポンプをフルスピードに保つのではなく、パイプネットワーク圧力を設定値付近で一定にする水のvalueが変わると自動的に調整。給水を確保し、電力周波数よりも高い。20%~ 50%の省電力また、ソフトスタートソフトストップ、ポンプ寿命の延長も可能です。
プロジェクトのハイライト:7つの再利用可能な実戦経験
1.PID手書き、変数すべて中国語:設定値/フィードバック値/比例/積分/誤差/デッドゾーン/上下、一目で、ゼロしきい値の二次開発。2.インクリメンタルPID +リミット::アンチ積分飽和、アンチ再起動ジャンプ、ポンプのための最も安全です。3.デッドゾーン設計偏差がデッドゾーンよりも小さいときに出力を維持し、設定点付近でのポンプの頻繁な起動/Stopを回避します。4.DB 2のパラメータKp、積分、上限と下限、デッドゾーンはデータブロック内にあり、HMIは直接変更され、プログラムを動かさずに調整されます。5.シミュレーション全体スケール:NORM_X/SCALE_Xチャネル値をエンジニアリングvalueに変換し、圧力/周波数を視覚的に表示します。6.デュアル出力予約:%QW80+%QW2002つのアナログ、自然にサポート“1つの2つのバックアップポンプ”拡張。7.構造ミニマルフォーカスOB1 + FB“PID_1”+ DB1/DB 2、冗長ブロックなし、初心者でも一目で理解できます。
PIDを開く、実行する、設定する方法
1.ソフトウェアソフトウェア:TIA Portal V 14以上(このプロジェクトはV 14からV 15にアップグレードされ、V 15/V 16/V 17で開くことができ、自動的に移行されます。2.開けて。プロジェクトを開き、選択します。PID閉ループ演算定圧力給水. ap 14。 3.ハードウェアの確認CPUの選択6ES7 214-1AG40-0XB0(または同シリーズ)、信号板掛けSB1232(6ES7 232-4HA30-0XB0)ハードウェアモデルが異なる場合は、注文番号を変更してから再コンパイルできます。4.配線接続。:圧力トランスミッタ4 ~ 20 mAをCPUオンボードAI0(アドレス% IW64)に接続し、SB1232 AO(% QW80)をインバータアナログ周波数入力に接続します。5.ダウンロードダウンロードハードウェア設定を実行し、OB1 / FB“PID_1”/ DB1 /DB 2を実行し、PLCを実行します。6.PID調整(現場でのスピーチ):
- 最初に。0 = 0、デッドゾーンが小さいただ投票するだけ。p値の割合小さいものから大きいものまで、“圧力は設定値に近いが激しく振動しない”ものまで。
- さらに追加。インテグリティ定常偏差を排除する(圧力は常に積分を増加させるために少し行かない);
- 調整する。PIDデッドゾーン設定点付近での小さなジッタの除去;
- 最後のセット。PIDの上限 / 下限(例:0 100%)、周波数超過を防止します。
7.拡張遅延2。::ポンプを取る。%QW200メインポンプが50 Hzまで圧力が不十分な場合に2番目のポンプを切断/注入します(スイッチングロジックはOB1リガで簡単に実現できます)。
エンジニアへの2つのアドバイス
- “ルーチン”という言葉に惑わされないでください。このルーチンのPIDは手書きの増分多くの“PID_Compactをドラッグして完了”プロジェクトよりも学習や変更に適しています。フィードフォワード、ポンプ切り替え、スリープを自分のコードで行いたい。
- シミュレーションはスケールが必要です。:初心者が最も頻繁に踏むピットは、“読み取りは0 27648が直接圧力に使用されます”“出力は係数インバータが回転しません”です。必ず使用する。
NORM_X/SCALE_X仕事のvalueが多い。 - 4 ~ 20 mAの断線に注意圧力トランスミッタが切断されると、AIは5530または0に落ち、PIDは“圧力は0”とフル周波数出力を誤って判断します。実用的なプロジェクトを追加断検出+ 故障周波数限/ポンプStop保護(この簡易ルーチンには含まれていません。オンラインになる前に必ず修正してください。
10.よくある質問FAQ
Q 1:S 7 -1200定圧力給水プログラムはどのソフトウェアで開きますか?A:使うTIA Portal(ポータル)開けて。.ap14プロジェクト(V 14以降、自動的に移行されます)これはTIAプロジェクトであり、STEP 7 V 5.xでは動作しません。
Q 2:定圧給水のPIDはどのように制御されますか?A:圧力トランスミッタは、パイプネットワーク圧力(フィードバック値)を測定し、設定値と比較して誤差を比較します。FB“PID_1”は、インバータ調整ポンプ速度へのアナログ出力を介して、設定値付近の圧力を一定にします。水量変更→自動速度調節。
Q 3:S 7 -1200はどのように圧力トランスミッタ(4 20 mA)に接続しますか?A:トランスミッタはCPUオンボードアナログ入力(このプロジェクト% IW64)に接続され、プログラムで使用されます。NORM_X/SCALE_X5530 27648を工程量圧力例えば0.00 1.00にマッピングする。
Q 4:PID_Compactと手書きPIDはどちらを選ぶべきですか?A:PID_Compactシーメンス独自のプロセスオブジェクト、自己調整、手間を省くことです。手書きのPID(プロジェクトFB“PID_1”など)は、より透明でカスタマイズ可能で、より良い教育です。。学習/二次開発者はPIDを書き、PID_Compactを使用します。
Q 5:ストレスが常に安定していない場合は?A:まず比率p値(大きすぎて振動しやすく、応答が遅すぎる)を調整し、積分ノイズdifferenceを加えて最後に使用します。PIDデッドゾーン設定点付近のジッタを除去し、出力を制限します。
Q 6:ダブルポンプ定圧力給水を変更することができますか?A:できます。2番目のアナログ出力を予約しています。%QW200メインポンプが50 Hzまで圧力不足の場合にポンプを供給すればよく、切り替えロジックはOB1リガで実現されます。
11.結論+リソース
このS 7 -1200定圧力給水PIDプロジェクトのセットは、珍しい、変数すべて中国語、PID手書きの透明なサンプルこれは、インクリメンタルPIDを使用してクローズドループを行い、デッドゾーン+リミットセキュリティを確保し、データブロックストレージパラメータを使用して簡単に調整し、デュアルアナログ出力予約拡張を使用して、コミュニティ/建物/工場の定電圧給水、冷却循環水、定電圧補水エンジニアのための非常に参考価値があります。
* この記事の結論はすべてエンジニアリング文書からのものです(.ap14プロジェクトメタデータ+System/PEData.plf内部データベース)のファイルごとのParse、ハードウェアモデル、ブロック構造、FB“PID_1”インタフェース変数、I/Oアドレスは、外部からの推測なしに直接抽出されます。
Leave a Reply