台达触摸屏历史数据查询的实现 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 取出地址,再取此地址内存的值。 例如,$n = m;$m = X;则 *$n = X。 (m 不可超出 65535) 3 数据查询的实现 3.1 设计思路 本例想要实现这样的功能,设置内部的一个寄存器$100 每隔1 分钟采集一次数据,采集到15 笔后停止,把数据及采集的时间存储到内部的RAM。然后通过GETHISTORY 把这15 笔数据读取到$200 开始的寄存器区,按照用户输入的时间段进行查询。比 如查询2006/11/30 10:56~ 2006/11/30 10:58 的数据,将 符合 条 件 的查询结 果 存储到$20000 开始的寄存器区。 3.2 地址分配 表 表 1 历史数据取出后的存储地址 表2 查询时间起始输入地址 表3 查询时间停止输入地址 表4 查询时间起始指针 表5 查询时间停止指针 表6 控制及标志地址 表7 查询完毕显示结果数据地址 3.3 程序流程图(图 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 组态软件才具有的一些高级功能。