工控编程吧

标题: 如何用 SFC1 (READ_CLK) 读取日期和时间以及如何用 SFC0 (SET_CLK) 设定日期和时间 [打印本页]

作者: baikhgmv    时间: 2016-11-8 09:19
标题: 如何用 SFC1 (READ_CLK) 读取日期和时间以及如何用 SFC0 (SET_CLK) 设定日期和时间
如何用 SFC1 (READ_CLK) 读取日期和时间以及如何用 SFC0 (SET_CLK) 设定日期和时间

系统功能 SFC1 和SFC0分别用于读取和设置 CPU 的系统时钟。系统时钟存储在数据类型为DATE_AND_TIME的变量里。通过指针访问系统时钟的单个组成元素。



说明
可以使用系统功能 SFC1 (READ_CLK)和SFC0 (SET_CLK)分别读取和设置 CPU 的系统时钟。系统时钟存储在数据类型为“DATE_AND_TIME”的变量里。数据类型DATE_AND_TIME所包含的关于年、月、日、时等信息是以 BCD 码的格式存储在 8 个字节里。该数据类型显示的范围是:
  • DT#1990-1-1-0:0:0.0 到 DT#2089-12-31-23:59:59.999
下表给出了实例表示 2014 年1月 2 日,星期四,3点 5 分 11.854 秒对应数据类型DATE_AND_TIME的每个字节所包含的内容。  
绝对地址
内容
例子
字节0
B#16#14
字节1
B#16#01
字节2
B#16#02
字节3
小时
B#16#03
字节4
分钟
B#16#05
字节5
B#16#11
字节6+字节7高4位*
(字6)
毫秒
W#16#8545
字节7 (低四位*)
星期:
1:星期日
2:星期一
3:星期二
4:星期三
5:星期四
6:星期五
7:星期六
B#16#45
*毫秒最大值999的BCD码需要占用12位。因此,毫秒值占用字节6以及字节7的高4位。字节7的剩下低4位用于表示星期。
通过指针访问数据类型DATE_AND_TIME的单个变量。这种读取和设定系统时钟的步骤下面以样例说明,样例在OB1中用了4个网络段的程序。
用SFC1 (READ_CLK)读取系统时钟的说明
1. 调用系统功能SFC1 (READ_CLK)读取系统时钟(图1)。
输出参数“CDT”用于接收CPU的当前系统时钟。用数据数据类型为DATE_AND_TIME的临时变量(此处为"readDateAndTime")连接参数“CDT”。
(, 下载次数: 9)