工控人邪修INTOUCH系列2:打印报表
1 前言
INTOUCH是打印报表是一个实用脚本你这一期给大家介绍一下INTOUCH打印报表的两种方法。
2 INTOUCH打印报表方法一
2.1 新建数据变量脚本 域名$Minute
ireportonce=ireportonce+1; IF ireportonce>=iReportPeriod THEN(上位设置报表周期) ireportonce=0; ReportTag1=StringFromIntg($Year , 10 )+"-"+StringFromIntg($Month , 10 )+"-"+StringFromIntg($Day , 10 )+" "+StringFromIntg($Hour , 10 )+":"+StringFromIntg($Minute , 10 )+":"+StringFromIntg($Second , 10 ); 报表起始时间10代表10进制 ReportTag2=a63GG30; ReportTag3=a26GG10_1A; ReportTag4=a26GG05A; ReportTag5=a26GG05B; ReportTag6=a26GG05C; ReportTag7=r77NS; ReportTag8=r77NL; ReportTag9=r77NH; ReportTag10=A39GGI_32; ReportTag11=A39GGC_32 ; ReportTag12=A39GGT_32; ReportTag13=rTC455AV; ReportTag14=a26GG455B; ReportTag102=a26GG455_01A; ReportTag16=a26GG455_02A; ReportTag17=a26GG455_03A; ReportTag18=a26GG455_04A; ReportTag19=a26GG455_05A; ReportTag20=a26GG455_06A; ReportTag21=a26GG455_07A; ReportTag22=a26GG455_08A; ReportTag23=a26GG455_09A; ReportTag24=a26GG455_10A; ReportTag25=a26GG455_11A; ReportTag26=a26GG455_12A; ReportTag27=a26GG455_13A; ReportTag28=a26GG455_14A; ReportTag29=a26GG455_15A; ReportTag30=a26GG455_16A; ReportTag31=a26GG455_17A; ReportTag32=rTTXM; ReportTag34=a75GGIGVF1X; ReportTag35=r75GGIGVC; ReportTag36=a26PTRC1A; ReportTag37=a26PTRC2A; ReportTag38=a26PTNE1; ReportTag39=a26PTNE2; ReportTag40=a26PTTB1; ReportTag41=a26PTTB2; ReportTag42=a26PTDE1; ReportTag43=a26PTDE2; ReportTag45=A39PTNEX_32; ReportTag46=A39PTNEY_32; ReportTag47=A39TA_32; ReportTag48=A39PTDEX_32; ReportTag49=A39PTDEY_32; ReportTag50=r77PT; ReportTag51=a26CPDE1; ReportTag52=a26CPDE2; ReportTag53=a26CPNE1; ReportTag54=a26CPNE2; ReportTag55=a26CPIB1; ReportTag56=a26CPIB2; ReportTag57=a26CPOB1; ReportTag58=a26CPOB2; ReportTag59=A39CPDEX_32; ReportTag60=A39CPDEY_32; ReportTag61=A39CPNEX_32; ReportTag62=A39CPNEY_32; ReportTag63=A39CPA1_32; ReportTag64=A39CPA2_32; ReportTag65=a63SGBA; ReportTag66=r75JSGRT; ReportTag67=a63SGJF; ReportTag68=a63JSGRT; ReportTag69=a26QM; ReportTag70=a26QMCO; ReportTag71=a63QMP1; ReportTag72=a63QMP2; ReportTag73=a63QMJF; ReportTag74=a63QM; ReportTag75=a63GGIAV; ReportTag76=a63GGIAF; ReportTag77=a63GG20J0; ReportTag78=a63EVJAM; ReportTag79=a63GGBA; ReportTag80=a63GTAA; ReportTag81=a26AM; ReportTag82=a26EVGT; ReportTag83=a63FGESJR; ReportTag84=a63FGS; ReportTag85=a63FGR; ReportTag86=a63FGM; ReportTag87=a26FGRC; ReportTag88=a26FGRD; ReportTag89=a26FGRA; ReportTag90=a75FGMF; ReportTag91=r77NS; ReportTag92=a26SRCA; ReportTag93=r75SRPC; ReportTag94=d28FPEV1; ReportTag95=d28FPEV2; ReportTag96=d28FPEV3; ReportTag97=a71GPEVI2; ReportTag98=a71GPEVI1; ReportTag99=a71GPEVCA2; ReportTag100=a71GPEVCA1; ReportTag101=a71GPEVO1; ReportTag102=a71GPEVO2; sReportFileName="d:\report\rep" +StringFromIntg($Year , 10 )+StringFromIntg($Month , 10 )+StringFromIntg($Day , 10 )+ ".csv"; 生成报表名称 IF InfoFile (sReportFileName, 1, 0) ==0 THEN Message_Tag="$Day, $Time,a63GG30,a26GG10_1A,a26GG05A,a26GG05B,a26GG05C,r77NS,r77NL,r77NH,a39GGI_32,a39GGC_32"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a39GGT_32,rTC455AV,a26GG455B,a26GG455_01A,a26GG455_02A,a26GG455_03A,a26GG455_04A,a26GG455_05A,a26GG455_06A,a26GG455_07A"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a26GG455_08A,a26GG455_09A,a26GG455_10A,a26GG455_11A,a26GG455_12A,a26GG455_13A,a26GG455_14A,a26GG455_15A,a26GG455_16A,a26GG455_17A"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",rTTXM,rTTXAV,a75GGIGVF1X,r75GGIGV,a26PTRC1A,a26PTRC2A,a26PTNE1,a26PTNE2,a26PTTB1,a26PTTB2"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a26PTDE1,a26PTDE2,a63QMJBA,A39PTNEX_32,A39PTNEY_32,A39TA_32,A39PTDEX_32,A39PTDEY_32,r77PT,a26CPDE1"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a26CPDE2,a26CPNE1,a26CPNE2,a26CPIB1,a26CPIB2,a26CPOB1,a26CPOB2,A39CPDEX_32,A39CPDEY_32,A39CPNEX_32"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",A39CPNEY_32,A39CPA1_32,A39CPA2_32,a63SGBA,r75JSGRT,a63SGJF,a63JSGRT,a26QM,a26QMCO,a63QMP1"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a63QMP2,a63QMJF,a63QM,a63GGIAV,a63GGIAF,a63GG20J0,a63EVJAM,a63GGBA,a63GTAA,a26AM"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a26EVGT,a63FGESJR,a63FGS,a63FGR,a63FGM,a26FGRC,a26FGRD,a26FGRA,a75FGMF,r77NS"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); Message_Tag=",a26SRCA,r75SRPC,d28FPEV1,d28FPEV2,d28FPEV3,a71GPEVI2,a71GPEVI1,a71GPEVCA2,a71GPEVCA1,a71GPEVO1"; FileWriteMessage( sReportFileName, -1, Message_Tag, 0 ); 0代表不换行 Message_Tag=",a71GPEVO2"; FileWriteMessage( sReportFileName, -1, Message_Tag, 1 ); 1代表换行 ENDIF; FileWriteFields(sReportFileName,-1,"ReportTag1",102); ENDIF;
2.2 InfoFile用法说明
2.3 FileWriteMessage用法说明
2.4 FileWriteFields用法说明
3 INTOUCH打印报表方法二
3.1 INTOUCH画面制作
做6个输入年月日时分秒
开始打印时间
Y=StringFromIntg( HMI_Y, 10 ); M=StringFromIntg( HMI_M, 10 ); D=StringFromIntg( HMI_D, 10 ); H=StringFromIntg( HMI_Hour, 10 ); Min=StringFromIntg( HMI_Min, 10 ); S=StringFromIntg( HMI_Sec, 10 );
做按钮按下时
HDWDataDir = HTGetLogDirectory(); HDWDBDir = InfoInTouchAppDir(); HDWStartDate = Y+"/"+M+"/"+D; HDWStartTime = H+":"+Min+":"+S; HDWFilename = "E:\CSV\"+Y+"-"+M+"-"+D+"-"+H+"-"+Min+"-"+S+".csv"; HDWTags="$Date,$Time,a63PGS,a63PGD,a26PGD,a63QMJF,a26QM,a63QM,a63SGJF,a63SGJVDE,a63SGJVNE,a63JSGRT, +"; HDWTags1,=" a63SGBA, r75PGAS,"; HDWInterval = "4H"; HDWDuration = "1D"; HDWWriteFile=1 ; HDWWriteFile = HDWWriteFile;
3.2 HTGetLogDirectory使用说明
3.3 InfoInTouchAppDir使用说明
2026年3月


