/* * spz_3f.h * * Created on: 02-02-2017 * Author: PS */ #ifndef SPZ_3F_2_H_ #define SPZ_3F_2_H_ #include "spz_3f.h" #include "tdefs.h" struct Nastawy_przeliczone_spz_3f_2 { u8 SPZ_on; //automatyka SPZ aktywna u8 ZW_rozw; ///nie pozwol na zwarcie rzowojowe u8 Blok_nieudany; ///blokuj trwale po nieudanym u8 kontr_pocz; //czy sprawdzac wylacznik na poczatku u8 kontr_kon; //czy sprawdzac wyacznik na koncu u8 zal_zw_bit; u8 zal_zw_kryt_W; //zaslaczenie na zwarcie - kryterium wyłącznikowe u8 licz_p; // liczba prob (od 1 do 8) u8 master_slave_on; //wlaczony tryb master slave u16 t[8]; // czas przerwy beznapieciowej (przeliczony na ilosc petli) u16 to; // czas oczekiwania na odpowiedz wylacznika (przeliczony na ilosc petli) u16 tb; // czas blokowania (przeliczony na ilosc petli) u16 tz; // czas impulsu zalaczajacego u16 tp1; // czas przerwy jednofazowej u16 twy; // czas wydluzenia przerwy beznap u16 trozw; // czas przerwy beznap w zwarciu rozwojowym u16 tsck; // czekanie na zgode z SCK u16 t_akcji; // czas akcji u16 t_zal_zw; //czas autoamt zal na zw u16 t_slave; u16 t_czek_na_master; u16 t_zbierania; }; struct spz_3f_2_logic { u8 *Pob; u8 Pob_bit_mask; u8 *Blokada; u8 Blokada_bit_mask; u8 *W1_ON; u8 W1_ON_bit_mask; u8 *W2_ON; u8 W2_ON_bit_mask; u8 *W3_ON; u8 W3_ON_bit_mask; u8 *WYL_1; u8 WYL_1_bit_mask; u8 *WYL_2; u8 WYL_2_bit_mask; u8 *WYL_3; u8 WYL_3_bit_mask; u8 *FAZ_1; u8 FAZ_1_bit_mask; u8 *FAZ_3; u8 FAZ_3_bit_mask; u8 *kasowanie; u8 kasowanie_bit_mask; u8 *gotowosc; u8 gotowosc_bit_mask; u8 *wydluzenie_we; u8 wydluzenie_we_bit_mask; u8 *sck_we; u8 sck_we_bit_mask; u8 *master_slave; u8 master_slave_bit_mask; u8 *wyl_2; u8 wyl_2_bit_mask; u8 *we_zal_slave; u8 we_zal_slave_bit_mask; u8 *we_zal; u8 we_zal_bit_mask; u8 *we_przysp; u8 we_przysp_bit_mask; u8 *wy_pob; u8 wy_pob_bit_mask; u8 *Z; u8 Z_bit_mask; u8 *ZGODA_1F; u8 ZGODA_1F_bit_mask; u8 *t_akcji; u8 t_akcji_bit_mask; u8 *t_o; u8 t_o_bit_mask; u8 *t_prz_bez; u8 t_prz_bez_bit_mask; u8 *t_blokady; u8 t_blokady_bit_mask; u8 *proba1; u8 proba1_bit_mask; u8 *proba2; u8 proba2_bit_mask; u8 *proba3; u8 proba3_bit_mask; u8 *proba4; u8 proba4_bit_mask; u8 *proba5; u8 proba5_bit_mask; u8 *proba6; u8 proba6_bit_mask; u8 *proba7; u8 proba7_bit_mask; u8 *proba8; u8 proba8_bit_mask; u8 *udany; u8 udany_bit_mask; u8 *nieudany; u8 nieudany_bit_mask; u8 *rozwojowe; u8 rozwojowe_bit_mask; u8 *wy_blokady; u8 wy_blokady_bit_mask; u8 *error; u8 error_bit_mask; u8 *brakSCK; u8 brak_SCK_bit_mask; u8 *niegotowy; u8 niegotowy_bit_mask; u8 *zal_zw; u8 zal_zw_bit_mask; u8 *wy_zal_slave; u8 wy_zal_slave_bit_mask; u8 *wy_jest_master; u8 wy_jest_master_bit_mask; u8 *wy_jest_slave; u8 wy_jest_slave_bit_mask; u8 *wy_czek_na_master; u8 wy_czek_na_master_bit_mask; u8 *wy_czek_na_SCK; u8 wy_czek_na_SCK_bit_mask; u8 *t_prz_bez_1f; u8 t_prz_bez_1f_bit_mask; struct Nastawy_przeliczone_spz_3f_2 nast_;// struktura z parametramio u8 byl_wyl_f1; u8 byl_wyl_f2; u8 byl_wyl_f3; u8 byl_odpad_f1; u8 byl_odpad_f2; u8 byl_odpad_f3; u8 wylaczyla_f1; u8 wylaczyla_f2; u8 wylaczyla_f3; u8 W_ON1_old; u8 W_ON2_old; u8 W_ON3_old; u8 we_zal_old; u8 byl_zalacz; u8 blokuj_slave; u8 ile_fazowy; u8 jest_blok_trw; u8 start_log; u8 spr_wylaczenia; u8 jednofazowy_L1; u8 jednofazowy_L2; u8 jednofazowy_L3; enum _stan_wew_spz_3f stan_wew; enum _master_slave tryb_master_slave; u16 licznik_pob; u16 licznik_beznap; u16 limit_beznap; u16 limit_beznap_1faz; u16 licznik_zalacz; u16 licznik_odwzb; u16 licznik_udany; u16 wydluzenie; u16 licznik_SCK; u16 licznik_akcji; u16 licznik_zal_zw; u8 licznik_SPZ; u16 licznik_czek_na_master; u16 licznik_master_slave; u16 licznik_zbierania; u8 jednofazowy; u8 wyj_zgoda_jednofazowy; u8 wyj_zgoda_trojfazowy; }; struct spz_3f_2_io { u32 Pob_in; u32 Blokada_in; u32 W1_ON_in; u32 W2_ON_in; u32 W3_ON_in; u32 WYL_1_in; u32 WYL_2_in; u32 WYL_3_in; u32 FAZ_1_in; u32 FAZ_3_in; u32 kasowanie_in; u32 gotowosc_in; u32 wydluzenie_in; u32 sck_in; u32 master_slave_in; u32 wyl_2_in; u32 we_zal_slave_in; u32 zal_in; u32 przysp_in; u32 wy_pob_out; u32 Z_out; u32 ZGODA_1F_out; u32 t_akcji_out; u32 t_o_out; u32 t_prz_bez_out; u32 t_blokady_out; u32 proba1_out; u32 proba2_out; u32 proba3_out; u32 proba4_out; u32 proba5_out; u32 proba6_out; u32 proba7_out; u32 proba8_out; u32 udany_out; u32 nieudany_out; u32 rozwojowe_out; u32 wy_blokady_out; u32 error_out; u32 brak_SCK_out; u32 niegotowy_out; u32 zal_zw_out; u32 wy_zal_slave_out; //nowe u32 wy_jest_slave_out; //nowe u32 wy_jest_master_out; //nowe u32 wy_czek_na_master; u32 wy_czek_na_sck; u32 t_prz_bez_1f_out; }__attribute__((__packed__)); struct spz_3f_2_params { u32 bity; // nastawy bitowe double licz_p; // liczba prob (od 1 do 5) double t1; // czas przerwy beznapieciowej proby 1 double t2; // czas przerwy beznapieciowej proby 2 double t3; // czas przerwy beznapieciowej proby 3 double t4; // czas przerwy beznapieciowej proby 4 double t5; // czas przerwy beznapieciowej proby 5 double t6; // czas przerwy beznapieciowej proby 6 double t7; // czas przerwy beznapieciowej proby 7 double t8; // czas przerwy beznapieciowej proby 8 double to; // czas oczekiwania na odpowiedz wylacznika double tb; // czas blokowania double tz; // czas impulsu zalaczajacego double tp1; // czas przerwy jednofazowej double twy; // czas wydluzenia przerwy beznap double troz; // czas przerwy beznapieciowej w zwarciu rozwojowym double tsck; // czas oczekiwania na SCK double takcji; //czas akcji double t_zal_zw; double t_slave; double t_czek_na_master; double t_zbierania; }__attribute__((__packed__)); struct spz_3f_2_args { struct spz_3f_2_io io; struct spz_3f_2_params params; // u16 crc; }__attribute__((__packed__)); extern void spz_3f_2(void *args, void *logic); extern int spz_3f_2_initlog(void *arguments, void *logic); #endif /* SPZ_3F_2_H_ */