414 lines
11 KiB
C
414 lines
11 KiB
C
/*
|
||
* 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_ */
|