Intouch报表

合集下载

InTouch组态软件说明

InTouch组态软件说明

报警统计与分析
系统可对报警事件进行统计和分析,帮助用 户了解设备运行情况和潜在问题。
06
系统集成与扩展
与其他系统的集成
OPC接口集成
通过OPC(OLE for Process Control)接口,InTouch可 以与各种工业自动化设备和控制系统进行无缝集成,实现 实时数据交换和监控。
数据库连接
良好的跨平台兼容性
软件支持Windows、Linux等多种操作系统,方便用户在不同平台上 进行开发和部署。
未来发展趋势预测
智能化发展
随着人工智能技术的不断发展,InTouch组态软件有望在未来实现更加智能化的功能,如 自动优化界面设计、智能数据分析等。
云端化部署
云计算技术的普及将推动组态软件向云端化方向发展,实现远程监控、数据共享和协同工 作等功能。
使用内置脚本语言编写复杂的逻辑控 制代码,实现高级功能和定制化需求 。
05
04
报警管理
设置和管理组态工程的报警规则,实 现实时监测和报警提示功能。
04
数据处理与可视化
数据采集与处理
数据采集
数据存储
支持多种数据源接入,包括传感器、 PLC、数据库等,实现实时数据采集 。
支持历史数据存储,为数据分析提供 数据基础。
背景
随着工业自动化的快速发展,组态软件在工业自动化领域扮演着越来越重要的 角色。InTouch作为其中的佼佼者,以其卓越的性能和广泛的应用而备受推崇。
主要功能及特点
图形化界面设计
提供丰富的图形库和控件,支持自定 义界面设计,满足用户多样化的需求 。
数据采集与处理
实时采集现场数据,进行处理、分析 和存储,为监控和决策提供有力支持 。

基于VB和Access的InTouch报表系统的开发

基于VB和Access的InTouch报表系统的开发

基于VB和Access的InTouch报表系统的开发
谢卓成
【期刊名称】《工业控制计算机》
【年(卷),期】2010(023)009
【摘要】利用InTouch的脚奉功能进行数据采集,写入Access数据库,通过VB开发的报表系统把生产数据以表格和曲线的形式显示出来,在生产数据的分析和总结中起到了较好的作用.
【总页数】3页(P3-4,6)
【作者】谢卓成
【作者单位】中山火炬水务有限公司,广东,中山,528437
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于VB与ACCESS的固井水泥车参数监测系统软件开发 [J], 李进;吕海丹
2.基于与Access的卫生人才管理系统软件的设计与开发 [J], 周蕾蕾;蒋红兵;方莹;徐磊
3.基于VB与Access数据库的Intouch报表系统的设计与实现 [J], 杜岗;邹孝付;韩芳成
4.基于VB6.0+Access2010开发的设备管理信息系统 [J], 祝贺
5.基于ACCESS和VBA学生考勤管理系统的开发与实践 [J], 黄思棉
因版权原因,仅展示原文概要,查看原文内容请购买。

(2024年)InTouch教程

(2024年)InTouch教程
InTouch教程
2024/3/26
1
目录
2024/3/26
• InTouch基础介绍 • InTouch界面与操作 • 图形与动画设计 • 数据连接与通信配置 • 报警与事件处理机制 • 报表生成与打印功能实现 • 高级功能应用与拓展
2
01
InTouch基础介绍
Chapter
2024/3/26
使用InTouch提供的绘图 工具创建直线、圆、矩形 等基本图形。
2024/3/26
自定义图形
通过组合基本图形元素或 使用路径工具创建复杂的 自定义图形。
图形属性编辑
调整图形的颜色、线型、 填充等属性,以满足设计 需求。
12
动画效果实现方法
2024/3/26
关键帧动画
通过设置关键帧和中间帧,实现图形的移动、旋转、缩放等动画 效果。
探讨如何优化网络通信性能,提高远程监控的实时性和稳定性
03
30
THANKS
感谢观看
2024/3/26
31
20
事件处理程序编写技巧
事件类型判断
在事件处理程序中,首先需要 判断事件的类型,以便执行相
应的处理逻辑。
2024/3/26
数据获取与处理
根据事件类型,获取相关的数 据并进行处理,如读取模拟量 数值、开关量状态等。
报警信息生成
根据处理结果生成报警信息, 包括报警类型、报警点名称、 报警值、报警时间等。
报警信息发送
将生成的报警信息发送给相应 的接收端,如声光报警器、手
机APP等。
21
报警记录查询与导出功能
报警记录查询
提供报警记录查询功能,可以按照报 警类型、报警点名称、报警时间等条 件进行查询。

Intouch报表-EXCEL报表制作教程

Intouch报表-EXCEL报表制作教程

用EXCEL打印报表1.原理首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV 文件(逗号分隔文件,可用EXCEL打开)。

这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。

所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。

通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。

如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。

大致步骤如下:2.生成.CSV文件Step1: 自动生成需要的标记名在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导(HistData)放入窗口。

这将自动形成若干标记名(Tag)。

有关标记名以HDW开头加上它们的DDE的ITEM命名。

这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名,可用函数赋值例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名,可用函数赋值例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度)可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如扩.5s 表示500 毫秒若只需一个样本请将DURATION 设为0 零HDWINTERVAL 消息型采样间隔的时间长度可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时有效字符与HDDURATION相同注意DURATION 和INTERVAL 允许的最大时间长度均为6 周这适用于所有请求类型日秒等例如如果使用日则最大值为42,7 天x 6 周= 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名)以TagA,TagB,TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求例如"$Date,TagA,TagB" 或"$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称例如,C:\INTOUCH\HDFILE.CSV HDWWRITEFILE 整型当设置为1 时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS 为0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查状态和错误。

基于VB与Access数据库的Intouch报表系统的设计与实现

基于VB与Access数据库的Intouch报表系统的设计与实现
第 2 4卷 第 2 期 2 1 年 6月 01
文章编号 :0 9 3 82 1 )2 O 9 4 10 —4 1 (0 10 一OO —0
连 云港 职业 技术 学 院学报
Ju a fLa y n a gT c nclC l g o r lo in u g n e h ia ol e n e
3 It c n uh与 A cs 数 据 库 的链 接 o ces
3. 1闸 门数 据 记 录
中对 某些标 记 名和 ¥H u进 行标 记并输 入脚 本程 序 or

c e =S uIetCnetnd” f 报 表 ” ” a d o l Q lr oneoI, 闸 - 1 s ( i I ,d—
打开 It c , no h点击 左 边 列 表 中 的 “P ” 再 双 击 录的功 能 . u SC ,
2水 “ 数据 库 ”选 择 “ D C数 据 源 ” “ a rpr ” 保 3. 位 数 据 记 录 , OB 为 dteot 并 a l 在 Ioc n uh中的数 据 改变 脚 本 中标 记 上 游水 位 , t 存 , 后 点击 “ 最 验证 ”如 果 “ , 连接状 态 ” 为绿 色 则连 接
这 一 系统 的 可 行 性 .
关键词 :BAcs h0c; ;L V ;c s uh报表 Pc e;
中图分 类号 :P9 T 2 文 献标识码 : A

随着 工 业 自动化 的 发 展 , 态 软 件 和 P C得 到 代久远 , 组 L 设备落后 、 老化 , 对其进行 自动化改造 已势 了很 大 应用 , 态 软 件 的实 用性 和 易操 作 性 也 越 来 在必行 . 组 系统需要控制 1 道闸门, 8 采用两个控制柜 ,

Intouch_EXCEL报表制作

Intouch_EXCEL报表制作

用EXCEL打印报表1.原理首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV 文件(逗号分隔文件,可用EXCEL打开)。

这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。

所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。

通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。

如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。

大致步骤如下:2.生成.CSV文件Step1: 自动生成需要的标记名在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导(HistData)放入窗口。

这将自动形成若干标记名(Tag)。

有关标记名以HDW开头加上它们的DDE的ITEM命名。

这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名,可用函数赋值例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名,可用函数赋值例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度)可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如扩.5s 表示500 毫秒若只需一个样本请将DURATION 设为0 零HDWINTERVAL 消息型采样间隔的时间长度可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时有效字符与HDDURATION相同注意DURATION 和INTERVAL 允许的最大时间长度均为6 周这适用于所有请求类型日秒等例如如果使用日则最大值为42,7 天x 6 周= 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名)以TagA,TagB,TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求例如"$Date,TagA,TagB" 或"$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称例如,C:\INTOUCH\HDFILE.CSV HDWWRITEFILE 整型当设置为1 时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS 为0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查状态和错误。

Intouch-EXCEL报表制作并按日期另存EXCEL文件

Intouch-EXCEL报表制作并按日期另存EXCEL文件

用EXCEL打印报表1.原理首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV 文件(逗号分隔文件,可用EXCEL打开)。

这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。

所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。

通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。

如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。

大致步骤如下:2.生成.CSV文件Step1: 自动生成需要的标记名在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导(HistData)放入窗口。

这将自动形成若干标记名(Tag)。

有关标记名以HDW开头加上它们的DDE的ITEM命名。

这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名,可用函数赋值例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名,可用函数赋值例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度)可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如扩.5s 表示500 毫秒若只需一个样本请将DURATION 设为0 零HDWINTERVAL 消息型采样间隔的时间长度可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时有效字符与HDDURATION相同注意DURATION 和INTERVAL 允许的最大时间长度均为6 周这适用于所有请求类型日秒等例如如果使用日则最大值为42,7 天x 6 周= 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名)以TagA,TagB,TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求例如"$Date,TagA,TagB" 或"$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称例如,C:\INTOUCH\HDFILE.CSV HDWWRITEFILE 整型当设置为1 时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS 为0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查状态和错误。

InTouch组态软件培训教程(多场合应用)

InTouch组态软件培训教程(多场合应用)

InTouch组态软件培训教程一、引言InTouch组态软件是一款广泛应用于工业自动化领域的监控与数据采集软件,由美国Wonderware公司开发。

它具有强大的数据处理、报警管理、趋势分析等功能,能够满足各种复杂工业场景的需求。

本教程旨在帮助用户快速掌握InTouch组态软件的基本操作和高级应用,提高工业自动化系统的监控和管理水平。

二、InTouch组态软件安装与配置1.系统要求(1)操作系统:WindowsXP、Windows7、Windows10等。

(2)处理器:至少1GHz的CPU。

(3)内存:至少1GB的RAM。

(4)硬盘:至少2GB的可用空间。

2.安装步骤(1)将InTouch组态软件安装光盘放入光驱,运行安装程序。

(2)按照安装向导的提示,完成软件的安装。

(3)安装过程中,请确保所有选项均为默认设置,以便顺利完成安装。

3.配置InTouch组态软件(1)启动InTouch组态软件,进入“配置”菜单。

(2)设置通信参数,包括串口、以太网等通信方式。

(3)添加设备驱动程序,以便与现场设备进行通信。

(4)创建项目,设置项目属性,如工程名称、通信地质等。

三、InTouch组态软件基本操作1.创建画面(1)启动InTouch组态软件,进入“设计”菜单。

(2)选择“新建画面”,设置画面大小和背景颜色。

(3)从工具箱中拖拽图形、文本、按钮等控件到画面中。

(4)调整控件的大小和位置,设置控件的属性,如颜色、字体等。

2.数据绑定(1)在画面中添加数据源,如标签、数据库等。

(2)将数据源与控件进行绑定,实现数据的实时显示。

(3)设置数据刷新频率,确保数据的实时性。

3.动画效果(1)为控件添加动画效果,如闪烁、移动等。

(2)设置动画的触发条件,如按钮、数据变化等。

(3)调整动画的参数,如速度、次数等。

四、InTouch组态软件高级应用1.报警管理(1)创建报警事件,设置报警条件。

(2)设置报警级别,如提示、警告、故障等。

HISTDATA

HISTDATA

HISTDATA在InTouch中如何使用excel做报表在InTouch中有很多做报表的方法,本文介绍在InTouch中如何使用excel来做报表。

首先在Wonderware InTouch 中使用历史数据导出工具histdata , 将Wonderware InTouch 生成的历史数据导出到文本文件excel中。

然后您可以在excel中通过函数对这些数据进行处理生成您需要的数据,如流量、压力、液位等。

再通过intouch提供的DDE协议将excel 中的数据在intouch中您制作的那个表格里显示出来。

以下是用histdata将intouch历史数据导出到excel中的一些步骤:1、在Wonderware InTouch 中配置访问名2、使用INTOUCH向导,打开向导的“趋势”组。

选择histdata 向导,粘贴到窗口。

双击给其指定一个“历史趋势”型标记名。

3、使用histdata向导时,会自动创建histdata标记名。

进入标记名字典可以看到一些以HDW 开头的io型标记名,如HDWDataDir。

Wonderware InT ouch 自动生成需要的标记名,这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名例如HDWDataDir = HTGetLogDirectory();HDWDBDIR 消息型InTouch 标记名字典的目录的路径名例如HDWDBDir = InfoInTouchAppDir();HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度),可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如.5s 表示500 毫秒,若只需一个样本请将DURATION 设为0 零HDWINTERVAL 消息型采样间隔的时间长度,可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时,有效字符与HDDURATION 相同,注意DURATION 和INTERVAL 允许的最大时间长度均为6周,这适用于所有请求类型日、秒等,例如如果使用日则最大值为42,7 天x 6 周= 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名),以TagA,TagB,……TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求,例如"$Date,TagA,TagB" 或"$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2 等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+" TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称,例如,D:\report.csv HDWWRITEFILE 整型当设置为1时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS为0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查错误。

intouch报表(access版)

intouch报表(access版)

Intouch报表作法(access版)一.将电脑的时间格式设为如下二.如果电脑没有dtpicker控件,可将mscomct2.ocx控件拷贝到“C:\WINDOWS\system32”目录下,在开始-运行中输入“mscomct2.ocx”进行注册,即可用。

(注册方法:regsvr32 mscomct2.ocx)。

三.做excel报表模板REPORT.xls,如下1.做报表模板,设置每一列的数据格式(字体和小数位数等)。

2.在“工具\宏\visual basic编辑器”进入VB环境插入窗体如下图如果工具箱没有没有dtpicker控件,在工具箱空白处鼠标右键-附件控件中找。

3.“工具\控件”菜单下添加如下引用。

四.Intouch安装时选上intouch自带的SQL安装包。

1.在intouch“特别\SQL访问管理器\绑定列表(B)”下添加列表(可见多个列表)。

绑定列表名为REPORT1。

如下图:2.在“控制面板”-管理工具-数据源(ODBC)下“系统DSN选项卡”中创建数据源。

本例中数据源名为INTOUCHDSN,“创建”-保存在某一目录下。

(本例中在“E:\REPORT\TEMPLAT”目录下,文件名为MYREPORT.mdb)3.打开MYREPORT.mdb,第一项“使用设计器创建表”,分别配置字段(字段名和intouch绑定列表中的“列名”对应,注意大小写),配置字段的数据类型(数字),属性表中配置字段大小为“小数”或“双精度”。

保存为TABLE1.4.INTOUCH-“应用程序脚本”中输入如下函数STA TUS=SQLConnect( ConnectionID, "Provider=MSDASQL;DSN=INTOUCHDSN;UID= ;PWD= " );INTOUCH-“数据改变脚本”中输入如下函数STA TUS=SQLInsert( ConnectionID,"TABLE1","REPORT1" );STA TUS=0表示没有错误。

基于VB和Access的InTouch报表系统的开发

基于VB和Access的InTouch报表系统的开发

Security Info=False″); ' 打开数据库
DIM strSQL AS MESSAGE;
OLE_CreateObject(%RealtableRs,″ADODB.Recordset″);
strSQL=″select 觹 from realtable″;
%RealtableRs.open(strSQl,%RealtableCn,3,3,1);
行该日的数据查询。 查询的主要代码如下: With DailyReportGrid:
.TextMatrix(1, 0) = ″时间″ .TextMatrix(0, 1) = ″XXX″
............ .TextMatrix(26, 0) = ″合 计″ .TextMatrix(27, 0) = ″平均″ .TextMatrix(28, 0) = ″最小值″ .TextMatrix(29, 0) = ″最大值″ .TextMatrix(2, 0) = ″00:00:00″ ............ .ColWidth(0) = 1500 ............ End With DailyReportGrid.ColAlignment = 4 DailyReportGrid.ColAlignmentFixed = 4 DailyReportGrid.Left = frmDailyReport.Left + 50 Call Open_Database Set cmd.ActiveConnection = cnn cmd.CommandText = ″ SELECT 觹 FROM REALTABLE WHERE YEAR(DATE)=″ & Format(DTP_QueryDate.Value, ″YYYY″) & ″ AND MONTH (DATE)=″ & Format (DTP_QueryDate.Value, ″MM″) & ″ AND DAY (DATE) =″ & Format (DTP_QueryDate.Value, ″ DD″ ) & ″ ORDER BY DATE″ rst.CursorLocation = adUseClient rst.Open cmd, , adOpenStatic, adLockBatchOptimistic If rst.RecordCount > 0 Then Dim arr() ReDim arr(k) For i = 0 To rst.RecordCount - 1

在InTouch中如何使用excel做报表

在InTouch中如何使用excel做报表

在InTouch中如何使用excel做报表在InTouch中有很多做报表的方法,本文介绍在InTouch中如何使用excel 来做报表。

首先在Wonderware InTouch 中使用历史数据导出工具histdata , 将Wonderware InTouch 生成的历史数据导出到文本文件excel中。

然后您可以在excel中通过函数对这些数据进行处理生成您需要的数据,如流量、压力、液位等。

再通过intouch提供的DDE协议将excel中的数据在intouch中您制作的那个表格里显示出来。

以下是用histdata将intouch历史数据导出到excel中的一些步骤:1、在Wonderware InTouch 中配置访问名2、使用INTOUCH向导,打开向导的“趋势”组。

选择histdata向导,粘贴到窗口。

双击给其指定一个“历史趋势”型标记名。

3、使用histdata向导时,会自动创建histdata标记名。

进入标记名字典可以看到一些以HDW开头的io型标记名,如HDWDataDir。

Wonderware InTouch 自动生成需要的标记名,这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名例如 HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型 InTouch 标记名字典的目录的路径名例如 HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度),可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如.5s 表示 500毫秒,若只需一个样本请将 DURATION 设为 0 零HDWINTERVAL 消息型采样间隔的时间长度,可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时,有效字符与HDDURATION 相同,注意DURATION和 INTERVAL 允许的最大时间长度均为6周,这适用于所有请求类型日、秒等,例如如果使用日则最大值为 42,7 天 x 6 周 = 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名),以TagA,TagB,……TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求,例如"$Date,TagA,TagB" 或 "$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在 WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2 等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为 512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称,例如,D:\report.csvHDWWRITEFILE 整型当设置为1时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS 为 0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查错误。

intouch报表

intouch报表

intouch报表简介intouch报表是一种数据可视化工具,用于呈现和分析数据。

通过使用intouch报表,用户可以将复杂的数据转化为易于理解和决策的报表形式。

该文档将介绍intouch报表的基本概念、使用方法和常见功能。

概念在开始使用intouch报表之前,让我们先了解一些基本概念:•数据源:intouch报表需要从一个或多个数据源中获取数据。

数据源可以是数据库、Excel文件或其他支持的数据源。

•数据集:数据集是指从数据源中检索的一组数据。

数据集通常包含多个列和行,每列代表一项数据,而每行代表一个数据记录。

•报表:报表是数据集的可视化呈现形式。

通过使用图表、表格、图像和其他可视化工具,报表可以帮助用户更好地理解和分析数据。

使用方法下面是使用intouch报表的一般步骤:1.连接数据源:首先,需要连接到所需的数据源。

这可以通过选择合适的数据源类型和提供必要的连接信息来完成。

2.创建数据集:一旦连接到数据源,就可以创建数据集。

在创建数据集时,您可以选择所需的列和行,并可以通过筛选器和排序规则来定义数据的范围。

3.设计报表:在创建数据集后,可以开始设计报表。

intouch报表提供了丰富的报表设计工具,包括各种图表和图像,以及对数据进行格式化和布局的选项。

4.编辑报表:在设计报表后,您可以随时编辑报表。

您可以更改图表类型、添加新的图表元素、调整布局和样式等。

5.保存和导出报表:一旦完成报表设计,您可以保存报表并导出为各种格式,如PDF、PNG和Excel等。

常见功能intouch报表提供了许多强大的功能,使用户能够更好地分析和展示数据。

下面介绍一些常见功能:•图表类型:intouch报表支持各种图表类型,如柱状图、饼图、折线图、散点图等。

根据数据类型和需求,可以选择合适的图表类型来展示数据。

•筛选器:intouch报表允许用户使用筛选器来过滤数据。

通过设置合适的筛选条件,可以选择性地展示特定数据。

intouch通过Excel制作报表

intouch通过Excel制作报表

如何把intouch里的数据通过SQL server在Excel里实现报表功能一.需要安装的软件:Intouch、OPClink8.0、Microsoft SQLServer2000、Microsoft Office EXCEL、数据源ODBC软件(Windows自带)二.实现的步骤:1.建立Topic。

在下位机的相关软件里(DDE/OPC相关选项)建立一个Topic,用于和OPClink连接;如下图所示,给出了PLC建立的一个Topic:2.定义OPClink。

如图:建立一个与上位机通讯用的Topic(huanghua_opc),注意下图中的OPC[huanghua]就是在上图中建立的topic。

注意:OPClink建立的Topic(huanghua_opc)必须与intouch中的访问名一致3.定义ODBC DSN。

定义用户DSN,注意选择正确的SQL server服务器与该服务器下定义的数据库。

4.在intouch中的SQL访问管理器中建立绑定列表。

如下图建立的列表“FIT_report”这个表给出了将要在报表里做记录显示的标记以及描述。

注意:这个表里的列名顺序必须和后面提及的数据库中建立的表格中的烈名顺序一致5.在SQL server中建立数据库与表。

打开SQL server中的“企业管理器”,在数据库中新建一个数据库“new”,在“表”中新建一个表注意上表中的列名必须和intouch绑定列表“FIT_report”里的列名顺序一致。

完成后保存,会提示给这个表提供一个表名。

6.在intouch中做一个报表窗口。

建一个报表窗口,如下图所示,做三个按钮:①“产生报表”脚本:鼠标左键/键按下时:ResultCode = SQLConnect( ConnectionId, "DSN=TEST1" );ResultCode =SQLInsert( ConnectionId, "report", "FIT_report");鼠标左键/键放开时:ResultCode = SQLDisconnect( ConnectionId );②“消除数据库”脚本:鼠标左键/键按下时:ResultCode = SQLConnect( ConnectionId, "DSN=TEST1" );ResultCode=SQLClearTable(ConnectionId,"report");鼠标左键/键放开时:ResultCode = SQLDisconnect( ConnectionId );③“流量日报表”脚本:鼠标左键/键按下时:DIR_REPORT = "C:\Program Files\Microsoft Office\OFFICE11\Excel.exe "; DIR_REPORT = DIR_REPORT+ InfoInTouchAppDir();DIR_REPORT = DIR_REPORT+ "\流量日报表.xls";StartApp DIR_REPORT;鼠标左键/键放开时:ResultCode = SQLDisconnect( ConnectionId );此外,如果定义数据为周期采集的话,应该在intouch的“数据改变”中注入控制脚本ResultCode = SQLConnect( ConnectionId, "DSN=TEST1" ); ResultCode =SQLInsert( ConnectionId, "report", "FIT_report" ); ResultCode = SQLDisconnect( ConnectionId );如下图所示:至此,intouch里需要做的工作已经做完。

如何通过INTOUCH组态软件做EXCEL报表(含代码)

如何通过INTOUCH组态软件做EXCEL报表(含代码)

如何通过INTOUCH组态软件做EXCEL报表(含代码)报表功能是自控系统经常用的一个功能,用过报表功能,我们能用表格的方式,查询到历史数据,也能通过报表分析、统计,并根据报表调整工艺配方等等。

以往组态软件,对报表支持力度上都不是很友好,数据不能自定义的编写,或者格式不是特别美观,又或者不能直接打印报表等等诸多因素。

我们萌发了,能否利用EXCEL强大的报表做出我们需要的表格呢。

经过摸索,我们顺利做出了EXCEL报表。

01如何将intouch数据插入到SQL数据库1:首先先在SQL数据库建立一张表,这里我们使用SQL2008版本,其他版本操作雷同。

建立过程不详细描述,如图所示,我们新建了一张表,并且完成表的设计,新增了列名和数据类型。

2:在SQL server配置管理器中开启TCP/IP,开启后,方便我们同过IP进行读写数据库,否则只能本地读数据库读写。

3:通过INTOUCH软件新增标签名,确保标签名能和PLC通讯成功。

4:在INTOUCH的SQL访问管理器中建立绑定列表。

5:在绑定列表中配置字段信息,INTOUCH的绑定列表列名和SQL数据库中的列名,必须一致(一字不差),否则无法插入数据库。

6:在INTOUCH中新建一个插入数据库的代码7:运行INTOUCH,触发按钮。

并且熟悉数据库就能看到数据插入成功了。

另外,如果需要每个整点插入数据库,只需要在INTOUCH条件中,插入相应代码就行了。

我这里通过,每个整点分钟为0的时候,插入数据库一次。

个别业主需要一天24小时的数据,我们这里,再23:59分的时候再插入一次数据。

02如何通过EXCEL表格查询到SQL数据库如图所示,可以点击日期控件,可以刷新当前日期所对应的数据内容到EXCEL中。

本文安装EXCEL2013为例,具体步骤如下:1:先安装日期控件,我们这里用的是的samradapps_datepicker。

官方地址 /datepicker/安装方法把下载和解压缩后得到的.xlam文件,放到Excel安装目录下的xlstart文件夹。

HISTDATA

HISTDATA

在InTouch中如何使用excel做报表在InTouch中有很多做报表的方法,本文介绍在InTouch中如何使用excel来做报表。

首先在Wonderware InTouch 中使用历史数据导出工具histdata , 将Wonderware InTouch 生成的历史数据导出到文本文件excel中。

然后您可以在excel中通过函数对这些数据进行处理生成您需要的数据,如流量、压力、液位等。

再通过intouch提供的DDE协议将excel 中的数据在intouch中您制作的那个表格里显示出来。

以下是用histdata将intouch历史数据导出到excel中的一些步骤:1、在Wonderware InTouch 中配置访问名2、使用INTOUCH向导,打开向导的“趋势”组。

选择histdata向导,粘贴到窗口。

双击给其指定一个“历史趋势”型标记名。

3、使用histdata向导时,会自动创建histdata标记名。

进入标记名字典可以看到一些以HDW 开头的io型标记名,如HDWDataDir。

Wonderware InTouch 自动生成需要的标记名,这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名例如HDWDataDir = HTGetLogDirectory();HDWDBDIR 消息型InTouch 标记名字典的目录的路径名例如HDWDBDir = InfoInTouchAppDir();HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度),可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如.5s 表示500 毫秒,若只需一个样本请将DURATION 设为0 零HDWINTERVAL 消息型采样间隔的时间长度,可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时,有效字符与HDDURATION 相同,注意DURATION 和INTERVAL 允许的最大时间长度均为6周,这适用于所有请求类型日、秒等,例如如果使用日则最大值为42,7 天x 6 周= 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名),以TagA,TagB,……TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求,例如"$Date,TagA,TagB" 或"$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer 中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1 Tags2 等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+" TAGS1="ReactLevel,Temp,GasLevel,+" TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称,例如,D:\report.csv HDWWRITEFILE 整型当设置为1时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS为0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查错误。

手把手教你制作定时读取Intouch中数据并生成EXCEL做表格

手把手教你制作定时读取Intouch中数据并生成EXCEL做表格

本教程的目的:定时(时间可以自由设置)读取intouch上的数据并导出到EXCEL表格中。

导出后的表格见下图(小编懒省事随便弄了一下,可以根据需要设置):第一步开始:安装SQL2000。

安装C:\SQLEVAL autorun.exe安装SQL server2000组件安装数据库服务器本地计算机点下一步,如果出现要重启电脑,去注册表regedit。

删除下面的选项。

继续安装SQL2000创建新的SQL server服务器和客户端工具使用本地系统账户混合模式密码123456下一步完成安装。

在程序中打开Microsoft SQL Server企业管理器在G盘建立文件夹SQLData新建数据库:名称intouch,分别在数据文件和事务日志中位置找到刚建立的SQLData文件。

Intouch中表新建表,第一行右键设置主键,其它如下。

点击保存表命名为Report。

打开intouch、安装包。

将安装在本地硬盘驱动上INTOUCH表里面都有才行。

新建ConnectString脚本-应用程序ConnectString="Provider=SQLOLEDB.1;User ID=sa; Password=123456;Initial Catalog=Intouch;Data Source=.;"; ResultCode=SQLConnect(ConnectionId,ConnectString);在关闭时:附件里面可以找到下面函数SQLDisconnect(ConnectionId);插入-标记名-$MinuteResultCode=SQLInsert(ConnectionId,"Report","Report"); ErrorMsg=SQLErrorMsg(ResultCode);运行INTOUCH安装Microsoft Office mscomct2控件包把MSCOMCT2.OCX复制到C:\WINDOWS\system32文件里面运行-cmd-regsvr32MSCOMCT2.OCX在INTOUCH中找到可用的ACtivex控件中:如下控件。

用EXCEL实现INTOUCH报表功能

用EXCEL实现INTOUCH报表功能

用EXCEL实现INTOUCH报表功能用EXCEL实现INTOUCH报表功能2008NO.31甄而而dT echnologyInnovationHeraLd用EXCEL实现INTOUCH报表功能郭棣刘晓军周铭(克拉玛依华澳石油化工进出口有限公司新疆克拉玛依834000) 工程技术摘要:本文介绍了如何利用Excel通过DDE接口与InTouch进行数据通讯,/tL~InTouch定时打开和关闭Excel,利用Excel中的宏功能生成报表,制作过程简单灵活.-关键词:InTouchDDEExcel宏报表中图分类号:TP3文献标识码:A文章编号:1674—098X(2008)ll(a)-OlO0—02 1引言Intouch是工业过程控制中广泛使用的组态软件,它是由美国WONDERWARE公司开发的面向工业控制的人一机对话界面(HMI)开发工具,,曾连续多年被国际过程控制协会评为最佳软件.INTOUCH提供了组态环境WindowMaker和运行环境WindowViewer.在组态环境下定制系统,进行数据库组态,画面组态,定义系统的数据采集和控制任务.在运行环境中通过执行InTouchQuickScripts来实施这些任务,进行报警和运行历史数据的记录和报告,并将数据实时传输给本站的其它任务和网上其它工作站.InT ouch支持动态数据交换(DDE),能够用作DDE和SuiteLink 通讯协议的客户和服务器.通过DDE和SuiteLink,InT ouch能与其他Windows程序,WonderwareI/O服务器和第三方I/0服务器程序实现通讯.在Intouch中制作报表可以有多种方法,本文介绍的是使用Excel通过DDE接I:1与InTouch进行数据交换,利用Excel的宏以实现报表功能.实现过程简单,报表样式可以根据自己的需要灵活设计.2DDE接口Intouch组态软件支持DDE接口,提供DDE动态数据交换(DDEClient)模块用于与其它应用软件之闻进行实时数据和历史数据交换;通过DDEServer实现实时数据库与报表软件之间的数据交换.DDE是Windows环境下应用程序之间使用的数据交换协议.Windows提供DDE通信管理库函数,应用程序调用这些库函数,请求DDE通信服务.应用程序之间进行数据交换叫做”对话”,发起对话的一端叫做”客户”,而对客户做响应的一端叫做”服务器.建立DDE对话的三大要素是:a.应用名(Applications).DDE对话应用名,如TCApp.Windows的DDEML管理许多DDE对话,用应用名来区别.b.对话主题(Topics):服务器所支持的对话话题.一个DDE应用名下可以有多个对话话题,用于区别对话的类型.c.项目(hems):对话话题下的数据项名.服务器发送数据到客户:在数据库的组态中,定义输入数据点的类型和设备地址,驱动类型是DDE,这样当Intouch软件转入运行方式时,就会向DDEML申请服务,与服务器TCApp建立连接,一个DDE会话活动开始了.会话连接建立后,每当有数据变化,服务器TCApp就会将数据发送给客户.客户发送数据到服务器:在数据库的组态中,定义输出数据点的类型和设备地址,驱动类型是DDE,这样当Intouch软件转入运行方式时,就会向DDEML申请服务,与服务器TCApp建立连接.:DDE会话活动开始后,每当有输出点数据有变化,Intouch就会将输出点数据的值发送给服务器.以上两种方式都是热链接(HotLink).在Intouch程序中有一个DDEc~entT asR,我们可以用它来监视和管理DDE客户任务,查看是否有错误发生.还可以用它来改变与服表1日报表100科技创新导报ScienceandTechnologyInnovationHerald 务器TCApp的连接方式,建立一个冷链接,每隔一定时间向服务器发送一次数据请求.3EXCEL的宏功能EXCEL提供一个VisualBasic编辑器,打开Visua1.Basic编辑器,其中有一工程属性窗口,点击右键菜单的”插入模块”,则增加一个“模块1”,在此模块中可以运用VisualBasic语言编写函数和过程并称之为宏.其中,EXCEL有两个自动宏:一个是启动宏(SubAutoOpen()),另一个是关闭宏(SubAuto—Close()).它们的特性是:当用EXCEL打开含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏.但是通过VB的自动化功能来调用EXcEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros(xlAutoOpen)~xlBook.RunAutoMacros(xiAutoClose)来运行启动宏和关闭宏.4InTouch与Excel数据通讯方法4.IInTouch访问Excel(1)配置Intouch访问名,应用程序名输入excel,主题名输入excel 的完整路径,比如D: \1.xls,如果要使用sheet2表里的数据,那么主题名就输入D:\1.xls\sheet2.(2)建立标记名的时候,项目选择阿《才的访,比如IO 问名,注意标记名类型必须是IO型实型,IO离散等.项目名输入rlcl,这表示第一列第一行,也就是A1,如果输入r2cl那么就是第一行第二列,也就是A2,依次类推.(3)在与excel进行数据交换得时候必须得先打开对应的excel表(也就是DDE的服务端),否则会提示无法打开项目名”EXcEL.4.2Excel访问InT oueh在表格中输入==viewltagname!tag“view”是应用程序的名称;”t agname是项目名;”tag是InT ouch中实际的组态工位名.5报表的制作下面以一个日报表为例介绍制作一个日报表的完整过程及EXCEL中函数的写法.要求每小时记录一次数据,每天打印一次,打印时间是00:00.工程技术Q:i! ScienceandT echnologyInnovationHerald 在InTouch中编写脚本定时打开和关闭Excel,利用Excel中的宏功能,运用Visual Basic 语言编写相应的函数,可以实现定时从InT0UCh中取数据,以及数据的记录,打印,保存等功能,报表的样式可以按照实际需求进行灵活的设计.具体制作报表的过程如表l.5.1在InTouch中定时打开和关闭Excel打开Excel:条件:$TimeString==“hh:mm:ss”语句:StartAPPd,Programfiles\office2003\officel1\Excel”;关闭Excel:,条件:$TimeString语句:wwcontrol(InfoAppTnle (“Excel”),”Close”);5.2Excel打开后自动打开指定的报表模板有两个方法:(1)利用宏功能:SubWorkbook—Open() OnErrorResumeNextWorkbooks.OpenFfleName:D:\报表\Example.xls”EndSub在Excel启动宏中执行Workbook_Open 函数即可打开指定文件.(2)把指定的模板文件放在:\}$}}\MiCrosoftOfficeXOffice\XLStart的目录下.模板文件需要提前制作好,主要是根据实际需求设计报表的样式.5.3Excel获取InT ouch的数据在第4部分中讲述了Excel访问InTouch 数据的方法,下面是具体的程序语句: (1)在启动宏中进行时间的判断: Subauto_open()Application.OnTimeTimeValue (“hh:mm:ss”),”write” Application.OnTimeTimeValue(….hh:mm:SS”),”write_value” EndSub(2)满足条件后首先执行从InTouch中读取数据的宏”write”: Subwrite()Application.Range(“ptacel”1=“-viewltagname[tag1”Application.Range(“place2”)“=viewltagname!tag2”EndSub“placel,place2”为工作表中要写入”B8,C8”,”tag1, 表达式的位置,如tag2”为InT ouch中实际组态的工位号,如Til01,PI102.(3)读出数据后再将数值写入表格,保存之后关闭:Subwrite_value()Application.Range(,?placelI)=Application.Range(…p lacell11.ValueApplication.Range(“place2”)=Application.Range(“place2??).Value ActiveWorkbook.Save ActiveWorkbook.CloseEndSub5.4打印并保存取得一天24个小时的数据后打印报表,然后将报表保存到指定的报表文件存储目录, 文件以当前日期命名,之后清空模板文件中的内容并关闭Excel.(1)打印报表在启动宏中对时间进行判断: Subauto—open()Application.OnTimeTimeValue(“00:0l:o0”),”print—Report” EndSub满足条件后执行打印宏:SubPrint—Report()ActiveW0rkb00k.ActiveSheet.PrintOutCopies:1,Collate: =TrueEndSub(2)将文件保存到指定的历史报表存储目录,此处为”D:\报表”SubSave—Report()0nErrorGoTolir伦27Dimfj1e_nameAsStringfile_name=Range(“A32.1ActiveWorkbook.SaveAsFflename:=file_name ActiveWOrkbOOk.CloseSaveChanges:=TrueIfError=TrueThenline27:msg=MsgBox(“!请先建立报表保存路径”,vbInformation,”目标路径不存在”)?EndIfEndSub其中”A32”中放置的是当前文件存放的路径及文件名表达式,用以取得当前文件的完整保存路径及文件名,文件名以当天的日期命名:=\”&TEXT(TODAY “D:\报表0,”YYYYMMDD”)&”.XLS”(3)历史报表文件保存操作完成后再打开模板文件,并清空模板文件中的数据,然后关闭文件.Workbooks.OpenFfleName:=“D:\报表\Exampl e.xls”Range(“placex:placey”).Select Selection.ClearContents ActiveWorkbook.SaveActiveWilldow.CloseActiveWindow.Close“placex:placey”为选定的要清空数据的单元格范围.6在InTouch中关闭Excel至此,一个完整的报表制作过程即结束了.如果要对InT ouch中的历史数据进行访问,可以借助于InT ouch 提供的历史数据管理程序Hisdata,下面对其的使用作一个简单介绍.Hisdata能够作为InTouch日志文件(.1gh)的DDE服务程序,从历史数据中检索出需要的历史数据,供其内部的数据库使用或转换成逗号分隔变量(.csv)文件,供Excel或其它程序使用.Hisdata有它自己的内部数据库,其内部数据库的项是用来指定要访问的历史数据起始时间,延续及采样间隔等,数据库结构如下图所示:在应用程序中,建立一个以Hisdata为服务器的DDE类型报表访问名Report,分别以Hisdata数据库字段名建立相应的DDE访问项(数据类型相同).则在WindowsViewer运行过程中,当应用程序向服务器(Hisdata)发送请求数据指令时,Hisdata会根据用户所提供的数据库字段值从历史数据库的相应文件中提取满足要求的数据.根据本文介绍的方法制作报表不需要借助专用的报表及趋势分析软件,制作过程简单灵活,已在某油田公司天然气站进行了实际的应用.参考文献【1】Wonderware公司.InTouch用户指南【2]Wonderware公司.NetDDEforWin—dowsuser?sGuide[3](美)沃肯巴赫.Excel2003高级VBA编程宝典.电子工业出版社,2005.10.科技创新导报ScienceandTechnologyInnovationHeraldi01。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在InTouch中如何使用excel做报表在InTouch中有很多做报表的方法,本文介绍在InTouch中如何使用excel 来做报表。

首先在Wonderware InTouch 中使用历史数据导出工具histdata , 将Wonderware InT ouch 生成的历史数据导出到文本文件excel中。

然后您可以在excel中通过函数对这些数据进行处理生成您需要的数据,如流量、压力、液位等。

再通过intouch提供的DDE协议将excel中的数据在intouch中您制作的那个表格里显示出来。

以下是用histdata将intouch历史数据导出到excel中的一些步骤:1、在Wonderware InTouch 中配置访问名2、使用INTOUCH向导,打开向导的“趋势”组。

选择histdata向导,粘贴到窗口。

双击给其指定一个“历史趋势”型标记名。

3、使用histdata向导时,会自动创建histdata标记名。

进入标记名字典可以看到一些以HDW开头的io型标记名,如HDWDataDir。

Wonderware InTouch 自动生成需要的标记名,这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度),可以用星期,天时,分,秒,等来表示下面是有效的字符:w 星期,d 天,h 小时,m 分,s 秒。

允许使用小数值例如.5s表示500 毫秒,若只需一个样本请将DURATION 设为0 零HDWINTERVAL 消息型采样间隔的时间长度,可以用星期日小时分和秒来表示例如1W 表示一星期允许使用小数值例如用.25d来表示6小时,有效字符与HDDURATION 相同,注意DURATION 和INTERVAL 允许的最大时间长度均为6周,这适用于所有请求类型日、秒等,例如如果使用日则最大值为42,7 天x 6 周= 42HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名),以TagA,TagB,……TagZ 格式输入,此外采样日期和或时间可以通过使用内部系统标记名$Date 和$Time 来请求,例如"$Date,TagA,TagB" 或"$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer中的长度可以为131 个字符在Excel 中的长度可以为255 个字符字符串,可以通过迭加标记名项目Tags1Tags2 等来延长以适应更长字符串的要求,如果标记名需附加额外的标记名文本请在字符串末输入一个加号(+)例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允许使用重复标记名,每个标记字符串的最大长度为512字节HDWFILENAME 消息型规定生成的.CSV文件的路径和名称,例如,D:\report.csvHDWWRITEFILE 整型当设置为1时HistData 会将请求数据写入由FILENAME 项目名指定的文件,当文件更新完成后WRITEFILE 会自动重置为0零STATUS 离散型显示最后一次操作的状态1 表示成功,0 零表示出错ERROR 消息型包含上次错误说明的字符串,如STATUS 为1 则显示无,如STATUS 为0 零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查错误。

例如:在intouch的脚本QuickFunctions中生成一个日期由datestr规定,包括三个标记名“SDA001MD_AI, SDA001MP_AI,SDA001MN_AI”的日班报表。

复制、修改一下就可以形成所需的报表。

QuickFunctions中脚本名称“ReportGenerate”HDWDBDir = InfoInT ouchAppDir();HDWDataDir="D:\Hisdata";HDWStartDate = datestr;HDWStartTime = "00:00:00";HDWDuration = "23h";HDWFilename="D:\report.csv";HDWTags = "$date,$time, SDA001MD_AI, SDA001MP_AI,+";HDWTags1 = " SDA001MN_AI, +";HDWInterval="1h";HDWWriteFile = 1;HDWWriteFile = HDWWriteFile ;上面Tag中,有些项需要在生成.CSV文件之前赋值,其它项一般在设计时已确定。

4、然后可以在intouch中建立这样一个窗口;您可以在这里设置以下信息:a、报表文件#:HDWFilename;b、历史数据库文件所在路径#:HDWDataDir;c、选定报表的日期#:datestr;d、错误信息#:HDWError,可以提示您操作是否成功;e、正在写入文件:“HDWWriteFile==1 OR reportstatus==1”,状态条红色,正在写入,状态条绿色,写入完成;f、历史数据库状态:HDWStatus == 1,状态条绿色,历史数据库状态正常,状态条红色,历史数据库状态不正常;g、“生成报表”按钮的脚本:IF HDWStatus ==1 THENIF HDWWriteFile ==0 THENstryear=StringMid(datestr,3,2);strmonth_temp=StringMid(datestr,6,2);strmonth_temp1=StringMid(strmonth_temp,2,1);IF StringTest(strmonth_temp1,2) ==1 THENstrmonth=strmonth_temp;ELSEstrmonth="0"+StringMid(datestr,6,1);ENDIF;strday_temp=StringRight(datestr,2);strday_temp1=StringLeft(strday_temp,1);IF StringTest(strday_temp1,2)==1 THENstrday=strday_temp;ELSEstrday="0"+StringRight(datestr,1);ENDIF;histfilename="d:\Hisdata\"+stryear+strmonth+strday+"00.lgh";IF InfoFile(histfilename,1,1)==1 THENCALL ReportGenerate();reportstatus=1;{StartApp "D:\report\GF.exe";}ELSECY_MESSAGEBOX="无当天历史记录,请选择其它日期!";Show"错误提示";ENDIF;ELSECY_MESSAGEBOX="正在生成报表数据,不允许此操作!";Show"错误提示";ENDIF;ELSECY_MESSAGEBOX= "历史数据库状态不正常,请重新启动程序!";Show"错误提示";ENDIF;h、“查看日报”按钮的脚本:IF InfoAppActive( InfoAppTitle( "excel" ) ) == 1 THENActivateApp InfoAppTitle( "excel" );ELSEIF HDWWriteFile == 0 AND reportstatus==0 THENIF InfoAppActive( InfoAppTitle( "cf" ) ) == 1 THENActivateApp InfoAppTitle( "cf" );ELSEStartApp "D:\report\CF.exe";ENDIF;ELSECY_MESSAGEBOX="正在生成报表中,不允许查看!";Show"错误提示";ENDIF;ENDIF;根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV文件(逗号分隔文件,可用EXCEL打开)。

这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。

所以需要另设计一个空的EXCEL报表,再将.CSV文件的数据复制到报表中,形成完整的报表。

下面是INTOUCH形成的.CSV文件的例子在将数据导入到excel以后,您就可以在excel中进行您需要的处理。

另外,您可以通过EXCEL的宏打印报表,可以完成手动打印和定时自动打印。

如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。

相关文档
最新文档