Files
dist_tester/ZDistL_komp.h

414 lines
11 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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łania stref w zależności od stanu łą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łanie na strefę
long lrc_strefa; //<strefa logiku prą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_ */