Добавлены калибровки для 164

This commit is contained in:
2024-06-17 11:26:57 +03:00
parent 4386deba67
commit 05966d0716
12 changed files with 1543 additions and 1527 deletions

View File

@@ -7,12 +7,27 @@
// ÓÌÏ UA UC IA IC 20mA O 4mA O 20mA I 4mA I
3820, 3790, 3505, 3380, 1718, 673, 854, 14, // Áîðò 0
3810, 3775, 3522, 3332, 1697, 653, 860, 17, // Αξπς 1
3835, 3785, 3522, 3332, 1697, 653, 860, 17, // Áîðò 1
// ÂÝÏ 380Ô1 380Ô2 300 1 300 2 400 1 400 2
1281, 1272, 0, 0, 2049, 2050, 2749, 2750 };
#endif //---------------------------------------------------------------------
#if BALSAM == 164 //-------------------------------------------------------------
int def_cal[][8] = {
// Ñèëîâîé UA1 UB1 UA2 UB2 300 1 300 2 400 1 400 2
7573, 7573, 7573, 7573, 1979, 1888, 2592, 2513, // Áîðò 0
7573, 7573, 7573, 7573, 1970, 1907, 2584, 2558, // Áîðò 1
// ÓÌÏ UA UC IA IC 20mA O 4mA O 20mA I 4mA I
3920, 3905, 3300, 3220, 1015, 0, 854, 14, // Áîðò 0
3835, 3785, 5100, 4600, 1750, 680, 860, 17, // Áîðò 1
// ÂÝÏ 380Ô1 380Ô2 300 1 300 2 400 1 400 2
1266, 1267, 0, 0, 2063, 2040, 2678, 2655 };
#endif //---------------------------------------------------------------------
/*
#if PXXXXX == 1 //-------------------------------------------------------------

View File

@@ -60,7 +60,7 @@ typedef union
} FLAG;
#define NOER 0xC000
#define NOER 0xE000//C
#define EROR 0x01FF
#define READY_FREQ (500.0 * 2)// Ãö

View File

@@ -87,16 +87,17 @@ float im_calc(float ia,float ib)
void calc_sensor_koef()
{
int i;
float K;
K_T1 = 100.0/(K400_1 - K300_1);
K_T2 = 100.0/(K400_2 - K300_2);
for(i=0;i<4;i++)
{
powK[i] = Caliber[i];
if(sens_type[i]==CURRENT) powK[i]/=1000.0;
else powK[i]/=10000.0;
K = Caliber[i];
if(sens_type[i]==CURRENT) K/=1000.0;
else K/=10000.0;
powK[i] = K;
} }
interrupt void cpu_timer1_isr_SENS(void)
@@ -580,7 +581,8 @@ void Temper_count(int chan)
{
float Numb;
static int Temper;
int kun, no_ignor;
int i,j, kun, no_ignor;
long s;
ERROR error;
if(!chan)
@@ -606,6 +608,24 @@ void Temper_count(int chan)
return;
}
if(chan<tpl_cans)
if(sens_error[chan].bit.Discr4)
{
j=0;s=0;
for(i=0;i<(tpl_cans-2*(Mode==adr_ENG1));i++)
{
if(!sens_error[i].bit.Bypas)
if(!sens_error[i].bit.Ignor)
if(!sens_error[i].bit.Discr4)
{
s+=adc_table_tpl[i];
j++;
} }
if(j) s/=j;
Numb = s;
}
kun = chan - cal_addr;
if(TermoAD)
@@ -648,7 +668,7 @@ void Temper_count(int chan)
if(Desk==dsk_BKSD)
{
sens_data[chan+8] = Numb;
sens_data[chan+8] = adc_table_tpl[chan];
if(chan<6) Numb = (Numb-K100_D)*K100;
else Numb = (Numb-K100_D)*K_50;// - 6.56;
}