dodany kod c od Krzyska po wielu modyfikacjach przez Gemini zeby usunac zalezność od TI-RTOS
This commit is contained in:
126
src/Diff_1.c
Normal file
126
src/Diff_1.c
Normal file
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
* Diff_1.c
|
||||
*
|
||||
* Created on: 01-03-2017
|
||||
* Author: Krzysztof Jakubczyk
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "tdefs.h"
|
||||
#include "misc.h"
|
||||
|
||||
#include "helper.h"
|
||||
#include "Diff.h"
|
||||
#include "Diff_1.h"
|
||||
|
||||
int diff_1_initlog(void *arguments, void *logic)
|
||||
{
|
||||
struct diff_1_args *args = (struct diff_1_args *)arguments;
|
||||
struct diff_logic *log = (struct diff_logic *)logic;
|
||||
|
||||
if(diff_init_io(&args->io,log))
|
||||
return -1;
|
||||
|
||||
log->nast_.on = (args->params.bity & 0x0001)?1:0;
|
||||
log->nast_.w = (args->params.bity & 0x0002)?1:0;
|
||||
log->nast_.bl = (args->params.bity & 0x0004)?1:0;
|
||||
log->nast_.bl2h = (args->params.bity & 0x0008)?1:0;
|
||||
log->nast_.bl5h = (args->params.bity & 0x0010)?1:0;
|
||||
log->nast_.sbc = (args->params.bity & 0x0020)?1:0;
|
||||
log->nast_.h = (args->params.bity & 0x0040)?1:0;
|
||||
log->nast_.r = (args->params.bity & 0x0080)?1:0;
|
||||
log->nast_.cross_block = (args->params.bity & 0x0100)?1:0;
|
||||
|
||||
//ustawienie wartosci rozruchowych
|
||||
log->nast_.khr_2h = args->params.k_2h * args->params.k_2h;
|
||||
log->nast_.khp_2h = log->nast_.khr_2h * 0.98;//args->params.kp *args->params.kp;
|
||||
log->nast_.khr_5h = args->params.k_5h * args->params.k_5h;
|
||||
log->nast_.khp_5h = log->nast_.khr_5h * 0.98;//args->params.kp *args->params.kp;
|
||||
log->nast_.Irr = args->params.Ir * 1.3577f;
|
||||
log->nast_.Ipr = args->params.Ir * args->params.kp;
|
||||
log->nast_.Ihdr = args->params.Ihd;
|
||||
log->nast_.Irdr = args->params.rd;
|
||||
log->nast_.kh1r = args->params.kh1;
|
||||
log->nast_.kh1p = args->params.kh1 * args->params.kp;
|
||||
log->nast_.kh2r = args->params.kh2;
|
||||
log->nast_.kh2p = args->params.kh2 * args->params.kp;
|
||||
log->nast_.Ir3c = args->params.Ihp * (args->params.kh1 - args->params.kh2);
|
||||
log->nast_.Ip3c = log->nast_.Ir3c * args->params.kp;
|
||||
log->nast_.Iror = args->params.Iro;
|
||||
log->nast_.Irop = args->params.Iro * args->params.kp;
|
||||
log->nast_.Ir4 = args->params.Ihg * args->params.kh2 + args->params.Ihp * (args->params.kh1 - args->params.kh2);
|
||||
log->nast_.Ip4 = log->nast_.Ir4 * args->params.kp;
|
||||
log->nast_.t_sbc = args->params.tbld * 1000;
|
||||
log->nast_.Ih1 = args->params.Iro / args->params.kh1;
|
||||
log->nast_.Ihp = args->params.Ihp;
|
||||
log->nast_.Ihg = args->params.Ihg;
|
||||
|
||||
log->nast_.tz = args->params.t * 1000;
|
||||
|
||||
// log->nast_.ih_siemens = (args->params.Ih_typ == IH_SUM_IP) ? 1 : 0;
|
||||
//--------
|
||||
|
||||
struct nast_trafo n1;
|
||||
n1.GrP1 = args->params.GrP1;
|
||||
n1.GrP2 = args->params.GrP2;
|
||||
n1.GrP3 = args->params.GrP3;
|
||||
n1.PT12 = args->params.PT12;
|
||||
n1.PT13 = args->params.PT13;
|
||||
// n1.Tr_zas = args->params.Tr_zas;
|
||||
|
||||
przelicz_nastawy1(log,n1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void diff_1(void *arguments, void *logic)
|
||||
{
|
||||
struct diff_logic *log = (struct diff_logic *)logic;
|
||||
|
||||
if(log->nast_.on) // jesli zabezpieczenie aktywne
|
||||
{
|
||||
przelicz_1200Hz_1(log);
|
||||
|
||||
//Sprawdzenie pobudzenia w stabilizowanej strefie dzialania
|
||||
kryterium2(log,log->Ir1_,log->Ih1_,&log->P_.Pb1);
|
||||
kryterium2(log,log->Ir2_,log->Ih2_,&log->P_.Pb2);
|
||||
kryterium2(log,log->Ir3_,log->Ih3_,&log->P_.Pb3);
|
||||
|
||||
przelicz_1200Hz_2(log);
|
||||
} else {
|
||||
*log->Ir1=0;
|
||||
*log->Ir2=0;
|
||||
*log->Ir3=0;
|
||||
*log->Ih1=0;
|
||||
*log->Ih2=0;
|
||||
*log->Ih3=0;
|
||||
*log->Ir_L1_ortb=0;
|
||||
*log->Ir_L2_ortb=0;
|
||||
*log->Ir_L3_ortb=0;
|
||||
// *log->Ih_L1_ortb=0;
|
||||
//*log->Ih_L2_ortb=0;
|
||||
//*log->Ih_L3_ortb=0;
|
||||
*log->I2h1=0;
|
||||
*log->I2h2=0;
|
||||
*log->I2h3=0;
|
||||
*log->I5h1=0;
|
||||
*log->I5h2=0;
|
||||
*log->I5h3=0;
|
||||
clear_struct(&log->P);
|
||||
clear_struct(&log->Pf1);
|
||||
clear_struct(&log->Pf2);
|
||||
clear_struct(&log->Pf3);
|
||||
clear_struct(&log->W);
|
||||
clear_struct(&log->Z);
|
||||
clear_struct(&log->Zw1);
|
||||
clear_struct(&log->Zw2);
|
||||
clear_struct(&log->Zw3);
|
||||
clear_struct(&log->BL2h1);
|
||||
clear_struct(&log->BL2h2);
|
||||
clear_struct(&log->BL2h3);
|
||||
clear_struct(&log->BL5h1);
|
||||
clear_struct(&log->BL5h2);
|
||||
clear_struct(&log->BL5h3);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user