技术频道

台达触摸屏历史数据查询的实现    .


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


表2查询时查询间起始输入地址
$50
$51
$52
$53
$54



表3查询时间停止输入地址
$60
$61
$62
$63
$64



表4查询时间起始指针
数据
*$70
*$71
*$72
*$73
*$74
*$75
*$76



表5查询时间停止指针
数据
*$80
*$81
*$82
*$83
*$84
*$85
*$86



表6控制及标志地址
历史数据取出完毕标志
查询到符合条件的起始地址
查询到符合条件的起始地址
查询到符合条件的数据总长度
常数变量
数据采集地址
查询/显示标志
$185
$181
$182
$183
$60000
$100
$48.0



表7查询完毕显示结果数据地址
时间
序号
数据
第一笔
$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所有,未经许可不得转载。