描述:
下面的 ​Clock_Integer 库可以自动将传输值从十进制转换为 BCD 格式,反之也可以从 BCD 格式转换成十进制。然后执行相应的时间操作 ​READ_RTC或​SET_RTC​。这样当传输值用操作面板或程序的十进制格式保存时,便于时间函数的处理 (READ_RTC和SET_RTC)。

注意事项:S7-200如何通过 STEP 7 MicroWIN 将用户自定义的库集成到项目中

S7-200如何通过 STEP 7 MicroWIN 将用户自定义的库集成到项目中


图1: Clock _ Integer库

库的全局存储区

库使用全局存储区来保证传输的用户数据的一致性。从 库中将其中一个函数 (READ RTC I或SET RTC I)插入到STEP 7 Micro/Win 项目,然后选中 STEP 7 Micro/Win 菜单“文件”中的条目“Library Memory Allocation (分配库内存)”。系统会提供一个地址区,或者您也可以自己选择一个地址区。该库需要8个字节。


图2:库存储区

从CPU中读取时间(READ_RTC_I)


图3:函数“READ RTC I”

函数“ ​**READ_RTC_I”的参数​
**

参数 变量类型 说明
EN [BOOL] 激活块
如有需要时才激活块,这样能减轻CPU负担
地址 [DWORD] 用于保存读取的时间值的地址
从该偏移量地址开始为其分配8个字节。

表1:函数“READ RTC I”的参数

功能:

如果激活输入信号“EN”,该块读取当前时间,将 所读取的BCD值转换成十进制值,并保存在从给定偏移量地址开始的地址中。

在CPU中设置时间(SET_RTC_I)


图4:函数“SET RTC I”

函数“ ​**SET_RTC_I”的参数 ​
**

参数 变量类型 说明
EN [BOOL] 激活块
只有在需要时才激活该块,这样能减轻CPU负担。
地址 [DWORD] 存储用户时间数据的地址,该块读取从该偏移量地址开始的8个字节。

表2:参数“SET RTC I”

功能:
如果激活输入信号(EN),该块读取所存储的用户数据,将 它们转换成BCD格式并以该格式来设置CPU时钟.

以十进制格式读取CPU时钟的实例:

如果激活V50.0,就读取时间。所读取的数据以十进制格式存储在VB10开始的地址中。


图5:“READ RTC I”实例

在状态表中检查数值:
该数值以十进制格式存放在时间函数所用的结构中。

时间函数的存储区结构(READ_RTC, SET _RTC):

VB10 = 年份
VB11 = 月份
VB12 = 日期
VB13 = 小时
VB14 = 分钟
VB15 = 秒钟
VB16 = 保留
VB17 = 星期


图6:时间值的状态表

注意事项:CPU 221CPU 222不包含集成的时钟,所以需要CC292模块。

将STEP 7 Micro/WIN库作为档案库文件:
将文件​clock_integer.exe复制到一个独立目录中并双击启动它。将STEP 7 Micro/WIN库进行解包,可以把该库加到S7-200项目中。该库适用于STEP 7 Micro/WIN 3.2.4.27以及更高版本。

Clock_integer.exe ( 31 KB )

相关日志

Related Post

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注