Пример #1
0
 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");
            }
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
 /// <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;
 }
Пример #5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="data">Measurement results</param>
 public MeasureData(LJV7IF_MEASURE_DATA[] data)
 {
     _data = data;
 }