三菱PLC和西門(mén)子PLC都有自己的獨特的優(yōu)點(diǎn)的,先講講三菱2AD模塊吧,2AD模塊是提供一個(gè)12位分辨率的模塊,最大的數字量是4096.這個(gè)4096跟12位分辨率是怎么樣的一個(gè)關(guān)系2進(jìn)制的12個(gè)1就是4096,。當然這個(gè)最大的數字量4096是可以2AD模塊上面的增益電位器調節的
我就拿一個(gè)PT100的200度的溫度傳感器為例子,這個(gè)傳感器0度對應的模擬量電流是4mA.200度對應的模擬量電流是20mA,第一步就開(kāi)始校準2AD的增益和偏置,所謂的增益和偏置實(shí)際上就是模擬量電流4mA和20mA所對應的數字量,我們拿一個(gè)電流發(fā)生器產(chǎn)生出一個(gè)20mA的電流,然后接到2AD的模擬量電流輸入端。PLC上電以后找到模擬量對應的數據寄存器看里面的當前值是多少,可能里面的數據是一個(gè)未知的數據這是因為2AD在出廠(chǎng)的 時(shí)候是沒(méi)有調節到一個(gè)標準的,我們就調節增益電位器使數字量為4000,為什么要調到4000呢因為溫度傳感器的量程為200度他們剛好是一個(gè)20倍的關(guān)系。接下來(lái)就是偏置了,調節電流發(fā)生器輸出4mA的電流,就看數據寄存器里面的數字量是多少。如果數據寄存器的數字量為0那我們就不用調節了。增益和偏置調節好以后就接上傳感器實(shí)際檢測,PLC里面的程序要用到除法指令,因為要把數據寄存器里面的數據除以20就是實(shí)際溫度,當然這是不夠的因為在很多自動(dòng)化控制的場(chǎng)合要很精確的溫度,所以就要用到浮點(diǎn)數變換指令和浮點(diǎn)數除法指令,三菱的浮點(diǎn)數可以保留小數位后3位即0.000度。
需要特別注意的是以上的是可以完成模擬量功能了,但我們看到的溫度變化是很快的,這是因為PLC每個(gè)掃描周期就執行一次模擬量采集和模擬量運算這個(gè)時(shí)間是很快的一般就20ms就執行一次,所以里面的數字變化是非?,在這種情況下我們就要求平均值,具體的方法就是用累加指令在把累加的數據在除以累加的次數就可以。一般累加次數在5到10次之間。
西門(mén)子的模擬量跟三菱的是不一樣的他的分辨率比三菱要高,西門(mén)子EM231是提供一個(gè)16位分辨率的模塊最大數字量是32000也就是一個(gè)字的容量。西門(mén)子的模擬量在 使用方法上面也和三菱不一樣,因為西門(mén)子沒(méi)有增益和偏置調節電位器,所有對應的數字量是經(jīng)過(guò)公式計算出來(lái)的。雖然如此但西門(mén)子的程序模塊化,在程序設計上面要簡(jiǎn)化得多直接在A(yíng)IW數據寄存器里面就可以得到原始數據。
我就一個(gè)200度的傳感器簡(jiǎn)單說(shuō)說(shuō),這個(gè)傳感器輸出的模擬電流是4到20mA,西門(mén)子的數字量是0到32000,如果按照三菱的算法則就會(huì )出錯,因為4mA不是對應數字量0而是6400,因為他們是1600倍的關(guān)系,4mA乘以1600=6400,所以我們得求出數字量6400和32000和溫度200的一個(gè)系數,具體公式是這樣的(32000-6400)除以200=128. 這個(gè)128就是他們的系數,如果溫度傳感器是400度就除以400。
最后我們把AIW數據寄存器里面的數據除以128就是當前溫度了,需值得注意的是西門(mén)子的模擬量最好在中斷程序里面。
http://www.xueplc.com/2016/06/15/4207.html