西門子PLC模擬量線性變換子程序的編寫

西門子PLC模擬量線性變換子程序的編寫

在PLC編程中,只要涉及到數據採集和輸出,都會遇到模擬量的線性變換。在西門子300PLC編程中,系統自帶的兩個線性變換功能塊FC105和FC106是最常用的兩個數據轉換模塊。FC105和FC106只適用與把採集通道的數字量(INT)轉換為物理量(REAL),在一些普適的場合就不適用了。在碰到線性變換時,需要用戶自己編寫線性變換程序,費時費力還容易出錯。本文簡單介紹PLC中模擬量線性標定子程序的原理和方法。

1. 線性變換原理

西門子PLC模擬量線性變換子程序的編寫

線性變換原理.

線性變換的原理很簡單,比如說,在工程測量中,常會遇到4-20mA的傳感器,如壓力傳感器或位移傳感器等,要轉換為0-50MPa的物理量。用高中學過的直線方程兩點式就可以了。已知兩點(4,0)和(20,50),求(x,y)。

2. 線性變換子程序

以下介紹線性變換的子程序編寫。

新建一個功能塊(如FC30),在FC30中編寫線性變換子程序。

如圖1.1所示為線性轉化子程序輸入變量。如圖所示,為了便於使用,輸入變量的數據類型都定義為浮點數。(在數據採集中,可能會遇到把採集值(PIW INT)轉換為模擬量(REAL)。或者把物理量(REAL)轉換為輸出量(PQW,INT),此方法已經在我的上一個小技巧教程中介紹過了。)

已知(x1,y1),(x2,y2)兩點,求(x,y)。

西門子PLC模擬量線性變換子程序的編寫

圖1.1 線性變換子程序輸入變量

如圖1.2所示為線性轉化子程序輸出變量。如圖所示,為了便於使用,輸出變量的數據類型為浮點數。

西門子PLC模擬量線性變換子程序的編寫

圖1.2 線性變換子程序輸出變量

西門子PLC模擬量線性變換子程序的編寫

圖1.3 線性變換中間變量

如圖1.4所示為線性轉化子程序的邏輯。線性變換的子程序非常簡單,就是用加減乘除把線性變換原理中的兩點式公式表示出來即可。

西門子PLC模擬量線性變換子程序的編寫

圖1.4 線性變換程序

如圖1.4所示為線性轉化子程序的應用舉例。如圖所示,輸入段為4-20mA的模擬量,輸出段為0-50MPa的壓力值。

西門子PLC模擬量線性變換子程序的編寫

線性變換子程序應用



分享到:


相關文章: