public static float ValidData(LJV7IF_MEASURE_DATA data) { if (data.byDataInfo == (int)LJV7IF_MEASURE_DATA_INFO.LJV7IF_MEASURE_DATA_INFO_VALID && data.byJudge == (int)LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_GO) { return(data.fValue); } return(-1); }
private void GetMeasurement() { int _timeout_ms = 1000; DateTime stop = DateTime.Now.AddTicks(_timeout_ms * 10000); try { LJV7IF_MEASURE_DATA[] measureData = new LJV7IF_MEASURE_DATA[NativeMethods.MeasurementDataCount]; Rc rc1 = (Rc)NativeMethods.LJV7IF_GetMeasurementValue(_deviceID, measureData); if (rc1 != Rc.Ok) { return; } while ((measureData[0].byDataInfo != 0) && (DateTime.Now < stop)) { Rc rc = (Rc)NativeMethods.LJV7IF_GetMeasurementValue(_deviceID, measureData); if (rc != Rc.Ok) { return; } Application.DoEvents(); } MeasureData data = new MeasureData(measureData); StringBuilder sb = new StringBuilder(); for (int i = 0; i < NativeMethods.MeasurementDataCount; i++) { sb.Append(string.Format("OUT {0:d2}:\t{1,0:f4}\r\n", (i + 1), measureData[i].fValue)); } _dispSensor.ValueString = sb.ToString(); } catch (Exception ex) { U.LogError(ex, "Keyence_LJ_V7001.GetMeasurement"); } }
public DataLib.CartData GetSingleProfile() { try { var data = new DataLib.CartData(); if (_connected) { _sendCommand = SendCommand.GetProfileAdvance; _deviceData.ProfileData.Clear(); _deviceData.MeasureData.Clear(); _measureDatas.Clear(); LJSetting.SetOpMode(_currentDeviceId, LJV7IF_OP_MODE.ADVANCED); Thread.Sleep(50); // Set the command function LJV7IF_PROFILE_INFO profileInfo = new LJV7IF_PROFILE_INFO(); uint dataSize = GetOneProfileDataSize(); int[] profileData = new int[dataSize / Marshal.SizeOf(typeof(int))]; LJV7IF_MEASURE_DATA[] measureData = new LJV7IF_MEASURE_DATA[NativeMethods.MeasurementDataCount]; using (PinnedObject pin = new PinnedObject(profileData)) { // Send the command rc = (Rc)NativeMethods.LJV7IF_GetProfileAdvance(_currentDeviceId, ref profileInfo, pin.Pointer, dataSize, measureData); CheckReturnValue(rc); // Response data display _measureDatas.Add(new MeasureData(0, measureData)); ExtractProfileData(1, ref profileInfo, profileData); } } return(_deviceData.ProfileData[0].GetCartData(_scalingMultiplier)); } catch (Exception) { throw; } }
/// <summary> /// Constructor /// </summary> /// <param name="offsetTime">Elapsed time</param> /// <param name="data">Measurement results</param> public MeasureData(uint offsetTime, LJV7IF_MEASURE_DATA[] data) { _offsetTime = offsetTime; _data = data; }
/// <summary> /// Constructor /// </summary> /// <param name="data">Measurement results</param> public MeasureData(LJV7IF_MEASURE_DATA[] data) { _data = data; }