1、基本概念
我們生活在一個物質的世界中。世間所有的物質都包含了化學和物理特性,我們是通過對物質的表觀性質來了解和表述物質的自有特性和運動特性。這些表觀性質就是我們常說的質量、溫度、速度、壓力、電壓、電流等用數學語言表述的物理量,在自控領域稱為工程量。這種表述的優點是直觀、容易理解。在電動傳感技術出現之前,傳統的檢測儀器可以直接顯示被測量的物理量,其中也包括機械式的電動儀表。
2、標準信號
在電動傳感器時代,中央控制成為可能,這就需要檢測信號的遠距離傳送。但是紛繁復雜的物理量信號直接傳送會大大降低儀表的適用性。而且大多傳感器屬于弱信號型,遠距離傳送很容易出現衰減、干擾的問題。因此才出現了二次變送器和標準的電傳送信號。二次變送器的作用就是將傳感器的信號放大成為符合工業傳輸標準的電信號,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。而變送器通過對放大器電路的零點遷移以及增益調整,可以將標準信號準確的對應于物理量的被檢測范圍,如0-100℃或-10-100℃等等。這是用硬件電路對物理量進行數學變換。中央控制室的儀表將這些電信號驅動機械式的電壓表、電流表就能顯示被測的物理量。對于不同的量程范圍,只要更換指針后面的刻度盤就可以了。更換刻度盤不會影響儀表的根本性質,這就給儀表的標準化、通用性和規模化生產帶來的無可限量的好處。
3、數字化儀表
到了數字化時代,指針式顯示表變成了更直觀、更精確的數字顯示方式。在數字化儀表中,這種顯示方式實際上是用純數學的方式對標準信號進行逆變換,成為大家習慣的物理量表達方式。這種變換就是依靠軟件做數學運算。這些運算可能是線性方程,也可能是非線性方程,現在的電腦對這些運算是易如反掌。
4、信號變換中的數學問題
信號的變換需要經過以下過程:物理量-傳感器信號-標準電信號-A/D轉換-數值顯示。
聲明:為簡單起見,我們在此討論的是線性的信號變換。同時略過傳感器的信號變換過程。
假定物理量為A,范圍即為A0-Am,實時物理量為X;標準電信號是B0-Bm,實時電信號為Y;A/D轉換數值為C0-Cm,實時數值為Z。
如此,B0對應于A0,Bm對應于Am,Y對應于X,及Y=f(X)。由于是線性關系,得出方程式為Y=(Bm-B0)*(X-A0)/(Am-A0)+B0。又由于是線性關系,經過A/D轉換后的數學方程Z=f(X)可以表示為Z=(Cm-C0)*(X-A0)/(Am-A0)+C0。那么就很容易得出逆變換的數學方程為X=(Am-A0)*(Z-C0)/(Cm-C0)+A0。方程中計算出來的X就可以在顯示器上直接表達為被檢測的物理量。
5、PLC中逆變換的計算方法
以S7-200和4-20mA為例,經A/D轉換后,我們得到的數值是6400-32000,及C0=6400,Cm=32000。于是,X=(Am-A0)*(Z-6400)/(32000-6400)+A0。
例如某溫度傳感器和變送器檢測的是-10-60℃,用上述的方程表達為X=70*(Z-6400)/25600-10。經過PLC的數學運算指令計算后,HMI可以從結果寄存器中讀取并直接顯示為工程量。
用同樣的原理,我們可以在HMI上輸入工程量,然后由軟件轉換成控制系統使用的標準化數值。
在S7-200中,(Z-6400)/25600的計算結果是非常重要的數值。這是一個0-1.0(100%)的實數,可以直接送到PID指令(不是指令向導)的檢測值輸入端。PID指令輸出的也是0-1.0的實數,通過前面的計算式的反計算,可以轉換成6400-32000,送到D/A端口變成4-20mA輸出。
1.自己寫轉換程序。
2.需要注意你的模擬量是單極性的還是雙極性的。
假設模擬量的標準電信號是A0—Am(如:4—20mA),A/D轉換后數值為D0—Dm(如:6400—32000),設模擬量的標準電信號是A,A/D轉換后的相應數值為D,由于是線性關系,函數關系A=f(D)可以表示為數學方程:
A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
根據該方程式,可以方便地根據D值計算出A值。將該方程式逆變換,得出函數關系D=f(A)可以表示為數學方程:
D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
具體舉一個實例,以S7-200和4—20mA為例,經A/D轉換后,我們得到的數值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:
A=(D-6400)×(20-4)/(32000-6400)+4
假設該模擬量與AIW0對應,則當AIW0的值為12800時,相應的模擬電信號是6400×16/25600+4=8mA。
又如,某溫度傳感器,-10—60℃與4—20mA相對應,以T表示溫度值,AIW0為PLC模擬量采樣值,則根據上式直接代入得出:
T=70×(AIW0-6400)/25600-10
可以用T 直接顯示溫度值。
模擬量值和A/D轉換值的轉換理解起來比較困難,該段多讀幾遍,結合所舉例子,就會理解。為了讓您方便地理解,我們再舉一個例子:
某壓力變送器,當壓力達到滿量程5MPa時,壓力變送器的輸出電流是20mA,AIW0的數值是32000。可見,每毫安對應的A/D值為32000/20,測得當壓力為0.1MPa時,壓力變送器的電流應為4mA,A/D值為(32000/20)×4=6400。由此得出,AIW0的數值轉換為實際壓力值(單位為KPa)的計算公式為:
VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(單位:KPa)
PLC編程實例
您可以組建一個小的實例系統演示模擬量編程。本實例的的CPU是CPU222,僅帶一個模擬量擴展模塊EM235,該模塊的第一個通道連接一塊帶4—20mA變送輸出的溫度顯示儀表,該儀表的量程設置為0—100度,即0度時輸出4mA,100度時輸出20mA。溫度顯示儀表的鉑電阻輸入端接入一個220歐姆可調電位器。簡單編程如下:
LD SM0.0
MOVW AIW0, VW20
-I 6400, VW20
MOVW VW20, VW30
/I 245, VW30