Loading…

方法名称: th_cal_sensor

方法ID: 0x1461

方法标签: Calibrate Sensor

方法描述: Calibrate Zero and Span.(Zero first)


  • {
  • char disp_string1[80];
  • int slen1;
  • char disp_string2[80];
  • int slen2;
  • char xmtr_status[25];
  • char status[3];
  • int number_of_tries;
  • int maximum_tries;
  • int is_span;
  • int trying;
  • int displaying;
  • long idc[5];
  • int user_response;
  • float compdConc;
  • float factor;
  • int i;
  • int cmd;
  • int testGasIndex;
  • int stat1;
  • int stat3;
  • int stat21;
  • SET_NUMBER_OF_RETRIES(7);
  • _set_no_device(2);
  • _set_all_resp_code(0);
  • _set_device_status(0xFF,0);
  • _set_xmtr_device_status(0xFF,0);
  • _set_xmtr_all_resp_code(0);
  • slen1 = 80;
  • slen2 = 80;
  • send_command(48);
  • if (_ivar_value(4032) & 0x80)
  • {
  • _get_dictionary_string(1193083168,disp_string1,slen1);
  • DELAY(3,disp_string1);
  • process_abort();
  • }
  • ;
  • while (1)
  • {
  • _iassign(5202,0x00);
  • do {
  • send_trans(184,1,status);
  • }
  • while (status[0] == 32);
  • if ((i = _ivar_value(5203)) == 0xFF)
  • {
  • break;
  • }
  • switch (i)
  • {
  • case 0x01:
  • case 0x02:
  • case 0x50:
  • number_of_tries = 0;
  • _iassign(5202,0xFF);
  • send_trans(184,1,status);
  • _iassign(5202,0x00);
  • do {
  • send_trans(184,1,status);
  • }
  • while ((status[0] == 32 || _ivar_value(5203) != 0xFF) && number_of_tries++ < maximum_tries);
  • _get_dictionary_string(1193083146,disp_string1,slen1);
  • if (number_of_tries >= 300)
  • {
  • DELAY(2,disp_string1);
  • process_abort();
  • }
  • ;
  • break;
  • case 0x14:
  • case 0x41:
  • number_of_tries = 0;
  • _iassign(5202,0x46);
  • send_trans(184,1,status);
  • _iassign(5202,0x00);
  • do {
  • send_trans(184,1,status);


请登录以获得完整内容