用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 周 = 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 Tags
2 等来延长以适应更长字符串的要求;如果标记名需附加额外的标记名文本请在字符串末输入一个加号+ 例如;TAGS="$Date;ProdLevel;ProdTemp;+"
TAGS1="ReactLevel;Temp;GasLevel;+"
TAGS2="MotorStatus"
注意不允许使用重复标记名;每个标记字符串的最大长度为 512字节
HDWFILENAME 消息型 规定生成的.CSV文件的路径和名称
例如;C:\INTOUCH\
HDWWRITEFILE 整型 当设置为1 时HistData 会将请求数据写入由FILENAME 项目名指定的文件;当文件更新完成后WRITEFILE 会自动重置为0零
STATUS 离散型 显示最后一次操作的状态1 表示成功;0 零表示出错
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论