簡單的控制系統僅使用PLC數字量輸入和輸出。數字量輸入用于從對象收集雙態信息,數字量輸出用于控制開/關類型。但在更復雜的控制和調節系統中,以及任何過程開始的地方,都需要使用模擬量輸入和輸出。
介紹模擬量測量向PLC提供測量值信息,例如:壓力[bar,MPa]、流量[m3/h]、液位[m]、溫度[℃]、距離[m]、頻率[Hz]、電流[A]等等。
在測量值進入控制器前,必須將其值轉換為電信號,然后再轉換為數值量。物理量到電信號的轉換發生在傳感器中。電信號進入PLC,在這里它被轉換為PLC程序可以理解的數值量。讓我們以儲罐中的壓力測量為例進行分析。
儲氣罐中安裝了范圍為0…16bar的壓力傳感器,其輸出電流為0…20mA。電流信號傳輸到PLC模擬量輸入端。讓我們看看這種測量從物理量到用戶(操作員)理解的值的路徑:1、傳感器測量0…16bar范圍內的壓力,并將其轉換為0…20mA電流信號;2、PLC控制器的模擬量輸入端接收0…20mA范圍內的信號并將其轉換為數值量,例如0-32767,這取決于PLC控制器的類型和配置,單極性輸入例如電壓輸入0…10V,電流輸入4…20mA,其對應值均為0…27648;雙極性輸入例如電壓輸入±10V、±5V、±2.5V,對應值為-27648…27648;3、對于PLC程序來說,數值量反映物理量測量值的大小,例如壓力。要進一步使用該測量值,PLC程序員必須根據壓力傳感器的測量范圍對其進行縮放。縮放后的值保存在控制器的內存中;4、縮放后的測量值的使用取決于應用需求,可以是:- 警報信號(例如超壓);
- 在HMI面板或SCADA數據采集與監視控制系統中為操作員顯示壓力值;
- 使用測量值作為反饋信號;
- 超過限制后的下一步動作,例如打開閥門;
- 等等。
模擬量測量中可接受的標準電信號可以是:0…20mA、4…20mA和0…10mA。0…20mA、4…20mA和0…10V模擬量測量我們經常接觸到幾種標準模擬量電信號。但它們在哪些方面不同呢?在工業自動化中,最常見的模擬量電信號是4…20mA電流信號。這是由于該信號的易用性以及比電壓測量0…10V相對更高的抗干擾性。在4…20mA信號中,更容易檢測到傳感器和控制器之間的電纜斷開。如果電流降至約3.8mA以下,則檢測到電纜斷裂。在4…20mA和0…20mA兩種測量中,如果電流值超過約20.5mA,則檢測到傳感器輸出短路。必須在PLC程序中考慮此類缺陷的檢測。在大多數傳感器上,你可以直接讀取它們的測量范圍和輸出電信號。下圖顯示了范圍為0…16bar和電流輸出為4…20mA的壓力傳感器示例,該圖表顯示了這兩個范圍之間的關系。
PLC程序中的模擬縮放讓我們將上述范圍為0…16bar的壓力傳感器安裝到我們的儲罐,并將其輸出4…20mA連接到西門子S7-1200 PLC的模擬量輸入端。我們看看它在理論上的樣子:
S7-1200控制器中的模擬量輸入0…20mA,實際上工作在0…23.7mA的范圍內,這反映了AC/DC轉換器輸出端數值量的范圍從0到32767。如果我們將電流輸出為4…20mA的傳感器連接到此類輸入端,則4mA的數字值為5530,20mA的數字值為27648。 從PLC中要獲得測量的實際數值即OUT變量,需根據上述公式進行計算。在一些控制器中,有現成的函數用于縮放模擬測量,而在一些控制器中,有必要自己構建這樣的函數。S7-1200控制器沒有就緒功能,但我們可以使用CALCULATE或 SCALE_X+NORM_X 選項,不過現在S7-1200也出了一塊AI模組6ES7231-5ND30-0XB0,可以直接設定成4…20mA,而不需轉換。備注:如有錯誤,敬請指正。