台达触摸屏历史数据查询的实现 .
1 引言
本文是一篇针对台达触摸屏功能的高级使用说明,目的是实现存储到U盘或者内部RAM
上的历史数据的读取,并可以对这些历史数据做简单的查询。本文并没有做很复杂的查询,意在对使用者提供一种思路,抛砖引玉,对实际应用留有很大的空间供使用者发挥。
2 基础知识准备
历史数据的取出:需要用GETHISTORY指令,句型如下:
V1 = GETHISTORY (V2, V3, V4, V5, V6)
V1-----表示存入资料长度内部存储器
V2-----内部存储器,常数 历史缓冲区编号
V3-----内部存储器,常数 读取起始取点位置
V4-----内部存储器,常数 读取点数
V5-----内部存储器,PLC 数据存入位置
V6-----内部存储器,常数 读取数据型态(0:资料,1:时间,2:时间跟数据)
指针:间接寻址缓存器区 (R/W): *$
Word access: *$n (n: 0~65535)
间接寻址是寻址到内部缓存器区。先由$n取出地址,再取此地址内存的值。
3数据查询的实现
3.1设计思路
本例想要实现这样的功能,设置内部的一个寄存器$100每隔1分钟采集一次数据,采
集到15笔后停止,把数据及采集的时间存储到内部的RAM。然后通过GETHISTORY把这15笔数据读取到$200开始的寄存器区,按照用户输入的时间段进行查询。比如查询2006/11/30 10:56~2006/11/30 10:58的数据,将符合条件的查询结果存储到$20000开始的寄存器区。
3.2地址分配表
表1历史数据取出后的存储地址
时间
序号 |
年 |
月 |
日 |
时 |
分 |
秒 |
数据 |
第一笔 |
$200 |
$201 |
$202 |
$203 |
$204 |
$205 |
$206 |
第二笔 |
$207 |
$208 |
$209 |
$210 |
$211 |
$212 |
$213 |
…… |
|
|
|
|
|
|
|
第十五笔 |
$305 |
$306 |
$307 |
$308 |
$309 |
$400 |
$401 |
年 |
月 |
日 |
时 |
分 |
$50 |
$51 |
$52 |
$53 |
$54 |
年 |
月 |
日 |
时 |
分 |
$60 |
$61 |
$62 |
$63 |
$64 |
年 |
月 |
日 |
时 |
分 |
秒 |
数据 |
*$70 |
*$71 |
*$72 |
*$73 |
*$74 |
*$75 |
*$76 |
年 |
月 |
日 |
时 |
分 |
秒 |
数据 |
*$80 |
*$81 |
*$82 |
*$83 |
*$84 |
*$85 |
*$86 |
历史数据取出完毕标志 |
查询到符合条件的起始地址 |
查询到符合条件的起始地址 |
查询到符合条件的数据总长度 |
常数变量 |
数据采集地址 |
查询/显示标志 | |
$185 |
$181 |
$182 |
$183 |
$60000 |
$100 |
$48.0 | |
时间
序号 |
年 |
月 |
日 |
时 |
分 |
秒 |
数据 |
第一笔 |
$20000 |
$20001 |
$20002 |
$20003 |
$20004 |
$20005 |
$20006 |
第二笔 |
$20007 |
$20008 |
$20009 |
$20010 |
$20011 |
$20012 |
$20013 |
…… |
|
|
|
|
|
|
|
第十五笔 |
$20305 |
$20306 |
$20307 |
$20308 |
$20309 |
$20400 |
$20401 |
1)
图1 程序流程图
3.4程序的实现
(1)页面设置
(2)历史缓冲区设置
(3)历史数据读取宏程序
(4)查询判断宏程序
(5)将结果赋值显示宏程序
3.5执行结果
显示【历史资料信息表】中已经采集到了10笔数据
设置查询的开始时间是2006/12/1 10:18,结束时间是2006/12/1 10:22
得到的查询结果显示在【查询结果显示表】中
4 结束语
本例是台达触摸屏Screen Editor强大的元件和宏指令功能综合的体现,可以看到,如
果能够活用软件,Screen Editor同样能够实现PC组态软件才具有的一些高级功能。
文章版权归西部工控xbgk所有,未经许可不得转载。