您的位置:控制工程论坛网论坛 » 人机界面 » 台达触摸屏历史数据查询的实现

CLY

CLY   |   当前状态:离线

总积分:986  2024年可用积分:0

注册时间: 2007-04-02

最后登录时间: 2009-11-03

空间 发短消息加为好友

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

CLY  发表于 2008/12/4 20:11:52      814 查看 0 回复  [上一主题]  [下一主题]

手机阅读

摘 要:综合应用台达触摸屏Screen Editor强大的元件和宏指令功能,实现PC组态软件才具有的一些高级数据处理功能
关键字: 宏指令 指针 历史数据
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组态软件才具有的一些高级功能。

1楼 0 0 回复