00001
00002
00003
00004 #ifndef _FUSE_H
00005 #define _FUSE_H
00006
00007 #include "powerflow.h"
00008 #include "relay.h"
00009
00010 #define Open_Z 1000000; //Open impedance - 100 MOhm
00011
00012 class fuse : public link
00013 {
00014 public:
00015 static CLASS *oclass;
00016 static CLASS *pclass;
00017
00018 public:
00019 typedef enum {GOOD=0, BLOWN=1} FUSESTATE;
00020
00021 int create(void);
00022 int init(OBJECT *parent);
00023 int fuse_state(OBJECT *parent);
00024 TIMESTAMP postsync(TIMESTAMP t0);
00025 fuse(MODULE *mod);
00026 inline fuse(CLASS *cl=oclass):link(cl){};
00027 int isa(char *classname);
00028
00029 double current_limit;
00030 double mean_replacement_time;
00031 TIMESTAMP fix_time_A;
00032 TIMESTAMP fix_time_B;
00033 TIMESTAMP fix_time_C;
00034 FUSESTATE phase_A_status;
00035 FUSESTATE phase_B_status;
00036 FUSESTATE phase_C_status;
00037
00038 private:
00039 TIMESTAMP Prev_Time;
00040 void fuse_check(set phase_to_check, complex *fcurr);
00041 };
00042
00043 #endif // _FUSE_H