女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

西門子增量式PID算法帶積分分離

工控論壇 ? 來源:工控論壇 ? 2024-12-07 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

西門子增量式帶積分分離PID控制器是一種改進的PID控制算法,它結合了增量式PID和積分分離的優點。這種控制器在處理某些特定類型的控制問題時特別有效,尤其是在需要快速響應且避免積分飽和的情況下。下面我將解釋其作用、應用場合以及如何使用SCL(Structured Control Language)在FB(Function Block)中封裝這樣的PID控制器。 一、作用
  1. 增量式PID:增量式PID控制器計算的是輸出的變化量,而不是絕對值。這使得控制器更加穩定,特別是在系統受到擾動時。增量式PID通過以下公式計算:

    3306ea58-b249-11ef-93f3-92fbcf53809c.png

  2. 積分分離:積分分離是指在誤差較大時關閉積分項,以防止積分飽和。當誤差較小或接近零時,再啟用積分項,以消除穩態誤差。這樣可以提高系統的響應速度,并減少超調。

二、應用場合
  1. 過程控制系統:在化工、制藥、食品加工等行業的溫度、壓力、流量控制中,增量式帶積分分離PID可以提供更好的控制性能。

  2. 機械系統:在伺服電機、液壓系統等需要精確位置控制的應用中,這種PID控制器可以提高系統的響應速度和穩定性。

  3. 電力系統:在發電機調速、電壓調節等電力系統控制中,可以有效減少超調和振蕩。

  4. 機器人控制:在機器人關節控制、軌跡跟蹤等應用中,可以提高控制精度和響應速度。

三、SCL FB塊封裝 下面是一個使用SCL語言封裝的增量式帶積分分離PID控制器的示例。這個FB塊可以用于西門子S7-1200/1500系列PLC

3364510c-b249-11ef-93f3-92fbcf53809c.png

(**************************************************************************

FunctionBlockName: PID-FB塊 * Version: 1.0.0 * Author: 王同學玩工控 * UpdateTime: 2024-11-30 * Comment:

簡單說明:

積分分離:

1、當誤差大于閾值的時候關閉積分項此時只有PD在作用 系統快速動作

2、當誤差小于或等于閾值的時候打開積分項開始累計誤差 系統緩慢調整

死區控制:當死區設置為 1 時 目標值為 36 系統在35-36之間進入死區停止PID的運算 且輸出值不變 當系統大于36或小于35的時候系統開始進行PID運算

正動作逆動作:當外部輸入引腳為 1 時 系統為正動作 為 0 時 系統為逆動作

Setpoint 目標設定值 Feedback 實際反饋值 Kp 比例增益 Ti 積分時間ms Td 微分時間ms Max_output 輸出限幅最大值 Min_output 輸出限幅最小值 Dead_Band 死區控制 Control_Mode 正動作逆動作(0/1) Mode 輸出模式選擇(0/1) integral_separate 閥值 PWM_output pwm輸出 Analog_output 模擬量輸出

***************************************************************************)

#error := #Setpoint -#Feedback; //計算誤差 IF #error > ( 0 - #Dead_Band )AND #error < #Dead_Band THEN ? ?? ? ? #data_relay[2] := 1; ? ? #last_error := #error;? ? ?//上次誤差更新 ? ? #prev_error := #last_error;? ? //上上次誤差更新 ? ?? ELSE #data_relay[2] := 0; END_IF;

IF #data_relay[2] = 0 THEN IF ABS(#error) <= #integral_separate THEN ? ? ? ?? ? ? ? ? #data_relay[1] := 1; ? ? END_IF; ? ?? ? ? IF ABS(#error) > #integral_separate THEN #data_relay[1] := 0; END_IF; #P_term := #Kp * (#error - #last_error); //比例系數計算 #I_term := #data_relay[1] * (#Ki * #error); //積分系數計算 #D_term := #Kd * (#error - 2 * #last_error + #prev_error); //微分系數計算 #delta_output := #P_term + #I_term + #D_term; //增量式PID輸出值 #rdata_realy[0] += #delta_output; //最終輸出值

#Max_data_relay := 100.0; //限幅處理最大值 #Min_data_relay := 0.0; //限幅處理最小值 IF #Control_Mode THEN// 正動作 IF #rdata_realy[0] > #Max_data_relay THEN #rdata_realy[0] := #Max_data_relay; END_IF; IF #rdata_realy[0] < #Min_data_relay THEN ? ? ? ? ? ?? ? ? ? ? ? ? #rdata_realy[0] := #Min_data_relay; ? ? ? ? ? ?? ? ? ? ? END_IF; ? ? ? ?? ? ? ELSE? // 逆動作 ? ? ? ?? ? ? ? ? #rdata_realy[0] := 0- #rdata_realy[0];? // 逆動作,反轉輸出范圍 ? ? ? ? IF #rdata_realy[0] > #Max_data_relay THEN #rdata_realy[0] := #Max_data_relay; END_IF; IF #rdata_realy[0] < #Min_data_relay THEN ? ? ? ? ? ?? ? ? ? ? ? ? #rdata_realy[0] := #Min_data_relay; ? ? ? ? ? ?? ? ? ? ? END_IF; ? ? END_IF; ? ? ?? ? ? #Analog_output? := ( #rdata_realy[0]? -#Min_data_relay ) / ( #Max_data_relay - #Min_data_relay)? * (#Max_output-#Min_output)+#Min_output; ? ?? END_IF;

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 西門子
    +關注

    關注

    98

    文章

    3149

    瀏覽量

    118021
  • PID算法
    +關注

    關注

    2

    文章

    172

    瀏覽量

    24879

原文標題:西門子增量式PID算法帶積分分離

文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    經典PID控制器的積分分離優化算法

    與改進。這一節我們首先來討論針對積分項的積分分離優化算法。 1 、基本思想 我們已經講述了PID控制引入積分主要是為了消除靜差,提高控制精度
    的頭像 發表于 11-04 14:24 ?7742次閱讀
    經典<b class='flag-5'>PID</b>控制器的<b class='flag-5'>積分分離</b>優化<b class='flag-5'>算法</b>

    限時免積分下載:增量與位置PID算法的C語言實現分享

    前面咱們有分享對PID算法離散化和增量PID算法原理進行來探索,之后又使用Matlab進行了仿
    發表于 03-05 18:32

    淺析位置PID增量PID算法

    位置PID增量PID算法通常依據控制器輸出與執行機構的對應關系,將基本數字
    發表于 01-15 18:35

    跪求用labview編寫的各種控制算法的子VI,比如前反饋pid積分分離和模糊控制等。

    跪求用labview編寫的各種控制算法的子VI,比如前反饋pid積分分離和模糊控制等。
    發表于 01-22 22:50

    PID控制器開發筆記之二:積分分離PID控制器的實現

    的描述,來實現基于積分分離PID算法實現,同樣是包括位置型和增量型兩種實現方式。首先我們來看一下算法的實現過程,具體的流程圖如下: 有上圖
    發表于 04-28 23:33

    在STM32如何去實現增量PID算法

    盡快進入狀態。特地分享一些自己如何實現的過程。首先說說增量PID的公式,這個關系到MCU算法公式的書寫,實際上兩個公式的寫法是同一個公式變換來得,不同的是系數的差異。資料上比較多的是
    發表于 09-13 06:54

    PID算法增量算法

    這里的PID是指控制類的比例-積分-微分算法,而不是進程ID號。PID算法,不管是原理上,還是代碼上都比較簡單。主要運用在電機控制、開關電源
    發表于 09-13 06:06

    如何實現增量PID

    雖然PID不是什么牛逼的東西,但是真心希望以后剛剛接觸這塊的人能盡快進入狀態。特地分享一些自己如何實現的過程。首先說說增量PID的公式,這個關系到MCU
    發表于 09-13 08:19

    PID采樣時間精準控制的相關資料分享

    我們在用到PID算法時,有時候會使用積分分離的抗飽和算法,或是另一類屬于增量
    發表于 12-08 07:54

    基于積分分離PID控制的交流伺服系統

      1 引言   本文針對PID控制的特點,設計了一種積分分離的控制方法,即當系統誤差較大時,取消積分環節,避免由于積分累積引起系統較大的超調;當系統誤差較小時
    發表于 08-29 11:57 ?1011次閱讀
    基于<b class='flag-5'>積分分離</b><b class='flag-5'>PID</b>控制的交流伺服系統

    積分分離PID算法在橫機控制器中的應用

    針對電腦橫機,設計了一個基于積分分離PID算法的變頻調速控制器,給出了該控制器的總體硬件結構框圖,其中詳細介紹了轉速控制模塊和轉速檢測模塊,提出了其算法的設計思想及其
    發表于 06-16 19:36 ?45次下載
    <b class='flag-5'>積分分離</b><b class='flag-5'>PID</b><b class='flag-5'>算法</b>在橫機控制器中的應用

    增量PID控制算法

    增量PID控制算法-2011,有需要的下來看看。
    發表于 04-01 14:54 ?30次下載

    西門子PLC教程之PID編程資料

    西門子PLC關于PID編程資料
    發表于 12-20 10:30 ?77次下載

    PID控制算法的C語言實現

    、效果展示4、積分分離PID控制算法4.1、代碼實現4.2、效果圖5、工程文件下載1、PID算法簡介emsp;?
    發表于 01-13 13:39 ?45次下載
    <b class='flag-5'>PID</b>控制<b class='flag-5'>算法</b>的C語言實現

    西門子PLC S7-200 SMART PID控制功能分享

    S7-200 SMART采用了新型的設計方法,信號板可以擴展通訊接口,數字量接口,模擬量接口,并且能合理的分配空間。西門子PLC S7-200 SMART具有PID控制功能,為用戶在自動化驅動控制系統
    的頭像 發表于 04-06 14:46 ?1.1w次閱讀