#pragma once #define GeneratorDriverType "{18FDF176-DECE-445F-A52C-A14BDD3AC2C1}" #define GeneratorUnitType "{123492D6-A546-4ACF-8EF1-2CCAA9EA974E}" namespace DiosAttrKey { //设备 static const char* TUBEINFO = "TubeInfo"; //球管信息 static const char* TUBETARGETMATERIAL = "TubeTargetMaterial"; //球管靶材 namespace TYPE { static const char* MO = "MO"; static const char* RH = "RH"; } static const char* TUBEANGLE = "TubeAngle"; //球馆角度 static const char* TUBEHEAT = "TUBEHEAT"; //球管热容 static const char* DENHEAT = "GENHEAT"; //发生器温度 static const char* BATTERYCHARGESTATE = "BatteryChargeState"; //电池充电状态 enum CHARGE_SYNC { CHARGE_STATUS_OFF, CHARGE_STATUS_CHARGING, CHARGE_STATUS_FINISH, CHARGE_STATUS_MAX }; static const char* BATTERYPOWERSTATE = "BatteryPowerState"; //电池电量状态 static const char* GENSYNSTATE = "GENERATORSYNCSTATE"; //发生器曝光流程状态 enum GENERATOR_SYNC { GENERATOR_SYNC_ERR = -1, GENERATOR_RAD_OFF, GENERATOR_RAD_PREPARE, GENERATOR_RAD_READY, GENERATOR_RAD_XRAYON, GENERATOR_RAD_XRAYOFF, GENERATOR_FLU_OFF, GENERATOR_FLU_READY, GENERATOR_FLU_XRAYON, GENERATOR_FLU_XRAYOFF, GENERATOR_FLU_CINE_READY, GENERATOR_SYNC_MAX }; static const char* GENSTATE = "GENERATORSTATUS"; //发生器设备状态 enum GENERATOR_STATUS { GENERATOR_STATUS_SHUTDOWN, GENERATOR_STATUS_INIT, GENERATOR_STATUS_SLEEP, GENERATOR_STATUS_CHARGING,//充电 GENERATOR_STATUS_STANDBY, GENERATOR_STATUS_EXP, GENERATOR_STATUS_ERROR, GENERATOR_STATUS_CALIBRATION, GENERATOR_STATUS_SERVICE, GENERATOR_STATUS_MAX }; static const char* GENHANDSWITCH = "HANDSWITCHSTATE"; //手闸状态 enum HANDSWITCH_STATUS { HANDSWITCH_STATUS_Release, HANDSWITCH_STATUS_Hold, HANDSWITCH_STATUS_Press, HANDSWITCH_STATUS_MAX }; static const char* GENFOOTSWITCH = "FOOTSWITCHSTATE"; //脚闸状态 enum FOOTSWITCH_STATUS { FOOTSWITCH_STATUS_Release, FOOTSWITCH_STATUS_Press, FOOTSWITCH_STATUS_MAX }; //点片 static const char* RADKV = "KV"; //阳极电压 static const char* RADMA = "MA"; //球管电流 static const char* RADMS = "MS"; //管电流 static const char* RADMAS = "MAS"; //电流时间积 static const char* RADFOCUS = "FOCUS"; //灯丝/焦点 enum FOCUS_TYPE { FOCUS_SMALL, FOCUS_LARGE, FOCUS_AUTOMATIC, FOCUS_MAX }; static const char* RADFOCUSSIZE = "FOCUSSIZE"; //灯丝尺寸 static const char* WORKSTATION = "WORKSTATION"; //工作位 enum GENWS_TYPE { TABLE = 0, WALL = 1, CONVENTIONAL = 2, MOBILE = 3, FREE_TABLE = 3, TOMO = 4, CONVENTIONAL_TABLE = 5, CONVENTIONAL_WALL = 6, FREE_WALL = 7, GENWS_MAX }; static const char* RADTECHMODE = "TECHMODE"; //技术模式 enum TECHMODE_V3TYPE { TECHMODE_NOAEC_3P, TECHMODE_NOAEC_2P, TECHMODE_AEC_3P, TECHMODE_AEC_2P, TECHMODE_AEC_1P, TECHMODE_AEC_ReduceMA, TECHMODE_NOAEC_MAS_MA, TECHMODE_AEC_MAS_MA, TECHMODE_MAX }; enum TECHMODE_V2TYPE { ET_NONE = -1, ET_TIME = 0, ET_MAS = 1, ET_AEC = 2, ET_AEC2P = 3, ET_AEC1P = 4, ET_AECreduceMA = 5, ET_MAX }; static const char* RADAECDENSITY = "AECDENSITY"; //AEC浓度 static const char* RADAECFIELD = "AECFIELD"; //AEC区域 static const char* RADAECFILM = "AECFILM"; //AEC底片 static const char* POSTKV = "POSTKV"; //曝光时的实际电压 static const char* POSTMA = "POSTMA"; //曝光时的实际电流 static const char* POSTMS = "POSTMS"; //曝光时的实际时间 static const char* POSTMAS = "POSTMAS"; //曝光时的实际电流时间积 static const char* TOTALEXPSURENUMBER = "TotalExposureNumber"; //总曝光次数 static const char* TOTALACQTIMES = "TotalAcqTimes"; //曝光累计时间 static const char* TUBECOOLWAITTIME = "TubeCoolWaitTime"; //球管冷却时间 static const char* TUBEOVERLOADNUMBER = "TubeOverLoadNumber"; //球管过热次数 static const char* CURRENTEXPOSUREBNUMBER = "CurrentExposureNumber"; //当前曝光次数 static const char* EXPMODE = "EXPMODE"; //曝光模式 namespace TYPE { static const char* Single = "Single"; static const char* Stitch = "Stitch"; static const char* PulseSerial = "PulseSerial"; static const char* CoutineSerial = "CoutineSerial"; static const char* TOMO = "TOMO"; } static const char* EXAMMODE = "EXAMMODE"; //检查模式 namespace TYPE { static const char* MANUAL = "MANUAL"; //0 static const char* SEMIAUTO = "SEMIAUTO"; //1 static const char* AUTOMATIC = "AUTOMATIC"; //2 static const char* AUTOFILTER = "AUTOFILTER"; //3 } static const char* MODALITY = "Modality"; //?模式 static const char* FRAMERATE = "FrameRate"; //帧速率(连续) static const char* REFERENCEAIRKERMA = "ReferenceAirKerma"; //? static const char* KVLIST = "KVList"; //电压取值集合 static const char* MASLIST = "MASList"; //电流取值集合 //透视 static const char* FLUKV = "FLUKV"; //透视电压 static const char* FLUMA = "FLUMA"; //透视电流 static const char* FLUMS = "FLUMS"; //透视曝光时间 static const char* FLUMAS = "FLUMAS"; //透视时间电流积 static const char* FLUAccTime = "FLUAccTime"; //透视累计时间 static const char* FLUIntTime = "FLUIntTime"; //脉冲周期时间 static const char* FLUPPS = "FLUPPS"; //帧率 static const char* FLUpulseWidth = "FLUpulseWidth"; //脉宽 static const char* FLUMode = "FLUMode"; //透视模式 enum GENERATOR_FLUMode { GENERATOR_FLMODE_NOTFLU,//非透视 GENERATOR_FLMODE_CF,//连续 GENERATOR_FLMODE_PF,//脉冲 GENERATOR_FLMODE_HCF,//高剂量连续 GENERATOR_FLMODE_HPF,//高剂量脉冲 GENERATOR_FLMODE_MAX }; static const char* FLUABSStatus = "FLUABSStatus"; //ABS状态 enum GENERATOR_ABSStatus { GENERATOR_ABS_OFF,//关闭 GENERATOR_ABS_ON_KV,//启用(KV only) GENERATOR_ABS_ON_KVMA,//启用(KV/mA) GENERATOR_ABS_MAX }; static const char* FLUMag = "FLUMag"; //fluoro mag static const char* FLUDoseLevel = "FLUDoseLevel"; //剂量模式 enum GENERATOR_DoseLevel { GENERATOR_DOSE_LOW,//关闭 GENERATOR_DOSE_NORMAL,//启用(KV only) GENERATOR_DOSE_HIGH,//启用(KV/mA) GENERATOR_DOSE_CineLOW = 10,//关闭 GENERATOR_DOSE_CineNORMAL,//启用(KV only) GENERATOR_DOSE_CineHIGH,//启用(KV/mA) GENERATOR_DOSE_MAX }; static const char* FLUCurve = "FLUCurve"; //ABS曲线 static const char* FLUCineKV = "FLUCineKV"; //Cine电压 static const char* FLUCineMA = "FLUCineMA"; //Cine电流 static const char* FLUCineMS = "FLUCineMS"; //Cine曝光时间 enum UNIT_REGULATION_LEVEL { //故障等级 REG_ERRO, REG_WARN }; enum UNIT_CHARGE_STATE { //电池状态 POWER_LOW, POWER_NOR }; enum UNIT_CTRL_TYPE { //交互方式 CTRL_PlatformInterface, CTRL_Center, CTRL_CallBackFun }; } namespace DiosActKey { //unit static const char* Query_HE = "Query_HE"; static const char* SetGeneratortoSyncStatus = "SetGeneratortoSyncStatus"; static const char* SetExpEnable = "SetExpEnable"; static const char* SetExpDisable = "SetExpDisable"; static const char* Reset = "RESET"; static const char* SetTubeAngle = "SetTubeAngle"; static const char* SetTubeTargetMaterial = "SetTubeTargetMaterial"; //DR static const char* SetAPR = "SetAPR"; static const char* IncParam_KV = "IncParam_KV"; static const char* DecParam_KV = "DecParam_KV"; static const char* IncParam_KVL = "IncParam_KVL"; static const char* DecParam_KVL = "DecParam_KVL"; static const char* SetValue_KV = "SetValue_KV"; static const char* IncParam_MA = "IncParam_MA"; static const char* DecParam_MA = "DecParam_MA"; static const char* IncParam_MAL = "IncParam_MAL"; static const char* DecParam_MAL = "DecParam_MAL"; static const char* SetValue_MA = "SetValue_MA"; static const char* IncParam_MS = "IncParam_MS"; static const char* DecParam_MS = "DecParam_MS"; static const char* IncParam_MSL = "IncParam_MSL"; static const char* DecParam_MSL = "DecParam_MSL"; static const char* SetValue_MS = "SetValue_MS"; static const char* IncParam_MAS = "IncParam_MAS"; static const char* DecParam_MAS = "DecParam_MAS"; static const char* IncParam_MASL = "IncParam_MASL"; static const char* DecParam_MASL = "DecParam_MASL"; static const char* SetValue_MAS = "SetValue_MAS"; static const char* SetValue_TECHMODE = "SetValue_TECHMODE"; static const char* SetValue_FOCUS = "SetValue_FOCUS"; static const char* SetValue_AECDENSITY = "SetValue_AECDENSITY"; static const char* IncParam_AECDENSITY = "IncParam_AECDENSITY"; static const char* DecParam_AECDENSITY = "DecParam_AECDENSITY"; static const char* SetValue_AECFIELD = "SetValue_AECFIELD"; static const char* SetValue_AECFILM = "SetValue_AECFILM"; static const char* SetValue_WORKSTATION = "SetValue_WORKSTATION"; static const char* GetValue_POSTKV = "GetValue_POSTKV"; static const char* GetValue_POSTMA = "GetValue_POSTMA"; static const char* GetValue_POSTMS = "GetValue_POSTMS"; static const char* GetValue_POSTMAS = "GetValue_POSTMAS"; static const char* SetExpMode = "SetExpMode"; static const char* SetFrameRate = "SetFrameRate"; static const char* SetModality = "SetModality"; static const char* SetFLFMode = "SetFLFMode"; static const char* SetEXAMMode = "SetEXAMMode"; //FLU static const char* IncParam_FluKV = "IncParam_FluKV"; static const char* DecParam_FluKV = "DecParam_FluKV"; static const char* SetValue_FluKV = "SetValue_FluKV"; static const char* IncParam_FluMA = "IncParam_FluMA"; static const char* DecParam_FluMA = "DecParam_FluMA"; static const char* SetValue_FluMA = "SetValue_FluMA"; static const char* IncParam_FluMS = "IncParam_FluMS"; static const char* DecParam_FluMS = "DecParam_FluMS"; static const char* SetValue_FluMS = "SetValue_FluMS"; static const char* IncParam_FluMAS = "IncParam_FluMAS"; static const char* DecParam_FluMAS = "DecParam_FluMAS"; static const char* SetValue_FluMAS = "SetValue_FluMAS"; static const char* SetValue_PPS = "SetValue_PPS"; static const char* GetValue_PPS = "GetValue_PPS"; static const char* IncParam_PPS = "IncParam_PPS"; static const char* DecParam_PPS = "DecParam_PPS"; static const char* SetValue_ABSMode = "SetValue_ABSMode"; static const char* GetValue_ABSCurve = "GetValue_ABSCurve"; static const char* IncParam_ABSCurve = "IncParam_ABSCurve"; static const char* DecParam_ABSCurve = "DecParam_ABSCurve"; static const char* SetValue_APF = "SetValue_APF"; static const char* GetValue_FluIntTimer = "GetValue_FluIntTimer"; static const char* GetValue_FluAccTimer = "GetValue_FluAccTimer"; static const char* ReSetValue_FluAccTimer = "ReSetValue_FluAccTimer"; static const char* SetValue_FluPre = "SetValue_FluPre"; static const char* SetValue_FluEXP = "SetValue_FluEXP"; static const char* SetValue_FluMode = "SetValue_FluMode"; static const char* SetValue_FluMAG = "SetValue_FluMAG"; static const char* DisableMAG = "DisableMAG"; static const char* SetValue_FluDoseLever = "SetValue_FluDoseLever"; //other static const char* SetCollimatorLight = "SetCollimatorLight"; } //----------------------------------------------------------------------------- // ConfigInfo //----------------------------------------------------------------------------- namespace DiosConfKey { static const char* DiosGeneratorType = "GeneratorVender"; static const char* DiosGeneratorModel = "GeneratorModel"; static const char* DiosGeneratorConfig = "DeviceConfig"; static const char* DiosGeneratorAttribute = "Attribute"; static const char* DiosGeneratorDescription = "Description"; static const char* AttributeType = "Type"; static const char* AttributeAccess = "Access"; static const char* AttributeRangeMax = "RangeMax"; static const char* AttributeRangeMin = "RangeMin"; static const char* AttributeListNum = "ListNum"; static const char* AttributeList = "List"; static const char* AttributeRequired = "Required"; static const char* AttributeDefaultValue = "DefaultValue"; static const char* DiosSyncType = "SyncType"; static const char* DiosSCFType = "SCFType"; static const char* DiosSCFTCPIP = "TCPIP"; static const char* DiosSCFCOM = "COM"; static const char* DiosSCFIP = "ip"; static const char* DiosSCFPort = "port"; static const char* DiosSCFBaudrate = "baudrate"; static const char* DiosSCFBytesize = "bytesize"; static const char* DiosSCFParity = "parity"; static const char* DiosSCFStopbits = "stopbits"; static const char* DiosWSTable = "WSTable"; static const char* DiosWSWall = "WSWall"; static const char* DiosWSFree = "WSFree"; static const char* DiosWSTomo = "WSTomo"; static const char* DiosWSConventional = "WSConventional"; static const char* DiosSynTable = "SYNTable"; static const char* DiosSynWall = "SYNWall"; static const char* DiosSynFree = "SYNFree"; static const char* DiosSynTomo = "SYNTomo"; static const char* DiosSynConventional = "SYNConventional"; static const char* DiosConsoleRole = "ConsoleRole"; static const char* DiosIsConnect = "IsConnect"; //20220412 新增 以及其内部属性,主要用于webconfig static const char* DiosConfigToolInfo = "ConfigToolInfo"; static const char* DiosAttributeInfo = "AttributeInfo"; static const char* DiosAttributeKey = "AttributeKey"; static const char* DiosAttributeDescripition = "AttributeDescripition"; static const char* DiosAccess = "Access"; static const char* DiosType = "Type"; static const char* DiosRangeMin = "RangeMin"; static const char* DiosRangeMax = "RangeMax"; static const char* DiosListNum = "ListNum"; static const char* DiosListInfo = "ListInfo"; static const char* DiosList = "List"; static const char* DiosRequired = "Required"; static const char* DiosDefaultValue = "DefaultValue"; static const char* DiosInnerKey = "InnerKey"; static const char* DiosPathID = "PathID"; //20230829 新增 满足demand574 static const char* DiosTubeInfo = "TubeInfo"; static const char* DiosFocusSmall = "FocusSmall"; static const char* DiosFocusLarge = "FocusLarge"; } //----------------------------------------------------------------------------- // APR参数结构体 //----------------------------------------------------------------------------- struct _tAPRArgs { int nWS; int nFocus; int nTechmode; float fKV; float fMA; float fMS; float fMAS; int nAECDensity; int nAECFilm; int nAECField; }; //----------------------------------------------------------------------------- // APF参数结构体 //----------------------------------------------------------------------------- struct _tAPFArgs { int nWS; int nFluMode; int nABSMode; int nDoseLever; float nFLKV; float fFLMA; int nPPS; }; //----------------------------------------------------------------------------- // SYNMould //----------------------------------------------------------------------------- enum EnSYNMode { EXPOSURE_SYNMODE_HARDWARE_SYNBOX, //0 EXPOSURE_SYNMODE_DIRCETCONNECT_NOSYNBOX, //1 EXPOSURE_SYNMODE_SOFTWARE_NOSYNBOX //2 }; struct cfgWorkStationKey //SDC工作位结构体 { std::string strWSNAme; int nWSID{ 0 }; cfgWorkStationKey() { strWSNAme = ""; nWSID = 0; }; cfgWorkStationKey(std::string name, int id) { strWSNAme = name; nWSID = id; }; cfgWorkStationKey(int id) { strWSNAme = "null"; if (id == DiosAttrKey::TABLE) strWSNAme = "Table"; else if (id == DiosAttrKey::WALL) strWSNAme = "Wall"; else if (id == DiosAttrKey::MOBILE) strWSNAme = "Free"; else if (id == DiosAttrKey::TOMO) strWSNAme = "Tomo"; else if (id == DiosAttrKey::CONVENTIONAL) strWSNAme = "Direct"; nWSID = id; }; cfgWorkStationKey(const char* name) { strWSNAme = name; if (strcmp(name, "Table") == 0) nWSID = DiosAttrKey::TABLE; else if (strcmp(name, "Wall") == 0) nWSID = DiosAttrKey::WALL; else if (strcmp(name, "Free") == 0) nWSID = DiosAttrKey::MOBILE; else if (strcmp(name, "Tomo") == 0) nWSID = DiosAttrKey::TOMO; else if (strcmp(name, "Direct") == 0) nWSID = DiosAttrKey::CONVENTIONAL; }; bool operator<(const cfgWorkStationKey& value) const { return nWSID < value.nWSID; } }; struct cfgWorkStationData //SDC工作位结构体 { std::string strWSNAme; int nWSNamber{ 0 }; EnSYNMode nWSSYN{ EXPOSURE_SYNMODE_HARDWARE_SYNBOX }; cfgWorkStationData() { strWSNAme = ""; nWSNamber = 0; nWSSYN = EXPOSURE_SYNMODE_HARDWARE_SYNBOX; }; cfgWorkStationData(std::string name, int number, EnSYNMode syn) { strWSNAme = name; nWSNamber = number; nWSSYN = syn; }; };