(1)模擬量值和A/D轉(zhuǎn)換值的轉(zhuǎn)換是成線性關(guān)系的。假設(shè)模擬量的標(biāo)準(zhǔn)電信號是A0~Am(如4~20mA),A/D轉(zhuǎn)換后的數(shù)值為D0~Dm(如6 400~32 000),設(shè)模擬量的標(biāo)準(zhǔn)電信號是A,A/D轉(zhuǎn)換后的相應(yīng)數(shù)值為D,由于是線性關(guān)系,函數(shù)關(guān)系A(chǔ)=f(D)可以表示為數(shù)學(xué)方程:
A=(D-D0)×(Am-A0)/(Dm-D0)+A0
根據(jù)該方程式,可以方便地根據(jù)D值計算出A值。將該方程式逆變換,得出函數(shù)關(guān)系D=f(A)可以表示為數(shù)學(xué)方程:
D=(A-A0)×(Dm-D0)/(Am-A0)+D0
(2)具體舉一個實例,以S7-200和4~20mA為例,經(jīng)A/D轉(zhuǎn)換后,得到的數(shù)值是6 400~32 000,即A0=4,Am=20,D0=6 400,Dm=32 000,代入公式,得出:
A=(D-6400)×(20-4)/(32000-6400)+4
假設(shè)該模擬量與AIW0對應(yīng),則當(dāng)AIW0的值為12800時,相應(yīng)的模擬電信號是6400×16/25600+4=8mA。
例如,當(dāng)輸入模擬量設(shè)定為電流信號的輸入,在S7-200 CPU內(nèi)部,電流信號0-20mA對應(yīng)于數(shù)值范圍0-32000;但是對于4-20mA的信號,對應(yīng)的內(nèi)部數(shù)值為6400-32000。那可能有學(xué)員不知道這個6400是怎么算來的?其實這里的數(shù)字量和電流是成正比的,只需要按比例去算就可以了。因為電流信號0-20mA對應(yīng)于數(shù)值范圍0-32000,那么1mA對應(yīng)的數(shù)字量就是32000/20=1600,而4mA對應(yīng)的數(shù)字量就等于4*1600,等于6400。(這里是以S7-200 PLC來作為舉例,對于S7-200 SMART S7-300 400等等PLC也是同理的,只是對應(yīng)的數(shù)字量不同而已)
不同的傳感變送器,通過不同的模擬量輸入輸出模塊進行轉(zhuǎn)換,其轉(zhuǎn)換公式是不一樣的,如果選用的轉(zhuǎn)換公式不對,編出的程序肯定是錯誤的。比如有3個溫度傳感變送器:
(1)、測溫范圍為 0~200 ,變送器輸出信號為4~20ma
(2)、測溫范圍為 0~200 ,變送器輸出信號為0~5V
(3)、測溫范圍為 -100 ~500 ,變送器輸出信號為4~20ma
(1)和(2)二個溫度傳感變送器,測溫范圍一樣,但輸出信號不同,(1)和(3)傳感變送器輸出信號一樣,但測溫范圍不同,這3個傳感變送器既使選用相同的模擬量輸入模塊,其轉(zhuǎn)換公式也是各不相同。
下面選用S7-200的模擬量輸入輸出模塊EM235的參數(shù)為依據(jù)對上述的3個溫度傳感器進行轉(zhuǎn)換公式的推導(dǎo):
對于(1)和(3)傳感變送器所用的模塊,其模擬量輸入設(shè)置為0~20ma電流信號 ,20ma
對應(yīng)數(shù)子量=32000,4 ma對應(yīng)數(shù)字量=6400;
對于(2)傳感變送器用的模塊,其模擬量輸入設(shè)置為0~5V電壓信號,5V對應(yīng)數(shù)字量=32000,0V對應(yīng)數(shù)字量=0;
這3種傳感変送器的轉(zhuǎn)換公式該如何推導(dǎo)的呢?這要借助與數(shù)學(xué)知識幫助,請看下圖: