恭喜,你发布的帖子
发布于 2015-10-30 17:43:07
3楼
//读取CPU系统时间
FUNCTION FC20 : VOID
TITLE = 'Block Title'
//
// Block Comment...
//
VERSION: '1.0'
AUTHOR: askab
NAME: Sys_time
FAMILY: askab
KNOW_HOW_PROTECT
VAR_OUTPUT
year:INT;
month:INT;
day:INT;
hour:INT;
mins:INT;
second:INT;
week:INT;
END_VAR
VAR_TEMP
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 FC3
); // INT
temp10:=BLKMOV(SRCBLK :=temp12 // IN: ANY SFC20
,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
请填写推广理由:
分享
只看
楼主