intouch通过Excel制作报表
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里需要做的工作已经做完。
(2024年)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报表制作教程
用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打印报表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文件的命令,最后两个用于检查状态和错误。
如何使用Excel进行报表自动化与批量生成
如何使用Excel进行报表自动化与批量生成Excel作为一款功能强大的电子表格软件,在处理大量数据和生成报表方面非常方便和高效。
本文将介绍如何使用Excel进行报表自动化与批量生成,帮助读者提升工作效率和准确性。
一、设定数据源在进行报表自动化前,第一步是设定数据源。
可以将数据源存储在Excel的工作表中,也可以通过外部数据库、文本文件等导入数据源。
确保数据源的准确性和完整性是关键。
二、使用数据透视表数据透视表是Excel中非常有用的工具,可以快速汇总和分析大量数据。
使用数据透视表可以轻松生成报表,只需简单的拖拽和设定参数即可。
首先,选择要生成报表的数据范围,然后点击“插入”选项卡中的“数据透视表”按钮。
接着,在弹出的对话框中,选择数据源和报表布局,点击确定即可生成数据透视表。
根据需要对数据透视表进行进一步设定,包括字段选择、数据筛选和计算项设置等。
数据透视表可以对数据进行分类、过滤、求和、计数等操作,同时还支持数据透视表的样式和布局调整。
通过灵活运用数据透视表,可以轻松生成符合需求的报表。
三、使用公式Excel的公式功能非常强大,可以进行各种复杂的计算和数据处理。
在报表生成过程中,可以通过编写适当的公式实现报表的自动化。
常用的公式包括SUM、AVERAGE、IF等函数,可以根据具体需求进行选择和应用。
通过使用公式,可以快速进行数据汇总、计算百分比、判断条件等操作,从而实现报表的自动化生成。
四、使用宏Excel的宏是一段自动执行的代码,可以实现用户自定义的操作和功能。
通过录制宏或编写VBA代码,可以实现报表的批量生成和自动化处理。
首先,点击“开发工具”选项卡,然后选择“使用相对应用程序录制宏”或“Visual Basic”按钮。
接着,进行录制或编写VBA代码,包括打开数据源、生成报表、保存文件等操作。
最后,将宏与特定的按钮或快捷键关联,以便快速执行宏。
通过使用宏,可以批量生成报表、自动填充数据、自动调整格式等,实现报表的高效生成与处理。
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表示没有错误。
用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文件的命令,最后两个用于检查错误。
intouch报表
intouch报表简介intouch报表是一种数据可视化工具,用于呈现和分析数据。
通过使用intouch报表,用户可以将复杂的数据转化为易于理解和决策的报表形式。
该文档将介绍intouch报表的基本概念、使用方法和常见功能。
概念在开始使用intouch报表之前,让我们先了解一些基本概念:•数据源:intouch报表需要从一个或多个数据源中获取数据。
数据源可以是数据库、Excel文件或其他支持的数据源。
•数据集:数据集是指从数据源中检索的一组数据。
数据集通常包含多个列和行,每列代表一项数据,而每行代表一个数据记录。
•报表:报表是数据集的可视化呈现形式。
通过使用图表、表格、图像和其他可视化工具,报表可以帮助用户更好地理解和分析数据。
使用方法下面是使用intouch报表的一般步骤:1.连接数据源:首先,需要连接到所需的数据源。
这可以通过选择合适的数据源类型和提供必要的连接信息来完成。
2.创建数据集:一旦连接到数据源,就可以创建数据集。
在创建数据集时,您可以选择所需的列和行,并可以通过筛选器和排序规则来定义数据的范围。
3.设计报表:在创建数据集后,可以开始设计报表。
intouch报表提供了丰富的报表设计工具,包括各种图表和图像,以及对数据进行格式化和布局的选项。
4.编辑报表:在设计报表后,您可以随时编辑报表。
您可以更改图表类型、添加新的图表元素、调整布局和样式等。
5.保存和导出报表:一旦完成报表设计,您可以保存报表并导出为各种格式,如PDF、PNG和Excel等。
常见功能intouch报表提供了许多强大的功能,使用户能够更好地分析和展示数据。
下面介绍一些常见功能:•图表类型:intouch报表支持各种图表类型,如柱状图、饼图、折线图、散点图等。
根据数据类型和需求,可以选择合适的图表类型来展示数据。
•筛选器:intouch报表允许用户使用筛选器来过滤数据。
通过设置合适的筛选条件,可以选择性地展示特定数据。
如何在excel中实现数据自动化报表生成
如何在excel中实现数据自动化报表生成如何在 Excel 中实现数据自动化报表生成在当今数字化的工作环境中,数据处理和分析变得日益重要。
Excel 作为一款强大的电子表格软件,提供了丰富的功能来实现数据自动化报表生成,这不仅能提高工作效率,还能减少人为错误。
接下来,让我们一起深入探讨如何在 Excel 中实现这一目标。
首先,要明确数据的来源和格式。
数据可能来自于各种渠道,如数据库、文本文件、其他电子表格等。
在导入数据之前,需要对数据的格式进行检查和整理,确保数据的准确性和一致性。
例如,如果数据中存在空值或错误的值,需要提前进行处理。
接下来,熟练运用 Excel 的函数和公式是实现自动化报表生成的关键。
常见的函数如 SUM(求和)、AVERAGE(平均值)、COUNT (计数)等,可以快速计算数据的统计信息。
而更复杂的函数如VLOOKUP(垂直查找)、INDEX(索引)和 MATCH(匹配)等,则可以实现数据的关联和匹配。
通过巧妙地组合这些函数,可以根据不同的需求提取和计算数据。
数据透视表是 Excel 中另一个强大的工具。
它可以快速汇总和分析大量的数据,并且能够根据用户的需求灵活地调整布局和计算方式。
通过将数据字段拖放到不同的区域,如行、列和值,可以轻松生成各种汇总报表,如销售额按产品和地区的汇总、员工绩效按部门的统计等。
条件格式也是一个非常有用的功能。
可以根据设定的条件,自动为符合条件的数据单元格设置特定的格式,例如突出显示销售额高于平均值的数据、用不同颜色标记不同范围的数值等。
这有助于快速发现数据中的关键信息和异常值。
宏和 VBA 编程则为更高级的自动化需求提供了可能性。
如果需要执行一系列复杂且重复的操作,可以通过录制宏或者编写 VBA 代码来实现。
例如,自动从多个工作表中提取数据并汇总到一个新的报表中,或者按照特定的规则对数据进行处理和格式化。
为了实现自动化报表生成,还需要合理地设置数据验证和保护工作表。
如何在excel中设置自动化报表生成
如何在excel中设置自动化报表生成如何在 Excel 中设置自动化报表生成在当今数字化的工作环境中,高效处理数据和生成准确的报表对于企业和个人来说至关重要。
Excel 作为一款强大的电子表格软件,提供了丰富的功能,使我们能够实现自动化报表生成,从而节省时间、减少错误,并提高工作效率。
接下来,我将为您详细介绍如何在 Excel 中设置自动化报表生成。
一、明确报表需求在开始设置自动化报表之前,首先要明确您的报表需求。
这包括确定要包含的数据、数据的来源、报表的格式和布局,以及最终的输出形式(如打印、电子邮件发送或在线共享)。
例如,如果您需要生成一份销售业绩报表,您可能需要包含每个销售人员的销售额、销售地区、销售产品类别等数据。
明确这些需求将为后续的设置工作提供清晰的方向。
二、准备数据源数据源是自动化报表生成的基础。
这可以是一个单独的 Excel 工作表、一个数据库文件,或者从其他系统中导出的数据。
确保数据源中的数据准确、完整,并按照一定的逻辑结构组织。
如果数据存在于多个文件或工作表中,您可以使用 Excel 的“数据”选项卡中的“合并计算”、“数据透视表”等功能将其整合到一个数据源中。
三、使用函数和公式Excel 中的函数和公式是实现自动化计算和数据处理的关键。
通过合理使用函数和公式,可以根据数据源中的数据自动生成所需的结果。
例如,使用 SUM 函数计算销售额总和,使用 AVERAGE 函数计算平均值,使用 VLOOKUP 函数查找和引用相关数据等。
您可以在单元格中输入函数名称,然后按照提示输入参数来完成计算。
为了提高效率,您还可以将常用的函数和公式定义为名称,以便在整个工作簿中重复使用。
四、创建数据透视表数据透视表是 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文件夹。
intouch通过excel生成报表
1、自动生成需要的标记名在intouch开发环境中,将向导库中/趋势/历史向导(HistData)放入窗口,这将自动生成若干标记名(如下)。
有关标记名以HDW开头,加上他们的DDE的Item命名。
标记名说明如下:HDWDataDir 消息型历史数据文件的目录的路径名,可用函数赋值。
例如:HDWDataDir = HTGetLogDirectory();HDWDBDir 消息型intouch标记名字典的目录的路径名,可用函数赋值。
例如:HDWDBDir = InfoInTouchAppDir();HDWStratDate 消息型与$DataString 相同格式的数据采样开始日期。
例如:HDWStartTime 消息型使用24小时时钟的HH:MM:SS 格式的数据采样开始时间例如:09:45:33HDWDuration 消息型数据时间长度(报表时间总长度)可以用星期,天,时,分,秒,等来表示。
下面是有效的字符:W 星期,D 天,H 小时;M 分,S 秒。
允许使用小数值例如:表示500毫秒;若只需要一个样本,请将Duration设为零。
HDWInterval 消息型采样间隔的时间长度可以用星期,日,小时,分,秒来表示例如1W 表示一星期。
允许使用小数值例如:.25d 来表示6小时。
有效字符与HDWDuration相同;注意Duration 和Interval允许的最打时间长度为6周,这适用于所有请求类型日,秒,等。
例如如果使用日则最大值为42, 7天*6周=42天。
HDWTags 消息型历史数据的标记名列表(报表中需要的标记名)以taga,tagb;tagz格式输入,此外采样日期或时间可以通过使用内部系统标记$Date和$Time来请求。
HDWFileName 消息型规定生成的.CSV文件的路径和名称。
例如:E:\111\HDWWriteFile 整形当设置为1时,HistData 会将请求数据写入由FileName项目名指定的文件,当文件更新完成后WriteFile 会自动重置为0 Status 离散型显示最后一次操作的状态 1 表示成功,0 表示出错Error 消息型包含上次错误说明的字符串,如Status 为1 则表示无,如Status为0 则表示错误消息字符串。
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之间使用netDDE通讯问题
intouch 与excel之间使用netDDE通讯问题
1. 新建一个访问名 myExcel
其应用程序名为 excel
主题名 book1.xls(或者输入带完整路径的EXCEL工作薄名)
注意通讯采用DDE
2. 新建一个标记名 myTag1
类型必须为 I/O型,其访问名为 myExcel
项目为r1c1 (即访问第一行第一列单元格)
这样,这个TAG就可和你的EXCEL动态交换了
如果我用的是第二个工作表怎么办,也就是如果我用的是sheet1,或者sheet2,这个完整的工作薄是怎么写的主题名?
答:将你的主题名输入成这样就可以了
主题名 book1.xls\sheet2(或者输入带完整路径的EXCEL工作薄名)考虑使用函数很有效
IOSetItem(TagName,AccessName,Item)
Item去对应一个字符串,就可任意访问工作簿里的任一单元了
请问如果INTOUCH从PLC中采数据,而EXCEL从INTOUCH中提数据应怎样做呢?
答:Intouch<-PLC,要装IO Server加驱动在其中设好访问名,Intouch就
能获取数据,而Intouch和Excel之间,参照上述方法就可通信了。
Excel数据表技巧进阶如何使用数据表生成数据报表
Excel数据表技巧进阶如何使用数据表生成数据报表Excel 数据表技巧进阶:如何使用数据表生成数据报表在日常的工作中,我们经常需要对大量数据进行整理和分类。
其中一个非常实用的工具就是 Excel 数据表。
Excel 数据表可以大幅简化数据的分析处理,同时支持多种操作,包括排序、筛选、计算等。
本文将介绍如何在 Excel 中使用数据表生成数据报表。
一、创建数据表要使用数据表,首先需要在 Excel 中创建一个数据表。
具体步骤如下:1. 打开 Excel,选择一个工作簿。
2. 在工作簿中找到需要用作数据的表格,并确保数据没有空行或空列。
3. 选中数据区域,并切换到“插入”选项卡,选择“数据表”。
4. 在弹出的对话框中,确保选择了正确的数据区域,同时选择“我的数据区包含标题”。
5. 点击“确定”,数据表就创建好了。
二、应用数据表1. 数据表中可以直接编辑数据,但最好不要这样做。
因为编辑后,数据表的功能会受到影响。
如果需要增加或修改数据,请直接在原来的数据区域中进行。
2. 数据表默认带有一个自动筛选功能。
在数据表的标题行上,有小箭头,通过点击箭头可以选择需要筛选的数据。
3. 数据表还有一个非常实用的功能,就是“汇总”功能。
选中数据表区域,切换到“数据”选项卡,选择“汇总”即可。
4. 在弹出的对话框中,可以选择需要汇总的字段,如求和、计数、平均值等。
选择完成后,Excel会自动在数据表下方生成汇总数据。
5. 要对数据表进行排序,只需要在标题行上点击鼠标右键,选择“排序”,就可以按照指定的字段和顺序进行排序。
6. 创建数据报表。
在 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报表功能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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i n t o u c h通过E x c e l
制作报表
标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]
如何把intouch里的数据通过SQL server在Excel里实现报表功能一.需要安装的软件:
Intouch、、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\ ";
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里需要做的工作已经做完。
7.建立EXCEL报表文件。
创建一个用户期望的报表文件,大体风格如下:。