sdwyz
级别: 略有小成
精华主题: 0
发帖数量: 91 个
工控威望: 220 点
下载积分: 1082 分
在线时间: 180(小时)
注册时间: 2009-02-06
最后登录: 2022-08-17
查看sdwyz的 主题 / 回贴
楼主  发表于: 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
发帖数量: 445 个
工控威望: 1314 点
下载积分: 2394 分
在线时间: 713(小时)
注册时间: 2009-07-06
最后登录: 2023-12-04
查看xiaoqizi的 主题 / 回贴
1楼  发表于: 2015-12-14 00:58
这是几个错误是德文助记符,我们默认选择的是英文助记符. U对应A,SPBN对应JCN,BEA对应BEU,修改语言或者助记符都可以.
sdwyz
级别: 略有小成
精华主题: 0
发帖数量: 91 个
工控威望: 220 点
下载积分: 1082 分
在线时间: 180(小时)
注册时间: 2009-02-06
最后登录: 2022-08-17
查看sdwyz的 主题 / 回贴
2楼  发表于: 2015-12-14 12:08
谢谢!按你的改编译通过了!谢谢你!
还有个事帮我下:就是累计量清零时想再输出个端子显示清零时的累计量,就是历史累计量的意思!不知道要怎么改程序?