回复:时间倒计时-SCL-源程序

江湖远

  • 帖子

    21
  • 精华

    0
  • 被关注

    3

论坛等级:游民

注册时间:2013-11-08

普通 普通 如何晋级?

发布于 2013-12-05 12:16:11

2楼

我自己写了一个,但发现有错误,求大侠指点改正
FUNCTION_BLOCK FB200
VAR_INPUT
enable:BOOL;
current_time:DATE_AND_TIME;
sp_year:INT;
sp_month:INT;
sp_day:INT;
days_to_remind:INT;
END_VAR
VAR
sp_time:DATE_AND_TIME;
sp_year_state:INT;
sp_month_state:INT;
sp_day_state:INT;
sp_time_cal:WORD;
current_time_cal:WORD;
sp_time_AT AT sp_time:ARRAY[0..7] OF BYTE; //编译后错误,指向这里
END_VAR
VAR_OUTPUT
days_left:INT;
days_over:INT;
start_remind:BOOL;
have_over:BOOL;
END_VAR
BEGIN
sp_year_state:=sp_year;
sp_month_state:=sp_month;
sp_day_state:=sp_day;
sp_time_AT[0]:=(sp_year_state);
sp_time_AT[1]:=(sp_month_state);
sp_time_AT[2]:=(sp_day_state);
current_time_cal:=DT_DATE(IN :=current_time
); // IN: DATE_AND_TIME
// DATE
sp_time_cal:=DT_DATE(IN :=sp_time // IN: DATE_AND_TIME
); // DATE
days_left:=WORD_TO_INT(sp_time_cal)-WORD_TO_INT(current_time_cal);
IF days_left<0 THEN
days_over:=days_left*(-1);
have_over:=true;
END_IF;
IF days_left<=days_to_remind THEN
start_remind:=true;
END_IF;
END_FUNCTION_BLOCK
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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