Files
dist_tester/ZDistL_komp.h

414 lines
11 KiB
C
Raw Blame History

/*
* ZDistL.h
*
*
* Created on: 29-11-2016
* Author: KJ
*/
#ifndef ZDISTL_H_KOMP_
#define ZDISTL_H_KOMP_
//#include "pawel_usun_to.h"
#include "tdefs.h"
#include "helper.h"
#include "ZDistL.h"
struct Wyjscie1_zdistl_komp
{
u8 dbl_Com[7]; ///deblokowanie dzia<69>ania stref w zale<6C>no<6E>ci od stanu <20><>cza
u8 PSPZ;//pobudzenie SPZ
};
struct dane_wewnetrzne_ZDistL_komp
{
u8 blok_lacza[6];
u8 wydl_czas;
u8 wylacz_od_lacza;
u8 wylacz_od_echa;
u8 wylacz_od_lacza_suma;
//lacze nad
u16 t_lacze_nad;
u8 lacze_nad;
u16 trwanie_nad;
u8 skrocil_strefa;
u8 skrocil_echo;
//logika pradu wstecznego
u8 blokada_pradu_wstecznego;
u16 t_pod_blok_wst;
u8 kopia_lacze_ok;
u8 lacze_odb_old;
//logika odblokowania
u8 logika_dblokowania;
u16 t_log_odblokowania;
u8 blok_LRC[6];
u16 t_wyl_od_echa;
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[6][2]; ///<licznik czasu czas opoznienia dzialania strefy
short liczt_eldz[6][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
short licznik_Uecho;
//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[6][2]; // pobudzenia stref P[nr strefy][fazowe,miedzyfazowe]
u8 Pzf[6]; //pobudzenie stref
u8 P;// pobudzenie zbiorcze
u8 Zf[6][2]; // zadzialanie strefy
u8 Z[6]; // zadzialanie strefy
u8 Ws[6]; // wyłaczenie od strefy
u8 Zz; // Zadzialanie sygnal zbiorczy
u8 W; // wylaczenie sygnal zbiorczy
u8 W1; // wylaczenie faza L1
u8 W2; // wylaczenie faza L2
u8 W3; // wylaczenie faza L3
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 jedfaz;//zwarcie jednofazowe
u8 W_ON;//wyłącznik zamkniety
u8 W1_ON;//wyłącznik zamkniety faza L1
u8 W2_ON;//wyłącznik zamkniety faza L2
u8 W3_ON;//wyłącznik zamkniety faza L3
u8 W_OFF;//wyłącznik otwarty
u8 W1_OFF;//wyłącznik otwarty faza L1
u8 W2_OFF;//wyłącznik otwarty faza L2
u8 W3_OFF;//wyłącznik otwarty faza L3
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 pob_echo;
u8 bl_WSPZ;//zezwolenie na wyłącz od SPZ
u8 R1;
u8 S1;
u8 T1;
u8 ZZwP;//wyłączenie od automatyki załączenia na zwarcie
u8 wy_blk_lacz;
u8 wy_bl_LRC;
u8 wy_log_odbl;
u8 wy_lacze_nad;
u8 wy_zadz_echa;
u8 wy_zezw_lacz;
u8 wy_skr_czas_lacz;
u8 wy_wyl_lacz;
u8 wy_blok_lacz;
u8 wy_wydl_czas_lacz;
u8 wyl_1f;
u8 Zf_rozwij[6];
short liczts_rozwij[6];
short liczt_eldz_rozwij[6];
short dodaj_rozw[6];
};
struct Nastawy_przeliczone_ZDistL_komp
{
struct Wyjscie1_zdistl_komp wy;
struct Wyjscia_ZDistA_komp *ZdistA;
u16 ZZw_st; ///< strefa współpracy z automatyką załączenia na zwarcie
u16 adr_PZZw;///< adres zmiennej pobudzenia strefy współpracujacej z automatyką ZZw
u16 adr_ZZZw;///< adres zmiennej zadziałania strefy współpracujacej z automatyką ZZw
u8 echo_on;
u8 wyl_od_echa;
u8 log_odbl_on;
u8 LCR_on;
u8 lacze_on;
u8 LRC_s[6];
u8 zgoda_1faz_s[6];
u8 Bl_PS[6];
u8 ZZw_ON; ///< włączenie automatyki załączenia na zwarcie
u8 bl_; ///< wartosc nastawy aktywnosci blokady dzialania 1- blokada aktywna
u8 rozwij;
u8 kryt_IU_ZZW;
enum _tryb_zezwalajacy tryb_zezw;
enum _tryb_blokujacy tryb_blok;
enum _tryb_lacza tryb_lacza;
u8 ktora_strefa;
u8 ktora_strefa_nad;
u8 strefa_pradu_wstecznego;
short t_stf[6][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
short t_LRC;///< Czas podtrzymania w logice odwroconego pradu
short t_pod_odbl;///< Czas podtrzymania odblokowania w logice odblokowania
short t_lacze_nad;///< Czas przerwy beznapięciowej dla wyłączenia jednofazowego
short ts_plus;
short max_t_nadawania;
short czas_wyl_echa;
float Uecho_pob;
float Uecho_odp;
u8 Zbz[6][2]; ///< zadziałanie bezzwloczne strefy
u8 Stf_ON[6]; ///< wlaczenie/odstawienie strefy
u8 Stf_W[6]; ///< działanie na wylaczenie/sygnalizacje strefy
};
struct ZDistL_logic_komp
{
struct binary_io stan_bl;
struct Wyjscia_ZDistA_komp *WE_Zdist;
struct binary_io Bl_PS;
struct binary_io lacze_OK;
struct binary_io lacze_odb;
struct binary_io W_ON;
struct binary_io zgoda_1f;
struct binary_io Z;
struct binary_io test;
struct binary_io blok_1;
struct binary_io blok_1W;
struct binary_io blok_2;
struct binary_io blok_3;
struct binary_io blok_4;
struct binary_io blok_5;
struct binary_io P;
struct binary_io P1W;
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 Z1W;
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 W1;
struct binary_io W2;
struct binary_io W3;
struct binary_io bl_LRC;
struct binary_io log_odbl;
struct binary_io lacze_nad;
struct binary_io zzw_akt;
struct binary_io blk_lacz;
struct binary_io deakt;
//nowe
struct binary_io zadz_echa;
struct binary_io zezw_lacz;
struct binary_io skr_czas_lacz;
struct binary_io wyl_lacz;
struct binary_io blok_lacz;
struct binary_io wydl_czas_lacz;
struct binary_io z_zwarcie;
struct binary_io PZZw;
struct binary_io ZZZw;
struct binary_io P_L1; ///< Pobudzenie sfazy L1
struct binary_io P_L2; ///< Pobudzenie sfazy L1
struct binary_io P_L3; ///< Pobudzenie sfazy L1
struct binary_io P_E; ///< Pobudzenie sfazy L1
struct binary_io WS1W;
struct binary_io WS1;
struct binary_io WS2;
struct binary_io WS3;
struct binary_io WS4;
struct binary_io WS5;
struct binary_io W_1f;
struct Nastawy_przeliczone_ZDistL_komp nast_;
struct dane_wewnetrzne_ZDistL_komp dw;
u8 pobudzenia[6][6];
u8 P_L1_lub_L2[6];
u8 P_L2_lub_L3[6];
u8 P_L3_lub_L1[6];
u8 pob1_flt;
short pob1_flt_cnt;
u8 pob2_flt;
short pob2_flt_cnt;
u8 pob3_flt;
short pob3_flt_cnt;
u8 pob4_flt;
short pob4_flt_cnt;
};
struct ZDistL_io_komp
{
u32 stan_bl_in;
u32 we_zdist_ptr_in;
u32 Bl_PS_in;
u32 lacze_OK_in;
u32 lacze_odb_in;
u32 W_ON_in;
u32 zgoda_1f_in;
u32 Z_in;
u32 test_in;
u32 blok_1_in;
u32 blok_1W_in;
u32 blok_2_in;
u32 blok_3_in;
u32 blok_4_in;
u32 blok_5_in;
u32 deakt_in;
u32 P_out;
u32 P1W_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 Z1W_out;
u32 Z1_out;
u32 Z2_out;
u32 Z3_out;
u32 Z4_out;
u32 Z5_out;
u32 W_out;
u32 W1_out;
u32 W2_out;
u32 W3_out;
u32 bl_LRC_out;
u32 log_odbl_out;
u32 lacze_nad_out;
u32 zzw_akt_out;
u32 blk_lacz_out;
//nowe
u32 zadz_echa_out;
u32 zezw_lacz_out;
u32 skr_czas_lacz_out;
u32 wyl_lacz_out;
u32 blok_lacz_out;
u32 wydl_czas_lacz_out;
u32 z_zwarcie_out;
u32 P_L1_out;
u32 P_L2_out;
u32 P_L3_out;
u32 P_E_out;
u32 WS1W_out;
u32 WS1_out;
u32 WS2_out;
u32 WS3_out;
u32 WS4_out;
u32 WS5_out;
u32 W_1f_out;
}__attribute__((__packed__));
struct ZDistL_params_komp
{
long bity; ///< nastawy bitowe;
long Stf1; ///< Sposób działania strefy 1
long Stf2; ///< Sposób działania strefy 2
long Stf3; ///< Sposób działania strefy 3
long Stf4; ///< Sposób działania strefy 4
long Stf5; ///< Sposób działania strefy 5
long tryb_lacza; ///< tryb lacza
long ZZw_st; ///< strefa współpracy z automatyką załączenia na zwarcie
long tryb_zezw; ///<tryb zezwalajacy
long tryb_blokujacy; ///<tryb blokujacy
long strefa_nad;///<wybor strefy do nadawania
long strefa_dzial; //<dzia<69>anie na stref<65>
long lrc_strefa; //<strefa logiku pr<70>du wstecznego
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 ts5LL;///< Czas wyłączenia strefy 5 zwarcia miedzyfazowe
double t_LRC;///< Czas podtrzymania w logice odwroconego pradu
double t_pod_odbl;///< Czas podtrzymania odblokowania w logice odblokowania
double t_lacze_nad;///< Czas przerwy beznapięciowej dla wyłączenia jednofazowego
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
double U_echa;
double ts_plus;
double max_t_nadawania;
double czas_wyl_echa;
long Stf0; ///< Sposób działania strefy 1
double ts0LE;///< Czas wyłączenia strefy 1 zwarcia jednofazowe z ziemią
double ts0LL;///< Czas wyłączenia strefy 1 zwarcia miedzyfazowe
}__attribute__((__packed__));
struct ZDistL_args_komp
{
struct ZDistL_io_komp io;
struct ZDistL_params_komp params;
// u16 crc;
}__attribute__((__packed__));
extern void ZDistL_komp(void *args, void *logic);
extern void ZDistL_100hz_komp(void *args, void *logic);
extern int ZDistL_initlog_komp(void *arguments, void *logic);
#endif /* ZDISTL_H_KOMP_ */