Pierwsza wersja wygenerowana automatycznie przez SI minmax-m2.5

This commit is contained in:
2026-02-18 23:08:29 +01:00
parent 46a3283ad6
commit 800c4937aa
27 changed files with 11115 additions and 1 deletions

413
ZDistL_komp.h Normal file
View File

@@ -0,0 +1,413 @@
/*
* 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_ */