GenRad ODC program format.
1. 这一部分是定义ODC相关变量
红色的部分加在DECLARE 和 ENDDEC 之间.
/****this part only to conver the time system***/
DECLARE CONVERTDT();
DECLARE GLOBAL CSTRING YEAR(2);
DECLARE GLOBAL CSTRING MONTH(3);
DECLARE GLOBAL CSTRING DAY(3);
DECLARE GLOBAL CSTRING HOUR (2);
DECLARE GLOBAL CSTRING MINSEC (10);
DECLARE GLOBAL CSTRING PMAM (2);
DECLARE GLOBAL CSTRING TEST_DATEN (50);
/*****************************************************/
/************* FOR TEST ODC ***************/
/*****************************************************/
DECLARE CHECK_PUT();
DECLARE SEND_PASS();
DECLARE SEND_FAIL();
GenRad ODC program format.
1. 这一部分是定义ODC相关变量
红色的部分加在DECLARE 和 ENDDEC 之间.
/****this part only to conver the time system***/
DECLARE CONVERTDT();
DECLARE GLOBAL CSTRING YEAR(2);
DECLARE GLOBAL CSTRING MONTH(3);
DECLARE GLOBAL CSTRING DAY(3);
DECLARE GLOBAL CSTRING HOUR (2);
DECLARE GLOBAL CSTRING MINSEC (10);
DECLARE GLOBAL CSTRING PMAM (2);
DECLARE GLOBAL CSTRING TEST_DATEN (50);
/*****************************************************/
/************* FOR TEST ODC ***************/
/*****************************************************/
DECLARE CHECK_PUT();
DECLARE SEND_PASS();
DECLARE SEND_FAIL();
DECLARE SYSTEM GET_MODE (CSTRING ARG(8));
DECLARE CSTRING RTS_MODE(8);
DECLARE LOAD CSTRING SERIAL_NUMBER (20);
DECLARE SYSTEM SERIALNO (CSTRING ARG1(20));
DECLARE GLOBAL FILE IDENT;
DECLARE LOAD CSTRING ANS(20);
DECLARE GLOBAL CSTRING TEST_DATE(19);
DECLARE GLOBAL CSTRING LOG_PATH(50);
DECLARE GLOBAL CSTRING LOG_PATH1(50);
DECLARE GLOBAL CSTRING LOG_PATH2(50);
DECLARE GLOBAL CSTRING PULLFILE(50);
DECLARE GLOBAL CSTRING PULLFILE_LOG(50);
DECLARE GLOBAL CSTRING PULLFILE_TXT(50);
DECLARE GLOBAL CSTRING PULLDATE(30);
DECLARE GLOBAL CSTRING PULLDATE_LOG(30);
DECLARE GLOBAL CSTRING KEEP_FILE(80);
DECLARE LABEL();
/*****************************************************/
/************* FOR NT MSG BOX ***************/
/*****************************************************/
DECLARE SYSTEM SPAWN (CSTRING COMMAND(100));
DECLARE LOAD CSTRING MSGBOX(200);
DECLARE LOAD CSTRING MSGBOX1(100);
DECLARE LOAD CSTRING MSGBOX2(100);
DECLARE LOAD CSTRING MSGBOX3(100);
DECLARE LOAD CSTRING MSGBOX4(100);
DECLARE LOAD CSTRING MSGBOX5(100);
DECLARE LOAD CSTRING MSGBOX6(100);
2. 在LET START_TEST_TIME=TIME()之后加上
CALL LABEL();
Call DECH();
/***DISCHARGING UUT CAPACITIVE VOLTAGES***/
3. 粉红色的部分是检查条码,这一段放在
LET START_TEST_TIME=TIME(); 和D_CAP1: CALL CAP_DISCHARGE(); 之间.
GETSN: CALL SERIALNO(ARG1=SERIAL_NUMBER);
CALL GET_MODE(ARG=RTS_MODE);
/************* FOR T/S TEST ****************/
IF SERIAL_NUMBER = '0001' THEN
[
LET SERIAL_NUMBER = ''; BRANCH UNCHECK;
];
IF RTS_MODE='TEST' THEN
[ CALL CHECK_PUT();
IF FAIL(101) THEN
BRANCH END;
];
UNCHECK:
WRITE '%NL%';
WRITE '%NL% BOARDS SERIAL # IS :%S%%NL%'SERIAL_NUMBER;
4.在 SUBROUTINE CAP_DISCHARGE(); 之前有二行为:
PDONE:
END;
删掉这二行,用下面的语句代替:
/***FOR SEND FAIL TO ODC***/
CALL SEND_FAIL();
BRANCH END;
PDONE:
/********** FOR SEND PASS TO ODC **********/
PASS_SEND_ODC:
IF RTS_MODE='TEST' THEN CALL SEND_PASS();
END:
END;
5.在程序最后加上子程序.(注意LABEL 的子程序有ODC的程序中拷过来)
SUBROUTINE LABEL();
WRITE '%033%!E';
A:
WRITE '%033%:A%NL%';
WRITE '*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*%NL%';
WRITE '*= =*%NL%';
WRITE '*= NOW TESTING BOARD POWER SUPPLY =*%NL%';
WRITE '*= FAB: 070-1111-49 =*%NL%';
WRITE '*= Project P/N: p033602b REV.02 =*%NL%';
WRITE '*= PROGRAM NAME : p033602b =*%NL%';
WRITE '*= REV. PROGRAM : 00 =*%NL%';
WRITE '*= SELECT : - =*%NL%';
WRITE '* FIXTURE NUMBER : p033602b =*%NL%';
WRITE '*= =*%NL%';
WRITE '*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*%NL%';
WRITE '%NL%';
END:
END SUBROUTINE LABEL;
SUBROUTINE CHECK_PUT();
LET PULLFILE=SUBSTR(SERIAL_NUMBER,1,20);
LET PULLFILE_TXT=PULLFILE!!'.TXT';
LET LOG_PATH1='H:\';
LET KEEP_FILE=LOG_PATH1!!PULLFILE_TXT;
OPEN ID=IDENT DEV=KEEP_FILE MODE='READ'
[
BITSET(FAIL,101);
LET MSGBOX1='start /B /min /wait msgbox.exe "Wrong Station !" "SN:';
LET MSGBOX2=SERIAL_NUMBER;
LET MSGBOX3=' " question';
LET MSGBOX2=MSGBOX2!!MSGBOX3;
LET MSGBOX=MSGBOX1!!MSGBOX2;
CALL SPAWN (COMMAND=MSGBOX);
LET SERIAL_NUMBER = '';
BRANCH END;
];
CLOSE ID=IDENT;
END:
RETURN;
END SUBROUTINE CHECK_PUT;
SUBROUTINE SEND_PASS();
IF SERIAL_NUMBER='' THEN [BRANCH END;];
LET TEST_DATE=DATE();
CALL CONVERTDT();
LET PULLFILE=SUBSTR(SERIAL_NUMBER,1,20);
LET PULLDATE=SUBSTR(TEST_DATE,1,9);
LET PULLFILE_LOG=PULLFILE!!'.LOG';
LET PULLFILE_TXT=PULLFILE!!'.TXT';
LET PULLDATE_LOG=PULLDATE!!'.LOG';
LET LOG_PATH1='H:\';
LET LOG_PATH2='G:\';
/** SENT PASS TO ODC **/
LET KEEP_FILE=LOG_PATH2!!PULLFILE_LOG;
OPEN ID=IDENT DEV=KEEP_FILE MODE='WRITE'
[
LET MSGBOX1='start /B /min /wait msgbox.exe "Error" "SN:';
LET MSGBOX2=SERIAL_NUMBER;
LET MSGBOX3='\n%47% ! Not SENT PASS TO ODC !%47%\n';
LET MSGBOX2=MSGBOX2!!MSGBOX3;
LET MSGBOX=MSGBOX1!!MSGBOX2;
CALL SPAWN (COMMAND=MSGBOX);
BITSET (FAIL,100);
BRANCH END;
];
WRITE ID=IDENT '%S%,%S%,P'
PULLFILE,TEST_DATEN;
CLOSE ID=IDENT;
END:
RETURN;
END SUBROUTINE SEND_PASS;
SUBROUTINE SEND_FAIL();
IF SERIAL_NUMBER='' THEN [BRANCH END;];
LET TEST_DATE=DATE();
CALL CONVERTDT();
LET PULLFILE=SUBSTR(SERIAL_NUMBER,1,20);
LET PULLDATE=SUBSTR(TEST_DATE,1,9);
LET PULLFILE_LOG=PULLFILE!!'.LOG';
LET PULLDATE_LOG=PULLDATE!!'.LOG';
LET LOG_PATH1='H:\';
LET LOG_PATH2='G:\';
/**SENT FAIL TO ODC **/
LET KEEP_FILE=LOG_PATH2!!PULLFILE_LOG;
OPEN ID=IDENT DEV=KEEP_FILE MODE='WRITE'
[
LET MSGBOX1='start /B /min /wait msgbox.exe "Error" "SN:';
LET MSGBOX2=PULLFILE;
LET MSGBOX3='\n%47% !! Not SENT FAIL TO ODC !!%47%\n';
LET MSGBOX2=MSGBOX2!!MSGBOX3;
LET MSGBOX=MSGBOX1!!MSGBOX2;
CALL SPAWN (COMMAND=MSGBOX);
BITSET (FAIL,100);
BRANCH END;
];
WRITE ID=IDENT '%S%,%S%,F'
PULLFILE,TEST_DATEN;
CLOSE ID=IDENT;
END:
RETURN;
END SUBROUTINE SEND_FAIL;
SUBROUTINE CONVERTDT();
DECLARE CSTRING TEMP1(30);
YEAR=SUBSTR(TEST_DATE,8,2);
MONTH=SUBSTR(TEST_DATE,4,3);
DAY=SUBSTR(TEST_DATE,1,2);
HOUR=SUBSTR(TEST_DATE,12,2);
MINSEC=SUBSTR(TEST_DATE,14,6);
IF MONTH='JAN' THEN [MONTH='1';BRANCH DAY;];
IF MONTH='FEB' THEN [MONTH='2';BRANCH DAY;];
IF MONTH='MAR' THEN [MONTH='3';BRANCH DAY;];
IF MONTH='APR' THEN [MONTH='4';BRANCH DAY;];
IF MONTH='MAY' THEN [MONTH='5';BRANCH DAY;];
IF MONTH='JUN' THEN [MONTH='6';BRANCH DAY;];
IF MONTH='JUL' THEN [MONTH='7';BRANCH DAY;];
IF MONTH='AUG' THEN [MONTH='8';BRANCH DAY;];
IF MONTH='SEP' THEN [MONTH='9';BRANCH DAY;];
IF MONTH='OCT' THEN [MONTH='10';BRANCH DAY;];
IF MONTH='NOV' THEN [MONTH='11';BRANCH DAY;];
IF MONTH='DEC' THEN [MONTH='12';BRANCH DAY;];
DAY:
IF DAY='01'THEN [DAY='1';BRANCH HOUR;];
IF DAY='02'THEN [DAY='2';BRANCH HOUR;];
IF DAY='03'THEN [DAY='3';BRANCH HOUR;];
IF DAY='04'THEN [DAY='4';BRANCH HOUR;];
IF DAY='05'THEN [DAY='5';BRANCH HOUR;];
IF DAY='06'THEN [DAY='6';BRANCH HOUR;];
IF DAY='07'THEN [DAY='7';BRANCH HOUR;];
IF DAY='08'THEN [DAY='8';BRANCH HOUR;];
IF DAY='09'THEN [DAY='9';BRANCH HOUR;];
HOUR:
/*00-11 AM,12-23 PM. ORACLE ACCEPT HOUR 1-12 NO 0 .12:52:30 AM MORNING*/
IF HOUR<'12'THEN PMAM='AM';
IF HOUR>='12' THEN PMAM='PM';
IF HOUR='00'THEN [HOUR='12';BRANCH NEWDATETIME;];
IF HOUR='01'THEN [HOUR='1';BRANCH NEWDATETIME;];
IF HOUR='02'THEN [HOUR='2';BRANCH NEWDATETIME;];
IF HOUR='03'THEN [HOUR='3';BRANCH NEWDATETIME;];
IF HOUR='04'THEN [HOUR='4';BRANCH NEWDATETIME;];
IF HOUR='05'THEN [HOUR='5';BRANCH NEWDATETIME;];
IF HOUR='06'THEN [HOUR='6';BRANCH NEWDATETIME;];
IF HOUR='07'THEN [HOUR='7';BRANCH NEWDATETIME;];
IF HOUR='08'THEN [HOUR='8';BRANCH NEWDATETIME;];
IF HOUR='09'THEN [HOUR='9';BRANCH NEWDATETIME;];
IF HOUR='13'THEN [HOUR='1';BRANCH NEWDATETIME;];
IF HOUR='14'THEN [HOUR='2';BRANCH NEWDATETIME;];
IF HOUR='15'THEN [HOUR='3';BRANCH NEWDATETIME;];
IF HOUR='16'THEN [HOUR='4';BRANCH NEWDATETIME;];
IF HOUR='17'THEN [HOUR='5';BRANCH NEWDATETIME;];
IF HOUR='18'THEN [HOUR='6';BRANCH NEWDATETIME;];
IF HOUR='19'THEN [HOUR='7';BRANCH NEWDATETIME;];
IF HOUR='20'THEN [HOUR='8';BRANCH NEWDATETIME;];
IF HOUR='21'THEN [HOUR='9';BRANCH NEWDATETIME;];
IF HOUR='22'THEN [HOUR='10';BRANCH NEWDATETIME;];
IF HOUR='23'THEN [HOUR='11';BRANCH NEWDATETIME;];
NEWDATETIME:
LET MONTH=MONTH!!'/';
LET DAY=DAY!!'/';
LET TEMP1=MONTH !! DAY;
LET TEMP1=TEMP1!!YEAR;
LET TEMP1=TEMP1!!' ';
LET TEMP1=TEMP1!!HOUR;
LET TEMP1=TEMP1!!MINSEC;
LET TEMP1=TEMP1!!' ';
LET TEST_DATEN=TEMP1!!PMAM;
RETURN;
END SUBROUTINE CONVERTDT;
LOAD DSM FILE = 'U12PROG.ddb';/*** 调入烧录文件***/
DECLARE SYSTEM GET_MODE (CSTRING ARG(8));
DECLARE CSTRING RTS_MODE(8);
DECLARE LOAD CSTRING SERIAL_NUMBER (20);
DECLARE SYSTEM SERIALNO (CSTRING ARG1(20));
DECLARE GLOBAL FILE IDENT;
DECLARE LOAD CSTRING ANS(20);
DECLARE GLOBAL CSTRING TEST_DATE(19);
DECLARE GLOBAL CSTRING LOG_PATH(50);
DECLARE GLOBAL CSTRING LOG_PATH1(50);
DECLARE GLOBAL CSTRING LOG_PATH2(50);
DECLARE GLOBAL CSTRING PULLFILE(50);
DECLARE GLOBAL CSTRING PULLFILE_LOG(50);
DECLARE GLOBAL CSTRING PULLFILE_TXT(50);
DECLARE GLOBAL CSTRING PULLDATE(30);
DECLARE GLOBAL CSTRING PULLDATE_LOG(30);
DECLARE GLOBAL CSTRING KEEP_FILE(80);
DECLARE LABEL();
/*****************************************************/
/************* FOR NT MSG BOX ***************/
/*****************************************************/
DECLARE SYSTEM SPAWN (CSTRING COMMAND(100));
DECLARE LOAD CSTRING MSGBOX(200);
DECLARE LOAD CSTRING MSGBOX1(100);
DECLARE LOAD CSTRING MSGBOX2(100);
DECLARE LOAD CSTRING MSGBOX3(100);
DECLARE LOAD CSTRING MSGBOX4(100);
DECLARE LOAD CSTRING MSGBOX5(100);
DECLARE LOAD CSTRING MSGBOX6(100);
2. 在LET START_TEST_TIME=TIME()之后加上
CALL LABEL();
Call DECH();
/***DISCHARGING UUT CAPACITIVE VOLTAGES***/
3. 粉红色的部分是检查条码,这一段放在
LET START_TEST_TIME=TIME(); 和D_CAP1: CALL CAP_DISCHARGE(); 之间.
GETSN: CALL SERIALNO(ARG1=SERIAL_NUMBER);
CALL GET_MODE(ARG=RTS_MODE);
/************* FOR T/S TEST ****************/
IF SERIAL_NUMBER = '0001' THEN
[
LET SERIAL_NUMBER = ''; BRANCH UNCHECK;
];
IF RTS_MODE='TEST' THEN
[ CALL CHECK_PUT();
IF FAIL(101) THEN
BRANCH END;
];
UNCHECK:
WRITE '%NL%';
WRITE '%NL% BOARDS SERIAL # IS :%S%%NL%'SERIAL_NUMBER;
4.在 SUBROUTINE CAP_DISCHARGE(); 之前有二行为:
PDONE:
END;
删掉这二行,用下面的语句代替:
/***FOR SEND FAIL TO ODC***/
CALL SEND_FAIL();
BRANCH END;
PDONE:
/********** FOR SEND PASS TO ODC **********/
PASS_SEND_ODC:
IF RTS_MODE='TEST' THEN CALL SEND_PASS();
END:
END;
5.在程序最后加上子程序.(注意LABEL 的子程序有ODC的程序中拷过来)
SUBROUTINE LABEL();
WRITE '%033%!E';
A:
WRITE '%033%:A%NL%';
WRITE '*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*%NL%';
WRITE '*= =*%NL%';
WRITE '*= NOW TESTING BOARD POWER SUPPLY =*%NL%';
WRITE '*= FAB: 070-1111-49 =*%NL%';
WRITE '*= Project P/N: p033602b REV.02 =*%NL%';
WRITE '*= PROGRAM NAME : p033602b =*%NL%';
WRITE '*= REV. PROGRAM : 00 =*%NL%';
WRITE '*= SELECT : - =*%NL%';
WRITE '* FIXTURE NUMBER : p033602b =*%NL%';
WRITE '*= =*%NL%';
WRITE '*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*%NL%';
WRITE '%NL%';
END:
END SUBROUTINE LABEL;
SUBROUTINE CHECK_PUT();
LET PULLFILE=SUBSTR(SERIAL_NUMBER,1,20);
LET PULLFILE_TXT=PULLFILE!!'.TXT';
LET LOG_PATH1='H:\';
LET KEEP_FILE=LOG_PATH1!!PULLFILE_TXT;
OPEN ID=IDENT DEV=KEEP_FILE MODE='READ'
[
BITSET(FAIL,101);
LET MSGBOX1='start /B /min /wait msgbox.exe "Wrong Station !" "SN:';
LET MSGBOX2=SERIAL_NUMBER;
LET MSGBOX3=' " question';
LET MSGBOX2=MSGBOX2!!MSGBOX3;
LET MSGBOX=MSGBOX1!!MSGBOX2;
CALL SPAWN (COMMAND=MSGBOX);
LET SERIAL_NUMBER = '';
BRANCH END;
];
CLOSE ID=IDENT;
END:
RETURN;
END SUBROUTINE CHECK_PUT;
SUBROUTINE SEND_PASS();
IF SERIAL_NUMBER='' THEN [BRANCH END;];
LET TEST_DATE=DATE();
CALL CONVERTDT();
LET PULLFILE=SUBSTR(SERIAL_NUMBER,1,20);
LET PULLDATE=SUBSTR(TEST_DATE,1,9);
LET PULLFILE_LOG=PULLFILE!!'.LOG';
LET PULLFILE_TXT=PULLFILE!!'.TXT';
LET PULLDATE_LOG=PULLDATE!!'.LOG';
LET LOG_PATH1='H:\';
LET LOG_PATH2='G:\';
/** SENT PASS TO ODC **/
LET KEEP_FILE=LOG_PATH2!!PULLFILE_LOG;
OPEN ID=IDENT DEV=KEEP_FILE MODE='WRITE'
[
LET MSGBOX1='start /B /min /wait msgbox.exe "Error" "SN:';
LET MSGBOX2=SERIAL_NUMBER;
LET MSGBOX3='\n%47% ! Not SENT PASS TO ODC !!%47%\n';
LET MSGBOX2=MSGBOX2!!MSGBOX3;
LET MSGBOX=MSGBOX1!!MSGBOX2;
CALL SPAWN (COMMAND=MSGBOX);
BITSET (FAIL,100);
BRANCH END;
];
WRITE ID=IDENT '%S%,%S%,P'
PULLFILE,TEST_DATEN;
CLOSE ID=IDENT;
END:
RETURN;
END SUBROUTINE SEND_PASS;
SUBROUTINE SEND_FAIL();
IF SERIAL_NUMBER='' THEN [BRANCH END;];
LET TEST_DATE=DATE();
CALL CONVERTDT();
LET PULLFILE=SUBSTR(SERIAL_NUMBER,1,20);
LET PULLDATE=SUBSTR(TEST_DATE,1,9);
LET PULLFILE_LOG=PULLFILE!!'.LOG';
LET PULLDATE_LOG=PULLDATE!!'.LOG';
LET LOG_PATH1='H:\';
LET LOG_PATH2='G:\';
/**SENT FAIL TO ODC **/
LET KEEP_FILE=LOG_PATH2!!PULLFILE_LOG;
OPEN ID=IDENT DEV=KEEP_FILE MODE='WRITE'
[
LET MSGBOX1='start /B /min /wait msgbox.exe "Error" "SN:';
LET MSGBOX2=PULLFILE;
LET MSGBOX3='\n%47% ! Not SENT FAIL TO ODC !%47%\n';
LET MSGBOX2=MSGBOX2!!MSGBOX3;
LET MSGBOX=MSGBOX1!!MSGBOX2;
CALL SPAWN (COMMAND=MSGBOX);
BITSET (FAIL,100);
BRANCH END;
];
WRITE ID=IDENT '%S%,%S%,F'
PULLFILE,TEST_DATEN;
CLOSE ID=IDENT;
END:
RETURN;
END SUBROUTINE SEND_FAIL;
SUBROUTINE CONVERTDT();
DECLARE CSTRING TEMP1(30);
YEAR=SUBSTR(TEST_DATE,8,2);
MONTH=SUBSTR(TEST_DATE,4,3);
DAY=SUBSTR(TEST_DATE,1,2);
HOUR=SUBSTR(TEST_DATE,12,2);
MINSEC=SUBSTR(TEST_DATE,14,6);
IF MONTH='JAN' THEN [MONTH='1';BRANCH DAY;];
IF MONTH='FEB' THEN [MONTH='2';BRANCH DAY;];
IF MONTH='MAR' THEN [MONTH='3';BRANCH DAY;];
IF MONTH='APR' THEN [MONTH='4';BRANCH DAY;];
IF MONTH='MAY' THEN [MONTH='5';BRANCH DAY;];
IF MONTH='JUN' THEN [MONTH='6';BRANCH DAY;];
IF MONTH='JUL' THEN [MONTH='7';BRANCH DAY;];
IF MONTH='AUG' THEN [MONTH='8';BRANCH DAY;];
IF MONTH='SEP' THEN [MONTH='9';BRANCH DAY;];
IF MONTH='OCT' THEN [MONTH='10';BRANCH DAY;];
IF MONTH='NOV' THEN [MONTH='11';BRANCH DAY;];
IF MONTH='DEC' THEN [MONTH='12';BRANCH DAY;];
DAY:
IF DAY='01'THEN [DAY='1';BRANCH HOUR;];
IF DAY='02'THEN [DAY='2';BRANCH HOUR;];
IF DAY='03'THEN [DAY='3';BRANCH HOUR;];
IF DAY='04'THEN [DAY='4';BRANCH HOUR;];
IF DAY='05'THEN [DAY='5';BRANCH HOUR;];
IF DAY='06'THEN [DAY='6';BRANCH HOUR;];
IF DAY='07'THEN [DAY='7';BRANCH HOUR;];
IF DAY='08'THEN [DAY='8';BRANCH HOUR;];
IF DAY='09'THEN [DAY='9';BRANCH HOUR;];
HOUR:
/*00-11 AM,12-23 PM. ORACLE ACCEPT HOUR 1-12 NO 0 .12:52:30 AM MORNING*/
IF HOUR<'12'THEN PMAM='AM';
IF HOUR>='12' THEN PMAM='PM';
IF HOUR='00'THEN [HOUR='12';BRANCH NEWDATETIME;];
IF HOUR='01'THEN [HOUR='1';BRANCH NEWDATETIME;];
IF HOUR='02'THEN [HOUR='2';BRANCH NEWDATETIME;];
IF HOUR='03'THEN [HOUR='3';BRANCH NEWDATETIME;];
IF HOUR='04'THEN [HOUR='4';BRANCH NEWDATETIME;];
IF HOUR='05'THEN [HOUR='5';BRANCH NEWDATETIME;];
IF HOUR='06'THEN [HOUR='6';BRANCH NEWDATETIME;];
IF HOUR='07'THEN [HOUR='7';BRANCH NEWDATETIME;];
IF HOUR='08'THEN [HOUR='8';BRANCH NEWDATETIME;];
IF HOUR='09'THEN [HOUR='9';BRANCH NEWDATETIME;];
IF HOUR='13'THEN [HOUR='1';BRANCH NEWDATETIME;];
IF HOUR='14'THEN [HOUR='2';BRANCH NEWDATETIME;];
IF HOUR='15'THEN [HOUR='3';BRANCH NEWDATETIME;];
IF HOUR='16'THEN [HOUR='4';BRANCH NEWDATETIME;];
IF HOUR='17'THEN [HOUR='5';BRANCH NEWDATETIME;];
IF HOUR='18'THEN [HOUR='6';BRANCH NEWDATETIME;];
IF HOUR='19'THEN [HOUR='7';BRANCH NEWDATETIME;];
IF HOUR='20'THEN [HOUR='8';BRANCH NEWDATETIME;];
IF HOUR='21'THEN [HOUR='9';BRANCH NEWDATETIME;];
IF HOUR='22'THEN [HOUR='10';BRANCH NEWDATETIME;];
IF HOUR='23'THEN [HOUR='11';BRANCH NEWDATETIME;];
NEWDATETIME:
LET MONTH=MONTH!!'/';
LET DAY=DAY!!'/';
LET TEMP1=MONTH !! DAY;
LET TEMP1=TEMP1!!YEAR;
LET TEMP1=TEMP1!!' ';
LET TEMP1=TEMP1!!HOUR;
LET TEMP1=TEMP1!!MINSEC;
LET TEMP1=TEMP1!!' ';
LET TEST_DATEN=TEMP1!!PMAM;
RETURN;
END SUBROUTINE CONVERTDT;
LOAD DSM FILE = 'U12PROG.ddb';/*** 调入烧录文件***/