Intouch报表EXCEL报表制作
InTouch组态软件培训教程
根据实际需求选择合适的数据源,如数据库、 Excel等。
数据绑定
将报表元素与数据源中的字段进行绑定,实现数 据的自动填充。
动态更新
通过设置刷新机制,实现报表数据的实时更新。
打印输出格式设置和调整
1 2
打印区域设置
确定需要打印的报表区域,避免打印不必要的内 容。
页面设置
调整页面大小、边距等参数,确保打印效果符合 需求。
InTouch组态软 件培训教程
目 录
• InTouch组态软件概述 • 安装与配置 • 基本操作与界面介绍 • 图形组态设计 • 数据连接与通信配置 • 报警与事件处理 • 报表生成与打印输出 • 高级功能应用与拓展
01
CATALOGUE
InTouch组态软件概述
软件背景及发展历程
01
02
03
报警信息显示和记录方式
报警信息显示
当触发报警条件时,软件会在界 面上显示相应的报警信息,包括
报警类型、时间、值等。
报警记录
软件会自动记录所有的报警信息, 用户可以随时查看历史报警记录, 以便进行故障分析和处理。
报警通知
除了界面显示和记录外,软件还支 持通过声音、短信、邮件等方式通 知相关人员及时处理报警。
实现动画效果
详细讲解如何通过时间轴和关键帧技术实现 各种动画效果。
动画效果与数据绑定
深入介绍如何将动画效果与实时数据绑定, 实现动态展示。
图形模板制作与复用
图形模板概念
解释图形模板的定义和 作用,以及在组态设计
中的重要性。
制作图形模板
详细讲解如何制作图形 模板,包括设计布局、 添加图形元素、设置动
连接方式
提供ODBC、OLE DB、API等多种连接方式,方便用户根据实际需求选择合适的数据连 接方式。
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教程
打印设置
支持自定义打印参数,如纸张大小、打印方 向、页边距等,满足不同的打印需求。
打印日志记录
记录每次打印的详细信息,包括打印时间、 打印内容等,方便后续追溯和管理。
07
高级功能应用与拓展
Chapter
脚本编程实现复杂逻辑控制
01
使用InTouch内置脚本语言编写程序,实现复杂的逻 辑控制功能
02
可以设置多种触发条件,如单点 触发、多点触发、持续时间触发 等,以满足不同场景的报警需求 。
事件处理程序编写技巧
事件类型判断
在事件处理程序中,首先需要 判断事件的类型,以便执行相
应的处理逻辑。
数据获取与处理
根据事件类型,获取相关的数 据并进行处理,如读取模拟量 数值、开关量状态等。
报警信息生成
根据处理结果生成报警信息, 包括报警类型、报警点名称、 报警值、报警时间等。
05
报警与事件处理机制
Chapter
报警类型及触发条件设置
离散报警
当某个离散点的状态发生变化时 触发,如开关量输入、输出点的 状态变化。
系统报警
由系统内部产生的报警,如通讯 故障、硬件故障等。
01 02 03 04
模拟量报警
当模拟量点的数值超出设定范围 时触发,如温度、压力等模拟量 信号。
触发条件设置
通信协议配置方法
通信协议类型
InTouch支持多种通信协议,如OPC DA、OPC AE、 Modbus、DNP3等。用户可以根据实际需求选择合适的通 信协议。
配置步骤
配置通信协议需要先安装相应的协议驱动程序,然后在 InTouch中创建通信接口并配置相关参数,如服务器地址、 端口号、数据格式等。具体配置步骤可以参考InTouch的帮 助文档或相关教程。
组态软件intouch教程
界面组成及功能介绍
工具栏
提供常用命令的快捷按钮,方 便用户快速执行相关操作。
属性窗口
显示当前选中对象的属性,允 许用户修改对象属性以定制界 面效果。
菜单栏
包含文件、编辑、视图、工具、 窗口和帮助等菜单,提供软件 的基本功能和操作命令。
绘图区
用于显示和编辑组态界面,支 持图形、文本、动画等多媒体 元素的添加和编辑。
Intouch软件特点与优势
• 灵活的脚本编程功能,支持多种脚本语言 和自定义函数。
Intouch软件特点与优势
易用性
提供直观的操作界面和丰富的在线帮助文档, 降低学习难度。
可扩展性
支持第三方插件和模块开发,满足个性化需求。
跨平台性
可在Windows、Linux等操作系统上运行,具有良好的兼容性。
发展历程
经历了从单机版到网络版, 从单一功能到集成多种功 能的发展历程。
重要版本
Intouch 7.0、Intouch 8.0、Intouch 9.0等版本 在功能和性能上不断完善 和提升。
Intouch软件特点与优势
特点
强大的图形界面设计能力,支持多种图形对象和 动画效果。
丰富的数据处理功能,包括实时数据采集、历史 数据存储和报表生成等。
Intouch还提供了批量打印功能,用户可一次性打印多个报表,提高 工作效率。
07
高级应用与扩展功能
脚本编程与自动化控制
脚本编程语言支持
Intouch提供内置的脚本编程语言,支持丰富的控制逻辑和数据 处理功能。
自动化控制实现
通过编写脚本程序,可以实现各种复杂的自动化控制逻辑,如条 件判断、循环控制、变量处理等。
组态软件intouch教程
用INTOUCH向EXCEL中写数据
用INTOUCH向EXCEL中写数据,然后在EXCEL中用VBA对数据进行处理自动生成日报表下面是INTOUCH中条件程序,条件为:$minute==2(整点后第2分钟写数据):m1=StringFromIntg( $Hour, 10 )+",";m1=m1+StringFromReal(PT,2,"f" )+",";m1=m1+StringFromReal(NTU,2,"f" )+",";m1=m1+StringFromReal(CHL,2,"F")+",";m1=m1+StringFromReal(FLOW,0,"F")+",";IF pump_state1.02 THEN m1=m1+"工频运行"+","; ENDIF;IF pump_state1.03 THEN m1=m1+"变频运行"+","; ENDIF;IF pump_state1.02==0 AND pump_state1.03==0 THEN m1=m1+"停机"+","; ENDIF;IF pump_state1.07 THEN m1=m1+"工频运行"+","; ENDIF;IF pump_state1.08 THEN m1=m1+"变频运行"+","; ENDIF;IF pump_state1.07==0 AND pump_state1.08==0 THEN m1=m1+"停机"+","; ENDIF;IF pump_state1.12 THEN m1=m1+"工频运行"+","; ENDIF;IF pump_state1.13 THEN m1=m1+"变频运行"+","; ENDIF;IF pump_state1.12==0 AND pump_state1.13==0 THEN m1=m1+"停机"+","; ENDIF;IF pump_state2.02 THEN m1=m1+"工频运行"+","; ENDIF;IF pump_state2.03 THEN m1=m1+"变频运行"+","; ENDIF;IF pump_state2.02==0 AND pump_state2.03==0 THEN m1=m1+"停机"+","; ENDIF;m1=m1+StringFromReal(HZ,0,"F")+",";m1=m1+StringFromReal(LT,2,"f" )+",";IF mw1_00.15 THEN m1=m1+"运行"+",";ELSE m1=m1+"停机"+",";ENDIF;IF mw1_01.15 THEN m1=m1+"运行"+",";ELSE m1=m1+"停机"+",";ENDIF;m1=m1+StringFromReal(chol1_flow,2,"f")+",";m1=m1+StringFromReal(chol2_flow,2,"f")+",";m1=m1+StringFromReal(chol1_wei,0,"f")+",";m1=m1+StringFromReal(chol2_wei,0,"f")+",";m1=m1+StringFromReal(chem1_lev,2,"f")+",";m1=m1+StringFromReal(chem2_lev,2,"f")+",";m1=m1+StringFromReal(chem1_freq,0,"f")+",";m1=m1+StringFromReal(chem2_freq,0,"f")+",";m1=m1+StringFromReal(chem_flow,0,"f")+",";IF mw1_00.02 THEN m1=m1+"运行"+",";ELSE m1=m1+"停机"+",";ENDIF;IF mw1_00.06 THEN m1=m1+"运行"+",";ELSE m1=m1+"停机"+",";ENDIF;IF mw1_00.10 THEN m1=m1+"运行"+",";ELSE m1=m1+"停机"+",";ENDIF; FileWriteMessage( "e:\shiye\report\day\day.csv",-1,m1,1 );m1是内存消息型变量。
在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文件的命令,最后两个用于检查错误。
Excel数据表报表制作
Excel数据表报表制作在现代的信息化时代,数据的处理和分析变得越来越重要。
Excel作为一款功能强大的电子表格软件,被广泛应用于数据的管理和分析领域。
本文将介绍如何使用Excel制作数据表报表,帮助您更好地展示和分析数据。
一、准备工作在开始制作数据表报表之前,首先需要明确报表的目标和需求。
确定报表所要展示的数据类型和范围,以及报表的格式和布局。
然后,收集和整理需要展示的数据,并导入Excel中进行处理和分析。
二、数据导入与整理数据导入是制作数据表报表的第一步。
可以通过Excel中的数据导入功能,将外部的数据源导入到Excel中进行处理。
导入的数据可以是各类文件格式,如CSV、TXT、XML等。
导入后,对数据进行必要的清洗和整理,删除重复数据、缺失数据,并进行格式规范化。
三、数据分析与计算制作数据表报表的核心是对数据进行分析和计算。
Excel提供了丰富的函数和工具,可以对数据进行各类统计和计算。
可以使用Excel自带的函数,如SUM、AVERAGE、COUNT等,也可以使用自定义函数,如VLOOKUP、IF等。
通过对数据的分析和计算,可以得出需要展示的结果和指标。
四、制作数据表在数据分析和计算完成后,就可以开始制作数据表了。
数据表的制作包括设置表头、填充数据、设置格式等。
为了使数据表更加清晰和美观,可以使用Excel提供的各类格式化工具,如字体设置、边框设置、背景颜色等。
此外,还可以对数据表进行排序和筛选,以便更好地展示和查看数据。
五、制作图表除了数据表,图表是另一种常用的数据展示方式。
Excel提供了多种图表类型,如柱状图、折线图、饼图等。
制作图表可以将复杂的数据通过直观的图形展示出来,使得数据分析更加方便和直观。
在制作图表时,需要选择适合数据类型和目标的图表类型,并对图表进行必要的修饰和调整,使得图表更加美观和易读。
六、添加数据透视表数据透视表是一种非常强大的数据分析工具,可以对大量数据进行快速分析和汇总。
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报表(含代码)报表功能是自控系统经常用的一个功能,用过报表功能,我们能用表格的方式,查询到历史数据,也能通过报表分析、统计,并根据报表调整工艺配方等等。
以往组态软件,对报表支持力度上都不是很友好,数据不能自定义的编写,或者格式不是特别美观,又或者不能直接打印报表等等诸多因素。
我们萌发了,能否利用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文件夹。
使用Excel制作数据报表教程
使用Excel制作数据报表教程第一章:Excel基础知识在使用Excel制作数据报表之前,我们需要了解一些基本的Excel知识。
首先,我们需要了解Excel的基本界面和常用功能,如菜单栏、工具栏和单元格等。
另外,我们也需要了解Excel中的常用函数和公式,以便于在制作数据报表时进行计算和数据处理。
第二章:数据准备在制作数据报表之前,我们需要准备好相应的数据。
首先,我们需要收集数据,并按照相应的分类进行整理和归纳。
然后,我们需要将数据输入Excel中的工作表中,确保数据的准确和完整。
另外,我们还需要进行数据的清洗和处理,如去除重复值、填补缺失值等。
第三章:制作基础报表制作基础报表是数据报表制作的基础。
我们可以利用Excel的表格功能来制作基础报表,如数据表、交叉表和透视表等。
在制作基础报表时,我们需要选择合适的数据来源和报表类型,设置相应的参数和选项,并进行数据的汇总和统计。
此外,我们还可以利用Excel的排序和筛选功能来对数据进行排序和筛选,以满足不同需求。
第四章:制作图表报表除了基础报表,我们还可以利用Excel的图表功能来制作图表报表。
图表报表可以更直观和直观地展示数据,从而使数据更易读和易懂。
我们可以选择适合的图表类型,如柱状图、折线图、饼图等,并根据数据的特点和需求调整图表的样式和布局。
另外,我们还可以添加标题、标签和数据标注等元素,以增加报表的可读性。
第五章:数据分析与透视表在数据报表制作中,数据分析是十分重要的环节。
我们可以利用Excel的数据透视表功能来进行数据的深入分析和挖掘。
通过选择适当的数据字段和设置相应的数据聚合函数,我们可以快速生成各种数据透视表,如交叉表、透视图和透视图等,并进行数据的多维分析和统计。
此外,我们还可以利用Excel的数据透视图表对数据进行动态筛选和分类汇总,以满足不同层次和角度的数据分析需求。
第六章:报表格式和布局在制作数据报表时,报表的格式和布局对于提升报表的可视化和美观性起着至关重要的作用。
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文件的命令,最后两个用于检查错误。
Excel报表设计全攻略个打造专业报表的技巧
Excel报表设计全攻略个打造专业报表的技巧Excel报表设计全攻略:个打造专业报表的技巧Microsoft Excel是一款功能强大的电子表格软件,广泛应用于各行各业。
在现代商务环境中,报表设计是一个至关重要的工作,它可以帮助我们整理和分析数据,提供决策支持。
本文将介绍一些技巧和方法,帮助您在Excel中设计出专业的报表。
一、数据准备在设计报表之前,首先需要准备好所需的数据。
数据要经过整理和筛选,确保准确性和完整性。
您可以使用Excel提供的各种功能和命令,如数据筛选、排序、数据透视表等,来帮助您完成这一步骤。
二、选择适当的图表类型图表是报表中的重要组成部分,可以直观地展示数据的趋势和关系。
在选择图表类型时,要根据数据的性质和展示的目的来决定。
常见的图表类型包括柱状图、折线图、饼图、散点图等。
选择适当的图表类型可以提高报表的可读性和吸引力。
三、设置合适的图表布局图表的布局是指图表元素的排列和位置。
为了使报表更加整洁和美观,您可以调整图表的大小、标题的位置、轴线的单位和刻度等。
此外,您还可以添加图例、数据标签、数据表等,以便读者更好地理解和解读报表。
四、使用合适的颜色和字体颜色和字体是报表设计中的重要考虑因素。
选择合适的颜色方案可以使报表更加清晰和易读,同时也可以突出重点和吸引读者的注意力。
建议在设计报表时使用简洁的字体和适度的字号,以确保报表的可读性。
五、添加筛选和排序功能通过在报表中添加筛选和排序功能,可以使读者按照自己的需求对数据进行查看和分析。
Excel提供了数据筛选、排序和透视表等功能,可以帮助您实现这一目标。
这些功能可以灵活地调整和过滤数据,提高报表的实用性和灵活性。
六、使用公式和函数公式和函数是Excel中非常有用的工具,可以帮助您进行数据计算和分析。
在报表设计中,您可以使用各种公式和函数来实现特定的需求,如求和、求平均值、计数等。
合理地使用公式和函数可以大大提高工作效率和报表的准确性。
用EXCEL实现INTOUCH报表功能
用EXCEL实现INTOUCH报表功能2008NO.31甄而而dTechnologyInnovationHeraLd用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来实施这些任务,进行报警和运行历史数据的记录和报告,并将数据实时传输给本站的其它任务和网上其它工作站.InTouch支持动态数据交换(DDE),能够用作DDE和SuiteLink 通讯协议的客户和服务器.通过DDE和SuiteLink,InTouch能与其他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~entTasR,我们可以用它来监视和管理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访问InToueh在表格中输入==viewltagname!tag“view”是应用程序的名称;”t agname是项目名;”tag是InTouch中实际的组态工位名.5报表的制作下面以一个日报表为例介绍制作一个日报表的完整过程及EXCEL中函数的写法.要求每小时记录一次数据,每天打印一次,打印时间是00:00.工程技术Q:i! ScienceandTechnologyInnovationHerald 在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获取InTouch的数据在第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”为InTouch中实际组态的工位号,如Til01,PI102.(3)读出数据后再将数值写入表格,保存之后关闭:Subwrite_value()Application.Range(,?placelI)=Application.Range(…placell11.Value Application.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至此,一个完整的报表制作过程即结束了.如果要对InTouch中的历史数据进行访问,可以借助于InTouch提供的历史数据管理程序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。
手把手教你制作定时读取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的数据透视表创建交互式报表
如何使用Excel的数据透视表创建交互式报表Excel是一款功能强大的电子表格软件,可以帮助我们对数据进行处理、分析和可视化展示。
其中,数据透视表是Excel中非常重要和实用的功能之一,它能够帮助我们快速总结和分析大量的数据。
在本文中,我将教您如何使用Excel的数据透视表功能创建交互式的报表。
一、什么是数据透视表数据透视表是一种数据分析工具,可以对大量的数据进行多维度的汇总和分析。
它通过将数据按照指定的字段进行分类、计数、求和等操作,从而生成相应的汇总报表。
数据透视表可以灵活地切换和筛选数据视图,方便用户快速分析和理解数据。
二、创建数据透视表要使用数据透视表功能,首先需要准备好要分析的数据。
将数据整理成表格形式,确保每一列有一个标题,每个单元格中的数据都是统一的类型。
然后,按照以下步骤创建数据透视表。
1. 选择要进行数据透视表分析的数据范围。
2. 在Excel菜单中选择“插入",然后点击“数据透视表”按钮。
3. 在数据透视表向导中,选择“选择源数据”选项,并指定数据范围。
4. 选择“存储在新工作簿中”,点击“确定”按钮。
5. 在新工作簿中,选择要汇总的字段,并将其拖动到行区域和列区域。
6. 根据需要,选择要进行计算的字段,并将其拖动到值区域。
7. 根据需要,可以对数据进行进一步的筛选和切片。
三、创建交互式报表在创建完数据透视表后,您可以进一步扩展和定制报表,使其具有更强的交互性和可视化效果。
1. 数据透视表字段列表:在数据透视表左侧会显示一个字段列表,您可以通过勾选相应字段来筛选数据。
2. 数据透视表标题和布局:可以更改数据透视表的标题,调整行和列的布局,以便更好地呈现数据。
3. 过滤器:可以使用数据透视表的过滤器功能,通过选择不同的条件来快速筛选数据。
4. 值字段设置:可以更改数据透视表某个字段的计算方式,如求和、平均值等。
5. 切片器:可以通过插入切片器控件来对数据进行交互式切片和筛选,从而更好地分析数据。
intouch通过Excel制作报表
如何把i n t o u c h里的数据通过S Q L s e r v e r在E x c e l里实现报表功能一.需要安装的软件:Intouch、OPClink8.0、MicrosoftSQLServer2000、MicrosoftOfficeEXCEL、数据源ODBC软件(Windows自带)二.实现的步骤:1.建立Topic。
在下位机的相关软件里(DDE/OPC相关选项)建立一个Topic,用于和OPClink连接;如下图所示,给出了PLC建立的一个Topic:2.定义OPClink。
如图:建立一个与上位机通讯用的Topic(huanghua_opc),注意下图中的OPC[huanghua]就是在上图中建立的topic。
注意:OPClink建立的Topic(huanghua_opc)必须与intouch中的访问名一致3.定义ODBCDSN。
定义用户DSN,注意选择正确的SQLserver服务器与该服务器下定义的数据库。
4.在intouch中的SQL访问管理器中建立绑定列表。
如下图建立的列表“FIT_report”这个表给出了将要在报表里做记录显示的标记以及描述。
注意:这个表里的列名顺序必须和后面提及的数据库中建立的表格中的烈名顺序一致5.在SQLserver中建立数据库与表。
打开SQLserver中的“企业管理器”,在数据库中新建一个数据库“new”,在“表”中新建一个表注意上表中的列名必须和intouch绑定列表“FIT_report”里的列名顺序一致。
完成后保存,会提示给这个表提供一个表名。
6.在intouch中做一个报表窗口。
建一个报表窗口,如下图所示,做三个按钮:①“产生报表”脚本:鼠标左键/键按下时:ResultCode=SQLConnect(ConnectionId,"DSN=TEST1");ResultCode=SQLInsert(ConnectionId,"report","FIT_repor t");鼠标左键/键放开时:ResultCode=SQLDisconnect(ConnectionId);②“消除数据库”脚本:鼠标左键/键按下时:ResultCode=SQLConnect(ConnectionId,"DSN=TEST1");ResultCode=SQLClearTable(ConnectionId,"report");鼠标左键/键放开时:ResultCode=SQLDisconnect(ConnectionId);③“流量日报表”脚本:鼠标左键/键按下时:DIR_REPORT="C:\ProgramFiles\MicrosoftOffice\OFFICE11\Excel.exe";DIR_REPORT=DIR_REPORT+InfoInTouchAppDir();DIR_REPORT=DIR_REPORT+"\流量日报表.xls";StartAppDIR_REPORT;鼠标左键/键放开时:ResultCode=SQLDisconnect(ConnectionId);此外,如果定义数据为周期采集的话,应该在intouch的“数据改变”中注入控制脚本ResultCode=SQLConnect(ConnectionId,"DSN=TEST1");ResultCode=SQLInsert(ConnectionId,"report","FIT_report");ResultCode=SQLDisconnect(ConnectionId);如下图所示:至此,intouch里需要做的工作已经做完。
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文件的命令,最后两个用于检查错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用E X C E L打印报表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天x6周=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文件的路径和名称例如,C:\INTOUCH\HDFILE.CSV HDWWRITEFILE整型当设置为1时HistData会将请求数据写入由FILENAME项目名指定的文件,当文件更新完成后WRITEFILE会自动重置为0零STATUS离散型显示最后一次操作的状态1表示成功,0零表示出错ERROR消息型包含上次错误说明的字符串,如STATUS为1则显示无,如STATUS为0零则显示错误消息字符串前9个TAG规定数据的内容,HDWWRITEFILE=1是写.CSV文件的命令,最后两个用于检查状态和错误。
写脚本时应注意:HDWDBDir、HDWDataDir这两个标记名是规定路径的,可以用函数赋值。
可以写在应用程序脚本内。
HDWFilename这个标记名是规定.CSV文件的路径和文件名。
如果只打一种报表,也可以写在应用程序脚本内,否则应在形成.CSV文件前指定。
HDWTags和后续的HDWTags1、HDWTags2这些标记名是规定.CSV文件的包含的标记名。
如果只打一种报表,也可以写在应用程序脚本内,否则应在形成.CSV文件前指定。
HDWStartDate、HDWStartTime这两标记名是规定.CSV文件数据的起始日期和起始时间的。
如果是招呼打印报表,人工输入时格式一定要正确。
如果是自动打印报表可以计算得到,一般可以在条件脚本内规定。
HDWInterval、HDWDuratione这两标记名是规定.CSV文件的数据时间间隔和数据时间的总长度,如日报表分别为:1H(小时)和1D(1天)。
HDWWRITEFILE=1为生成.CSV文件,只有上述标记名义赋值后,才执行他。
ERROR这个标记名可以显示生成.CSV文件时是否有错误,调试时非常重要。
例如:下面脚本生成一个日期由StartDate1规定,包括两个标记名PI-101,TI-101,日报表。
可以复制在你的脚本中,修改一下就可以形成所需的.CSV文件。
HDWStartDate=StartDate1;HDWStartTime=”00:00:00”;HDWDBDir=InfoInTouchAppDir();HDWDataDir=HTGetLogDirectory(); HDWFilename="C:\REPORT.csv";HDWTags="$Date,$Time,PI-101,TI-101"; HDWInterval="1H";HDWDuration="1D";HDWWRITEFILE=1;HDWDataDir=HTGetLogDirectory(); HDWDBDir=InfoInTouchAppDir(); HDWStartDate=#DTPicker1.Value;时间控件名称HDWStartTime="00:00:00";开始时间HDWFilename="C:\REPORT.csv";HDWTags="$Date,$Time,zj_AO1,zj_AO2"; HDWInterval="1H";HDWDuration="1D";HDWWRITEFILE=1;Step2:招呼打印报表的情况如果是招呼打印(不定期打印,人工输入打印日期和时间的报表打印),则可以在INTOUCH中开一个窗口输入HDWStartDate1,HDWStartTime,HDWInterval,HDWDuration 的参数。
并做一个按钮,在动作脚本中给固定的参数赋值和最后令HDWWRITEFILE=1;脚本的例子形成的.CSV文件的例子Step3:定时自动打印的情况如果是定时自动打印,需要在条件脚本(或数据改变脚本)中写代码完成。
这里需要特别注意起始日期和时间。
如:日报表示在0点以后打印的,所以需要通过计算得到前一天的日期,可以用下面语句HDWStartDate=StringFromTime(($Date-1)*86400,1)。
举例:Step4:运行INTOUCH,检查生成的.CSV文件。
3.建立EXCEL报表Step1:设计一个报表格式。
例如:先画出报头在EXCEL导入相应.CSV文件。
找到相应.CSV文件,一步步导入选逗号分割,指定导入区域起点单元,为了更直观,可以用EXCEL的功能加一个趋势图。
Step2:做一个宏选菜单工具\宏\录制新宏,起一个宏名(如mr1),确认。
由于EXCEL不允许在有数据的区域导入数据,所以先删除前面导入的数据。
选择数据区,按Del键在EXCEL重新导入相应.CSV文件。
重复刚才的步骤打印和保存(报表需要打印时)或另存(报表不需要打印时)。
停止记录宏写VBA脚本,让宏自动执行菜单工具\宏\VB编辑器双击ThisWorkBook在代码区选WorkBook在PrivateSub_Open()函数中,加入Run(“宏名”)Application.Quit关闭VB编辑器,返回Workbook,确定报表的路径和文件名(如c:\report1.xls),保存报表。
这样,我们的报表就完成了。
一打开这个报表,就会执行宏,然后退出。
在调试时,可以迅速按Atrl+Break键停止宏执行。
注:在另存的情况下,在宏中找到另存的路径和文件名,用date,tim等变量加到文件名中。
Step3:用INTOUCH打开报表在INTOUCH的相应脚本中加一条语句,启动EXCEL:StartApp"C:\ProgramFiles\MicrosoftOffice\Office\excel.exec:\report1.xls";这里,C:\ProgramFiles\MicrosoftOffice\Office\excel.exe是EXCEL的路径和文件名,注意EXCEL的版本不同路径不一样。
c:\report1.xls是报表的路径和文件名,之间有一个空格。
一个日报表的例子。
语句说明:1)规定报表起始日期,2)规定报表起始时间,3)InTouch的路径,4)存储历史数据文件的路径,5).CSV文件的路径和文件名,6)报表包含的标记名,7)报表的采样间隔,8)报表的时间总长度,9)生成报表,10)启动相应的EXCEL文件。
4.参考应用程序的使用将文件REPORT.CSV和report1.xls复制到C盘根目录下。
测试时可以用Ctrl+Brack,停止EXCEL的宏程序执行,以便观察宏程序是如何写的。
为了顺利运行EXCEL报表,EXCEL的宏的安全级别已设的最低。