一.建立子程序
使用STEP 7-MicroWIN SMART先建立兩個(gè)子程序,分別命名S_ITR和S_RTI。
二.寫程序
1. S_ITR程序及原理
用途是將輸入范圍中的整數(shù)縮放為輸出范圍中的實(shí)數(shù)。
此子例程首先會(huì)讀取由調(diào)用POU傳遞的值:要縮放的輸入、輸入范圍上限 (ISH)、輸入范圍下限 (ISL)、輸出范圍上限 (OSH) 和輸入范圍下限 (OSL)。
下一步是用 OSH 中減去 OSL,以確定存回 OSH 中的輸出縮放范圍。 接下來,該子例程會(huì)從輸入中減去 ISL,并將所得的差先轉(zhuǎn)換為雙字,然后再轉(zhuǎn)換為實(shí)數(shù)。 之后,下一條指令將該實(shí)數(shù)乘以輸出范圍。
再下一步是用 ISH 減去 ISL,以計(jì)算輸入縮放范圍,將計(jì)算所得的值轉(zhuǎn)換為雙字,并再轉(zhuǎn)換為實(shí)數(shù)。
接下來,該子例程用輸出縮放范圍除以計(jì)算所得的實(shí)數(shù),并將結(jié)果與輸出范圍下限值 (OSL) 相加,以確定最終輸出值。 最后,該子例程會(huì)將此值移動(dòng)到要由調(diào)用 POU 使用的子例程的輸出。
公式如下:
輸出 = [(OSH -OSL) * (輸入 - ISL) /(ISH - ISL)] + OSL
表一.S_ITR變量表
以上圖片是子程序S_ITR里的程序
2. S_RTI程序及原理
用途是將輸入范圍中的實(shí)數(shù)縮放為輸出范圍中的整數(shù)。
此子例程首先會(huì)讀取由調(diào)用POU 傳遞的值: 要縮放的輸入、輸入范圍上限 (ISH)、輸入范圍下限 (ISL)、輸出范圍上限 (OSH) 和輸入范圍下限 (OSL)。
下一步是用 OSH 中減去 OSL,以確定存回 OSH 中的輸出縮放范圍。 接下來,該子例程會(huì)從輸入中減去 ISL,并將所得的差先轉(zhuǎn)換為雙字,然后再轉(zhuǎn)換為實(shí)數(shù)。
下一步是用輸入減去 ISL,然后用所得的差乘以計(jì)算所得的實(shí)數(shù)輸出縮放范圍。
再用 ISH 減去 ISL,以計(jì)算輸入縮放范圍,用輸出范圍除以計(jì)算所得的輸入鎖定范圍,然后將商舍入為雙字。
之后,該子例程將根據(jù)該數(shù)據(jù)類型的界限限制檢查已舍入的輸出值,以確保最終值的準(zhǔn)確性。在界限檢查后,子例程會(huì)將雙字值轉(zhuǎn)換為整數(shù),用該整數(shù)加上輸出范圍下限(OSL),并將所得值移動(dòng)到子例程輸出。
公式如下:
輸出 = [(OSH -OSL) * (輸入 - ISL) /(ISL - ISL)] + OSL
表二.S_RTI變量表
以上圖片是子程序S_RTI里的程序
3. 保存
三.建模擬量庫
打開軟件---文件----創(chuàng)建----對(duì)話框改名為:“模擬量”;存儲(chǔ)路徑建議默認(rèn),方便后期添加。
對(duì)話框---組件---程序塊,選擇剛剛保存的程序名稱,依次添加。
添加完畢可以點(diǎn)創(chuàng)建。(保護(hù),版本生成隨個(gè)人意愿)
四.調(diào)用模擬量庫
打開軟件----左邊的菜單樹----庫-----就可以看到自己創(chuàng)建的庫了,無需添加,自動(dòng)生成,前提是你得把你建的庫放到系統(tǒng)默認(rèn)的路徑(上圖有介紹)。
例1:讀取變送器送來的液位信號(hào),0~50m, 用VD0保存。
例2:把設(shè)定的閥門開度0~100%,AQW0輸出控制。