前幾期,我們發表過西門子PLC的模擬量手把手教學文,發現大家很感興趣,也有不少朋友給我們留言需要我們發表些三菱PLC的,苦于事多,力不從心!今天熬夜,把這空缺補上!(熬夜傷身,記得多給我們雞腿補補)
先用例子來引導有一個壓力變送器,量程為0~20MPa,輸出信號為0~10V。PLC借助FX2N-2AD的模擬量輸入模塊,將壓力值傳送給上位機顯示。
其中的FX2N-2AD模塊的量程為0~10V,轉換后的數字量為0~4000,(這個0~4000,是FX2N-2AD模塊的輸出特性,也就是線性比的數據值,跟西門子的0~32000和0~27648是一個道理)。
所需主要軟硬件配置
① 1套GX DEVELOPER V8.86;
② 1個FX2N-2AD模塊;
③ 1臺FX2N-16MT PLC。
第一步——FX2N-2AD 了解
FX2N-2AD模塊只有兩個通道,也就是說最多只能和兩路模擬量信號連接,其轉換精度為12位。FX2N-2AD模塊并不需要外接電源供電,其電源直接由PLC供給。
第二步——FX2N-2AD 接線
FX2N-2AD模塊可以轉換電流信號和電壓信號,但其接線有所不同,外部電壓信號與FX2N-2AD模塊的連接如下圖所示,傳感器與模塊的連接最好用雙絞線,當模擬量的噪聲或者波動較大時,在圖中連接一個00.1~4.7μF的電容,VIN1和VIN2與電壓信號的正信號相連,COM1和COM2與信號的低電平相連。FX2N-2AD模塊的供電直接由PLC通過擴展電纜提供,并不需要外接電源。
外部電流信號與FX2N-2AD模塊的連接如下圖所示,傳感器與模塊的連接最好用雙絞線,IIN1和IIN2與電流信號的正信號相連,COM1和COM2與信號的低電平相連。VIN1和IIN1短接,VIN2和IIN2短接。
此模塊的不同的通道只能同時連接電壓或者電流信號,如通道1輸入電壓,那么通道2的輸入只能是電壓信號。
【關鍵點】
① FX2N-2AD不能將一個通道作為模擬電壓的輸入,而另一個作為電流輸入,這是因為兩個通道使用相同的偏值量和增量值。
② 模塊的轉換位數為12位,對應的數字為2的12次方減1=4095,但實際應用時,為了計算方便,通常情況下都將最大模擬量輸入(DC 10V或20mA)所對應的數字量設定為4000,A/D轉換的輸出特性見下表1。
④ 輸入信號只能是單極性的。
表1 A/D轉換的輸出特性
第三步——FX2N-2AD 模塊的編程
相對于其他的PLC(如西門子S7-200),FX2N-2AD模塊的使用不是很方便,要使用FROM/TO指令。使用TO指令啟動A/D轉換,用FROM指令將A/D轉換結果讀入PLC。
轉換結果數據在模塊緩沖存儲器(BFM)中的存儲地址如下。
BFM#0的bit0~bit7:轉換結果數據的低8位。
BFM#1的bit0~bit3:轉換結果數據的高4位。
A/D轉換控制信號在模塊緩沖存儲器(BFM)中的存儲地址如下:
BFM#17的bit0:通道選擇,為0時,選擇通道1;為1時,選擇通道2。
BFM#17的bit1:A/D轉換的啟動信號,上升沿啟動A/D轉換。
說了以上三步,回到文章開篇的例子(我知道你肯定已經忘記什么內容,趕緊往上翻~~),如何對例子進行編程呢?
直接看程序:
借助:第三步——FX2N-2AD 模塊的編程的內容。我們對上面程序進行講解:
1:BFM#17的bit0 寫入0值,代表我們選擇FX2N-2AD 模塊的第一個通道來采取壓力變送器的信號。
2:BFM#17的bit1 寫入1值,代表我們要啟動通道1的A/D轉換功能。
3:PLC獲取FX2N-2AD 模塊的數據,寫到M100~M131。
4:數據優化,將數據傳送至D0,為了后期處理準備。
別以為就這樣完事了,D0的數值只是轉換后的數字,并非真實壓力值!我們還要進行線性化計算:
壓力表量程:0~20MPa(0~20000kPa)對應于轉換后的數字:0~4000,轉換公式為:
P=(20000*D0)/4000=5*D0
因此還需要加上第五步:
D2的數值就是檢測到的壓力值啦~