在plc編程中,只要涉及到數(shù)據(jù)采集和輸出,都會(huì)遇到模擬量的線性變換。在西門子300plc編程中,系統(tǒng)自帶的兩個(gè)線性變換功能塊fc105和fc106是最常用的兩個(gè)數(shù)據(jù)轉(zhuǎn)換模塊。但是在博圖中,模擬量的線性轉(zhuǎn)換跟300plc有一定的差異,本文詳細(xì)介紹1200,1500中模擬量的線性轉(zhuǎn)換問題。
1. 線性變換原理
線性變換原理公式
線性變換的原理很簡(jiǎn)單,比如說(shuō),在工程測(cè)量中,常會(huì)遇到4-20ma的傳感器,如壓力傳感器或位移傳感器等,要轉(zhuǎn)換為0-50mpa的物理量。用高中學(xué)過的直線方程兩點(diǎn)式就可以了。已知兩點(diǎn)(4,20)和(20,50),求(x,y)。
2. 線性變換用到的指令模塊
(1).標(biāo)準(zhǔn)化(norm_x)指令:
可以使用“標(biāo)準(zhǔn)化”指令,通過將輸入 value 中變量的值映射到線性標(biāo)尺對(duì)其進(jìn)行標(biāo)準(zhǔn)化。可以使用參數(shù) min 和 max 定義(應(yīng)用于該標(biāo)尺的)值范圍的限值。輸出 out 中的結(jié)果經(jīng)過計(jì)算并存儲(chǔ)為浮點(diǎn)數(shù),這取決于要標(biāo)準(zhǔn)化的值在該值范圍中的位置。如果要標(biāo)準(zhǔn)化的值等于輸入 min 中的值,則輸出 out 將返回值“0.0”。如果要標(biāo)準(zhǔn)化的值等于輸入 max 的值,則輸出 out 需返回值“1.0”。
out=(value-min)/(max-min)
上面是plc幫助文檔的官方解釋:很拗口,理解不了不用去管他。下面直接看應(yīng)用就會(huì)好。
標(biāo)準(zhǔn)化(norm_x)指令
標(biāo)準(zhǔn)化(norm_x)指令映射關(guān)系
標(biāo)準(zhǔn)化(norm_x)指令參數(shù)
注意這個(gè)數(shù)據(jù)類型就可以了。
(2)scale_x:縮放
“縮放”指令,通過將輸入 value 的值映射到指定的值范圍來(lái)對(duì)其進(jìn)行縮放。 當(dāng)執(zhí)行“縮放”指令時(shí),輸入 value 的浮點(diǎn)值會(huì)縮放到由參數(shù) min 和 max 定義的值范圍。 縮放結(jié)果為整數(shù),存儲(chǔ)在 out 輸出中。
同樣的,不用去刻意理解這個(gè)意思。后面看舉例應(yīng)用就可以了。
scale_x:縮放指令
縮放指令映射
縮放指令參數(shù)
同樣的,注意這個(gè)數(shù)據(jù)類型就可以了。
3. 線性變換指令塊的應(yīng)用舉例
線性變換的原理很簡(jiǎn)單,比如說(shuō),在工程測(cè)量中,常會(huì)遇到4-20ma的傳感器,如壓力傳感器或位移傳感器等,要轉(zhuǎn)換為0-50mpa的物理量。用高中學(xué)過的直線方程兩點(diǎn)式就可以了。已知兩點(diǎn)(4,20)和(20,50),求(x,y)。
先熟悉模擬量采集的對(duì)應(yīng)關(guān)系,如圖,4-20ma對(duì)應(yīng)0-27648
plc電壓測(cè)量值對(duì)應(yīng)關(guān)系
plc電流測(cè)量值對(duì)應(yīng)關(guān)系
4-20ma轉(zhuǎn)換為0-50mpa程序
如圖所示:經(jīng)過兩步就可以把,采集到的模擬量4-20ma,轉(zhuǎn)換為0-50mpa。
如果是-10v-10v對(duì)應(yīng)0-50mpa,只需要把min賦值為-27648(查表)即可。
4. 理解
上述兩步,其實(shí)就是把線性關(guān)系
兩點(diǎn)式分兩步完成了。
理解起來(lái)可能有點(diǎn)拗口,應(yīng)用起來(lái)知道怎么處理就行。
第一步:看是單極性,還是雙極性,單極性對(duì)應(yīng)0-27648,雙極性(-10v到10v)對(duì)應(yīng)-27648—27648,
第二步:調(diào)用模塊。
第三步:分別給兩個(gè)模塊的min,max,valuw賦值即可。注意其數(shù)據(jù)類型,一般的%iw0為int,轉(zhuǎn)換后位real。
下一篇小文準(zhǔn)備寫模擬量的輸出線性變換。這個(gè)需要兩個(gè)模塊來(lái)轉(zhuǎn)換得到物理量,再下一篇小文介紹兩點(diǎn)式線性變換程序的編寫,用一個(gè)模塊就可以搞定。