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