Files
dist_tester/src/spz_3f_2.h

291 lines
6.7 KiB
C

/*
* 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_ */