西門子S7-200plc模擬量編程
本文以EM235為例講解S7-200模擬量編程,主要包括以下內容: 1、模擬量擴展模塊接線圖及模塊設置 2、模擬量擴展模塊的尋址
3、模擬量值和A/D轉換值的轉換 4、編程實例
模擬量擴展模塊接線圖及模塊設置
EM235是最常用的模擬量擴展模塊,它實現了4路模擬量輸入和1路模擬量輸出功能。下面以EM235為例講解模擬量擴展模塊接線圖,如圖1。
圖1
圖1演示了模擬量擴展模塊的接線方法,對于電壓信號,按正、負極直接接入X+和X-;對于電流信號,將RX和X+短接后接入電流輸入信號的“+”端;
未連接傳感器的通道要將X+和X-短接。
對于某一模塊,只能將輸入端同時設置為一種量程和格式,即相同的輸入量程和分辨率。(后面將詳細介紹)
量的單/雙極性、增益和衰減。
時,模擬量輸入為單極性輸入,SW6為OFF時,模擬量輸入為雙極性輸入。
SW4和SW5決定輸入模擬量的增益選擇,而SW1,SW2,SW3共同決定了模擬量的衰減選擇。
6個DIP開關決定了所有的輸入設置。也就是說開關的設置應用于整個模塊,開關設置也只有在重新上電后才能生效。 輸入校準
模擬量輸入模塊使用前應進行輸入校準。其實出廠前已經進行了輸入校準,如果OFFSET和GAIN電位器已被重新調整,需要重新進行輸入校準。其步驟如下: A、切斷模塊電源,選擇需要的輸入范圍。
B、接通CPU和模塊電源,使模塊穩定15分鐘。
C、用一個變送器,一個電壓源或一個電流源,將零值信號加到一個輸入端。 D、讀取適當的輸入通道在CPU中的測量值。
E、調節OFFSET(偏置)電位計,直到讀數為零,或所需要的數字數據值。 F、將一個滿刻度值信號接到輸入端子中的一個,讀出送到CPU的值。
G、調節GAIN(增益)電位計,直到讀數為32000或所需要的數字數據值。 H、必要時,重復偏置和增益校準過程。 EM235輸入數據字格式
下圖給出了12位數據值在CPU的模擬量輸入字中的位置
圖2
可見,模擬量到數字量轉換器(ADC)的12位讀數是左對齊的。最高有效位是符號位,0表示正值。在單極性格式中,3個連續的0使得模擬量到數字量轉換器(ADC)每變化1個單位,數據字則以8個單位變化。在雙極性格式中,4個連續的0使得模擬量到數字量轉換器每變化1個單位,數據字則以16為單位變化。
EM235輸出數據字格式
圖3給出了12位數據值在CPU的模擬量輸出字中的位置:
圖3
數字量到模擬量轉換器(DAC)的12位讀數在其輸出格式中是左端對齊的,最高有效位是符號位,0表示正值。
模擬量擴展模塊的尋址
每個模擬量擴展模塊,按擴展模塊的先后順序進行排序,其中,模擬量根據輸入、輸出不同分別排序。模擬量的數據格式為一個字長,所以地址必須從偶數字節開始。例如:AIW0,AIW2,AIW4 、AQW0,AQW2 。每個模擬量擴展模塊至少占兩個通道,即使第一個模塊只有一個輸出AQW0,第二個模塊模擬量輸出地址也應從AQW4開始尋址,以此類推。
圖4演示了CPU224后面依次排列一個4輸入/4輸出數字量模塊,一個8輸入數字量模塊,一個4模擬輸入/1模擬輸出模塊,一個8輸出數字量模塊,一個4模擬輸入/1模擬輸出模塊的尋址情況,其中,灰色通道不能使用。
圖4
模擬量值和A/D轉換值的轉換
假設模擬量的標準電信號是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)
編程實例
您可以組建一個小的實例系統演示模擬量編程。本實例的的CPU是CPU222,僅帶一個模擬量擴展模塊EM235,該模塊的第一個通道連接一塊帶4—20mA變送輸出的溫度顯示儀表,該儀表的量程設置為0—100度,即0度時輸出4mA,100度時輸出20mA。溫度顯示儀表的鉑電阻輸入端接入一個220歐姆可調電位器,
簡單編程如下:
溫度顯示值=(AIW0-6400)/256
編譯并運行程序,觀察程序狀態,VW30即為顯示的溫度值,對照儀表顯示值是否一致。