读写时钟和时钟同步
STEP 7中有关时间、日期的数据类型
系统时间
STEP 7中有关时间、日期的数据类型
1. 类型
TIME:IEC time
S5TIME:SIMATIC time
DATE:IEC date
TIME_OF_DAY:time
DATE_AND_TIME:DT
2. 各数据类型占用字长、格式及范围如下:
表 1 时间数据类型
3. S5TIME (Time Duration) 的格式及访问
S5TIME是用BCD码保存的,在数据存储区占用两个连续的字节。下图给出的例子中时间值为127,时基为1秒。
图1 S5TIME的格式
当使用S5TIME时,定义数值的范围为0~999,而且要指明使用的时基。时基指定了时间单位。
S5TIME时基及相应的时间范围如下:
时基 | BCD码 | 时间范围 |
10 ms | 0 | 10 ms - 9 s 990 ms |
100 ms | 1 | 100 ms - 1 min 39 s 990 ms |
1 s | 10 | 1 s - 16 min 39 s |
10 s | 11 | 10 s - 2 hr 46 min 30 s |
表2 S5TIME 时基
4. 定义时间值的两种方式:
1.W#16#wxyz
w = 时基 (即时间间隔或精度)
xyz = BCD格式的时间值
这种方式只能用于STL编程。
2.S5T#aH_bbM_ccS_dddMS
a = 小时, bb = 分钟, cc = 秒, dd = 毫秒
这种情况下时基自动选择, 数值为该时基下取整去尾到下一个较低值。
您可以输入的最大值为9,990 秒,或2H_46M_30S。
如何S5Time和Time相互转换?
请参考热线故事:整数INT_时间S5Time及Time相互转换的困惑
系统时间
如何设置系统时间?
Manager页面下,菜单栏PLC---诊断/设置---设置时钟(需要联机状态下操作)
图2 设置时钟1
图3 设置时钟2
勾选"来自PG/PC",点击应用。即可将PC端的时钟同步到PLC。(PC端时钟先要设置好)
如何在程序中读取,写入系统时间?
请参看如下文档:
1.用 SFC1 (READ_CLK) 读取日期和时间以及如何用 SFC0 (SET_CLK) 设定日期和时间
2.Step7中有关时间和定时器的使用和例程(具体3.2章节)
注意:使用SFC0和SFC1 设定和读取日期和时间,因设置和读取系统时钟都是BCD格式,有时需要进行整数和BCD之间的转换把系统时间转换成十进制显示或设置。
读取系统时钟并按照十进制显示,详细请参考上述文档1的解释。
下列程序中,DB1.DBB0~DB1.DBB8分别对应需要显示的十进制表示的:年/月/日/时/分/秒/毫秒/星期
按照十进制设置系统时钟
下列程序中DB2.DBB0~DB2.DBW6分别对应设置的十进制地址:年/月/日/时/分/秒/毫秒,星期不需要设置。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !