Files
dist_tester/src/under_1ph.h

87 lines
2.2 KiB
C

/*
* under_1ph.h
*
* Created on: 08-05-2014
* Author: Krzysztof Jakubczyk
*/
#ifndef UNDER_1PH_H_
#define UNDER_1PH_H_
#include "tdefs.h"
struct dane_wewnetrzne_under1ph
{
// Wyjscia_rejestratora R; ///< dane ostatniego zaklocenia
// Time czas_; // moment wystapienia zaklocenia (rejestr tymczasowy - przed zapisem)
// uint32_t dl_; // dlugosc czasu trwania zaklocenia (rejestr tymczasowy - przed zapisem)
// float max_; // maksymalna watosc zaklocenia (rejestr tymczasowy - przed zapisem)
short lp; ///<licznik filtracji pobudzen
u32 licz_t_; // licznik czasu od pobudzenia dla przekaznika czasowego
u8 wsk_rej; // nowy zapis rejestracji parametrow zaklocenia (spelnienie kryterium identyfikacji)
u8 pob;///< pobudzenie przekaznika
u8 zad;///< zadzialanie przekaznika
};
struct nastawy_przeliczone_under1ph
{
float limit1_; ///< wartosc rozruchowa
float limit2_; ///< wartosc powrotu
u32 t_; ///< opoznienie czasu zadzialania przekaznika
u8 on_; ///< wartosc nastawy aktywnosci przekaznika 1- aktywny
u8 w_; ///< wartosc nastawy dzialania na wylaczeniee 1 - wylaczenie 0 - tylko sygnalizacja
u8 bl_; ///< wartosc nastawy aktywnosci blokady dzialania 1- blokada aktywna
u8 full_period;
};
struct under_1ph_logic
{
u8 *stan_bl;
u8 stan_bl_bit_mask;
float *I;
u8 *test;
u8 test_bit_mask;
u8 *W;
u8 W_bit_mask;
u8 *Z;
u8 Z_bit_mask;
u8 *P;
u8 P_bit_mask;
struct nastawy_przeliczone_under1ph nast_;
struct dane_wewnetrzne_under1ph dw;
};
struct under_1ph_io
{
u32 stan_bl_in;
u32 I_float_in;
u32 test_in;
u32 W_out;
u32 Z_out;
u32 P_out;
}__attribute__((__packed__));
struct under_1ph_params
{
u32 bity; ///< nastawy bitowe;
double Wr_; ///< wartosc nastawy rozruchowej przekaznika w krotnosciach wartosci znamionowej
double kp_; ///< wartosc nastawy wspolczynnika powrotu
double t_; ///< wartosc nastawy czasu dzialania w sekundach
u32 filter_type;
}__attribute__((__packed__));
struct under_1ph_args
{
struct under_1ph_io io;
struct under_1ph_params params;
// u16 crc;
}__attribute__((__packed__));
extern void under_1ph(void *args, void *logic);
extern void under_1ph_100hz(void *args, void *logic);
extern int under_1ph_initlog(void *arguments, void *logic);
#endif /* OV_1PH_H_ */