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