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

📄 main.cpp

📁 数据采集
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    strcpy(name_z4,file_name);strcat(name_z4,".wt4");
    if((fd=fopen(name_j1,"rb"))==NULL){return;}
        fread((char *)p_buf_j1,sizeof(*p_buf_j1),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j2,"rb"))==NULL){return;}
        fread((char *)p_buf_j2,sizeof(*p_buf_j2),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j3,"rb"))==NULL){return;}
        fread((char *)p_buf_j3,sizeof(*p_buf_j3),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j4,"rb"))==NULL){return;}
        fread((char *)p_buf_j4,sizeof(*p_buf_j4),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j5,"rb"))==NULL){return;}
        fread((char *)p_buf_j5,sizeof(*p_buf_j5),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j6,"rb"))==NULL){return;}
        fread((char *)p_buf_j6,sizeof(*p_buf_j6),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j7,"rb"))==NULL){return;}
        fread((char *)p_buf_j7,sizeof(*p_buf_j7),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_j8,"rb"))==NULL){return;}
        fread((char *)p_buf_j8,sizeof(*p_buf_j8),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_z1,"rb"))==NULL){return;}
        fread((char *)p_buf_z1,sizeof(*p_buf_z1),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_z2,"rb"))==NULL){return;}
        fread((char *)p_buf_z2,sizeof(*p_buf_z2),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_z3,"rb"))==NULL){return;}
        fread((char *)p_buf_z3,sizeof(*p_buf_z3),BUF_SIZE,fd);
        fclose(fd);
    if((fd=fopen(name_z4,"rb"))==NULL){return;}
        wav_bytes=fread((char *)p_buf_z4,sizeof(*p_buf_z4),BUF_SIZE,fd);
        fclose(fd);
  }else if(bd.hq_mode==HQ_CPZ24 ){
    char name_j[16][100];
    char name_z[8][100];
    for(int i=0;i<16;i++){
        sprintf(name_j[i],"%s.sr%d",file_name,i+1);
        if((fd=fopen(name_j[i],"rb"))==NULL){err("read_j failed");return;}
        fread((char *)p_buf_j[i],sizeof(*p_buf_j[0]),BUF_SIZE,fd);  fclose(fd);
    }
    for(int i=0;i<8;i++){
        sprintf(name_z[i],"%s.wt%d",file_name,i+1);
        if((fd=fopen(name_z[i],"rb"))==NULL){err("read_z failed");return;}
        if(i==7){
          wav_bytes=fread((char *)p_buf_z[i],sizeof(*p_buf_z[0]),BUF_SIZE,fd);
          fclose(fd);
        }else{
          fread((char *)p_buf_z[i],sizeof(*p_buf_z[0]),BUF_SIZE,fd);
          fclose(fd);
        }
    }
  }else if(bd.hq_mode==HQ_CPZGZ ){
    char name_j[4][100];
    char name_z[2][100];
    for(int i=0;i<4;i++){
        sprintf(name_j[i],"%s.sr%d",file_name,i+1);
        if((fd=fopen(name_j[i],"rb"))==NULL){err("read_j failed");return;}
        fread((char *)p_buf_j[i],sizeof(*p_buf_j[0]),BUF_SIZE,fd);  fclose(fd);
    }
    for(int i=0;i<2;i++){
        sprintf(name_z[i],"%s.wt%d",file_name,i+1);
        if((fd=fopen(name_z[i],"rb"))==NULL){err("read_z failed");return;}
        if(i==1){
          wav_bytes=fread((char *)p_buf_z[i],sizeof(*p_buf_z[0]),BUF_SIZE,fd);
          fclose(fd);
        }else{
          fread((char *)p_buf_z[i],sizeof(*p_buf_z[0]),BUF_SIZE,fd);
          fclose(fd);
        }
    }
  }else err("test_sub():not defined hq_mode");


  for(int i=0;i<wav_bytes;i++){ //remove flag
    for(int j=0;j<8;j++)(*(p_buf_j[j]+i))&=0x7fff;
    for(int z=0;z<4;z++)(*(p_buf_z[z]+i))&=0x7fff;
    if(bd.hq_mode==HQ_CPZ24){
      for(int j=8;j<16;j++)(*(p_buf_j[j]+i))&=0x7fff;
      for(int z=4;z<8;z++) (*(p_buf_z[z]+i))&=0x7fff;
    }
  }

  if(bd.pb_mode!=PB_WAVE && bd.hq_mode!=HQ_2J1Z){ // 因为test时HQ_2J1Z不需要.k文件
    strcpy(name_k,file_name);
    strcat(name_k,".k");
    if((fd=fopen(name_k,"rb"))==NULL){return;}
    kg_now=fread((char *)kg,sizeof(kg_struct),KG_SIZE,fd)-1 ;
    fclose(fd);
  }

  Repaint();  //???? test jax_hdx\跑车1022(7)时出戳,read 0xffffffff

  offset_buf=wav_bytes; // StartDonClick 要用到flag_test,offset_buf
  flag_test=1;  // it is  test
  don_susp=FALSE;

  donThread->Resume();
  StartDon->Caption="退出动态称重Esc";
}

void __fastcall Tform_main::FormClose(TObject *Sender, TCloseAction &Action)
{

  for(int j=0;j<8;j++) VirtualFree(p_buf_j[j],BUF_SIZE*sizeof(*p_buf_j[j]),MEM_DECOMMIT);
  for(int z=0;z<4;z++) VirtualFree(p_buf_z[z],BUF_SIZE*sizeof(*p_buf_z[z]),MEM_DECOMMIT);
  if(bd.hq_mode==HQ_NEWBDG||bd.hq_mode==HQ_CPZ24){
    for(int j=8;j<16;j++) VirtualFree(p_buf_j[j],BUF_SIZE*sizeof(*p_buf_j[j]),MEM_DECOMMIT);
    for(int z=4;z<8 ;z++) VirtualFree(p_buf_z[z],BUF_SIZE*sizeof(*p_buf_z[z]),MEM_DECOMMIT);
  }
  /*
  VirtualFree(p_buf_j1,BUF_SIZE*sizeof(*p_buf_j1),MEM_DECOMMIT);
  VirtualFree(p_buf_j2,BUF_SIZE*sizeof(*p_buf_j2),MEM_DECOMMIT);
  VirtualFree(p_buf_j3,BUF_SIZE*sizeof(*p_buf_j1),MEM_DECOMMIT);
  VirtualFree(p_buf_j4,BUF_SIZE*sizeof(*p_buf_j2),MEM_DECOMMIT);
  VirtualFree(p_buf_j5,BUF_SIZE*sizeof(*p_buf_j1),MEM_DECOMMIT);
  VirtualFree(p_buf_j6,BUF_SIZE*sizeof(*p_buf_j2),MEM_DECOMMIT);
  VirtualFree(p_buf_j7,BUF_SIZE*sizeof(*p_buf_j1),MEM_DECOMMIT);
  VirtualFree(p_buf_j8,BUF_SIZE*sizeof(*p_buf_j2),MEM_DECOMMIT);
  VirtualFree(p_buf_z1,BUF_SIZE*sizeof(*p_buf_z1),MEM_DECOMMIT);
  VirtualFree(p_buf_z2,BUF_SIZE*sizeof(*p_buf_z2),MEM_DECOMMIT);
  VirtualFree(p_buf_z3,BUF_SIZE*sizeof(*p_buf_z1),MEM_DECOMMIT);
  VirtualFree(p_buf_z4,BUF_SIZE*sizeof(*p_buf_z2),MEM_DECOMMIT);
  if(bd.hq_mode==HQ_CPZ24){
    VirtualFree(p_buf_j9,BUF_SIZE*sizeof(*p_buf_j9),MEM_DECOMMIT);
    VirtualFree(p_buf_j10,BUF_SIZE*sizeof(*p_buf_j10),MEM_DECOMMIT);
    VirtualFree(p_buf_j11,BUF_SIZE*sizeof(*p_buf_j11),MEM_DECOMMIT);
    VirtualFree(p_buf_j12,BUF_SIZE*sizeof(*p_buf_j12),MEM_DECOMMIT);
    VirtualFree(p_buf_j13,BUF_SIZE*sizeof(*p_buf_j13),MEM_DECOMMIT);
    VirtualFree(p_buf_j14,BUF_SIZE*sizeof(*p_buf_j14),MEM_DECOMMIT);
    VirtualFree(p_buf_j15,BUF_SIZE*sizeof(*p_buf_j15),MEM_DECOMMIT);
    VirtualFree(p_buf_j16,BUF_SIZE*sizeof(*p_buf_j16),MEM_DECOMMIT);
    VirtualFree(p_buf_z5,BUF_SIZE*sizeof(*p_buf_z5),MEM_DECOMMIT);
    VirtualFree(p_buf_z6,BUF_SIZE*sizeof(*p_buf_z6),MEM_DECOMMIT);
    VirtualFree(p_buf_z7,BUF_SIZE*sizeof(*p_buf_z7),MEM_DECOMMIT);
    VirtualFree(p_buf_z8,BUF_SIZE*sizeof(*p_buf_z8),MEM_DECOMMIT);
  } */
  dir->Active=FALSE;
  data->Active=FALSE;
  table_pi2->Close();
  fclose(prn);

  sio_close(com_jpch);
}
//---------------------------------------------------------------------------

void __fastcall Tform_main::maxmin()
{
  const int CE=10;  // max车数
  const int TAN=10; // max趟数
  int tan,ce;
  mm_cpz  m[CE*TAN];
  int miny[CE][4],maxy[CE][4];
  int minpzc[CE], maxpzc[CE];
  int minwei[CE], maxwei[CE];
  int i;

  //if(ce>CE){err("maxmin:ce>CE"); return;}

  Repaint();
  FILE *fd;
  char msg[300];
  if((fd=fopen(OUTFILE,"rb"))==NULL){err("maxmin:open err");return ;}
  for(i=0;i<CE*TAN;i++){
    if(fread(&m[i],sizeof(mm_cpz),1,fd)!=1 ) break;
    /*
    sprintf(msg,"%7.2f%7.2f%7.2f%7.2f%7d%5d  %s",m[i].y[0] ,m[i].y[1],
                                   m[i].y[2], m[i].y[3], m[i].wei,m[i].spd,m[i].filename);
    Canvas->TextOut(20,30+18*i,msg);*/
  }
  ce=m[0].ce_cnt;
  tan=i/ce;
  fclose(fd);

  sprintf(msg,"ce=%d tan=%d",ce,tan);
  err(msg);


  Repaint();
  for(int i=0;i<ce;i++){
    for(int j=0;j<4;j++){
      miny[i][j]=findminy(ce,tan,i,j,&m[0]);
      maxy[i][j]=findmaxy(ce,tan,i,j,&m[0]);
    }
    minpzc[i]=findminpzc(ce,tan,i,&m[0]);
    maxpzc[i]=findmaxpzc(ce,tan,i,&m[0]);
    minwei[i]=findminwei(ce,tan,i,&m[0]);
    maxwei[i]=findmaxwei(ce,tan,i,&m[0]);
  }

  if((fd=fopen("c:\\cb4\\wingdh\\MAXMIN.txt","wb"))==NULL){err("open maxmin err");return;}

  for(int i=0;i<ce;i++){
    for(int j=0;j<tan;j++){
      char cy[4],cwei,cpzc;
      for(int k=0;k<4;k++){
        if(maxy[i][k]==j*ce+i) cy[k]='+';
        else if(miny[i][k]==j*ce+i) cy[k]='-';
        else cy[k]=' ';
      }

      if(maxwei[i]==j*ce+i) cwei='+';
      else if(minwei[i]==j*ce+i) cwei='-';
      else cwei=' ';

      if(maxpzc[i]==j*ce+i) cpzc='+';
      else if(minpzc[i]==j*ce+i) cpzc='-';
      else cpzc=' ';

      sprintf(msg," %05.02f%c   %05.02f%c   %05.02f%c   %05.02f%c   %5d%c   %5d%c   %2d   %s\r\n",
        m[j*ce+i].y[0],cy[0], m[j*ce+i].y[1],cy[1],
        m[j*ce+i].y[2],cy[2], m[j*ce+i].y[3],cy[3],
        m[j*ce+i].wei,cwei,  m[j*ce+i].pzc,cpzc,  m[j*ce+i].spd, m[j*ce+i].filename );
      fwrite(msg,strlen(msg),1,fd);
    }
    sprintf(msg,"----------------------------------------------------------------------\r\n");
    fwrite(msg,strlen(msg),1,fd);
    sprintf(msg," %05.02f    %05.02f    %05.02f    %05.02f    %5d    %5d\r\n",
       m[maxy[i][0]].y[0]-m[miny[i][0]].y[0],m[maxy[i][1]].y[1]-m[miny[i][1]].y[1],
       m[maxy[i][2]].y[2]-m[miny[i][2]].y[2],m[maxy[i][3]].y[3]-m[miny[i][3]].y[3],
       m[maxwei[i]].wei-m[minwei[i]].wei,m[maxpzc[i]].pzc-m[minpzc[i]].pzc);
    fwrite(msg,strlen(msg),1,fd);
    sprintf(msg,"\r\n");
    fwrite(msg,strlen(msg),1,fd);
  }
  fclose(fd);


  /*
  for(int i=0;i<ce;i++){
    sprintf(msg," %5d(%s)--%5d(%s)--%4d   %5d(%s)--%5d(%s)--%4d\r\n",
      m[minwei[i]].wei,m[minwei[i]].filename,
      m[maxwei[i]].wei,m[maxwei[i]].filename,m[maxwei[i]].wei-m[minwei[i]].wei,
      m[minpzc[i]].pzc,m[minpzc[i]].filename,
      m[maxpzc[i]].pzc,m[maxpzc[i]].filename,m[maxpzc[i]].pzc-m[minpzc[i]].pzc);
    fwrite(msg,strlen(msg),1,fd);
  }
  sprintf(msg,"\r\n");
  fwrite(msg,strlen(msg),1,fd);


  for(int i=0;i<ce;i++){
    sprintf(msg," %05.02f(%s)--%05.02f(%s)--%05.02f   %05.02f(%s)--%05.02f(%s)--%05.02f\r\n",
      m[miny[i][0]].y[0],m[miny[i][0]].filename,
      m[maxy[i][0]].y[0],m[maxy[i][0]].filename,m[maxy[i][0]].y[0]-m[miny[i][0]].y[0],
      m[miny[i][1]].y[1],m[miny[i][1]].filename,
      m[maxy[i][1]].y[1],m[maxy[i][1]].filename,m[maxy[i][1]].y[1]-m[miny[i][1]].y[1]);
    fwrite(msg,strlen(msg),1,fd);
  }
  sprintf(msg,"\r\n");
  fwrite(msg,strlen(msg),1,fd);

  for(int i=0;i<ce;i++){
    sprintf(msg," %05.02f(%s)--%05.02f(%s)--%05.02f   %05.02f(%s)--%05.02f(%s)--%05.02f\r\n",
      m[miny[i][2]].y[2],m[miny[i][2]].filename,
      m[maxy[i][2]].y[2],m[maxy[i][2]].filename,m[maxy[i][2]].y[2]-m[miny[i][2]].y[2],
      m[miny[i][3]].y[3],m[miny[i][3]].filename,
      m[maxy[i][3]].y[3],m[maxy[i][3]].filename,m[maxy[i][3]].y[3]-m[miny[i][3]].y[3]);
    fwrite(msg,strlen(msg),1,fd);
    //Canvas->TextOut(20,30+18*i,msg);
  }
  fclose(fd);*/
}
//---------------------------------------------------------------------------

void __fastcall Tform_main::Timer1Timer(TObject *Sender)
{
  long now_ad_j1,now_ad_z1,
       now_ad_j2,now_ad_z2,
       now_ad_j3,now_ad_z3,
       now_ad_j4,now_ad_z4,
       now_ad_j5,
       now_ad_j6,
       now_ad_j7,
       now_ad_j8;
  long tmp_wei;
  char str[30];

  if(bd.hq_mode==HQ_NEWCPZ){
    get_ad_jin_newcpz(now_ad_j1,now_ad_j2,now_ad_z1,now_ad_z2,
                      now_ad_j3,now_ad_j4,now_ad_z3,now_ad_z4,
                      now_ad_j5,now_ad_j6,now_ad_j7,now_ad_j8 );

    now_ad=( now_ad_j1+now_ad_j2+now_ad_j3+now_ad_j4+
             now_ad_j5+now_ad_j6+now_ad_j7+now_ad_j8 )/8*bd.k_j_z +
           ( now_ad_z1+now_ad_z2+now_ad_z3+now_ad_z4)/4-zero_jin;
  }

  else if(bd.hq_mode==HQ_CPZ24){
    long adj[16],adz[8];
    long tmp_j,tmp_z,i;
    get_ad_jin_cpz24(adj,adz);
    for(i=0,tmp_j=0;i<16;i++) tmp_j+=adj[i];
    for(i=0,tmp_z=0;i<8; i++) tmp_z+=adz[i];
    now_ad=tmp_j*bd.k_j_z/16+tmp_z/8-zero_jin;
  }

  else if(bd.hq_mode==HQ_CPZGZ){
    long adj[16],adz[8];
    long tmp_j,tmp_z,i;
    get_ad_jin_cpz24(adj,adz);
    for(i=0,tmp_j=0;i<4;i++) tmp_j+=adj[i];
    for(i=0,tmp_z=0;i<2; i++) tmp_z+=adz[i];
    now_ad=tmp_j*bd.k_j_z/2+tmp_z-zero_jin;
  }

  else if(bd.hq_mode==HQ_NEWBDG){
    long adj[16],adz[8];
    long tmp_j,tmp_z,i;
    get_ad_jin_cpz24(adj,adz);
    for(i=0,tmp_j=0;i<4;i++) tmp_j+=adj[i];
    for(i=0,tmp_z=0;i<2; i++) tmp_z+=adz[i];
    now_ad=tmp_j*bd.k_j_z/4+tmp_z/2-zero_jin;
  }

  else{
    get_ad_jin(&now_ad_j1,&now_ad_j2,&now_ad_z1,&now_ad_z2);

    if(bd.hq_mode==HQ_2J1Z){
      now_ad=(now_ad_j1+now_ad_j2)/2*bd.k_j_z +now_ad_z1-zero_jin;
    }else if(bd.hq_mode==HQ_DG){
      if(bd.fx==1 && bd.pb_mode==PB_WAVE)//wave判别方向需2个重力通道
        now_ad=(now_ad_z1+now_ad_z2)/2-zero_jin;
      else
        now_ad=now_ad_z1-zero_jin;
    }else if(bd.hq_mode==HQ_BDG){
      if(bd.fx==1 && bd.pb_mode==PB_WAVE)//wave判别方向需2个重力通道
        now_ad=now_ad_j1*bd.k_j_z +(now_ad_z1+now_ad_z2)/2-zero_jin;
      else
        now_ad=now_ad_j1*bd.k_j_z +now_ad_z1-zero_jin;
    }else if(bd.hq_mode==HQ_CPZ){
      now_ad=((now_ad_j1+now_ad_j2)*bd.k_j_z+now_ad_z1+now_ad_z2)/2-zero_jin;
    }else if(bd.hq_mode==HQ_STMDG){
      now_ad=now_ad_z1+now_ad_z2-zero_jin;
    }else if(bd.hq_mode==HQ_STMBDG||bd.hq_mode==HQ_BDG3){
      now_ad=(now_ad_j1+now_ad_j2)*bd.k_j_z+now_ad_z1+now_ad_z2-zero_jin;
    }
    #ifdef DEBUG
      //now_ad=165536;
    #endif
  }

    // now_ad 被 TDonThread::Execute() 使用
  if(now_ad<10 && now_ad> -10 && bd.use_status==USE_ZC){ // 零点跟踪
      zero_jin+=now_ad;
      tmp_wei=0;
  }else
       tmp_wei=ad_to_wei_jin(now_ad);

    // show jin tai
  if(bd.use_status==USE_TS){
      sprintf(str,"%5.2f",(float)tmp_wei/1000.0);
      wei_for_see->Font->Color=clYellow;
      wei_for_see->Font->Size=16;
      wei_for_see->Caption=str;
  }else wei_for_see->Caption=" " ;

⌨️ 快捷键说明

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