#ifndef LKIF_COMMON_DEFINE_INCLUDED #define LKIF_COMMON_DEFINE_INCLUDED #ifdef I_AM_LKIF #define EXP __declspec(dllexport) #else #define EXP __declspec(dllimport) #endif extern "C" { // Measurement value structures typedef enum { LKIF_FLOATRESULT_VALID, // 有効データ LKIF_FLOATRESULT_RANGEOVER_P, // +レンジオーバー LKIF_FLOATRESULT_RANGEOVER_N, // -レンジオーバー LKIF_FLOATRESULT_WAITING, // 判定待機 LKIF_FLOATRESULT_ALARM, // アラーム LKIF_FLOATRESULT_INVALID, // 無効(エラーなど) } LKIF_FLOATRESULT; typedef struct { LKIF_FLOATRESULT FloatResult; // 有効データかどうか float Value; // 測定値 } LKIF_FLOATVALUE; // Statistical Results Output typedef struct { LKIF_FLOATVALUE ToleUpper; // tolerance upper limit LKIF_FLOATVALUE ToleLower; // tolerance lower limit LKIF_FLOATVALUE AverageValue; // average value LKIF_FLOATVALUE MaxValue; // maximum value LKIF_FLOATVALUE MinValue; // minimum value LKIF_FLOATVALUE DifValue; // maximum value - minimum value LKIF_FLOATVALUE SdValue; // standard deviation LONG DataCnt; // number of all data LONG HighDataCnt; // number of tolerance High data LONG GoDataCnt; // number of tolerance Go data LONG LowDataCnt; // number of tolerance Low data } LKIF_FIGUREDATA; // Set ABLE typedef enum { LKIF_ABLEMODE_AUTO, // automatic LKIF_ABLEMODE_MANUAL, // manual } LKIF_ABLEMODE; // Set Measurement Mode typedef enum { LKIF_MEASUREMODE_NORMAL, // normal LKIF_MEASUREMODE_HALF_T, // translucent object LKIF_MEASUREMDOE_TRAN_1, // transparent object LKIF_MEASUREMODE_TRAN_2, // transparent object 2 LKIF_MEASUREMODE_MRS, // multireflective object LKIF_MEASUREMODE_OPAQUE =LKIF_MEASUREMODE_MRS, // 光沢樹脂 } LKIF_MEASUREMODE; // Set Mounting Mode typedef enum { LKIF_REFLECTIONMODE_DIFFUSION, // diffuse reflection LKIF_REFLECTIONMODE_MIRROR, // specular reflection } LKIF_REFLECTIONMODE; // Set Calculation Method typedef enum { LKIF_CALCMETHOD_HEADA, // head A LKIF_CALCMETHOD_HEADB, // head B LKIF_CALCMETHOD_HEAD_HEADA_PLUS_HEADB, // head A+head B LKIF_CALCMETHOD_HEAD_HEADA_MINUS_HEADB, // head A-head B LKIF_CALCMETHOD_HEAD_HEADA_TRANSPARENT, // head A transparent object LKIF_CALCMETHOD_HEAD_HEADB_TRANSPARENT, // head B transparent object LKIF_CALCMETHOD_HEAD = 0, // ヘッド LKIF_CALCMETHOD_OUT, // OUT LKIF_CALCMETHOD_ADD, // 加算 LKIF_CALCMETHOD_SUB, // 減算 LKIF_CALCMETHOD_AVE, // AVE LKIF_CALCMETHOD_PP, // P-P LKIF_CALCMETHOD_MAX, // MAX LKIF_CALCMETHOD_MIN, // MIN } LKIF_CALCMETHOD; // Measurement target typedef enum { LKIF_CALCTARGET_PEAK_1, // peak 1 LKIF_CALCTARGET_PEAK_2, // peak 2 LKIF_CALCTARGET_PEAK_3, // peak 3 LKIF_CALCTARGET_PEAK_4, // peak 4 LKIF_CALCTARGET_PEAK_1_2, // peak 1-peak 2 LKIF_CALCTARGET_PEAK_1_3, // peak 1-peak 3 LKIF_CALCTARGET_PEAK_1_4, // peak 1-peak 4 LKIF_CALCTARGET_PEAK_2_3, // peak 2-peak 3 LKIF_CALCTARGET_PEAK_2_4, // peak 2-peak 4 LKIF_CALCTARGET_PEAK_3_4, // peak 3-peak 4 } LKIF_CALCTARGET; // Set Filter Mode typedef enum { LKIF_FILTERMODE_MOVING_AVERAGE, // moving average LKIF_FILTERMODE_LOWPASS, // low pass filter LKIF_FILTERMODE_HIGHPASS, // high pass filter } LKIF_FILTERMODE; // Set Number of Times for Averaging typedef enum { LKIF_AVERAGE_1, // 1 time LKIF_AVERAGE_4, // LKIF_AVERAGE_16, // LKIF_AVERAGE_64, // LKIF_AVERAGE_256, // LKIF_AVERAGE_1024, // LKIF_AVERAGE_4096, // LKIF_AVERAGE_16384, // LKIF_AVERAGE_65536, // LKIF_AVERAGE_262144, // 262144 times } LKIF_AVERAGE; // Set Cutoff Frequency typedef enum { LKIF_CUTOFFFREQUENCY_1000, // 1000Hz LKIF_CUTOFFFREQUENCY_300, // 300Hz LKIF_CUTOFFFREQUENCY_100, // 100Hz LKIF_CUTOFFFREQUENCY_30, // 30Hz LKIF_CUTOFFFREQUENCY_10, // 10Hz LKIF_CUTOFFFREQUENCY_3, // 3Hz LKIF_CUTOFFFREQUENCY_1, // 1Hz LKIF_CUTOFFFREQUENCY_0_3, // 0.3Hz LKIF_CUTOFFFREQUENCY_0_1, // 0.1Hz } LKIF_CUTOFFFREQUENCY; // Set Trigger Mode typedef enum { LKIF_TRIGGERMODE_EXT1, // external trigger 1 LKIF_TRIGGERMODE_EXT2, // external trigger 2 } LKIF_TRIGGERMODE; // Set Calculation Mode typedef enum { LKIF_CALCMODE_NORMAL, // normal LKIF_CALCMODE_PEAKHOLD, // peak hold LKIF_CALCMODE_BOTTOMHOLD, // bottom hold LKIF_CALCMODE_PEAKTOPEAKHOLD, // peak-to-peak hold LKIF_CALCMODE_SAMPLEHOLD, // sample hold LKIF_CALCMODE_AVERAGEHOLD, // average hold } LKIF_CALCMODE; // Set Minimum Display Unit typedef enum { LKIF_DISPLAYUNIT_0000_01MM=0, // 0.01mm LKIF_DISPLAYUNIT_000_001MM, // 0.001mm LKIF_DISPLAYUNIT_00_0001MM, // 0.0001mm LKIF_DISPLAYUNIT_0_00001MM, // 0.00001mm LKIF_DISPLAYUNIT_00000_1UM, // 0.1μm LKIF_DISPLAYUNIT_0000_01UM, // 0.01μm LKIF_DISPLAYUNIT_000_001UM, // 0.001μm LKIF_DISPLAYUNIT_00000_1M_S=0, // 0.1m/s LKIF_DISPLAYUNIT_0000_01M_S, // 0.01m/s LKIF_DISPLAYUNIT_000_001M_S, // 0.001m/s LKIF_DISPLAYUNIT_00000_1MM_S, // 0.1mm/s LKIF_DISPLAYUNIT_0000_01MM_S, // 0.01mm/s LKIF_DISPLAYUNIT_000_001MM_S, // 0.001mm/s LKIF_DISPLAYUNIT_00_0001MM_S, // 0.0001mm/s LKIF_DISPLAYUNIT_00000_1KM_S2=0,// 0.1km/s2 LKIF_DISPLAYUNIT_0000_01KM_S2, // 0.01km/s2 LKIF_DISPLAYUNIT_000_001KM_S2, // 0.001km/s2 LKIF_DISPLAYUNIT_00000_1M_S2, // 0.1m/s2 LKIF_DISPLAYUNIT_0000_01M_S2, // 0.01m/s2 LKIF_DISPLAYUNIT_000_001M_S2, // 0.001m/s2 LKIF_DISPLAYUNIT_00_0001M_S2, // 0.0001m/s2 } LKIF_DISPLAYUNIT; // Set Timing Synchronization typedef enum { LKIF_SYNCHRONIZATION_ASYNCHRONOUS, // asynchronous LKIF_SYNCHRONIZATION_SYNCHRONIZED, // synchronous } LKIF_SYNCHRONIZATION; // Set Data Storage typedef enum { LKIF_TARGETOUT_NONE, // no target OUT LKIF_TARGETOUT_OUT1, // OUT1 LKIF_TARGETOUT_OUT2, // OUT2 LKIF_TARGETOUT_BOTH, // OUT1 and OUT2 } LKIF_TARGETOUT; // Set Strage Saampling Rate typedef enum { LKIF_STORAGECYCLE_1, // sampling rate x1 LKIF_STORAGECYCLE_2, // sampling rate x2 LKIF_STORAGECYCLE_5, // sampling rate x5 LKIF_STORAGECYCLE_10, // sampling rate x10 LKIF_STORAGECYCLE_20, // sampling rate x20 LKIF_STORAGECYCLE_50, // sampling rate x50 LKIF_STORAGECYCLE_100, // sampling rate x100 LKIF_STORAGECYCLE_200, // sampling rate x200 LKIF_STORAGECYCLE_500, // sampling rate x500 LKIF_STORAGECYCLE_1000, // sampling rate x1000 LKIF_STORAGECYCLE_TIMING, // タイミング同期 } LKIF_STORAGECYCLE; // Set Sampling Rate typedef enum { LKIF_SAMPLINGCYCLE_20USEC, // 20us LKIF_SAMPLINGCYCLE_50USEC, // 50us LKIF_SAMPLINGCYCLE_100USEC, // 100us LKIF_SAMPLINGCYCLE_200USEC, // 200us LKIF_SAMPLINGCYCLE_500USEC, // 500us LKIF_SAMPLINGCYCLE_1MSEC, // 1ms } LKIF_SAMPLINGCYCLE; // サンプリング周期設定 typedef enum { LKIF2_SAMPLINGCYCLE_2_55USEC, // 2.55us LKIF2_SAMPLINGCYCLE_5USEC, // 5us LKIF2_SAMPLINGCYCLE_10USEC, // 10us LKIF2_SAMPLINGCYCLE_20USEC, // 20us LKIF2_SAMPLINGCYCLE_50USEC, // 50us LKIF2_SAMPLINGCYCLE_100USEC, // 100us LKIF2_SAMPLINGCYCLE_200USEC, // 200us LKIF2_SAMPLINGCYCLE_500USEC, // 500us LKIF2_SAMPLINGCYCLE_1MSEC, // 1ms } LKIF2_SAMPLINGCYCLE; // Set Comparator Output Format typedef enum { LKIF_TOLERANCE_COMPARATOR_OUTPUT_FORMAT_NORMAL, // normal LKIF_TOLERANCE_COMPARATOR_OUTPUT_FORMAT_HOLD, // hold LKIF_TOLERANCE_COMPARATOR_OUTPUT_FORMAT_OFF_DELAY, // off-delay } LKIF_TOLERANCE_COMPARATOR_OUTPUT_FORMAT; // Set Strobe Time typedef enum { LKIF_STOROBETIME_2MS, // 2ms LKIF_STOROBETIME_5MS, // 5ms LKIF_STOROBETIME_10MS, // 10ms LKIF_STOROBETIME_20MS, // 20ms } LKIF_STOROBETIME; // Mode Switch typedef enum { LKIF_MODE_NORMAL, // normal mode LKIF_MODE_COMMUNICATION, // setting mode } LKIF_MODE; // 基点設定 typedef enum { LKIF_BASICPOINT_NEAR, // NEAR LKIF_BASICPOINT_FAR, // FAR } LKIF_BASICPOINT; // メディアン設定 typedef enum { LKIF_MEDIAN_OFF, // OFF LKIF_MEDIAN_7, // 7点 LKIF_MEDIAN_15, // 15点 LKIF_MEDIAN_31, // 31点 } LKIF_MEDIAN; // LASER CTRLグループ設定 typedef enum { LKIF_LASER_CTRL_GROUP_1, // LASER CTRL 1 LKIF_LASER_CTRL_GROUP_2, // LASER CTRL 2 } LKIF_LASER_CTRL_GROUP; // レンジ設定 typedef enum { LKIF_RANGE_CENTER, // CENTER LKIF_RANGE_FAR, // FAR } LKIF_RANGE; // 相互干渉グループ設定 typedef enum { LKIF_MUTUAL_INTERFERENCE_PREVENTION_GROUP_A, // Group A LKIF_MUTUAL_INTERFERENCE_PREVENTION_GROUP_B, // Group B LKIF_MUTUAL_INTERFERENCE_PREVENTION_GROUP_C, // Group C } LKIF_MUTUAL_INTERFERENCE_PREVENTION_GROUP; // フィルタパラメータ(平均回数設定/カットオフ周波数設定) typedef enum{ LKIF_FILTERPARA_AVE_1 = 0, // 1回 LKIF_FILTERPARA_AVE_4, // 4回 LKIF_FILTERPARA_AVE_16, // 16回 LKIF_FILTERPARA_AVE_64, // 64回 LKIF_FILTERPARA_AVE_256, // 256回 LKIF_FILTERPARA_AVE_1024, // 1024回 LKIF_FILTERPARA_AVE_4096, // 4096回 LKIF_FILTERPARA_AVE_16384, // 16384回 LKIF_FILTERPARA_AVE_65536, // 65536回 LKIF_FILTERPARA_AVE_262144, // 262144回 LKIF_FILTERPARA_COFF_3000 = 0, // 3000Hz LKIF_FILTERPARA_COFF_1000, // 1000Hz LKIF_FILTERPARA_COFF_300, // 300Hz LKIF_FILTERPARA_COFF_100, // 100Hz LKIF_FILTERPARA_COFF_30, // 30Hz LKIF_FILTERPARA_COFF_10, // 10Hz LKIF_FILTERPARA_COFF_3, // 3Hz LKIF_FILTERPARA_COFF_1, // 1Hz LKIF_FILTERPARA_COFF_0_3, // 0.3Hz LKIF_FILTERPARA_COFF_0_1, // 0.1Hz }LKIF_FILTERPARA; // 測定種別設定 typedef enum { LKIF_MEASURETYPE_DISPLACEMENT, // 変位 LKIF_MEASURETYPE_SPEED, // 速度 LKIF_MEASURETYPE_ACCELERATION, // 加速度 } LKIF_MEASURETYPE; // OUT指定 typedef enum { LKIF_OUTNO_01 = 0x0001, // OUT1 LKIF_OUTNO_02 = 0x0002, // OUT2 LKIF_OUTNO_03 = 0x0004, // OUT3 LKIF_OUTNO_04 = 0x0008, // OUT4 LKIF_OUTNO_05 = 0x0010, // OUT5 LKIF_OUTNO_06 = 0x0020, // OUT6 LKIF_OUTNO_07 = 0x0040, // OUT7 LKIF_OUTNO_08 = 0x0080, // OUT8 LKIF_OUTNO_09 = 0x0100, // OUT9 LKIF_OUTNO_10 = 0x0200, // OUT10 LKIF_OUTNO_11 = 0x0400, // OUT11 LKIF_OUTNO_12 = 0x0800, // OUT12 LKIF_OUTNO_ALL = 0x0FFF, // 全OUT } LKIF_OUTNO; // 相互干渉防止設定 typedef enum { LKIF_MUTUAL_INTERFERENCE_PREVENTION_OFF, // OFF LKIF_MUTUAL_INTERFERENCE_PREVENTION_AB_ON, // AB-ON LKIF_MUTUAL_INTERFERENCE_PREVENTION_ABC_ON, // ABC-ON } LKIF_MUTUAL_INTERFERENCE_PREVENTION; // アラーム出力形態設定 typedef enum { LKIF_ALARM_OUTPUT_FORM_SYSTEM, // システムアラームのみ LKIF_ALARM_OUTPUT_FORM_MEASURE, // 測定値アラームのみ LKIF_ALARM_OUTPUT_FORM_BOTH, // システムアラーム及び測定値アラーム } LKIF_ALARM_OUTPUT_FORM; } #endif // LKIF_INCLUDED