*近在使用PORTAL編程,把西門子PLC S7-300的SCAL/UNSCAL(FC105/F106)的功能轉換為PORTAL環境,并把這2個塊的功能合成為一個塊,剛好也試下VARIANT指針(一直還沒使用過)。
使用了NORM_X和SCALE_X這2個指令,在測試程序時發現,2個塊的MAX接口,如果數據 為0,OUT的數值直接為VALUE的數值。見下圖:
以為是參數設置為變量的問題,于是改為實際數值,還是一樣,見下圖:
看了下NORM_X和SCALE_X的計算公式,如果為0的話,NORM_X應該會計算出錯(除數為0),SCALE_X結果應該是0
把MAX接口賦數值,輸出就正常了
經過測試得出,在使用NORM_X和SCALE_X指令時,必須做個判斷,MAX-MIN是否為0,如果是0,再進行輸出的處理,避免錯誤的結果出現