| 作者 | 主题 |
|---|---|
|
ws0866 侠圣
经验值:3123 发帖数:1089 精华帖:8 |
楼主
主题:大家好问一下怎么在在SCL里读取系统时钟的毫秒数? 现在我想在SCL里得到系统时钟的毫秒数, 在SCL里定义变量 VAR_TEMP ReadDTRet : INT; CurDateTime : DATE_AND_TIME; Cur_DT_Byte AT CurDateTime : STRUCT Year : BYTE; Month : BYTE; Day : BYTE; Hour : BYTE; Minute : BYTE; Second : BYTE; Byte_6 : BYTE; Byte_7 : BYTE; END_STRUCT; END_VAR //读取系统时钟程序 ReadDTRet := READ_CLK(CDT:=CurDateTime); 读出来的结果,年月日时分秒都没有问题,但是毫秒不知道应该怎么取出来 查了下资料 0 Year YEAR "yyyy" 1 Month MONTH "m" 2 Day DAY "d" 3 Hour HOUR "h" 4 Minute MINUTE "n" 5 Second SECOND "s" 6 1/10 and 1/100 second MILLISEC1 7 4MSB: 1/1000 second 4LSB: weekday 字节6是1/10和1/100 second,字节7里有1/1000和星期,如果在梯型图里,我可以用比较笨的方法,把数据一个位一个位的取出来,再写入到一个字中,但在SCL中应该用什么方法能把毫秒取出来呢? 谢谢了!!!
好好学习天天向上
|
|
Zane 版主 经验值:85171 发帖数:21052 精华帖:399 |
1楼
主题:回复:大家好问一下怎么在在SCL里读取系统时钟的毫秒数?把6/7字节取出来右移四位
Zane
注册自动化系统工程师
Always save before download
|
|
ws0866 侠圣 经验值:3123 发帖数:1089 精华帖:8 |
2楼
主题:回复:大家好问一下怎么在在SCL里读取系统时钟的毫秒数?好的,明白了,试了下,好用了,谢谢您了 定义变量 word_ms : word; word_msByte AT word_ms : STRUCT Byte_0 : BYTE; //Cur_DT_Byte.Byte_6 Byte_1 : BYTE; //Cur_DT_Byte.Byte_7 END_STRUCT; word_msByte.Byte_0 := Cur_DT_Byte.Byte_6; word_msByte.Byte_1 := Cur_DT_Byte.Byte_7; word_ms:= SHR (IN:=word_ms, N:=4); Temp_Int := BCD_TO_INT(IN:=word_ms);
好好学习天天向上
|