Files
EF3-Interface/PcDmis/Base/Interfac/Msi/Hsi/Keyence/LKIFCommonDefine.h
T
2013-05-10 17:26:57 +08:00

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