发表于:2006-03-17 18:38:00
楼主
大虾帮忙看一下这段程序,分析一下结构,我是菜鸟,多谢了。
Gather_00_log:
FUNCTION
Gather_00_log()
INT Gather_00_Rand;
M_00_GL_FLAG = 0;
M_00_MAIN_RAND = Rand(32767);
WHILE M_00_MAIN_RAND = 0 DO
M_00_MAIN_RAND = Rand(32767); END
TagWrite("S_00_MAIN_RAND",M_00_MAIN_RAND); Sleep(4);
Gather_00_Rand = TagRead("S_00_MAIN_RAND");
M_00_MAIN_CON = TagRead("S_00_MAIN_CON");
IF Gather_00_Rand = M_00_MAIN_RAND AND M_00_MAIN_CON = 3 THEN
TagWrite("S_00_MAIN_CON",2); Sleep(35);
WHILE BIAOZHI = 1 DO
Sleep(5);
END(如果BIAOZHI = 1说明有其它井怎在传输采集好的功图文件,所以一直等待到BIAOZHI = 0为止)
Tran_00_File();
CONVERT_00_File();
END
END
FUNCTION
Tran_00_File()
STRING Clear_Str;
BIAOZHI = 1;
IF D_COMPUTER_STIME = 1 THEN
Clear_Str = "^"c:\SIXNET Tools\Programs\sxlogview.exe^" ^"E:\工程文件\sixnet\S19_1900.6PJ^" -clear -Device=Ethernet -IPaddr=141.0.0.17 -Transfer=^"Trans_S_1900^"";
ELSE
Clear_Str = "^"c:\SIXNET Tools\Programs\sxlogview.exe^" ^"E:\工程文件\sixnet\S19_1900.6PJ^" -clear -Device=Ethernet -IPaddr=141.0.0.17 -Transfer=^"Trans_C_1900^"";
END
Exec(Clear_Str,6);
Sleep(120);
TagWrite("S_00_MAIN_RAND",-1);
TagWrite("S_00_MAIN_CON",0);
BIAOZHI = 0;
END
FUNCTION
CONVERT_00_File()STRING Log_File_Name,Read_File_Str,Start_Data,Start_Time,Mid_Data,Mid_Time,Write_File_Str;
INT HFile_Sxstatus,RECORD_SIZE,End_Flag,Start_Ms,Mid_Ms,Start_Time_Ms,Read_Str_length,
Mid_Time_Ms,Period_Sec,i_for;
REAL k_00,w_00,t_00,Mid_WeiYi_00;
IF D_COMPUTER_STIME = 1 THEN
Log_File_Name = "D:\DATA\LOG\LOG_1900_S.csv";
ELSE
Log_File_Name = "D:\DATA\LOG\LOG_1900_C.csv";
END
ErrSet(1);
HFile_Sxstatus = FileOpen(Log_File_Name,"r");
IF HFile_Sxstatus <> -1 THEN
Read_File_Str = FileReadLn(HFile_Sxstatus);
Read_File_Str = FileReadLn(HFile_Sxstatus);
Read_File_Str = FileReadLn(HFile_Sxstatus);
Read_File_Str = FileReadLn(HFile_Sxstatus);
End_Flag = FileEOF(HFile_Sxstatus);
RECORD_SIZE = 1;
Start_Data = StrLeft(Read_File_Str,10);
Start_Time = StrMid(Read_File_St