⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1503cs.c.bak

📁 完整的TCS控制系统原程序.包含系统检测
💻 BAK
📖 第 1 页 / 共 3 页
字号:
               rd2543_1(1) ;   //UXH1
               ad_cy[0] = ad_buf[0];
               ad_cy[1] = ad_buf[1]; 
             	  for( i = 16 ; i < 32 ; i++ )            	 
                      dyjcsj[1][i] = ad_cy[i-16] ; 
               cycs++ ;
             	 }
             } 
   else if( cycs == 3){ hys = 0 ;csbz++ ; ymlbz = 1 ; }
               else{  zbh = 0 ; csbz = 0xff ;}//出错退出测试
  } 
} 

void dycscx3(unsigned char yzz){  //330v带负载
unsigned char i;
if( yzz == 0xa2 ){
	  if(ymlbz){
	  	        H330V1(); KZHZ10(); 
       if( hys >= 5000 ){ymlbz = 0 ; CC = 0 ; BB = 0 ; AA = 0 ; sjcyw = 1 ; cycs = 1 ; tcy = 0 ; AD_S = 0 ; AD_N = 0 ;  } 
             }   
    else if( cycs == 1 ){
             if(sjcyw) rd2543() ;//SJCYW=1本次采集数据完成
             else  { 
             	  for( i = 0 ; i < 16 ; i++ )            	 
             	   dyjcsj[2][i] = ad_cy[i] ; 
             	   sjcyw = 1 ; tcy = 0 ; AD_S = 0;AD_N++ ; cycs++;
             	 }
             }
    else if( cycs == 2){
             if(sjcyw) rd2543() ;
             else {
             	 AD_N = 7 ;
               rd2543_1(1) ;      //UXH1
               ad_cy[0] = ad_buf[0] ;
               ad_cy[1] = ad_buf[1] ;  
              for( i = 16 ;i < 32 ; i++ )            	 
                 dyjcsj[2][i] = ad_cy[i-16] ;   
              cycs++ ;
               }
             }
    else if( cycs == 3 ){ hys = 0 ; csbz++ ; ymlbz = 1 ; }
                else{  zbh = 0 ; csbz = 0xff ;}//出错退出测试
 }
} 

void dycscx4(unsigned char yzz){    //450v带负载
unsigned char i;
if( yzz == 0xa3 ){ 
    if(ymlbz){  H450V1() ;
    	         if( hys >= 1000 ){ ymlbz = 0 ; CC = 0 ; BB = 0 ; AA = 0 ; sjcyw = 1 ;cycs = 1; tcy = 0 ; AD_S = 0 ; AD_N = 0 ;  }
	            } 
     else if( cycs == 1 ){
           if(sjcyw) rd2543() ;//SJCYW=1本次采集数据完成
             else  {
             	   for( i = 0 ; i < 16 ; i++ )            	 
             	     dyjcsj[3][i] = ad_cy[i] ;  
             	     sjcyw = 1 ; tcy = 0 ; AD_S = 0 ; AD_N++ ; cycs++ ; 
             	   }
               }
       else if( cycs == 2){
           if(sjcyw) rd2543() ;
             else {  
             	 AD_N = 7 ;
               rd2543_1(1) ;   //UXH1
               ad_cy[0] = ad_buf[0] ;
               ad_cy[1] = ad_buf[1] ;  
             	 for( i = 16 ;i < 32 ; i++ )            	 
                 dyjcsj[3][i] = ad_cy[i-16] ;   
             	   cycs++ ;
              }
             }  
      else if( cycs == 3){
      	                   FDY2() ; KZHZ70() ; 
      	                   if(!zjcsml){  zbh = 0 ; csbz = 0xff ; }
      	                      else { hys = 0 ; csbz++ ; ymlbz = 1 ;  }
      	                 }
           else{ zbh = 0 ; csbz = 0xff ;}//出错退出测试           
   }
} 

void kzcscx1(unsigned char yzz ){      //450v空载 用于查询初始状态 
unsigned char i;
if( yzz == 0xb0 ){
	if(ymlbz){
		  H450V() ; GBKZ(); 
      if( hys >= 3500 ){ ymlbz = 0 ; CC = 0 ; BB = 0 ; AA = 0 ; sjcyw = 1 ; cycs = 1 ; tcy = 0 ; AD_S = 0 ; AD_N = 2 ; }
           }
      else if( cycs == 1 ){
           if( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
             else  { 
             	   for( i = 0 ; i < 16 ; i++ )  
             	      kzjcsj[0][i] = ad_cy[i] ; 
             	      sjcyw = 1 ; tcy = 0 ; AD_S = 0 ; AD_N++  ; cycs++ ;  
             	     }
                        }
      else if( cycs == 2){
           if( sjcyw ) rd2543() ;
              else {   
              	   for( i = 16 ; i < 32 ; i++ )  
              	    kzjcsj[0][i] = ad_cy[i-16] ; 
              	   cycs++ ;  
              	   }
                         } 
      else if( cycs == 3 ) { csbz++ ;} //
            else{  zbh = 0 ; csbz = 0xff ;}//出错退出测试     
  }    
} 
 
void kzcscx2(unsigned char yzz ){   //控制回路测试
	
if( yzz == 0xb1 ){                  
	                                 
	                                  H450V()  ;  
	                                  clrdog( ) ;
	                                  cycs = 1 ;
	                                  jdq1hz() ;//HZ1  
       	         	                  cycs ++  ;
       	         	                  jdq2hz() ;//HZ2  
       	         	                  cycs ++  ;
       	         	                  jdq3hz() ; //HZ3  
       	         	                  cycs ++  ;
       	         	                  jdq4hz() ; //HZ4 
       	         	                  GBKZ()  ;  
       	         	                   
       	         	                  hys = 0 ;  
       	         	                  while( !( hys > 3500 ) ){ cdog(); }
       	         	                  
       	         	                  cycs++;  
       	         	                  jdq1fz() ; //FZ1   
       	         	                  cycs ++ ;
       	         	                  jdq2fz() ; //FZ2  
       	         	                  cycs ++ ;
       	         	                  jdq3fz() ; //FZ3  
       	         	                  cycs ++ ; 
       	         	                  jdq4fz() ; //FZ4      
       	         	                  GBKZ()  ;  
                                   if(!zjcsml){  zbh = 0 ; csbz = 0xff ; }
       	                           else { hys = 0 ; csbz++ ; ymlbz = 1 ;}
                                   
           }
} 

void otcscx1(unsigned char yzz ){ 
	unsigned char i ;
 if( yzz == 0XC0 ){
 	  if(ymlbz){
 	  	        GD = 1 ; H330V() ;  
		          if( hys >= 1000 )
		             { ymlbz = 0 ;CC = 0 ; BB = 0 ; AA = 0 ; sjcyw = 1 ; cycs = 1 ; tcy = 0 ; AD_S = 0 ; AD_N = 4 ; }
             }
    else if( cycs == 1 ){
    	    if( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
    	        else  { 
             	   for( i = 0 ; i < 16 ; i++ )  
             	      otjcsj[0][i] = ad_cy[i] ; 
             	      
   	                AD_N = 5 ;
                    rd2543_1(0) ;
                    otjcsj[1][10] = ad_buf[0] ;
                    otjcsj[1][11] = ad_buf[1] ;//WD1 
              
                    AD_N ++ ; 
                    rd2543_1(0) ;
                    otjcsj[1][12] = ad_buf[0] ;
                    otjcsj[1][13] = ad_buf[1] ;//WD2  
             
                    otjcsj[1][14]=( char )(xczh >> 8 ) ;
                    otjcsj[1][15]=( char ) xczh ;   //xwc 
                    
                     hys = 0 ;   	
             	       cycs++  ;  
             	      }
             }
             
   else if( cycs == 2 ){
   	        GD = 0  ; 
            if( hys >= 1000 ) {
    	       
    	     AD_N = 4 ;
             rd2543_1(5) ;
             otjcsj[1][0] = ad_buf[0] ;
             otjcsj[1][1] = ad_buf[1] ;//WK1  
            
             rd2543_1(6) ;
             otjcsj[1][2] = ad_buf[0] ;
             otjcsj[1][3] = ad_buf[1] ;//WK2 
             
             rd2543_1(7) ;
             otjcsj[1][4] = ad_buf[0] ;
             otjcsj[1][5] = ad_buf[1] ;//WK3  
             
             rd2543_1(8) ;
             otjcsj[1][6] = ad_buf[0] ;
             otjcsj[1][7] = ad_buf[1] ;//RXD0   
               
             AD_N = 1 ;
             rd2543_1(1) ;
             otjcsj[1][8] = ad_buf[0] ;
             otjcsj[1][9] = ad_buf[1] ;//TX1 
             
             GD = 1 ; 
             CSTZ() ;  
             }
          }
     else{   zbh = 0 ; csbz = 0xff ;}//出错退出测试               
           }  
} 

//测试设备自检

void sbzjcx(unsigned char yzz){  //
 if( yzz == 0XC1 ){
 	 if(ymlbz){ H380V(); ymlbz = 0;  }
 	     else{   zbh = 0 ; csbz = 0xff ;}//出错退出测试   
  }  
}

void sjcjcx (unsigned char yzz){     //84个数据 
unsigned char i ;

if(yzz == 0XC2){ 
	
 CC = 0 ; BB = 0 ; AA = 0 ;AD_S = 0 ;
 sjcyw = 1 ; AD_N = 0 ;	
while( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
for( i = 0 ; i < 16 ; i++ )  
    sssjbuf[AD_N*16+i] = ad_cy[i] ;  

sjcyw = 1 ; AD_N ++ ; 	
while( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
for( i = 0 ; i < 16 ; i++ )  
    sssjbuf[AD_N*16+i] = ad_cy[i] ;     

sjcyw = 1 ; AD_N ++ ; 	
while( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
for( i = 0 ; i < 16 ; i++ )  
    sssjbuf[AD_N*16+i] = ad_cy[i] ; 

sjcyw = 1 ; AD_N ++ ; 	
while( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
for( i = 0 ; i < 16 ; i++ )  
    sssjbuf[AD_N*16+i] = ad_cy[i] ; 

sjcyw = 1 ; AD_N ++ ; 	
while( sjcyw ) rd2543() ;//SJCYW=1本次采集数据完成
for( i = 0 ; i < 16 ; i++ )  
    sssjbuf[AD_N*16+i] = ad_cy[i] ; 
 
    AD_N++ ;
    rd2543_1(0);
    sssjbuf[80] = ad_buf[0] ;
    sssjbuf[81] =ad_buf[1] ;//WD1           
 
    AD_N ++ ; 
    rd2543_1(0) ;
    sssjbuf[82] =ad_buf[0] ;
    sssjbuf[83] =ad_buf[1] ;//WD2  
    hys = 0	;    
  }
  
}



void CSTZ(void){ // 停止测试 返回 初始化状态
	KZKM = 1 ;	
  KZDATA = 0x03;		
  CS1 = 0 ;  CS3 = 1 ;	CS2 = 1 ; 	
  NOP ; NOP ; NOP ; NOP ; NOP ; NOP ;
  NOP ; NOP ; NOP ; NOP ; NOP ; NOP ;
  KZDATA = 0x00 ;
  CS2 = 0 ; CS3 = 1 ;	 	CS1 = 1 ; 
	NOP ; NOP ; NOP ; NOP ; NOP ; NOP ;
  NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; 
  KZDATA = 0x00;  
	CS3 = 0 ;	CS2 = 1 ; 	CS1 = 1 ; 
	NOP ; NOP ; NOP ; NOP ; NOP ; NOP ;
  NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; 
  CS3 = 1 ;	CS2 = 1 ; 	CS1 = 1 ; 
	KZKM = 0 ;	
  AA = 0 ; BB = 0 ; CC = 0 ;AD_S = 0 ; AD_N = 0 ; 
  zbh = 0 ; csbz = 0xff ;ymlbz=0;  
  zjcsml = 0  ; sjyfs  = 1 ;  	 
  H450BZ = 0 ; H380BZ = 0 ; H330BZ = 0 ;
}


///////////////////////////////////////////////////////////////////////
/*
void jxdata(void){
unsigned char i,j;
for ( i = 0 ; i < 6  ; i ++ )
for ( j = 0 ; j < 32 ; j ++ )
   dyjcsj[i][j] = j + i ; 
      
for ( i = 0 ; i < 9 ; i ++ )
for ( j = 0 ; j < 82 ; j ++)
    kzjcsj[i][j] = j + i ;
    
for (i = 0 ; i < 2  ;i ++ )     
for (j = 0 ; j < 16 ;j ++ )
   otjcsj[i][j] = j + i ; 
} 
*/
void  c_xdata(void){
unsigned char i,j;
for (i=0;i<4 ;i++)
for (j=0;j<32;j++)
   dyjcsj[i][j]= 0 ; 
      
for (i=0;i<9 ;i++)
for (j=0;j<74;j++)
    kzjcsj[i][j]= 0 ;
    
for (i=0;i<2 ;i++)     
for (j=0;j<16;j++)
   otjcsj[i][j]= 0 ; 
}
 
//主程序  
   
void main(void){ 
	  KZKM=0;	  
      delay(255);
	  init_devices();
	  zjcsml = 0 ;
	  sjyfs  = 1 ; 
	  csbz =0xff  ;
      zbh=0 ; 
      ymlbz=0 ;  
	  delay(255); 
	  delay(255); 
      c_xdata() ; 
    //jxdata();
      zjcsml = 0 ;
	  sjyfs  = 1 ;  
      CSTZ() ; 
      r_2543( AD_N << 4 ) ;
     
    while(1) { 
    	if( ykml == 0xa5 ){  
    		  ykml = 0;  
    		  sjcjbz = 0 ;
    		switch ( ykz ){ 
    		  case 1: csbz = 1  ; zbh = 1 ; ymlbz = 1 ; hys=0 ; cycs = 0 ;  break ;  
    	    case 2: csbz = 5  ; zbh = 1 ; ymlbz = 1 ; hys=0 ; csbxbz = 0 ; break ;
    	    case 3: csbz = 7 ; zbh = 1 ; ymlbz = 1 ; hys=0 ; cycs = 0 ; break ; 
    	    case 4: CSTZ() ; break;
    	    case 5: 
    	    	     switch ( ykz1 ){
       		              case  0x01 : H450V() ; break ;		 	
       		              case  0x02 : H380V() ; break ;		 	
       		              case  0x03 : H330V() ; break ;		 		
       		              case  0x04 : FDY()   ; break ;		 	
       		              case  0x05 : KZHZ6(DYPD());KZHZ10();break ;	
       		              case  0x06 : FDY2() ;KZHZ70();break ;	
       		              case  0x07 : KZHLHZ();break ;	 
       		              case  0x08 : KZHZ70() ;break ; //2005-9-6 14:49
       		          
       		              case  0X09 : sdkzbz = 1 ; cycs = 1 ; jdq1hz() ; sdkzbz = 0 ; GBKZ() ; break ; //HZ1 2005-10-14 16:37
       		              case  0X0A : sdkzbz = 1 ; cycs = 2 ; jdq2hz() ; sdkzbz = 0 ; GBKZ() ; break ; //HZ2 
       		              case  0X0B : sdkzbz = 1 ; cycs = 3 ; jdq3hz() ; sdkzbz = 0 ; GBKZ() ; break ; //HZ3 
       		              case  0X0C : sdkzbz = 1 ; cycs = 4 ; jdq4hz() ; sdkzbz = 0 ; GBKZ() ; break ; //HZ4 
       		              case  0X0D : sdkzbz = 1 ; cycs = 5 ; jdq1fz() ; sdkzbz = 0 ; GBKZ() ; break ; //FZ1 
       		              case  0X0E : sdkzbz = 1 ; cycs = 6 ; jdq2fz() ; sdkzbz = 0 ; GBKZ() ; break ; //FZ2 
       		              case  0X0F : sdkzbz = 1 ; cycs = 7 ; jdq3fz() ; sdkzbz = 0 ; GBKZ() ; break ; //FZ3 
       		              case  0X10 : sdkzbz = 1 ; cycs = 8 ; jdq4fz() ; sdkzbz = 0 ; GBKZ() ; break ; //FZ4  
       		              
       		              case  0x11 :   KZ_HZ1() ; break ;  //2005-10-30 08:09下午
       		              case  0x12 :   KZ_HZ2() ; break ;
       		              case  0x13 :   KZ_HZ3() ; break ;
       		              case  0x14 :   KZ_HZ4() ; break ; 			
       		              case  0x15 :   KZ_FZ1() ; break ;
       		              case  0x16 :   KZ_FZ2() ; break ;
       		              case  0x17 :   KZ_FZ3() ; break ;
       		              case  0x18 :   KZ_FZ4() ; break ;
       		              case  0x19 :   GBKZ()   ; break ;
       		              case  0x20 :   GD = 1   ; break ;	
       		              case  0x21 :   GD = 0   ; break ;		
       		              default: sdkzbz = 0 ;csbz =0xff  ;zbh=0 ;  break ;		 	
       		             } 
       		          break; 
    	    case 0x10: fshc[0] = 0xeb ; fshc[1] = 0x10 ;
    	    	       rd2543_1(ykz1); 
    	    	       fshc[2] = ad_buf[0] ; fshc[3] = ad_buf[1] ;//静态时使用,否则打断其他程序正常工作
                       sjyfs = 0 ; fjsq = 4 ; fsj = fshc ; SBUF=0XFA ; break ; 
    	    default:   csbz =0xff  ;zbh=0 ; ymlbz=0 ; break ;
    	   }
    	 ykz = 0 ; ykz1 = 0 ; ykml = 0;           	    
    	  }   	   
    	if(zbh == 1 ){ 
    		 sjcjbz = 0 ;
    	  switch ( csbz ){
    	  case 1:  dycscx1(0xA0);  break ;//测试完成 CSBZ++
    	  case 2:  dycscx2(0xA1);  break ; 
    	  case 3:  dycscx3(0xA2);  break ; 
    	  case 4:  dycscx4(0xA3);  break ;  //电源测试完成(数据正常)加450V电源供其它测试用
    	  case 5:  kzcscx1(0xB0);  break ; //查询初始状态
    	  case 6:  kzcscx2(0xB1);  break ; //继电器回路试验
    	  case 7:  otcscx1(0xC0);  break ; //其它参数测试
    	  case 8:  sbzjcx(0xC1);  break ; //设备自检 
    	  default: CSTZ();break ;         
    	  } 
    	}
    	else{
    	if( hys >= 800 ){ 
    	 sjcjcx(0XC2) ;
    	 sjcjbz = 1 ;
    	 }
    	}  
	   cdog(); 
	}
}
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -