344 lines
12 KiB
C
344 lines
12 KiB
C
#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
|