无码精品人妻一区二区三区入口-无码精品人妻一区二区三区夜夜嗨-无码精品人妻一区二区三区颖A片-无码精品日本一区二区桃花岛-无码精品网站-无码精品一

請叫我老鐵
人生就像蒲公英,看似自由,卻身不由己。
級別: 工控俠客

精華主題: 0
發帖數量: 941 個
工控威望: 4516 點
下載積分: 778 分
在線時間: 250(小時)
注冊時間: 2015-08-28
最后登錄: 2025-05-03
查看請叫我老鐵的 主題 / 回貼
樓主  發表于: 2018-08-15 15:12
S7-1200  PID閉環運算  SCL  編寫     不使用PID指令,自己編寫算法。  博途V14    SP1可打開程序  帶注釋
附件: PID閉環運算程序.rar (344 K) 下載次數:6076
網站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+1(245503681) 感謝分享!
  • 下載積分:+3(jack_gaogm) 感謝分享!
  • 下載積分:+1(xhilyxhily)
    hoojjj
    級別: 正式會員
    精華主題: 0
    發帖數量: 6 個
    工控威望: 95 點
    下載積分: 534 分
    在線時間: 12(小時)
    注冊時間: 2010-04-30
    最后登錄: 2023-11-27
    查看hoojjj的 主題 / 回貼
    1樓  發表于: 2021-09-30 09:10
    FUNCTION_BLOCK "塊_1"
    { S7_Optimized_Access := 'TRUE' }
    VERSION : 0.1
       VAR_INPUT
          p值 : Real;
          積分 : Real;
          反饋值 : Int;
          設定值 : Real;
          PID死區 : Real;
          PID上限 : Real;
          PID下限 : Real;
       END_VAR

       VAR_OUTPUT
          輸出控制值 : Real;
          反饋過程值 : Real;
          PID輸出 : Int;
       END_VAR

       VAR_TEMP
          當前誤差 : Real;
          上次誤差 : Real;
          計算當前輸出值 : Real;
          計算上次輸出值 : Real;
          反饋過程值臨時存儲 : Real;
          輸出過程值臨時存儲 : Real;
       END_VAR


    BEGIN
        
        #反饋過程值臨時存儲 := INT_TO_REAL(#反饋值);//反饋值轉成浮點數存入到臨時存儲區。
        #反饋過程值 := (#反饋過程值臨時存儲 - 0.0) / 27648.0 * (#PID上限 - #PID下限) + #PID下限;//反饋過程值處理公式。
        #當前誤差 := #設定值 - #反饋過程值;//算出當前誤差值。
        IF  ABS(#當前誤差)<#PID死區 THEN//PID死區大于當前誤差的絕對值時。(使用絕對值表示無論是整數還是負數都不允許超出比較范圍)。
            #計算當前輸出值 := 0;      //如果上述條件成立,當前輸出值為0.
        ELSIF  ABS(#當前誤差)>=#PID死區 THEN//PID死區小于等于當前誤差,執行下面公式。
            #計算當前輸出值 := #p值 * (#當前誤差 - #上次誤差) + #積分 * #當前誤差;//此公式在S7-200PID課程有講,PID輸出=p值*(當前誤差-上次誤差)+積分*當前誤差。
        END_IF;
        #輸出控制值 := #計算當前輸出值;//將當前值輸出值傳送到輸出控制值,再進行下一步處理。
        IF #輸出控制值 > #PID上限 THEN//如果輸出控制值大于PID上限值。
            #輸出控制值 := #PID上限;//將上限值寫入輸出控制值。
        ELSIF #輸出控制值 < #PID下限 THEN//如果輸出控制值小于PID下限值。
            #輸出控制值 := #PID下限;//將下限值寫入輸出控制值。
        END_IF;
        #上次誤差 := #當前誤差;//處理完成將當前誤差寫入上次誤差。
        #計算上次輸出值 := #輸出控制值;//處理完成將輸出控制值寫入上次輸出值。
        #輸出過程值臨時存儲 := (#輸出控制值 - #PID下限) / (#PID上限 - #PID下限) * 27648.0 + 0.0;//PID輸出處理成0.0--27648.0范圍。
        #PID輸出 := REAL_TO_INT(#輸出過程值臨時存儲);//再小數0.0--27648.0轉換成16位整數0-27648范圍。
    END_FUNCTION_BLOCK
    hoojjj
    級別: 正式會員
    精華主題: 0
    發帖數量: 6 個
    工控威望: 95 點
    下載積分: 534 分
    在線時間: 12(小時)
    注冊時間: 2010-04-30
    最后登錄: 2023-11-27
    查看hoojjj的 主題 / 回貼
    2樓  發表于: 2021-09-30 11:40
    #計算當前輸出值 := #p值 * (#當前誤差 - #上次誤差) + #積分 * #當前誤差;
    這PID 有點問題, 好像不是很純正
    還是感謝分享
    hoojjj
    級別: 正式會員
    精華主題: 0
    發帖數量: 6 個
    工控威望: 95 點
    下載積分: 534 分
    在線時間: 12(小時)
    注冊時間: 2010-04-30
    最后登錄: 2023-11-27
    查看hoojjj的 主題 / 回貼
    3樓  發表于: 2021-09-30 11:59
    正確的PD 控制器如下計算方式

    #計算當前輸出值 := #p值 *   #當前誤差+ #微分 * (#當前誤差 - #上次誤差)

    主站蜘蛛池模板: 国产一区二区三区精品porn | 蜜桃MV在线播放免费观看网站 | 蜜桃国产视频一区二区三区三 | 国产精品va一级二级三级 | 99久久伊人一区二区 | 2025国产精品成人免费视频 | 亚洲精品蜜桃AV久久久 | 精品一区日韩欧美 | 国产精品美女久久久久v福 国产精品美女久久久久久 国产精品美女久久久久久不卡 | 成年美女黄网站色奶头大全 | 国产成人精品亚洲精品日日 | 欧美精品一区二区免费开放 | 国产精品高潮呻吟爱久久AV无码 | 国产一区二区三区在线影院 | 一区二区在线视 | 精品人妻大屁股白浆无码 | 国产成人精品午夜福利在线观看 | 亚洲毛片ΑV无线播放一区 亚洲毛片大全 | 国产福利一区二区精品免费 | 亚洲一区自拍 | 91精品在线国产一区 | 成人国产精品一区二区网站公司 | 永久免费看免费无码视频 | 国产麻豆综合视频在线观看 | 91久久国产最好的精华液 | 国产av无码专区影视 | 性欧美丰满熟妇xxxx性久久久 | 三级a毛片 | 91精品国产高久久久成人 | 国产欧美精品综合一区 | 无码xxxx小说三级亚洲av无码乱码国产 | 精品国产成人av婷婷在线看 | 成人免费一级毛片在线播放视频 | 国产aⅴ视频免费观看国语 国产aⅴ视频视频在线 | 亚洲伊人成色综合网 | 亚洲无码一区二区三区 | 国产精品无码午夜激情 | 2025年卡一卡二卡三精品 | 色视频网站在线观看 | 日韩国产成人资源精品视频 | 亚洲制服丝袜无码日韩 |