Clock_Integer 指令库及其使用
使用 西门子s7-200 的 READ_RTC(读取实时时钟)和 SET_RTC(设置实时时钟)指令时,读取和设置的数据格式都是 BCD 码的。如果觉得不便计算、处理,可使用 Clock Integer 指令库。
Clock_Integer 指令库用于将 BCD 码格式的 西门子s7-200plc 日期、时间转换为十进制整数格式,以及将十进制整数格式的日期、时间值设定为 s7-200plc 时钟。
注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子plc程序设计技术支持与服务部门。
要使用 Clock_Integer 指令库,须遵循下列步骤:
取得 Clock_Integer 指令库文件,并添加到西门子编程软件STEP 7-Micro/WIN 中;
按照要求编写用户程序调用 Clock_Integer 指令库。
西门子plc STEP7软件添加 Clock_Integer 指令库
Clock_Integer 指令库
点击上面的链接下载 Clock_Integer 指令库到本地计算机硬盘,建议保存在 Micro/WIN 安装目录的 Lib文件夹中。以下是一个完整路径的例子:
C:\Program Files\Siemens\STEP 7-Micro/WIN V4.0\Lib
将指令库库手动添加到 Micro/WIN 软件中。
参见添加指令库。
成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘Clock_Integer (v1.0)'
图1.Clock_Integer 库
Clock_Integer 指令库编程应用 - 读取系统时钟
1、调用 READ_RTC_I,读取 PLC 时钟 ,并将其转换为十进制整数格式 :
图 2. READ_RTC_I
表 1. READ_RTC_I参数
参数 | 数据类型 | 注释 |
---|---|---|
EN | BOOL | 信号为‘1’时激活库指令 |
Address | DWORD | 起始偏移地址,转换为十进制格式的 PLC 时钟被保存在以此地址为起始地址的 8 个字节中 |
2、分配库存储区:
调用指令 READ_RTC_I 或 SET_RTC_I 后,必须定义 8 位(一个字节)的 V 存储区为库存储区。
参考:分配库指令数据区
表2. 8 字节时间缓冲区的格式
Address | 年 |
---|---|
Address+1 | 月 |
Address+2 | 日 |
Address+3 | 小时 |
Address+4 | 分钟 |
Address+5 | 秒 |
Address+6 | 保留 |
Address+7 | 星期(1) |
(1) 1 = 星期天;7 = 星期日;0 = 禁止星期
如图 2 所示,当 V50.0 为 ‘1’ 时,转换后的实时时钟被存储在 VB10 至 VB17 中。
在状态表中用户可以看到:
图3.状态表
可以看出,此时的 PLC 时钟为: 2006 年 4 月 6 日,23 时 48 分 1 秒,星期四。
注意:此指令库读取的整数格式时钟数据以连续字节的形式保存,而后续的整数运算需要一个字(两个字节)长度的数据。编程plc时要注意这一点。
Clock_Integer 指令库西门子PLC编程应用 - 设置系统时钟
1、调用 SET_RTC_I,将以十进制整数格式存储的日期时间设定为 PLC 时钟
图4.SET_RTC_I
参数 | 数据类型 | 注释 |
---|---|---|
EN | BOOL | 信号为‘1’时激活库指令 |
Address | DWORD | 起始偏移地址,以此地址为起始地址的 8 个字节中,应已经存储着用户时间数据 |
表 3. SET_RTC_I 参数
8 字节时间缓冲区的格式同表 2。
2、分配库存储区:
参考:分配库指令数据区
Clock_Integer 指令库应用例程
Clock_Integer 指令库例子程序
注意:该例程必须使用 Micro/WIN V4.0 SP3 或以上版本软件打开。
注意:此指令库/plc程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该西门子编程软件的风险完全由用户自行承担。由于它是免费的,不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
注意:
s7200 cpu221、CPU222 没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。
只有 STEP7 Micro/Win V3.2+SP4 和 V4.0 版本才支持使用该指令库。
在使用 ‘SET_RTC_I’ 设定 PLC 时钟时,被设定的时间必须有实际意义,否则设定操作不能成功完成。例如:不能将月份设为 13,或者将分钟设为 61 等。
Address端必须输入地址指针,如:&VB10,&VB20;或者为双字地址,如:VD100,MD10,AC0等,在该地址中存有地址。
常问问题:
1.Clock_Integer 指令库和 Micro/WIN 指令树中的读、写实时时钟指令有什么不同?
Clock_Integer 指令库读出或写入的 PLC 时钟是以十进制整数格式存储;而读、写实时时钟指令读出或写入的 PLC时钟为 BCD 码格式。
关于读写实时时钟指令,请参考: S7-200 的实时时钟。
发电机气体分析仪分析 | 测量点标号 | 发电机气体分析仪 | |||||
---|---|---|---|---|---|---|---|
| 浓度 | 单元 | 所测组分 | 量程 | |||
组分 | Zui小值 | 典型值 | Zui大值: | 小型 | 大型 | ||
空气中的 Ar/CO2 | 0 | - | 100 | 体积 % | - | 0 | 100 |
Ar/CO2 中 H2 的含量 | 0 | - | 100 | 体积 % | - | 0 | 100 |
空气中的 H2 | 80 | - | 100 | 体积 % | - | 80 | 100 |
试样温度 | - | 50 | - | ℃ | - | - | - |
含尘量 | - | 0 | - | mg/m3 | - | - | - |
H2O 露点 | - | -50 | - | ℃ | - | - | - |
聚集状态,试样1) | 气相 | - | - | - | - | - | - |
1)在 20℃, 101.3 kPa 条件下的标准状态