Files
dist_tester/src/ZDistS.h

186 lines
6.3 KiB
C

/*
* ZDistL.h
*
*
* Created on: 16-03-2017
* Author: KJ
*/
#ifndef ZDISTS_H_
#define ZDISTS_H_
#include "tdefs.h"
#include "helper.h"
struct Nastawy_przeliczone_ZDistS
{
struct Wyjscia_ZDistA *ZdistA;
unsigned short ZZw_st; ///< strefa współpracy z automatyką załączenia na zwarcie
unsigned short adr_PZZw;///< adres zmiennej pobudzenia strefy współpracujacej z automatyką ZZw
unsigned short adr_ZZZw;///< adres zmiennej zadziałania strefy współpracujacej z automatyką ZZw
short t_stf[5][2]; ///< czas dzialania strefy
float ZZw_ta;///< Czas działania funkcji po zamknięciu wyłącznika
float ZZw_Ir;///< Prąd identyfikacji otwarcia wyłącznika
float ZZw_Ur;///< Napięcie identyfikacji otwarcia wyłacznika
short ZZw_to;///< Czas identyfikacji otwarcia wyłącznika
u8 Bl_PS[5];
u8 Zbz[5][2]; ///< zadziałanie bezzwloczne strefy
u8 Stf_ON[5]; ///< wlaczenie/odstawienie strefy
u8 Stf_W[5]; ///< działanie na wylaczenie/sygnalizacje strefy
u8 bl_; ///< wartosc nastawy aktywnosci blokady dzialania 1- blokada aktywna
u8 ZZw_ON; ///< włączenie automatyki załączenia na zwarcie
};
struct dane_wewnetrzne_ZDistS
{
float RL1Em; ///< Rezystancja pętli zwarciowej fazy L1 z ziemia (rejestracja)
float XL1Em; ///< Rezaktancja pętli zwarciowej fazy L1 z ziemia (rejestracja)
float RL2Em; ///< Rezystancja pętli zwarciowej fazy L2 z ziemia (rejestracja)
float XL2Em; ///< Rezaktancja pętli zwarciowej fazy L2 z ziemia (rejestracja)
float RL3Em; ///< Rezystancja pętli zwarciowej fazy L3 z ziemia (rejestracja)
float XL3Em; ///< Rezaktancja pętli zwarciowej fazy L3 z ziemia (rejestracja)
float RL1L2m; ///< Rezystancja pętli zwarciowej fazy L1 z L2 (rejestracja)
float XL1L2m; ///< Rezaktancja pętli zwarciowej fazy L1 z L2 (rejestracja)
float RL2L3m; ///< Rezystancja pętli zwarciowej fazy L2 z L3 (rejestracja)
float XL2L3m; ///< Rezaktancja pętli zwarciowej fazy L2 z L3 (rejestracja)
float RL3L1m; ///< Rezystancja pętli zwarciowej fazy L3 z L1 (rejestracja)
float XL3L1m; ///< Rezaktancja pętli zwarciowej fazy L3 z L1 (rejestracja)
short liczts[5][2]; ///<licznik czasu czas opoznienia dzialania strefy
short licznik_ZZwa;///< licznik do automatyki załączenia na zwarcie
short licznik_PIU;///< licznik pobudzeń sprawdzania obecności napiecia i prądu
//Wyjscia_rejestratora Rej; ///< dane ostatniego zaklocenia
//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)
u8 Pf[5][2]; // pobudzenia stref P[nr strefy][fazowe,miedzyfazowe]
u8 Pzf[5]; //pobudzenie stref
u8 P;// pobudzenie zbiorcze
u8 Zf[5][2]; // zadzialanie strefy
u8 Z[5]; // zadzialanie strefy
u8 Ws[5]; // wyłaczenie od strefy
u8 Zz; // Zadzialanie sygnal zbiorczy
u8 W; // wylaczenie sygnal zbiorczy
u8 R;//zwarcie z udziałem fazy L1
u8 S;//zwarcie z udziałem fazy L2
u8 T;//zwarcie z udziałem fazy L3
u8 Rbk;//zwarcie z udziałem fazy L1(bezkierunkowo)
u8 Sbk;//zwarcie z udziałem fazy L2(bezkierunkowo)
u8 Tbk;//zwarcie z udziałem fazy L3(bezkierunkowo)
u8 E;//zwarcie z udziałem ziemi
u8 W_ON;//wyłącznik zamkniety
u8 W_OFF;//wyłącznik otwarty
u8 ZZw; //aktywna automatyka załączenia na zwarcie
u8 ZZw_start; //spełnienie warunków uruchomienia automatyki załączenia na zwarcie
u8 ZZw_PIU; //pobudzenie kryterium napięcie/prąd zamknięcia wyłącznika
u8 ZZwP;//wyłączenie od automatyki załączenia na zwarcie
};
struct ZDistS_logic
{
struct binary_io stan_bl;
struct Wyjscia_ZDistA *WE_Zdist;
struct binary_io Bl_PS;
struct binary_io Bl_Ufail;
struct binary_io Z;
struct binary_io W_ON;
struct binary_io W_OFF;
struct binary_io test;
struct binary_io P;
struct binary_io P1;
struct binary_io P2;
struct binary_io P3;
struct binary_io P4;
struct binary_io P5;
struct binary_io R;
struct binary_io S;
struct binary_io T;
struct binary_io E;
struct binary_io Z1;
struct binary_io Z2;
struct binary_io Z3;
struct binary_io Z4;
struct binary_io Z5;
struct binary_io W;
struct binary_io PZZw;
struct binary_io ZZZw;
struct Nastawy_przeliczone_ZDistS nast_;
struct dane_wewnetrzne_ZDistS dw;
};
struct ZDistS_io
{
u32 stan_bl_in;
u32 we_zdist_ptr_in;
u32 bl_ps_in;
u32 bl_ufail_in;
u32 z_in;
u32 w_on_in;
u32 w_off_in;
u32 test_in;
u32 p_out;
u32 p1_out;
u32 p2_out;
u32 p3_out;
u32 p4_out;
u32 p5_out;
u32 r_out;
u32 s_out;
u32 t_out;
u32 e_out;
u32 z1_out;
u32 z2_out;
u32 z3_out;
u32 z4_out;
u32 z5_out;
u32 w_out;
}__attribute__((__packed__));
struct ZDistS_params
{
u32 bity; ///< nastawy bitowe;
u32 Stf1; ///< Sposób działania strefy 1
u32 Stf2; ///< Sposób działania strefy 2
u32 Stf3; ///< Sposób działania strefy 3
u32 Stf4; ///< Sposób działania strefy 4
u32 Stf5; ///< Sposób działania strefy 5
u32 ZZw_st; ///< strefa współpracy z automatyką załączenia na zwarcie
double ts1LE;///< Czas wyłączenia strefy 1 zwarcia jednofazowe z ziemią
double ts1LL;///< Czas wyłączenia strefy 1 zwarcia miedzyfazowe
double ts2LE;///< Czas wyłączenia strefy 2 zwarcia jednofazowe z ziemią
double ts2LL;///< Czas wyłączenia strefy 2 zwarcia miedzyfazowe
double ts3LE;///< Czas wyłączenia strefy 3 zwarcia jednofazowe z ziemią
double ts3LL;///< Czas wyłączenia strefy 3 zwarcia miedzyfazowe
double ts4LE;///< Czas wyłączenia strefy 4 zwarcia jednofazowe z ziemią
double ts4LL;///< Czas wyłączenia strefy 4 zwarcia miedzyfazowe
double ts5LE;///< Czas wyłączenia strefy 5 zwarcia jednofazowe z ziemią
double ts6LL;///< Czas wyłączenia strefy 5 zwarcia miedzyfazowe
double ZZw_ta;///< Czas działania funkcji po zamknięciu wyłącznika
double ZZw_Ir;///< Prąd identyfikacji otwarcia wyłącznika
double ZZw_Ur;///< Napięcie identyfikacji otwarcia wyłacznika
double ZZw_to;///< Czas identyfikacji otwarcia wyłącznika
}__attribute__((__packed__));
struct ZDistS_args
{
struct ZDistS_io io;
struct ZDistS_params params;
// u16 crc;
}__attribute__((__packed__));
extern void ZDistS(void *args, void *logic);
extern void ZDistS_100hz(void *args, void *logic);
extern int ZDistS_initlog(void *arguments, void *logic);
#endif /* ZDISTS_H_ */