dodany kod c od Krzyska po wielu modyfikacjach przez Gemini zeby usunac zalezność od TI-RTOS
This commit is contained in:
216
src/ps.h
Normal file
216
src/ps.h
Normal file
@@ -0,0 +1,216 @@
|
||||
/*
|
||||
* ps.h
|
||||
*
|
||||
* Created on: 09-08-2016
|
||||
* Author: Krzysztof Jakubczyk
|
||||
*/
|
||||
|
||||
#ifndef PS_H_
|
||||
#define PS_H_
|
||||
|
||||
#include "tdefs.h"
|
||||
|
||||
struct Nastawy_przeliczone_ps
|
||||
{
|
||||
float Imin;///< minimalna wartosc prąadu dzialania
|
||||
float Iomin;///< Minimalna wartość rozruchowa prądu zerowego przekaźnika identyfikacji zwarć z udziałem ziemi
|
||||
float Iokh;///<Współczynnik stabilizacji charakterystyki przekaźnika identyfikacji zwarć z udziałem ziemi
|
||||
float I2min;///<Minimalna wartość rozruchowa prądu zerowego przekaźnika składowej przeciwnej prądu
|
||||
float I2kh;///<Współczynnik stabilizacji charakterystyki przekaźnika składowej przeciwnej prądu
|
||||
float tanfi1;// wspolczynnik kata prostej
|
||||
float tanfi2;// wspolczynnik kata prostej
|
||||
float X1f; //wartośc rozruchowa reaktancji do przodu strefa zewnetrzna
|
||||
float X1r; //wartośc rozruchowa reaktancji do tyłu strefa zewnetrzna
|
||||
float R1f; //wartośc rozruchowa rezystancji do przodu strefa zewnetrzna
|
||||
float R1r; //wartośc rozruchowa rezystancji do tyłu strefa zewnetrzna
|
||||
float X2f; //wartośc rozruchowa reaktancji do przodu strefa wewnetrzna
|
||||
float X2r; //wartośc rozruchowa reaktancji do tyłu strefa wewnetrzna
|
||||
float R2f; //wartośc rozruchowa rezystancji do przodu strefa wewnetrzna
|
||||
float R2r; //wartośc rozruchowa rezystancji do tyłu strefa wewnetrzna
|
||||
float dRl1f;//wartośc rezystancjirozruchowej prostej wynikającej z obszaru obciażenia do przodu strefa zewnetrzna
|
||||
float dRl1r;//wartośc rezystancjirozruchowej prostej wynikającej z obszaru obciażenia do tyłu strefa zewnetrzna
|
||||
float dRl2f;//wartośc rezystancjirozruchowej prostej wynikającej z obszaru obciażenia do przodu strefa wewnetrzna
|
||||
float dRl2r;//wartośc rezystancjirozruchowej prostej wynikającej z obszaru obciażenia do tyłu strefa wewnetrzna
|
||||
float dRlf;//nastawa różnicy rezystancji do przodu
|
||||
float dRlr;//nastawa różnicy rezystancji do tyłu
|
||||
float przekladnia;//wartosc przekladni impedancji
|
||||
short tpass;//rozruchowy czas przejscia od strefy 1 do 2
|
||||
|
||||
u32 tdbl; ///< Czas uruchomienia deblokady zabezpieczeń po wykryciu kołysania mocy
|
||||
u32 tPS; ///< nastawa czasu opóźnienia zadziałania
|
||||
u16 lPS;///<licznik kołysan asynchronicznych
|
||||
|
||||
u8 on;///<Przekaźnik aktywny/nieaktywny
|
||||
u8 W;///<Dzialanie na wyłączenie
|
||||
u8 D3I2;///<Deblokada od poziomu składowej przeciwnej prądu
|
||||
u8 D3Io;///<Deblokada od poziomu składowej zerowej prądu
|
||||
u8 bl;///<Blokada przekaźnikawłączona/wyłączona
|
||||
};
|
||||
|
||||
enum stan_kolysanie
|
||||
{
|
||||
kolysanie_OK,
|
||||
wejscie_w_strefe1,
|
||||
oczekiwanie_na_strefe2,
|
||||
kolysanie_mocy,
|
||||
blokada_kolysania
|
||||
};
|
||||
|
||||
struct Wyjscia_binarne_ps
|
||||
{
|
||||
u8 Bl_PS;///< blokada od kołysań mocy
|
||||
u8 PS_syn;///< Sygnalizacja wykrycia synchronicznych kołysań mocy
|
||||
u8 PS_asyn;///< Sygnalizacja wykrycia asynchronicznych kołysań mocy
|
||||
u8 Z; ///<Zadziałanie przekaźnika kołysań mocy
|
||||
u8 W; ///< Wyłączenie przez przekaźnik wykrywania kołysań mocy
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct dane_wewnetrzne_ps
|
||||
{
|
||||
//Wyjscia_rejestratora Rej; ///< dane ostatniego zaklocenia
|
||||
|
||||
float R;
|
||||
float X;
|
||||
float absR;
|
||||
float absX;
|
||||
float Rz;
|
||||
|
||||
short liczIo;
|
||||
short liczI2;
|
||||
short liczk;
|
||||
short liczs1;
|
||||
short liczs2;
|
||||
int liczdbl;
|
||||
int licztPS;
|
||||
short liczlPS;
|
||||
|
||||
enum stan_kolysanie stan_kolysanie;
|
||||
|
||||
u8 Ps1;
|
||||
u8 Ps2;
|
||||
u8 P_Io;
|
||||
u8 P_I2;
|
||||
|
||||
short tpass;// czas przejscia ze strefy 1 do 2
|
||||
short t1;// czas przejscia przez strefe 2
|
||||
|
||||
// Time czas_; // moment wystapienia zaklocenia (rejestr tymczasowy - przed zapisem)
|
||||
u32 dl_; // dlugosc czasu trwania zaklocenia (rejestr tymczasowy - przed zapisem)
|
||||
u8 wsk_rej_; // nowy zapis rejestracji parametrow zaklocenia (spelnienie kryterium identyfikacji)
|
||||
struct Wyjscia_binarne_ps b;
|
||||
};
|
||||
|
||||
struct Wejscie_ps
|
||||
{
|
||||
float U1_orta; ///< ortogonalna a składowej zgodnej napięcia
|
||||
float U1_ortb; ///< ortogonalna b składowej zgodnej napięcia
|
||||
float U1; ///<składowa zgodna napięcia
|
||||
float I1_orta; ///< ortogonalna a składowej zgodnej prądu
|
||||
float I1_ortb; ///< ortogonalna b składowej zgodnej prądu
|
||||
float I1; ///<składowa zgodna prądu
|
||||
float I2; ///<składowa przeciwna prądu
|
||||
float I0; ///<składowa zerowa prądu
|
||||
};
|
||||
|
||||
struct ps_logic
|
||||
{
|
||||
u8 *stan_bl;
|
||||
u8 stan_bl_bit;
|
||||
|
||||
float *U1_orta;
|
||||
float *U1_ortb;
|
||||
float *U1;
|
||||
float *I1_orta;
|
||||
float *I1_ortb;
|
||||
float *I1;
|
||||
float *I2;
|
||||
float *I0;
|
||||
|
||||
struct analog_in_params *param_U;
|
||||
struct analog_in_params *param_I;
|
||||
|
||||
u8 *test;
|
||||
u8 test_bit;
|
||||
|
||||
u8 *Bl_PS;
|
||||
u8 Bl_PS_bit;
|
||||
/*
|
||||
u8 *PS_syn;
|
||||
u8 PS_syn_bit;
|
||||
|
||||
u8 *PS_asyn;
|
||||
u8 PS_asyn_bit;
|
||||
*/
|
||||
u8 *Z;
|
||||
u8 Z_bit;
|
||||
|
||||
u8 *W;
|
||||
u8 W_bit;
|
||||
|
||||
struct Wejscie_ps w;
|
||||
struct dane_wewnetrzne_ps dw;
|
||||
struct Nastawy_przeliczone_ps nast_;// struktura z parametrami
|
||||
};
|
||||
|
||||
struct ps_io
|
||||
{
|
||||
u32 stan_bl_in;
|
||||
u32 U1_orta_float_in;
|
||||
u32 U1_ortb_float_in;
|
||||
u32 U1_float_in;
|
||||
u32 I1_orta_float_in;
|
||||
u32 I1_ortb_float_in;
|
||||
u32 I1_float_in;
|
||||
u32 I2_float_in;
|
||||
u32 I0_float_in;
|
||||
u32 param_U_ptr_in;
|
||||
u32 param_I_ptr_in;
|
||||
u32 test_in;
|
||||
u32 Bl_PS_out;
|
||||
// u32 PS_syn_out;
|
||||
// u32 PS_asyn_out;
|
||||
u32 Z_out;
|
||||
u32 W_out;
|
||||
}__attribute__((__packed__));
|
||||
|
||||
struct ps_params
|
||||
{
|
||||
u32 bity; ///< nastawy bitowe;
|
||||
double Rf;///<Zasięg rezystancyjny do przodu strefy zewnętrznej
|
||||
double Xf;///<Zasięg reaktancyjny do przodu strefy zewnętrznej
|
||||
double Rr;///<Zasięg rezystancyjny do tyłu strefy zewnętrznej
|
||||
double Xr;///<Zasięg reaktancyjny do tyłu strefy zewnętrznej
|
||||
double dRf;///<różnica zasięgu rezystancyjnego do przodu strefy wewnętrznej
|
||||
double dXf;///<różnica zasięgu reaktancyjnego do przodu strefy wewnętrznej
|
||||
double dRr;///<różnica zasięgu rezystancyjnego do tyłu strefy wewnętrznej
|
||||
double dXr;///<różnica zasięgu reaktancyjnego do przodu strefy wewnętrznej
|
||||
double fi1;///<Kąt nachylenia charakterystyki
|
||||
double RLf;///<Zasięg „ do przodu” kryterium blokady działania w zakresie prądów obciążenia
|
||||
double RLr;///<Zasięg „ do tyłu” kryterium blokady działania w zakresie prądów obciążenia
|
||||
double fi2;///<Kąt kierunkowy blokady działania w zakresie prądów obciążenia
|
||||
double Iomin;///< Minimalna wartość rozruchowa prądu zerowego przekaźnika identyfikacji zwarć z udziałem ziemi
|
||||
double Iokh;///<Współczynnik stabilizacji charakterystyki przekaźnika identyfikacji zwarć z udziałem ziemi
|
||||
double I2min;///<Minimalna wartość rozruchowa prądu zerowego przekaźnika składowej przeciwnej prądu
|
||||
double I2kh;///<Współczynnik stabilizacji charakterystyki przekaźnika składowej przeciwnej prądu
|
||||
double tpass;///<Minimalny czas przejścia impedancji pomiędzy strefami powodujący rozruch przekaźnika
|
||||
double tdbl;///<Czas uruchomienia deblokady zabezpieczeń po wykryciu kołysania mocy
|
||||
double tPS;///<Czas działania funkcji wyłączenia od kołysania mocy
|
||||
double lPS;///<Ilość powtórzeń kołysania w czasie tPS powodujące wyłączenie
|
||||
double Imin;///< minimalna wartosc prąadu dzialania
|
||||
}__attribute__((__packed__));
|
||||
|
||||
struct ps_args
|
||||
{
|
||||
struct ps_io io;
|
||||
struct ps_params params;
|
||||
// u16 crc;
|
||||
}__attribute__((__packed__));
|
||||
|
||||
extern void ps(void *args, void *logic);
|
||||
extern void ps_100hz(void *args, void *logic);
|
||||
extern void ps_20hz(void *args, void *logic);
|
||||
extern int ps_initlog(void *arguments, void *logic);
|
||||
|
||||
#endif /* PS_H_ */
|
||||
Reference in New Issue
Block a user