工控人邪修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月

Tags: