PLC模擬量核心問題就是物理量程對應信號量程(比如0~10V,或4~20ma),信號量程對應A/D轉換的整數範圍,A/D轉換的整數值西門子S7-200是0~32000,對西門子S7-300/400是0~27648。
1、西門子S7-300/400可以用FC105/FC106處理模擬(SCALE/UNSCALE)
2、西門子S7-200用AIW 、AQW輸入、輸出模擬量,S7-200會(hui) 自動將輸入的模擬量轉換為(wei) 0~32000的整數,程序編寫(xie) 時通過AIW將轉換後的0~32000的整數讀進程序,通過你的計算,然後通過AQW輸出即可,CPU會(hui) 自動的D/A轉換的。

西門子S7-200PLC模擬量編程的思維是什麽(me) ?
簡而言之,模擬量輸入就是將模擬量傳(chuan) 感器、變送器的電量信號通過模擬量輸入模板輸入到PLC中,並應用程序進行轉換為(wei) 數值。而模擬量輸出就是應用程序將數值通過模擬量輸出模板輸出到相應的外部設備中。必備的知識點:
a、首先要熟悉S7-200PLC模擬量輸入、輸出模塊的硬件特性。
b、要熟悉S7-200PLC模擬量輸入、輸出模塊的接線方法;
c、要熟悉S7-200PLC模擬量輸入、輸出模塊的方式設置;
d、要熟悉模數、數模轉換的方法;
e、要熟悉S7-200PLC相關(guan) 的編程指令;
f、要熟悉你應用的模擬量傳(chuan) 感器、變送器的電氣特性及接線方法。
1.S7-200模擬量輸入模塊(EM231,EM235)尋址
l 每個模擬量擴展模塊,按擴展模塊的先後順序進行排序,其中,模擬量根據輸入、輸出不同分別排序。模擬量的數據格式為一個字長,所以地址必須從偶數字節開始,精度為12位;模擬量值為0-32000的數值。 輸入格式: AIW[起始字節地址] 如AIW0 輸出格式: AQW[起始字節地址] AQW0 每個模擬量輸入模塊,按模塊的先後順序地址為固定的,順序向後排。例::AIW0,AIW2,AIW4……、AQW0,AQW2……。
l 每個模擬量擴展模塊至少占兩個通道,即使第一個模塊隻有一個輸出AQW0(EM235隻有一個模擬量輸出),第二個模塊模擬量輸出地址也應從AQW4開始尋址,以此類推。
2.傳感器連接到S7-200 模擬量輸入模塊(EM231,EM235)有哪些注意事項?
l 模擬量輸入模塊可以通過撥碼開關設置為不同的測量方式(電流電壓)。模塊開關的設置應用於整個模塊,一個模塊隻能設置為一種測量範圍;而且開關設置隻有在重新上電後才能生效。隻能將輸入端同時設置為一種量程和格式,即相同的輸入量程和分辨率。
l EM235是最常用的模擬量擴展模塊,它實現了4路模擬量輸入和1路模擬量輸出功能。EM235模擬量擴展模塊的接線方法,對於電壓信號,按正、負極直接接入X+和X-;對於電流信號,將RX和X+短接後接入電流輸入信號的“+”端;未連接傳感器的通道要將X+和X-短接。
l 注意:為避免共模電壓,須將M端與所有信號負端連接,未連接傳感器的通道要短接。當模擬量輸入PLC接收到一個變動很大的不穩定的值時,原因之一:你可能使用了一個自供電或隔離的傳感器電源,兩個電源沒有彼此連接,所以由此產生了一個很高的上下振動的共模電壓,影響模擬量輸入值。原因之二:可能是模擬量輸入模塊接線太長或絕緣不好。所以解決方法:1.連接傳感器輸入的負端與模塊上的公共M 端以補償此種波動。 (注意:事前要確定這是兩個電源間的唯一連接。如果另外一個連接已經存在了,當再添加公共連接時可能會產生一個多餘的補償電流。)
l 當出現模擬量輸入PLC接收到信號變化很慢,這可能是你使用了濾波器,可以通過降低濾波采樣數,或取消模擬量濾波方式解決。
3.關於EM235是否能用於熱電阻測溫問題?
EM235不是用於與熱電阻連接測量溫度的模塊,勉強使用容易帶來故障。
4.關於EM235輸入校準問題:
模擬量輸入模塊使用前應進行輸入校準。其實出廠前已經進行了輸入校準,如果OFFSET和GAIN電位器已被重新調整,需要重新進行輸入校準。其步驟如下:
A、切斷模塊電源,選擇需要的輸入範圍。
B、 接通CPU和模塊電源,使模塊穩定15分鍾。
C、用一個變送器,一個電壓源或一個電流源,將零值信號加到一個輸入端。
D、 讀取適當的輸入通道在CPU中的測量值。
E、 調節OFFSET(偏置)電位計,直到讀數為零,或所需要的數字數據值。
F、將一個滿刻度值信號接到輸入端子中的一個,讀出送到CPU的值。
G、 調節GAIN(增益)電位計,直到讀數為32000或所需要的數字數據值。
H、必要時,重複偏置和增益校準過程。
5.模擬量值和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即為顯示的溫度值,對照儀表顯示值是否一致。