淺談西門子S7-1200PLC的模擬量轉換,附實例演示

淺談西門子S7-1200PLC的模擬量轉換,附實例演示

今天來簡單探討一下西門子S7-1200PLC的模擬量使用方法。

實際工業應用中常常由傳感器採集壓力、溫度、速度等非電信號,並將這些非電量轉換為電壓或電流信號再傳輸給PLC、單片機等控制系統,此時這些信號均為模擬量。我們往往要對PLC中採集的模擬量信息進一步的加工處理,方便用來計算、比較、顯示等。

淺談西門子S7-1200PLC的模擬量轉換,附實例演示

模擬量轉換的相關設置

S7-1200(1214C)內部集成了2路模擬量信號輸入通道,分別為通道0和通道1,也就是可以同時接收並處理兩個傳感器輸入的模擬信號,對應的地址為IW64和IW66(長度為一個字,16位),在TIA PROTAL中選中PLC的“常規”—“AI”標籤項可以進行查看和設置。

淺談西門子S7-1200PLC的模擬量轉換,附實例演示

S7-1200PLC模擬量轉換的工作原理

假設PLC的AI0口外接了一個溫度傳感器,傳感器將測得的溫度值轉換為一個範圍為0~10V的連續電壓信號輸入給PLC。模擬量經過PLC內部的A/D轉換後被轉換成了範圍0~27648的數字量並存儲在特定地址的寄存器中。具體的轉換流程如下圖所示。

淺談西門子S7-1200PLC的模擬量轉換,附實例演示

如何將模擬量輸入轉換的數字值還原成對應的物理量?

例:某個壓力傳感器的量程為0~0.1MPa,轉換成對應的電壓信號為0~5V,設轉換後地址IW64中的數值為N,嘗試求以Pa為單位的壓力值。

解:S7-1200PLC默認的模擬信號輸入電壓範圍是0~10V,轉換成數字信號的範圍是0~27648,因為此壓力傳感器輸出電壓範圍是0~5V,所以轉換的數字信號範圍是0~13824。壓力傳感器的測量壓力範圍是0~0.1MPa,由此可推導出公式,將電壓值還原成以Pa為單位的壓力值並將結果存儲於寄存器MD30中。

電壓轉換成數字信號後存入IW64的數值為N

淺談西門子S7-1200PLC的模擬量轉換,附實例演示

在博途軟件中編寫對應的PLC程序如下:

在編寫梯形圖程序時有以下兩點需要特別注意:

1)因為PLC執行除法指令時會丟掉餘數而只保留商值,這樣會影響計算的精度,所以在編寫梯形圖程序計算壓力值時要注意先乘後除。

2)IW64中的數據類型為整型(INT),該值乘以100000後其結果會超出int的範圍,所以必須先應用CONV指令將數據類型轉換為DInt。

淺談西門子S7-1200PLC的模擬量轉換,附實例演示



分享到:


相關文章: