回复:请教一下关于S7-300中时间累加的问题~~~

shine

  • 帖子

    8803
  • 精华

    39
  • 被关注

    157

论坛等级:至圣

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2006-09-22 14:45:51

0楼

前几天刚好做了一个:

FUNCTION_BLOCK FB 61
TITLE =
VERSION : 0.1


VAR_INPUT
Run : BOOL ;
Reset : BOOL ;
END_VAR
VAR_OUTPUT
RunTime_Time : TIME ;
END_VAR
VAR
TimeTickLastScan : TIME ;
END_VAR
VAR_TEMP
TimeTick : TIME ;
END_VAR
BEGIN
NETWORK
TITLE =

CALL "TIME_TCK" (
RET_VAL := #TimeTick);

L #TimeTickLastScan; //if the time tick is less then timeticklastscan
L #TimeTick;
JNB _001; //then update timeticklastscan with timetick

A #Run; //if "run" is on, then calculate the runtime
JNB _001;
L #TimeTick; //runtime=runtime+(timetick-timeticklastscan)
L #TimeTickLastScan;
-D ;
L #RunTime_Time;
+D ;
T #RunTime_Time;
_001: L #TimeTick; //if "run" is off,then update timeticklastscan with timetick
T #TimeTickLastScan;


A #Reset;
JNB _002;
L 0;
T #RunTime_Time;
_002: NOP 0;


END_FUNCTION_BLOCK
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54615条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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