在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 周= 42
HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名),以
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的脚本QuickFunctions中生成一个日期由datestr规定,包括三个标记名“SDA001MD_AI, SDA001MP_AI,SDA001MN_AI”的日班报
表。
复制、修改一下就可以形成所需的报表。
QuickFunctions中脚本名称“ReportGenerate”react touch库
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中建立这样一个窗口;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论