一、任務目標
該任務是功能指令應用案例,使用功能指令有助于我們理清編程思路。本任務使用了標準化及縮放指令,在實際應用中這兩個指令應用非常廣泛。本任務除了指令的解讀之外,還涉及模擬量相關知識。
本任務要求讀者掌握以下幾個內容:
1.模擬量與數字量的關系
2.溫度傳感器的接線
3.模擬量與實際物理量的轉換
4.標準化指令和縮放指令的使用
二、任務描述
如圖3-5-1所示此溫度傳感器可采集車間溫度,傳感器(DC0-10V)把測量的數據反饋給PLC,PLC可通過計算得到實際的溫度值,以便于在HMI上顯示:
圖3-5-1 溫度采集示意圖
三、相關知識
本案例需要了解的知識有模擬量的概念;模擬量與數字量的基本轉換關系;溫度傳感器的接線;涉及編程主要掌握的是標準化及縮放指令的使用。
01 模擬量控制簡介
(1)在工業控制中,某些輸入量(溫度、壓力、液位、流量等)是連續變化的模擬量信號,某些被控對象也需模擬信號控制,因此要求PLC有處理模擬信號的能力。PLC內部執行的均為數字量,因此模擬量處理需要完成有兩方面任務:一是將模擬量轉換成數字量(A/D轉換);二是將數字量轉換為模擬量(D/A轉換)。
(2)模擬量處理過程如圖3-5-2所示。這個過程主要分為以下幾個階段:
圖3-5-2 模擬量處理過程
①模擬量信號的采集,由傳感器來完成。傳感器將非電信號(如溫度、壓力、液位等)轉換成電信號。
注意:此時的信號為非標準信號。
②非標準信號轉換成標準信號,此項任務由變送器來完成。傳感器輸出的非標準電信號輸送給變送器,經變送器將非標準電信號轉化成標準電信號。根據國際標準,標準信號分為電壓型和電流型兩種類型。電壓型的標準信號DC0-10V和0-5V等;電流型的標準型號為DC0-20MA和DC4-20MA。
③A/D轉換。變送器將其輸出的標準信號傳送給模擬量輸入擴展模塊后,模擬量輸入擴展模塊將模擬量信號轉化為數字量信號。
02 溫度傳感器接線
(1)變送器信號的選擇:
①電壓型變送器的選用:早期的變送器大多為電壓輸出型,即測量信號轉換成0-5V或0-10V電壓輸出。這是運算放大器直接輸出,信號功率小于0.05W,通過A/D轉換電路轉換成數字信號供S7-1200PLC讀取、控制。但在信號需要遠距離傳輸或使用環境中電網干擾較大的場合,電壓輸出型變送器的使用受到了極大限制,暴露了抗干擾能力較差、線路損耗導致精度降低等缺點;所以電壓信號一般只使用與短距離傳輸。
②電流型變送的選用:當現場與控制室之間的距離較遠,連接電線的電阻較大時,如果用電壓信號遠傳,電線電阻與接收儀表輸入電阻的分壓,將產生較大的誤差,而用恒電流信號遠傳,只要傳送回路不出現分支,回路中的電流將不會隨電線長短而改變,從而保證了傳送的精度;所以一般遠距離傳輸用的都是電流信號。
(2)溫度變送器及傳感器,如圖3-5-3:
圖3-5-3 溫度變送器及傳感器器
(3)變送器的類型及接線
變送器分為四線制、三線制、二線制接線法。這里討論的“線制”,是以傳感器或儀表變送器是否需要外供電源來區別的,而并不是指模塊需要幾根線或該變送器有幾根輸出信號線。以下介紹三線制電壓型變送器接線方法如圖3-5-4:
圖3-5-4 溫度變送器接線
03 模擬量與數字量的轉換
在實際的工程項目中,讀者往往采集溫度、壓力、流量等信號,那么在程序中如何處理這些模擬量信號呢?換句話說編寫模擬量程序的目的是什么呢?編寫模擬量程序的目的是將模擬量轉換成對應的數字量,最終將數字量轉換成工程量(物理量)。
模擬量轉換為工程量分為單極性和雙極性兩種。雙極性的-27648對應工程量的最小值,27648對應工程量的最大值。
單極性模擬量分為兩種,即4-20mA和0-10V、0-20mA。
(1)第一種為4-20mA,是帶有偏移量的。
因為4mA為總量的20%,而20mA轉換為數字量為27648,所以4mA對應的數字量為5530。模擬量轉換為數字量是S7-1200PLC完成的,讀者要在程序中將這些數值轉換為工程量。
(2)第二種是沒有偏移量的
沒有偏移量的是如0-10V、0-20mA等模擬量,27648對應最大工程量,0對應工程量的最小值。
(3)模擬量信號(0-10V、0-5V或0-20mA)在S7-1200PLC CPU內部用0-27648的數值表示(4-20mA對應5530-27648),這兩者之間有一定的數學關系,如圖3-5-5
圖3-5-5 模擬量信號與數字量曲線
04 標準化指令和縮放指令
(1)標準化指令(NORM_X)
NORM_X指令:使用“NORM_X”指令,可將輸入VALUE中變量的值映射到線性標尺對其標準化。使用參數MIN和MAX定義輸入VALUE值范圍的限值:
LAD | 參數 | 數據類型 | 說明 |
EN | BOOL | 允許輸入 | |
ENO | BOOL | 允許輸出 | |
MIN | 整數、浮點數 | 取值范圍的下限 | |
VALUE | 整數、浮點數 | 要標準化的值 | |
MAX | 整數、浮點數 | 取值范圍的上限 | |
OUT | 浮點數 | 標準化結果 |
注意:可以從指令框“??>”下拉列表中選擇該指令的數據類型。
標準化指令的計算公式是:OUT= (VALUE - MIN) / (MAX - MIN),其中 (0.0 <= OUT <= 1.0),計算原理如圖3-5-6
圖3-5-6 標準化指令公式對應計算原理圖
用一個例子來說明標準化指令(NORM_X)的使用,梯形圖如圖3-5-7所示:
當I0.0閉合激活標準化指令,要標準化的VALUE存儲在MW10中,VALUE的范圍是0-27648,將VALUE標準化的輸出范圍是0.0-1.0。假設MW10中是13824,那么MD12中的標準化的結果是0.5。
圖3-5-7 標準化指令示例
(2)縮放指令(SCALE_X)
SCALE_X指令:使用“SCALE_X”指令,可將輸入VALUE的值映射到指定的值范圍來對其縮放。當執行縮放指令時,輸入VALUE的浮點值會縮放到有參數MIN和MAX定義的值范圍。縮放結果為整數,存儲在OUT輸出中。縮放指令參數見下表:
LAD | 參數 | 數據類型 | 說明 |
EN | BOOL | 允許輸入 | |
ENO | BOOL | 允許輸出 | |
MIN | 整數、浮點數 | 取值范圍的下限 | |
VALUE | 整數、浮點數 | 要標準化的值 | |
MAX | 整數、浮點數 | 取值范圍的上限 | |
OUT | 浮點數 | 標準化結果 |
注意:可以從指令框“??>”下拉列表中選擇該指令的數據類型。
縮放指令的計算公式是:OUT= VALUE (MAX - MIN) + MIN,其中 (0.0 <= VALUE <= 1.0),計算原理如圖3-5-8;
用一個例子來說明標準化指令(NORM_X)的使用,梯形圖如圖3-5-8所示,當I0.0閉合激活標準化指令,要標準化的VALUE存儲在MD16中,VALUE的范圍是0-27648,將VALUE標準化的輸出范圍是0-27648。假設MD10中是0.5,那么MW20中的標準化的結果是13824。
圖3-5-8 縮放指令示例
四、任務實施
本任務的實施步驟主要分為PLC接線、IO地址分配以及程序設計思路:
01 IO地址分配
輸入地址 | 說明 | 溫度顯示地址 | 說明 |
IW64 | 模擬量輸入 | MD24 | 溫度顯示 |
02 程序設計思路
1)使用標準化指令,把采集過來的模擬量值進行標準化,標準化后的范圍值在0.0-1.0之間。
2)再使用縮放指令,把標準化后的數值進行縮放,縮放后的范圍值在溫度傳感器量程(-50.0-200.0℃)范圍之間。
03 程序設計
五、經驗與總結
1、模擬量的換算,主要是要理解模擬量與數字量之間的關系。
2、在本任務中,主要使用的是標準化和縮放指令進行模擬量采集換算,換算的時候要注意數字量及工程量數值的填寫,以免換算錯誤。
3、在上述例子中,溫度傳感器的量程為-50℃-200℃,所以在縮放指令中需要正確填寫數值。
4、如果現場有多個溫度傳感器,可以使用帶參數子程序的方式編寫更加方便。
5、如果現場的傳感器是4-20mA電流輸出的,那么在標準化指令中的MIN管腳填寫的數值應該是5530,而不是0。
審核編輯:劉清
-
plc
+關注
關注
5008文章
13166瀏覽量
462118 -
AD轉換
+關注
關注
3文章
167瀏覽量
45293 -
HMI
+關注
關注
9文章
584瀏覽量
48459 -
濕溫度傳感器
+關注
關注
0文章
6瀏覽量
6754
原文標題:基于西門子1200PLC模擬量測溫案例,理清編程思路全靠這篇!
文章出處:【微信號:數控狂人,微信公眾號:數控狂人】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論