“抄了个源程序,编译有2个错误,仔细对比发现不了问题,请教高手

已锁定

ziarcher

  • 帖子

    3
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2010-11-06

普通 普通 如何晋级?

“抄了个源程序,编译有2个错误,仔细对比发现不了问题,请教高手

953

3

2012-04-25 13:38:13

FUNCTION_BLOCK FB1

TITLE = 'chronometer'
//
// Block Comment...
//
VERSION: '1.0'
AUTHOR:
NAME:
FAMILY: Family

VAR_INPUT
ENABLE : BOOL;
RESET : BOOL;
END_VAR


VAR_OUTPUT
OUT : TIME;
RESET_ACTIV : BOOL;
OVERFLOW : BOOL;

END_VAR

VAR
LAST_TIME : TIME;
ACTUAL_TIME : TIME;
SECOND_SCAN : BOOL;
END_VAR


OK := TRUE;

// Reset / Rücksetzen
RESET_ACTIV := RESET;
IF RESET = TRUE THEN
OUT := DINT_TO_TIME (0);
LAST_TIME := ACTUAL_TIME;
ACTUAL_TIME :=TIME_TCK();
SECOND_SCAN := FALSE;
OVERFLOW := FALSE;
ELSIF ENABLE = FALSE THEN
SECOND_SCAN := FALSE;
ELSE

// First cyclus of Time count
IF SECOND_SCAN = FALSE THEN
// Statement Section_IF
ACTUAL_TIME :=TIME_TCK();
LAST_TIME := ACTUAL_TIME;
SECOND_SCAN:=TRUE;
ELSIF OVER_FLOW = FALSE THEN
// Input
ACTUAL_TIME := TIME_TCK();
//Overflow correction part 1 /
IF ACTUAL_TIME < LAST_TIME THEN
OUT := DINT_TO_TIME(TIME_TO_DINT(ACTUAL_TIME) - TIME_TO_DINT(LAST_TIME) + 2147483647 + TIME_TO_DINT(OUT));
ELSE
OUT := DINT_TO_TIME(TIME_TO_DINT(ACTUAL_TIME) - TIME_TO_DINT(LAST_TIME) + TIME_TO_DINT(OUT));

END_IF;
IF OK = FALSE THEN
OVERFLOW :=TRUE;
OUT := DINT_TO_TIME (2147483647);
END_IF;
LAST_TIME := ACTUAL_TIME;
ELSE
LAST_TIME := ACTUAL_TIME;
END_IF;
END_IF;
END_FUNCTION_BLOCK
“抄了个源程序,编译有2个错误,仔细对比发现不了问题,请教高手 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。