#ifndef CONSTH #define CONSTH #define uw8 unsigned char #define sw8 char #define uw16 unsigned short #define sw16 short #define uw32 unsigned long #define uw64 unsigned __int64 typedef struct TboolVal { bool V; //Value uw16 Q; //Quality char TSt[20]; //Time Stamp } BboolVal; typedef struct Tuw8Val { uw8 V; //Value uw16 Q; //Quality char TSt[20]; //Time Stamp } Buw8Val; typedef struct Tuw16Val { uw16 V; //Value uw16 Q; //Quality char TSt[20]; //Time Stamp } Buw16Val; typedef struct Tsw16Val { sw16 V; //Value uw16 Q; //Quality char TSt[20]; //Time Stamp } Bsw16Val; typedef struct TChVal24 { uw32 V; uw16 Q; char TSt[20]; } BChVal24; typedef struct TChVal { uw16 V; uw16 Q; char TSt[20]; } BChVal; typedef struct TChFloatVal { float V; uw16 Q; char TSt[20]; } BChFloatVal; typedef struct TFloatVal { float V; uw16 Q; char TSt[20]; } BFloatVal; typedef struct TNominals { uw16 V; uw64 I; uw16 Q; char TSt[20]; } BNom; typedef struct TChFloatNominals { float V; float I; uw16 Q; char TSt[20]; } BNominal; typedef struct TDevIDR { char GID[7]; // Device ID with software release bool Active; char SID[5]; uw8 ChCount; uw16 Q; char TSt[20]; } BDevIDR; typedef struct TSplTmp { uw8 Vp24; uw8 Vp15; uw8 Vp5; uw8 Vn15; uw8 Vn5; uw16 Temp; uw16 Q; char TSt[20]; } BSplTmp; typedef struct TTempColVal { sw16 TV; //Value bool CV; uw16 Q; //Quality char TSt[20]; //Time Stamp } BTempColVal; typedef struct TChStatusVal { union { uw16 Word; struct {uw8 High, Low; } Byte; struct { uw16 ErrT: 1; uw16 ErrS: 1; uw16 Rest1: 7; uw16 IErr: 1; uw16 isOn: 1; uw16 isRamp: 1; uw16 isEmcyOff: 1; uw16 Rest2: 1; uw16 ErrI: 1; uw16 ErrU: 1; } Bit; } Stat; uw16 Q; //Quality char TSt[20]; //Time StampBChStatusVal; } BChStatusVal; typedef struct TChControlVal { union { uw16 Word; struct { uw8 Low, High; } Byte; struct { uw16 RampStart: 1; uw16 Rest1: 8; uw16 rIErr: 1; uw16 On: 1; uw16 Ramp: 1; uw16 EmcyOff: 1; uw16 KilEna: 1; uw16 Rest2: 2; } Bit; } Ctrl; uw16 Q; //Quality char TSt[20]; //Time StampBChStatusVal; } BChControlVal; typedef struct TModStatusVal { union { uw16 Word; struct {uw8 High, Low; } Byte; struct { uw16 bCalib: 1; //Calibration state uw16 bTest: 1; //Test state uw16 Rest1: 6; uw16 bStGes: 1; // Summenbit über den ErrStatus aller Kanaele d.h. // mindestens ein Kanal- alle Kanaele ok uw16 bNoRamp: 1; // mindestens eine Rampe alle Kanäle gestartet uw16 bSupply: 1; uw16 bSloop: 1; // geöffnet geschlossen uw16 bFiltfr: 1; // kleine Filterfrequenz grosse uw16 bAdjust: 1; // nein Feinjustierung ja uw16 Rest2: 1; // disable enable uw16 bEEPisWr: 1; //momentan Aufzeichnung aller set values to EEP } Bit; } Status; } BModStatusVal; typedef struct TModControlVal { union { uw16 Word; struct {uw8 High, Low; } Byte; struct { uw16 Rest1: 8; uw16 bStGes: 1; // Summenbit über den ErrStatus aller Kanaele d.h. // mindestens ein Kanal- alle Kanaele ok uw16 bNoRamp: 1; // mindestens eine Rampe alle Kanäle gestartet uw16 bSupply: 1; uw16 bSloop: 1; // geöffnet geschlossen uw16 bFiltfr: 1; // kleine Filterfrequenz grosse uw16 bAdjust: 1; // nein Feinjustierung ja uw16 bKilEna: 1; // disable enable uw16 bEEPwr: 1; //momentan Aufzeichnung aller set values to EEP } Bit; } Control; } BModControlVal; typedef enum { EHQ=0, ECH } TType; #define b0 0x01 #define b1 0x02 #define b2 0x04 #define b3 0x08 #define b4 0x10 #define b5 0x20 #define b6 0x40 #define b7 0x80 #define sp 0x20 #define esc 0x1b #define enter 0x0d #define lf 0x0a #define bell 0x07 #define bs 0x08 #define DLC 0x0f #define ChannelValue 16 #define bconnect 0x01 #define DATA_DIR 1 #define EXT_INSTR 2 //GesamtStatus #define b_avad 0x10 #define b_kill 0x40 #define b_ew 0x80 //Data_ID's #define DataID_ActualVoltage 0x80 #define DataID_ActualCurrent 0x90 #define DataID_SetVoltage 0xa0 #define DataID_Status 0xb0 #define DataExtID_CurrentTrip 0x80 #define DataExtID_SNominalValues 0x90 #define DataExtID_SetCurrent 0xa0 //VME #define DataExtID_NominalVoltage 0x80 #define DataExtID_NominalCurrent 0x90 #define DataExtID_Control 0xb0 #define DataExtID_TStampData 0xa0 #define DataExtID_TStampStart 0xb0 #define ModDataID_Status 0xc0 #define DataID_GeneralStat 0xc0 #define DataID_StHwVLimit 0xc4 #define DataID_StHwILimit 0xc8 #define DataID_OnOff 0xcc #define DataID_RampSpeed 0xd0 #define DataID_EmcyCutOut 0xd4 #define DataID_LogOnOff 0xd8 #define locked 0x01 #define released 0x00 #define DataID_BitRate 0xdc #define DataID_GID 0xe0 #define DataID_VsetGroup 0xe4 #define DataID_HWCLimit 0xe8 #define DataID_KilEna 0xec #define DataID_Filter 0xf0 #define DataID_NominalValues 0xf4 #define DataID_StSwILimit 0xf8 #define DataID_Flash 0xfc #define ModDataExtID_Control 0xc0 #define DataExtID_Supply 0xc0 #define DataExtID_TriggerTime 0xc4 #define DataExtID_ChAllocation 0xc8 #define DataExtID_ChAviability 0xcc #define DataExtID_SenseErr 0xd0 #define DataExtID_RelayMask 0xd4 #define DataExtID_ThErrStat 0xd8 #define DataExtID_CalPWM 0xdc #define DataExtID_StFaErr 0xe0 #define DataExtID_IsetGroup 0xe4 #define DataExtID_HWVLimit 0xe8 //ModulTypen #define Standard16bit 0x00 #define HighPrec 0x01 #define Standard24bit 0x02 #define MultiVolt24bit 0x03 #define Standard24bit4kV 0x07 //Flashbefehle #define notready 0 #define ready 1 #define erase 'E' #define enot 2 #define erased 3 #define prog 'P' #define pnot 4 #define proged 5 #define noVfperr 6 //Craete Data-ID #define CDataID_IO1 0x41 #define CDataID_AD00 0xa0 #define CDataID_AD01 0xa1 #define CDataID_AD02 0xa2 #define CDataID_AD03 0xa3 #define CDataID_AD04 0xa4 #define CDataID_AD05 0xa5 #define CDataID_AD06 0xa6 #define CDataID_AD07 0xa7 #define CDataID_Bitr 0xc3 #define CDataID_GID 0xc6 //NIM Data-ID #define DataID_StartVoltageCh 0x88 #define DataID_HWLimitsNIM 0x98 #define DataID_ITripNIM 0xa8 #define DataID_GradNIM 0xb0 #define DataID_ExtGradNIM 0xb4 #define DataID_AutoStart 0xb8 #define DataID_ModulStatus 0xc4 #define DataID_LAMStatus 0xc8 #define SendTime "00:00:00.000" //can open ids #define DBTID 0x7e8 #define NMTID 0x7ea #define RTR 0x001 //status modul #define hwVLimNoEx b6 #define killena b6 #define supply b5 #define adjust b4 // nein Feinjustierung ja #define filtfr b3 // kleine Filterfrequenz grosse #define sloop b2 // geöffnet geschlossen #define busy b1 //mindestens eine Rampe stabil #define StGes b0 //Summenbit ber den ErrStatus aller Kanaele d.h. gg #define canstart 0x01 #define canstop 0x02 #define canrst 0x04 #define canrstdev 0x08 #define canadjust 0x10 //#define testgeraet1 "472055" //#define testgeraet2 "473002" //#define testgeraet3 "473014" //Quality #define QUALITY_BAD 0 #define QUALITY_GOOD 192 //Resolution #define StandardRes 50000 //50E+3 #define HhighRes 10000000 //10E+6 //Nmt #define isegNmtAdr 0xc0 #define isegNmtStart 0xc4 #define isegNmtStop 0xc8 #define isegNmtRstCAN 0xcc #define isegNmtRstHW 0xd0 #define isegNmtBtr 0xd4 #define isegNmtModTemp 0xd8 //Keys #define Enter 13 #define ESC 27 #define clLightGreen 0x000FF00 #define PCAN_USB 3 #define PCAN_PCI 4 #endif