摘" 要:隨著PLC控制技術的發展, 中大型PLC在運動控制、過程控制、數據采集處理等方面的應用也越來越廣泛。文章主要介紹了利用S7-1500 PLC處理模擬量的方法,以常見的溫度控制系統為例, 詳細介紹PLC處理模擬量的各個重要環節與方法以及利用TIA PROTAL V16軟件來實現溫度采集以及數據處理的編程設計思路。
關鍵詞:Siemens S7-1500;模擬量采集;SCALE_X;NORM_X
中圖分類號:TP273" " " " 文獻標志碼:A" " " " "文章編號:2095-2945(2021)13-0181-03
Abstract: With the development of PLC control technology, medium and large-scale PLC is widely used in motion control, process control, data acquisition and processing. This paper mainly introduces the method of using S7-1500 PLC to process analog quantity. Taking the common temperature control system as an example, this paper introduces in detail each important link and method of PLC to process analog quantity, and the programming design idea of using TIA PROTAL V16 software to realize temperature acquisition and data processing.
Keywords: Siemens S7-1500; analog acquisition; SCALE_X; NORM_X
1 西門子PLC采集模擬量的過程
在由PLC組成的自動工業控制系統中,對于物理量的采集(如溫度、壓力、重量、流量等)是利用各類傳感器或配合變送器將過程控制中的物理量信號轉換成符合國際標準的模擬量信號(如電流信號4~20mA、電壓信號1~5V)后,通過PLC的專用模塊將模擬量信號轉換成PLC可識別的數字量信號,然后傳入PLC中通過程序運行完成數據處理。
二進制信號只能采用“1”和“0”兩種信號狀態,而模擬信號是連續量,可采用特定范圍內任意多的值。在日常教學中我們往往無法實現對物理量的實時采集,所以通常可以運用高精度電位器對模擬量信號(電壓或電流)進行范圍調節,從而模擬物理量變化過程,達到仿真的目的。
1.1 模擬量信號采集(以物理量:溫度檢測為例)
1.1.1 溫度測試傳感器
測溫傳感器是指能感受被測物體或環境溫度并轉換成通用輸出信號的傳感器,如果想在工業控制場合中進行可靠的溫度測量,那么就需要正確地選擇測溫傳感器,其中熱電偶傳感器和熱敏電阻傳感器都是最常用的溫度傳感器。
(1)熱電偶
熱電偶是兩種不同導體或半導體A和B的組合,當有二者兩端相互連接時,若兩結點處的溫度有差異,其中一端溫度為T,稱為工作端或熱端,另外一端溫度為TO,稱為自由端(也稱參考端)或冷端,則回路中就會產生電動勢,從而就有電流產生,達到了測溫的目的。
(2)熱敏電阻
熱敏電阻的溫度系數要比金屬大數百倍,其電阻值也會跟隨溫度的變化而變化,正溫度系數熱敏電阻在溫升越高時所反映的電阻值越大,而負溫度系數熱敏電阻在溫升越高時反而電阻值越低,熱敏電阻通常可以在有限的測溫范圍內實現較高的測溫精度,通常是-90℃~180℃。
1.1.2 變送器
變送器可以將物理量、化學量等信息按一定規律轉換成便于測量和傳輸的標準化信號的裝置,即它可將溫度等變量轉變成電壓、電流或電阻。輸出電流或電壓信號往往有不同的接線方式,溫度傳感器與變送器電流/電壓輸出接線圖如圖1所示。在實際應用中,通常會使用一條雙芯電纜把溫度變送器輸出的電壓信號傳送給遠方的測控裝置或PLC信號模塊,已知導線始端的電壓是0~10V,如果導線很長,導線本身存在電阻,它會產生壓降,那么導線的終端電壓將不會保持0~10V,其次電纜中若存在干擾信號,電纜終端電壓也會受到影響。顯然導線越長,導線終端的電壓值偏差也就越大,通過模數轉換得到的溫度值誤差也越大。這就是電壓信號在傳遞過程中的不足之處,所以電壓信號僅用于短距離傳輸。為了解決電壓信號在傳輸過程中出現的問題,人們提出了用電流信號來取代電壓信號的方法。由于電流源輸出的電流只與實際測量的溫度值有關,與傳輸導線的電阻無關,與負載阻抗基本無關,這樣線路長度造成的誤差就基本消除了,雖然電流信號傳輸比電壓信號傳輸穩定得多,但還需注意信號源的電壓比較高。自從現場總線出現后,人們認為模擬量數據傳輸會被現場總線技術取代。但幾十年過去了,模擬量特別是電流量信號傳輸不但未被淘汰,反而發展更迅速,因為模擬量數據傳輸的穩定性和可靠性遠高于現場總線(見圖1)。
1.1.3 S7-1500模擬量信號采集模塊
S7-1500模擬量輸入模塊具有自動線性化特性,適用于溫度測量和限值監測,具有多種量程,每一個通道的測量類型和范圍可以任意選擇,不需要量程卡,只需改變硬件配置和外部接線,這是S7-1500與S7-300 PLC最大的區別。模塊的背板總線通信速度達400Mbit/s,有通道級診斷功能。模擬量模塊帶有電纜屏蔽附件,電源線與信號線分開走線,增強了抗電磁干擾能力。S7-1500模擬量模塊進行電壓、電流測量以及根據變送器線制的不同,均提供了不同的接線方式,電流測量的2線制變送器接線圖如圖2所示。
S7-1500模擬量輸入采集模塊通過A/D模數轉換器,將檢測到的模擬量信號轉換成CPU可識別的數字量信號,并且以二進制補碼的形式表示,占用兩個字節,共16位,最高位為符號位。16位二進制補碼表示的數值范圍是-32768~+32768,但模塊的測量范圍卻不與數值范圍相同,測量范圍為-27648~+27648。
所謂分辨率就是模數轉換芯片的轉換精度,即用多少位數字來表示模擬量。轉換芯片的分辨率越高,檢測到的模擬量值范圍越細化,轉化后的數字值也就越精準。例如精度為12位的模塊最高位是符號位,通常S表示符號位,那該模塊的數值范圍就是S111 1111 1111 XXXX,不考慮負的情況下數值范圍最大8192,最小是16,也就是只有數值大于15后,才可能被模塊檢測到。繼而16位分辨率的模塊,最大值是32767,最小是0,此模塊測量到最小值為1,這樣一對比分辨率的差別便顯而易見了。假設要測量范圍0-1000℃的溫度,采用分辨率為16位的模塊,模塊將0-1000線性對應到0-27648,那么可測算的最小溫度值是當模塊數字值僅變化1位的時候對應的數值就是1*1000/27648=0.036℃。
假設模擬量模塊的轉換分辨率精度為14位,其能反映模擬量變化的最小單位僅僅是滿量程的1/16384(即214),而精度為16位的模塊最小單位是滿量程的1/65536(即216),以下舉例說明如何根據實際需求,選擇合適分辨率的模擬量采集模塊,例如電熱水壺加熱只要采集 0~100℃的溫度。
(1)需以1℃為單位,需要1/100的精度,選用分辨率為8位(28=256)的檢測設備就足夠了。
(2)需以0.1℃為單位,需要1/1000的精度,選用分辨率為12位(212=4096)的檢測設備就可滿足要求。
(3)需以0.01℃為單位,需要1/10000的精度,選用分辨率為16位(216=65536)的檢測設備就能滿足測量要求。
2 S7-1500 PLC處理模擬量的編程方法
對于電類專業的從業者來說,處理模擬量信號的編程要比運用位邏輯指令進行常規的邏輯控制要難得多,不同的變送器運用在不同的模塊上進行轉換,其轉換公式也發生了相應的變化,比如此處有3個溫度變送器:
(1)測溫范圍為0~500℃,變送器輸出信號為4~20mA;
(2)測溫范圍為0~500℃,變送器輸出信號為0~10V;
(3)測溫范圍為-100~500℃,變送器輸出信號為4~20mA。
(1)和(2)中兩個溫度變送器,測溫范圍都是0~500℃,但輸出信號卻有不同,(1)和(3)變送器輸出信號均為4~20mA,但兩者測溫范圍不同,這3種變送器即使使用同類型的模塊,它們的轉換公式也是不同的。
下面舉例選用S7-1500的模擬量輸入模塊AI8*U/I/RTD/TC ST對上述3個測溫場景進行轉換推導:對于(1)和(3)的測溫場景,其模擬量輸入類型為電流信號4~20mA,20mA對應數字范圍值為27648,4mA對應的數字范圍值為5530,對于(2)變送器用的模塊,其模擬量輸入設置為0~10V電壓信號,10V對應數字范圍值為27648,0V對應數字范圍值為0。
這3種測溫場景無論轉換公式有何不同都只需要一步程序即可達成要求,標準化及縮放指令程序樣例如圖3所示。
NORM_X:標準化指令,該指令作用將輸入VALUE中對應的變量值映射到線性標尺對其進行標準化運算,這里VALUE的變量地址為IW4,此變量為模擬量模塊CH0通道連接外部傳感變送器采集實際溫度,并通過內部A/D轉換后所體現的數字量值。參數MIN和MAX是用來定義該標尺值范圍的限值。這里MAX賦值為27648對應電流信號20mA或電壓信號5V/10V,MIN賦值為0或5530對應電流信號0mA或4mA,當然也對應電壓信號0V。輸出OUT端中的結果通過標準化運算后并存儲為浮點數,該值的大小是由指令范圍值而定的。假如需標準化的值等于輸入 MIN 中的值,則輸出 OUT 顯示運算結果“0.0”。假如需標準化的值等于輸入 MAX 的值,則輸出 OUT 顯示運算結果“1.0”。標準化指令將按以下公式進行計算:OUT=(VALUE-MIN)/(MAX-MIN),如果IW4采集到的數字量值為13824,對應OUT的地址為MD100,其值就為0.5。
SCALE_X:縮放指令,其作用通過將輸入VALUE的值映射到指定的值范圍內,對該值進行縮放,這里VALUE的變量地址同為MD100,其值為標準化后的運算結果,當執行“SCALE_X”指令時,輸入VALUE的浮點數值會縮放到由參數MIN和MAX定義的值范圍內。這里MAX分配地址為MD204,MIN分配地址為MD200,此處不為定值的目的是可以通過其他賦值指令方便地改變縮放范圍值,如溫度0~200℃,可將0賦值給MD200,200賦值給MD204,這樣通過縮放即可得到實時采集的溫度值。如MD100中的值為0.5,通過縮放后得到的實時溫度就是100.0℃,該值可應用于觸摸屏作溫度顯示用。
3 結束語
在實際教學運用中,我們可將模擬量的信號采集改為使用高精度電位器,這樣可以解決模擬量信號不可大幅度自由調節的弊端,同樣可以讓學生更直觀地了解并運用西門子PLC對模擬量信號進行采集、處理,從而在學習的道路上獲得更大拓展。
參考文獻:
[1]廖常初.S7-1200/1500 PLC應用技術[M].北京:機械工業出版社,2017.
[2]崔堅.SIMATIC S7-1500與TIA博途軟件使用指南[M].北京:機械工業出版社,2016.
[3]田亞娟.基于S7-300 PLC模擬量控制技術分析與綜述[J].自動化技術與應用,2019,38(9):80-84.