<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子SCL編程——通過模擬量控制氣缸升起和下降
    發布時間: 2023-11-04 11:42 更新時間: 2024-12-26 09:10

    對于PLC的輸入輸出,分數字量和模擬量兩種。數字量很好理解,就是在時間和數量上都離散的物理量,比如啟/停按鈕,行程開關,電磁閥通/斷,這些都是數字量。數字量對應PLC存儲就是1位,即1比特(binary digit,縮寫bit),作為信息的Zui小單位,只有兩種狀態:0(低電平)和1(高電平),也表示為FALSE和TRUE。模擬量是在時間或數值上都連續的物理量,常見的如溫度、氧含量、壓力等。


    模擬量使用起來不太方便,不是有多難,而是在程序上需要做必要的處理,本文通過實例,講一講如何通過模擬量控制氣缸升起和下降。


    通過模擬量輸出控制運動對象動作,要先確定運動對象的信號類型和量程等參數。信號類型常見的有電流4~20mA和電壓0~5V/10V等;量程是設備自身的參量,比如氣缸控制閥流量開度為0~,K型熱電偶測溫范圍0~1300℃等。


    本文選用的氣缸控制閥控制特性如圖1所示,可以看出信號類型4~20mA,4~12mA對應的1通2,流量開度q對應100~0(%);12~20mA對應的1通4,流量開度q對應0~100(%);

    圖片

    圖1 氣缸控制閥控制特性

    處理模擬量信號需要兩個指令,NORM_X:標準化和SCALE_X:縮放指令。



    NORM_X:標準化

    使用“標準化”指令(參照圖2所示),通過將輸入 VALUE 中變量的值映射到線性標尺對其進行標準化。可以使用參數 MIN 和 MAX 定義(應用于該標尺的)值范圍的限值。輸出OUT( RET_VAL) 中的結果經過計算并存儲為浮點數,這取決于要標準化的值在該值范圍中的位置。


    如果要標準化的值等于輸入 MIN 中的值,則輸出 OUT 將返回值“0.0”。如果要標準化的值等于輸入 MAX 的值,則輸出 OUT 需返回值“1.0”。


    其中MIN 、 MAX和VALUE既可以是整數,也可以是浮點數。OUT( RET_VAL) 為浮點數。

    圖片

    圖2 NORM_X


    SCALE_X:縮放指令

    使用“縮放”指令(參照圖3所示),通過將輸入 VALUE 的值映射到指定的值范圍內以縮放該值。當執行“縮放”指令時,輸入 VALUE 的浮點值會縮放到由參數 MIN 和 MAX 定義的值范圍。縮放結果為整數,存儲在 RET_VAL 輸出中。

    其中MIN 、 MAX和OUT( RET_VAL) 既可以是整數,也可以是浮點數。VALUE為浮點數。

    圖片

    圖3 SCALE_X



    接下來在FB中定義各變量,如圖4所示。變量有升起和降落的指令rise_command、fall_command,數據類型均為Bool型;升起和降落的開度百分比rise_rate、fall_rate,此處數據類型均定義為Int型;以及標準化和縮放的變量,NORM_rise_rate(Real型)、NORM_fall_rate_1(Real型)、NORM_fall_rate_2(Real型)、SCALE_rise_rate(Int型)、SCALE_fall_rate(Int型)。

    圖片

    圖4 定義變量


    輸出量AQ1(Int型)需要在PLC變量中定義,同時模擬量輸出的地址要與實際的接線端子地址一致。


    用SCL語言編程,如圖5所示。

    圖片

    圖5 SCL程序


  • 第1行程序是將“rise_rate”標準化為0.0~1.0范圍內的值;

  • 第2行程序是將“NORM_rise_rate”縮放到PLC能夠執行的整數范圍,這里需要了解PLC自身模擬量模塊電流測量模擬值的范圍,需要查找該模擬量模塊的手冊,本文使用的模擬量模塊4~20mA電流測量范圍為0~27648,中間值12mA對應的值為13824(該值需自己計算)。

  • 第3行程序是將“fall_rate”標準化為0.0~1.0范圍內的值;

  • 第4行程序是一次轉換,由于控制閥4~12m對應的是100~0,不太符合常規的表達邏輯。

  • 第5行程序是將“NORM_fall_rate_2”縮放為PLC能夠執行的整數方位,解釋同第2行。

  • 第6~8行程序是進行指令的判斷,如果升起指令“rise_command”為真,則將縮放過的值“SCALE_rise_rate”賦值給輸出變量AQ1,實現氣缸升起;

  • 第9~10行程序是進行指令的判斷,如果下降指令為真,則將縮放過的值“SCALE_fall_rate”賦值給輸出變量AQ1,實現氣缸下降;



  • 聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595