S 7 -1200定電圧給水PID制御の実践:ハードウェア選択、プログラム構造、完全なガイド(実際のエンジニアリングケース)

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Siemens S 7 -1200定圧力給水用PID閉ループ制御手順(TIA Portalエンジニアリング)·完全な逆解析と手動計算PIDの詳細な説明


前に書く:この逆分析が読む価値がある理由

“定圧給水”についての記事はたくさんありますが、ほとんどは“回路図+スクリーンショット”にとどまっています。君に直接写写したり変えたりできる工事は与えられない

このプロジェクトは異なります-それは一つです。真の、完全なソースコード、完全な変数中国語S 7 -1200定圧力給水PIDクローズドループプログラム。ハードウェア、OB/FB/DB、コントローラの各々の変数(値、フィードバック値、比例、、、前回、デッドゾーン、上下下限)はっきりとしている。これはファイルを分解します。どのPLCを使用しますか?PIDの計算方法は?アナログ変換のスケールは?I/Oはどうですか?パラメータの設定方法は?

完了すると、セットがもらえます。直接再利用可能な定圧給水PID制御の考え方“変数マップ”もあります。あなたがコミュニティ給水、建物給水、工場の定圧補水、冷却循環水を行いたい場合は、この手順を直接参照することができます。


まず、プロジェクトの実態を明確にする(タイトルに惑わされないように)

このようなプロジェクトをダウンロードするのが最も簡単です。文書化に基づいて、まず事実を明確にします。

#ラベル/Proposal Statement実際に読んだこと影響力
1S 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、中国語変数コンパイル可能、ダウンロード可能、実行可能、“完全なプロジェクト”
3PIDクローズドループ制御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(コードで引用されている。%QW2000 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.サンプリングサンプリング::読書%IW64NORM_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アドレスは、外部からの推測なしに直接抽出されます。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.