色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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;

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

    關注

    127

    文章

    7972

    瀏覽量

    143232
  • 西門子
    +關注

    關注

    94

    文章

    3059

    瀏覽量

    116210
  • PID控制算法
    +關注

    關注

    1

    文章

    21

    瀏覽量

    10745

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

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

收藏 人收藏

    評論

    相關推薦

    西門子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次下載

    西門子PLC的結構和編輯的教程詳細說明

    本文檔的主要內容詳細介紹的是西門子PLC的結構和編輯的教程詳細說明
    發表于 03-19 14:52 ?21次下載
    <b class='flag-5'>西門子</b>PLC的<b class='flag-5'>塊</b>結構和<b class='flag-5'>塊</b>編輯的教程詳細說明

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

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

    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>的使用原則

    西門子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 ?5110次閱讀

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

    西門子增量式帶積分分離PID控制器是一種改進的PID控制算法,它結合了增量式
    的頭像 發表于 12-07 09:34 ?334次閱讀
    <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 ?351次閱讀
    <b class='flag-5'>西門子</b>流量累計<b class='flag-5'>FB</b><b class='flag-5'>塊</b>介紹

    西門子TIA Portal中函數FC和函數FB的相互轉換

    描述 本文將介紹在西門子 TIA Portal 中使用 Add-In 插件實現函數 FC 和函數 FB 的相互轉換的方法和步驟。 第1步: 添加 PLC 設備。 選擇西門子 CPU
    的頭像 發表于 01-15 10:07 ?241次閱讀
    <b class='flag-5'>西門子</b>TIA Portal中函數FC和函數<b class='flag-5'>塊</b><b class='flag-5'>FB</b>的相互轉換
    主站蜘蛛池模板: 久久综合视频网站| 看黄色片子| 恋夜影视列表免费安卓手机版| 翁公咬着小娇乳H边走边欢A| 俄罗斯少女人体| 色婷婷亚洲五月| 国产AV电影区二区三区曰曰骚网 | 精品久久久99大香线蕉| 午夜国产高清精品一区免费| 国产精品久人妻精品| 小黄鸭YELLOWDUCK7596| 国产最新地址| 在教室伦流澡到高潮H女攻视频 | 日韩成人黄色| 国产精品A8198V久久A片| 午夜在线视频国产极品片 | 哪灬你的鸣巴好大| 成年视频xxxxxx在线| 失禁 调教 刺激 哭喊男男| 国产精品视频免费观看| 亚洲精品无码不卡在线播放he| 久久久久九九| 同桌别揉我奶了嗯啊| 国产精品黄色大片| 亚洲日本激情| 免费看a毛片| 成人免费在线观看| 小寡妇好紧进去了好大看视频| 精品国产原创在线观看视频| 4hu四虎免费影院www| 日韩高清毛片| 狠狠躁天天躁小说| 97国产露脸精品国产麻豆| 日本老人oldmantv乱| 国产亚洲精品AV片在线观看播放| 又黄又爽又无遮挡在线观看免费 | 美女全光末满18勿进| 成年妇女免费播放| 亚洲国产精品线在线观看| 久久操韩国自偷拍| 宝贝乖女好紧好深好爽老师|