如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?

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

注意事项:
在条目号:16689345中可以找到关于将库插入 STEP 7 Micro/WIN 中的信息。n

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
图1: Clock_Integer库n

库的全局存储区

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

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
图2:库存储区n

从CPU中读取时间(READ_RTC_I)

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
图3:函数“READ_RTC_I”n

函数“READ_RTC_I”的参数

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

表1:函数“READ_RTC_I”的参数 n

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

在CPU中设置时间(SET_RTC_I)

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
图4:函数“SET_RTC_I”n

函数“SET_RTC_I”的参数

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

表2:参数“SET_RTC_I”

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

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

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

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
图5:“READ_RTC_I”实例

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

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

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

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
图6:时间值的状态表

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

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

如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟? Clock_integer.exe ( 31 KB )

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc330388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论