回复:S7-300怎么读取系统时间 SFC1调用后怎么编写下一步啊

askab

  • 帖子

    405
  • 精华

    5
  • 被关注

    34

论坛等级:侠圣

注册时间:2005-07-24

黄金 黄金 如何晋级?

发布于 2016-05-16 16:46:21

12楼

//读取CPU系统时间

FUNCTION FC20 : VOID


TITLE = 'Block Title'

//

// Block Comment...

//

VERSION: '1.0'

AUTHOR: baikai

NAME: Sys_time

FAMILY: baikai

KNOW_HOW_PROTECT

VAR_OUTPUT

    // Output Parameters

year:INT;

month:INT;

day:INT;

hour:INT;

mins:INT;

second:INT;

week:INT;

END_VAR


VAR_TEMP

    // Temporary Variables

temp11:INT;

temp10:INT;

temp12:DT;

date_time:ARRAY[0..8] OF BYTE;

TS:WORD;

week_no:INT;

END_VAR

temp11:=READ_CLK(CDT := temp12   // OUT: DATE_AND_TIME

         ); // INT       

temp10:=BLKMOV(SRCBLK :=temp12  // IN: ANY

       ,DSTBLK :=date_time // OUT: ANY

       ); // INT

year:=BCD_TO_INT(date_time[0])+2000;

month:=BCD_TO_INT(date_time[1]);

day:=BCD_TO_INT(date_time[2]);

hour:=BCD_TO_INT(date_time[3]);

mins:=BCD_TO_INT(date_time[4]);

second:=BCD_TO_INT(date_time[5]);

TS:=BYTE_TO_WORD(date_time[7]);

week_no:=WORD_TO_INT(ts AND W#16#F) -1;

IF week_no = 0 THEN

    week:= 7;

ELSE

    week:=week_no;

END_IF;

END_FUNCTION

自己做的,已经测试过

大家同行,you ok ? me !
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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