| | |
| | | { |
| | | if (!_isConnected) return false; |
| | | |
| | | if (triggerEnum == TriggerSource.Software) |
| | | { |
| | | _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.固定频率; |
| | | _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.软触发; |
| | | } |
| | | else |
| | | { |
| | | _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.编码器; |
| | | _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.外部触发; |
| | | } |
| | | //if (triggerEnum == TriggerSource.Software) |
| | | //{ |
| | | // _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.固定频率; |
| | | // _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.软触发; |
| | | //} |
| | | //else |
| | | //{ |
| | | // _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.编码器; |
| | | // _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.外部触发; |
| | | //} |
| | | UpdateSensorConfig(_sensorConfig); |
| | | return true; |
| | | } |
| | |
| | | public override bool GetLineStatus(IOLines line, out LineStatus lineStatus) { lineStatus = LineStatus.Low; return true; } |
| | | public override bool AutoBalanceWhite() => true; |
| | | public override void SetCamConfig(CameraConfig config) { } |
| | | public override void GetCamConfig(out CameraConfig config) { config = new CameraConfig(null); } |
| | | public override bool GetImage(out Bitmap bitmap, int outtime = 3000) { bitmap = null; return false; } |
| | | public override void GetCamConfig(out CameraConfig config) |
| | | { |
| | | config = new CameraConfig(null); |
| | | //UpdateSensorConfig(config); |
| | | } |
| | | public override bool GetImage(out Bitmap bitmap, int outtime = 14500) |
| | | { |
| | | bitmap = null; |
| | | try |
| | | { |
| | | // 设置超时时间 |
| | | DateTime lastTime = DateTime.Now.AddMilliseconds(outtime); |
| | | // 判断是否超时 |
| | | while (lastTime > DateTime.Now)// 设置超时时间为 3 秒 |
| | | { |
| | | if (CallBackImg != null) |
| | | { |
| | | lock (CallBackImg) |
| | | { |
| | | // 保存旧 Bitmap 并释放 |
| | | bitmap = CallBackImg; // 创建副本 |
| | | } |
| | | |
| | | //// 释放旧资源 |
| | | //CallBackImg.Dispose(); |
| | | //CallBackImg = null; |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | catch { return bitmap == null ? false : true; } |
| | | } |
| | | public override bool GetImageWithSoftTrigger(out Bitmap bitmap, int outtime = 3000) |
| | | { |
| | | // 简单实现:软触发等待 |
| | |
| | | } |
| | | } |
| | | } |
| | | else if (nOption == 2) |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | private void CreateAndFireBitmap() |
| | |
| | | TriggerRunMessageReceived?.Invoke(SN, source.ToString()); |
| | | AsyncLogHelper.Info($"LBCamera[{SN}]: 硬触发事件 - {source}"); |
| | | } |
| | | else |
| | | { |
| | | TriggerRunMessageReceived?.Invoke(SN, source.ToString()); |
| | | AsyncLogHelper.Info($"LBCamera[{SN}]: 硬触发事件 - {source}"); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |