» 您尚未 登录   注册 | 知道 | 帮助 | 社区 | 首页 | 无图版 | 繁體  

SMT之家论坛 -> 表面贴装测试 -> Genrad ict 程式编写?
 XML   RSS 2.0   WAP 

SMT之家论坛管理规则 - 新手必看! SMT编程转换工具HOME-CAD 华南最佳SMT工程师评选活动圆满成功 SMTHOME文字赞助位预订

标题: Genrad ict 程式编写? << QQ 百度 雅虎 Google 新浪 IE + 打印 >>
gezi11
No.: 324935 帅哥 查找更多gezi11发起的主题



级别: 新手上路

发帖: 1

威望: 1 点

金币: 3 枚

来自: 湖南

在线状态: 离线

注册时间: 2007-10-27

最后登陆: 2008-11-04

SMTHOME文字赞助位预订 复制本帖地址 定位此帖

楼主说: Genrad ict 程式编写?

谁有Genrad ict 程式编写的一原理与规则可以共享一下啊?


※ 本文由 gezi11 发布于SMTHome.Net 未经允许,请勿擅自转载!※
  2007-11-03 16:26
顶端
nwzwc
No.: 097189 查找更多nwzwc发起的主题

在线等级:1
在线时长:21小时
升级剩余时间:29小时


级别: 新手上路

发帖: 23

威望: 2 点

金币: 226 枚

来自: nanjing

在线状态: 离线

注册时间: 2006-01-11

最后登陆: 2008-07-13

VayoPro-NPI信息化管理系统 复制本帖地址 定位此帖

#1楼说:

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';/*** 调入烧录文件***/



※ 本文为 nwzwc 个人意见,不代表SMTHome.Net立场 ※
  2007-11-11 20:34
顶端

SMT之家论坛 -> 表面贴装测试




Google


本论坛言论纯属发表者个人意见,与 SMTHome.Net® 立场无关
沪ICP备05001058号

今日到访人次 总计到访人次(自2004年1月12日起)

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by PHPWind. Copyright © 2000-2008 SMTHome.Net
Total 2.764614(s) query 4, Time now is:12-03 12:26, Gzip enabled

在本网站投放广告 - 广告联系 - 版权声明 - 联系我们 - SMT之家 - Archiver - WAP