在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

西門子PID控制算法-FB塊封裝

工控論壇 ? 來源:工控論壇 ? 2024-12-30 11:01 ? 次閱讀

西門子PID控制算法-FB(功能塊)封裝主要應用于工業自動化和過程控制系統中,用于實現閉環控制。具體來說,它廣泛應用于需要維持某一設定值的過程變量,如溫度、壓力、流量、速度等的精確控制。

01主要應用場合

制造業:在制造過程中,許多參數如溫度、濕度、壓力等都需要被嚴格控制以確保產品質量。例如,在食品加工、化工生產、制藥等行業中,PID控制可以用來保持反應釜內的溫度穩定。能源管理:在電力、燃氣等能源供應系統中,通過PID控制可以有效地調節發電機組的輸出功率或供氣系統的壓力,以響應需求變化并減少能源浪費。暖通空調(HVAC):樓宇自動化的溫控系統中,PID控制器能夠根據室內溫度傳感器反饋的信息調整加熱器或冷卻器的工作狀態,從而達到節能的目的。水處理:污水處理廠利用PID控制來監控和調整各種水質參數,如pH值、溶解氧濃度等,確保排放標準達標。機器人技術:在機械臂的位置控制或者移動機器人的速度控制上,PID控制同樣扮演著重要角色。

02意義

高精度:相較于開環控制系統,PID控制能夠更準確地跟蹤設定點,減少誤差。

增強穩定性:通過對比例、積分、微分三個參數的適當調整,可以使控制系統更加穩定,避免過調或震蕩現象。

適應性強:即使面對負載變動或外部干擾,良好的PID調節也能保證系統快速恢復到期望的工作狀態。

簡化編程與維護:使用預封裝的功能塊進行開發,可以大大縮短編程時間,并且由于其模塊化特性,便于后期維護和調試。

綜上所述,西門子提供的PID控制算法-FB塊封裝為工程師提供了一種高效、可靠的方法來構建復雜的自動化控制系統,對于提升生產效率和產品質量有著重要意義。

03FB塊

56be69ac-c2c1-11ef-9310-92fbcf53809c.png

56d3360c-c2c1-11ef-9310-92fbcf53809c.png

56dbe716-c2c1-11ef-9310-92fbcf53809c.png

56ee26a6-c2c1-11ef-9310-92fbcf53809c.png

IF #COM_RST THEN //PID初始化 #sIanteilAlt := #I_ITLVAL; #LMN := 0.0; #QLMN_HLM := FALSE; #QLMN_LLM := FALSE; #LMN_P := 0.0; #LMN_I := 0.0; #LMN_D := 0.0; #LMN_PER := W#16#0; #PV := 0.0; #ER := 0.0; #sInvAlt := 0.0; #sRestlnt := 0.0; #sRestDif := 0.0; #sRueck := 0.0; #sLmn := 0.0; #sbArwHLmOn := FALSE; #sbArwLLmOn := FALSE; ELSE #rCYcle := DINT_TO_REAL(TIME_TO_DINT(#CYCLE)) / 1000.0; //采樣時間轉換為浮點數值 #Istwert:=DINT_TO_REAL(INT_TO_DINT(WORD_TO_INT(#PV_PER)))*0.003616898; #Istwert := #Istwert * #PV_FAC + #PV_OFF; //外設輸入轉換為浮點數值 IF NOT #PVPER_ON THEN //過程變量選擇 #Istwert := #PV_IN; END_IF; #PV := #Istwert; #ErKp := #SP_INT - #PV; //計算偏差 IF #ErKp<-#DEADB_W THEN ? ? ? ? #ER := #ErKp + #DEADB_W; ? ? ELSIF #ErKp>#DEADB_W THEN #ER := #ErKp - #DEADB_W; ELSE #ER := 0.0; END_IF; #ErKp := #ER * #GAIN;//偏差比例增益 #rTi := DINT_TO_REAL(TIME_TO_DINT(#TI)) / 1000.0; #rTd := DINT_TO_REAL(TIME_TO_DINT(#TD)) / 1000.0; #rTmLag := DINT_TO_REAL(TIME_TO_DINT(#TM_LAG)) / 1000.0; IF #rTi < #rCYcle*0.5 THEN //積分時間必須>=采樣時間的0.5倍 #rTi := #rCYcle * 0.5; END_IF; IF #rTd < #rCYcle THEN? //微分時間必須>=采樣時間 #rTd := #rCYcle; END_IF; IF #rTmLag<#rCYcle *0.5 THEN? //微分作用延時時間必須>=采樣時間的0.5倍 #rTmLag := #rCYcle * 0.5; END_IF; IF #P_SEL THEN //如果比例作用投入 #Panteil := #ErKp; ELSE #Panteil := 0.0; END_IF; IF #I_SEL THEN //如果積分作用投入 IF #I_ITL_ON THEN //積分初始化 #Ianteil := #I_ITLVAL; #sRestlnt := 0.0; ELSIF #MAN_ON THEN //手動值輸入時的積分量計算,用于手動切換自動無擾切換 #Ianteil := #sLmn - #Panteil - #DISV; #sRestlnt := 0.0; ELSE //積分計算 #Iant := (#rCYcle / #rTi) * (#ErKp + #sInvAlt) * 0.5 + #sRestlnt; IF ((#Iant>0.0 AND #sbArwHLmOn) OR #INT_HOLD) OR (#Iant<0.0 AND #sbArwLLmOn)? THEN ? ? ? ? ? ? ? ? #Iant := 0.0; ? ? ? ? ? ? END_IF; ? ? ? ? ? ? #Ianteil := #sIanteilAlt + #Iant;//當前積分值:=上時刻積分值+本次積分量 ? ? ? ? ? ? #sRestlnt := #sIanteilAlt - #Ianteil + #Iant; ? ? ? ? END_IF; ? ? ELSE ? ? ? ? #Ianteil := 0.0; ? ? ? ? #sRestlnt := 0.0; ? ? END_IF; ? ? #Diff := #ErKp; ? ? IF NOT #MAN_ON AND #D_SEL THEN? ?//如果微分投入作用 ? ? ? ? #Verstaerk := #rTd / (#rCYcle * 0.5 + #rTmLag); ? ? ? ? #Danteil := (#Diff - #sRueck) * #Verstaerk; ? ? ? ? #RueckAlt := #sRueck; ? ? ? ? #RueckDiff := #rCYcle / #rTd * #Danteil + #sRestDif; ? ? ? ? #sRueck := #RueckDiff + #RueckAlt; ? ? ? ? #sRestDif := #RueckAlt - #sRueck + #RueckDiff; //同積分一樣計算微分誤差量 ? ? ELSE ? ? ? ? #Danteil := 0.0; ? ? ? ? #sRestDif := 0.0; ? ? ? ? #Verstaerk := 0.0; ? ? ? ? #RueckAlt := 0.0; ? ? ? ? #RueckDiff := 0.0; ? ? ? ? #sRueck := 0.0; ? ? END_IF; ? ? IF #MAN_ON THEN? //如果PID手動值打開 ? ? ? ? #dLmn := #MAN; ? ? ELSE ? ? ? ? IF NOT #I_ITL_ON AND #I_SEL THEN //干擾量處理 ? ? ? ? ? ? IF #Ianteil> #LMN_HLM-#DISV AND #dLmn > #LMN_HLM AND #dLmn-#LMN_D>#LMN_HLM THEN #rVal := #LMN_HLM - #DISV; #gf := #dLmn - #LMN_HLM; #rVal := #Ianteil - #rVal; IF #rVal >#gf THEN #rVal := #gf; END_IF; #Ianteil := #Ianteil - #rVal; ELSIF #Ianteil<#LMN_LLM-#DISV AND #dLmn <#LMN_LLM AND #dLmn -#LMN_D<#LMN_HLM THEN ? ? ? ? ? ? ? ? #rVal := #LMN_LLM - #DISV; ? ? ? ? ? ? ? ? #gf := #dLmn - #LMN_LLM; ? ? ? ? ? ? ? ? #rVal := #Ianteil - #rVal; ? ? ? ? ? ? ? ? IF #rVal<#gf THEN ? ? ? ? ? ? ? ? ? ? #rVal := #gf; ? ? ? ? ? ? ? ? END_IF; ? ? ? ? ? ? ? ? #Ianteil := #Ianteil - #rVal; ? ? ? ? ? ? END_IF; ? ? ? ? END_IF; ? ? END_IF; ? ? #LMN_P := #Panteil; ? ? #LMN_I := #Ianteil; ? ? #LMN_D := #Danteil; ? ? #sInvAlt := #ErKp; ? ? #sIanteilAlt := #Ianteil; ? ? #sbArwHLmOn := FALSE; ? ? #sbArwLLmOn := FALSE; ? ? IF #dLmn >= #LMN_HLM THEN //如果到達調節量上限 #QLMN_HLM := TRUE; #QLMN_LLM := FALSE; #dLmn := #LMN_HLM; #sbArwHLmOn := TRUE; ELSE #QLMN_HLM := FALSE; IF #dLmn<=#LMN_LLM THEN? ?//如果到達調節量下限 ? ? ? ? ? ? #QLMN_LLM := TRUE; ? ? ? ? ? ? #dLmn := #LMN_LLM; ? ? ? ? ? ? #sbArwLLmOn := TRUE; ? ? ? ? ELSE ? ? ? ? ? ? #QLMN_LLM := FALSE; ? ? ? ? END_IF; ? ? END_IF; ? ? #sLmn := #dLmn; ? ? #dLmn := #dLmn * #LMN_FAC + #LMN_OFF; ? ? #LMN := #dLmn; ? ? #dLmn := #dLmn * 276.48; ? ? IF #dLmn >=32512.0 THEN #dLmn := 32512.0; ELSIF #dLmn <= -32512.0 THEN ? ? ? ? #dLmn := -32512.0; ? ? END_IF; ? ? #LMN_PER := INT_TO_WORD(DINT_TO_INT(REAL_TO_DINT(#dLmn))); ? ?? END_IF;

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

    關注

    126

    文章

    7924

    瀏覽量

    143028
  • 西門子
    +關注

    關注

    94

    文章

    3041

    瀏覽量

    115945
  • PID控制算法
    +關注

    關注

    1

    文章

    21

    瀏覽量

    10725

原文標題:西門子PID控制算法-FB塊封裝

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

收藏 人收藏

    評論

    相關推薦

    西門子PTO運動控制教程

    西門子PLC運動控制的3種控制方式。
    發表于 04-11 09:45 ?4832次閱讀

    西門子PLC編程中FB和FC的區別

    西門子PLC編程時,可以用到功能FB和功能FC(FB、FC都是組織)資料上說FB與FC都可
    發表于 06-20 10:54 ?1.6w次閱讀

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

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

    如何用一個FB在使用西門子1200PLC時候實現堆棧功能

    1.在使用西門子1200PLC時候需要堆棧功能,實現數據的先進先出后進后出功能,于是自己用SCL語言開發了一個FB來實現該功能。 2.該具有入棧,出棧,清空堆棧,顯示當前堆棧總數,
    的頭像 發表于 09-22 17:31 ?9404次閱讀
    如何用一個<b class='flag-5'>FB</b><b class='flag-5'>塊</b>在使用<b class='flag-5'>西門子</b>1200PLC時候實現堆棧功能

    西門子PLC的功能和功能

    本文檔的主要內容詳細介紹的是西門子PLC的功能和功能
    發表于 11-09 17:49 ?64次下載
    <b class='flag-5'>西門子</b>PLC的功能和功能<b class='flag-5'>塊</b>

    西門子S7-300實現PID控制

    西門子S7-300實現PID控制說明。
    發表于 04-22 11:21 ?30次下載

    西門子PLC FB41中PID功能說明和調整方法

    西門子PLC FB41中PID功能說明和調整方法說明。
    發表于 04-22 11:48 ?13次下載

    西門子SCL語言編程系列-寫立方根FB

    由于西門子PLC本身并沒有帶求立方根的指令,我們用SCL來寫一個求立方根的FB
    的頭像 發表于 02-06 15:17 ?1959次閱讀
    <b class='flag-5'>西門子</b>SCL語言編程系列-寫立方根<b class='flag-5'>FB</b><b class='flag-5'>塊</b>

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

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

    PLC編程中OB、FCFB、DB的使用原則

    西門子新加中包含組織(OB)、函數FB)、函數(FC)、數據(DB)
    發表于 05-24 15:01 ?1.6w次閱讀
    PLC編程中OB<b class='flag-5'>塊</b>、FC<b class='flag-5'>塊</b>、<b class='flag-5'>FB</b><b class='flag-5'>塊</b>、DB<b class='flag-5'>塊</b>的使用原則

    西門子PLC控制經典案例

    西門子PLC控制經典案例
    的頭像 發表于 06-27 14:02 ?4763次閱讀
    <b class='flag-5'>西門子</b>PLC<b class='flag-5'>控制</b>經典案例

    西門子S7-300(CPU315)做整流系統的PID控制

    電子發燒友網站提供《西門子S7-300(CPU315)做整流系統的PID控制.pdf》資料免費下載
    發表于 01-14 09:43 ?0次下載

    西門子PLC中OB的功能詳解

    西門子PLC(Programmable Logic Controller)作為工業自動化領域的核心設備,其內部功能強大、應用廣泛。在西門子PLC中,OB(Organization Block,組織
    的頭像 發表于 06-15 11:27 ?4818次閱讀

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

    西門子增量式帶積分分離PID控制器是一種改進的PID控制算法,它結合了增量式
    的頭像 發表于 12-07 09:34 ?248次閱讀
    <b class='flag-5'>西門子</b>增量式<b class='flag-5'>PID</b><b class='flag-5'>算法</b>帶積分分離

    西門子流量累計FB介紹

    西門子流量累計FB(Function Block)是一種專門為處理和計算流量數據而設計的功能,它通常在博途(TIA Portal)軟件中被創建和使用。該功能
    的頭像 發表于 12-19 10:28 ?193次閱讀
    <b class='flag-5'>西門子</b>流量累計<b class='flag-5'>FB</b><b class='flag-5'>塊</b>介紹
    主站蜘蛛池模板: jk黑色丝袜美腿老师啪啪| 色www国产阿娇| 97人人爱| 99草视频| 天天做天天爱天天操| 天天干天天射天天舔| 天天干天天操天天爱| 男人资源| 爱爱视频天天干| 六月丁香啪啪| 日韩孕交| 伊人婷婷涩六月丁香七月| 一级做a爱片久久毛片| 婷婷天堂| 欧美日韩高清一区| 黄a网站| 97婷婷色| 奇米色吧| 开心丁香婷婷深爱五月| 美欧毛片| 五月激激| 久青草国产手机视频免费观看| 国产精品yy9299在线观看 | 美女扒开尿口让男人30视频| 亚洲最大成人在线| 日韩欧免费一区二区三区| 狠狠色狠狠色综合久久一| www.av小视频| 久久亚洲精品国产亚洲老地址| 日本与大黑人xxxx| 成人aaa| 91夜夜人人揉人人捏人人添| 天天在线影院| 岛国午夜精品视频在线观看| 午夜精品久久久久久| 天堂在线观看中文字幕| 久久香蕉综合色一综合色88| 午夜视频国语| h小视频在线观看| 五月婷婷之婷婷| 狠狠色丁香婷婷综合小时婷婷|