對于初學(xué)PLC編程的人來說,模擬量輸入、輸出模塊的編程要比用位變量進行一般的程序控制難的多,因為它不僅僅是程序編程,而且還涉及到模擬量的轉(zhuǎn)換公式推導(dǎo)與使用的問題。不同的傳感變送器,通過不同的模擬量輸入輸出模塊進行轉(zhuǎn)換,其轉(zhuǎn)換公式是不一樣的,如果選用的轉(zhuǎn)換公式不對,編出的程序肯定是錯誤的。
比如有3個溫度傳感變送器:
(1)、測溫范圍為?0~200?,變送器輸出信號為4~20ma
(2)、測溫范圍為?0~200?,變送器輸出信號為0~5V?
(3)、測溫范圍為?-100?~500?,變送器輸出信號為4~20ma
1)和(2)二個溫度傳感變送器,測溫范圍一樣,但輸出信號不同,(1)和(3)傳感變送器輸出信號一樣,但測溫范圍不同,這3個傳感變送器既使選用相同的模擬量輸入模塊,其轉(zhuǎn)換公式也是各不相同。
西門子PLC模擬量線性變換子程序的編寫
在plc編程中,只要涉及到數(shù)據(jù)采集和輸出,都會遇到模擬量的線性變換。在西門子300plc編程中,系統(tǒng)自帶的兩個線性變換功能塊FC105和FC106是最常用的兩個數(shù)據(jù)轉(zhuǎn)換模塊。FC105和FC106只適用與把采集通道的數(shù)字量(INT)轉(zhuǎn)換為物理量(REAL),在一些普適的場合就不適用了。在碰到線性變換時,需要用戶自己編寫線性變換程序,費時費力還容易出錯。本文簡單介紹PLC中模擬量線性標(biāo)定子程序的原理和方法。
1. 線性變換原理
線性變換原理。
線性變換的原理很簡單,比如說,在工程測量中,常會遇到4-20mA的傳感器,如壓力傳感器或位移傳感器等,要轉(zhuǎn)換為0-50MPa的物理量。用高中學(xué)過的直線方程兩點式就可以了。已知兩點(4,0)和(20,50),求(x,y)。
2. 線性變換子程序
以下介紹線性變換的子程序編寫。
新建一個功能塊(如FC30),在FC30中編寫線性變換子程序。
如圖1.1所示為線性轉(zhuǎn)化子程序輸入變量。如圖所示,為了便于使用,輸入變量的數(shù)據(jù)類型都定義為浮點數(shù)。(在數(shù)據(jù)采集中,可能會遇到把采集值(PIW INT)轉(zhuǎn)換為模擬量(REAL)。或者把物理量(REAL)轉(zhuǎn)換為輸出量(PQW,INT),此方法已經(jīng)在我的上一個小技巧教程中介紹過了。)
已知(x1,y1),(x2,y2)兩點,求(x,y)。
圖1.1 線性變換子程序輸入變量
如圖1.2所示為線性轉(zhuǎn)化子程序輸出變量。如圖所示,為了便于使用,輸出變量的數(shù)據(jù)類型為浮點數(shù)。
圖1.2 線性變換子程序輸出變量
圖1.3 線性變換中間變量
如圖1.4所示為線性轉(zhuǎn)化子程序的邏輯。線性變換的子程序非常簡單,就是用加減乘除把線性變換原理中的兩點式公式表示出來即可。
圖1.4 線性變換程序
如圖1.4所示為線性轉(zhuǎn)化子程序的應(yīng)用舉例。如圖所示,輸入段為4-20mA的模擬量,輸出段為0-50MPa的壓力值。
線性變換子程序應(yīng)用