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