sdwyz
級別: 略有小成
精華主題: 0
發(fā)帖數量: 91 個
工控威望: 220 點
下載積分: 1082 分
在線時間: 180(小時)
注冊時間: 2009-02-06
最后登錄: 2022-08-17
查看sdwyz的 主題 / 回貼
樓主  發(fā)表于: 2015-12-13 21:12
FUNCTION_BLOCK FB 100

VAR_INPUT
  VALUE : REAL ;     // Measured value per time interval
  INTERVAL : TIME ;  // Time interval unit of measurement
  CYCLE : TIME ;     // Sampling time
  COM_RST : BOOL ;   // Clear accumulated total
END_VAR

VAR_OUTPUT
  TOTAL : REAL ;     // Accumulated total value
END_VAR

VAR
  ACCUM : REAL ;     // Accumulated total value (static storage)
END_VAR

VAR_TEMP
  tINTERVAL : REAL ; // Temp. time INTERVAL in REAL format
  tCYCLE : REAL ;    // Temp. CYCLE time in REAL format
END_VAR

BEGIN

NETWORK
TITLE =check for a complete reset

      u     #COM_RST;錯誤
      spbn   nw2;錯誤

      L     0.000000e+000;
      T     #ACCUM;
      T     #TOTAL;

      SET   ;
      SAVE  ;
      BEa   ; 錯誤


NETWORK
TITLE =convert INTERVAL and CYCLE to REAL numbers

nw2:  NOP   0;

      L     #INTERVAL;
      DTR   ;
      T     #tINTERVAL;

      L     #CYCLE;
      DTR   ;
      T     #tCYCLE;

NETWORK
TITLE =add incremental value to accumulated and total values

      L     #VALUE;
      L     #tCYCLE;
      *R    ;
      L     #tINTERVAL;
      /R    ;

// now that incremental value is calculated,
// add this to the accumulated value
// and send it to the output TOTAL

      L     #ACCUM;
      +R    ;
      T     #ACCUM;
      T     #TOTAL;

NETWORK
TITLE =exit

      SET   ;
      SAVE  ;
      Bea   ; 錯誤

END_FUNCTION_BLOCK


上面有四個錯誤,編譯通不過,不知道要怎么改?但是下裝時卻能用?
xiaoqizi
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 446 個
工控威望: 1316 點
下載積分: 2402 分
在線時間: 714(小時)
注冊時間: 2009-07-06
最后登錄: 2024-12-20
查看xiaoqizi的 主題 / 回貼
1樓  發(fā)表于: 2015-12-14 00:58
這是幾個錯誤是德文助記符,我們默認選擇的是英文助記符. U對應A,SPBN對應JCN,BEA對應BEU,修改語言或者助記符都可以.
sdwyz
級別: 略有小成
精華主題: 0
發(fā)帖數量: 91 個
工控威望: 220 點
下載積分: 1082 分
在線時間: 180(小時)
注冊時間: 2009-02-06
最后登錄: 2022-08-17
查看sdwyz的 主題 / 回貼
2樓  發(fā)表于: 2015-12-14 12:08
謝謝!按你的改編譯通過了!謝謝你!
還有個事幫我下:就是累計量清零時想再輸出個端子顯示清零時的累計量,就是歷史累計量的意思!不知道要怎么改程序?