/// <summary> /// 方法:设置触发边沿信号模式 /// </summary> /// <param name="edgemode">边缘模式</param> /// <returns></returns> public bool SetTriggerActivation(ProCommon.Communal.TriggerLogic edgemode) { bool rt = false; if (ICamDriverable != null) { rt = ICamDriverable.SetTriggerActivation(edgemode); } return(rt); }
/// <summary> /// 方法:设置触发信号边缘 /// </summary> /// <param name="degemode"></param> /// <returns></returns> public override bool DoSetTriggerActivation(ProCommon.Communal.TriggerLogic edge) { bool rt = false; try { if (!AcqHandle.TupleEqual(new HalconDotNet.HTuple())) { rt = true; } } #pragma warning disable CS0168 // The variable 'hex' is declared but never used catch (HalconDotNet.HalconException hex) #pragma warning restore CS0168 // The variable 'hex' is declared but never used { } finally { } return(rt); }
/// <summary> /// 方法:设置相机输出信号 /// </summary> /// <param name="triglogic">触发信号逻辑</param> /// <param name="delaytime">边沿信号时的延时,单位毫秒</param> /// <returns></returns> public bool SetOutPut(ProCommon.Communal.TriggerLogic triglogic, int delaytime) { bool rt = false; if (ICamDriverable != null) { switch (triglogic) { case ProCommon.Communal.TriggerLogic.FallEdge: rt = ICamDriverable.SetOutPut(true); if (rt) { System.Threading.Thread.Sleep(delaytime); rt = ICamDriverable.SetOutPut(false); } break; case ProCommon.Communal.TriggerLogic.LogicFalse: rt = ICamDriverable.SetOutPut(false); break; case ProCommon.Communal.TriggerLogic.LogicTrue: rt = ICamDriverable.SetOutPut(true); break; case ProCommon.Communal.TriggerLogic.RaiseEdge: rt = ICamDriverable.SetOutPut(false); if (rt) { System.Threading.Thread.Sleep(delaytime); rt = ICamDriverable.SetOutPut(true); } break; default: break; } } return(rt); }
/// <summary> /// 方法:设置触发信号边缘 /// [注:用于触发源为硬触发] /// </summary> /// <param name="dege">边缘信号</param> /// <returns></returns> public override bool DoSetTriggerActivation(ProCommon.Communal.TriggerLogic edge) { try { if (m_objIGXDevice == null) { ////ErrorMessage.Append("还没有打开设备。"); return(false); } IGXFeatureControl fc = m_objIGXDevice.GetRemoteFeatureControl(); if (fc == null) { ////ErrorMessage.Append("设置设备异常。"); return(false); } string strVal = null; if (edge == ProCommon.Communal.TriggerLogic.FallEdge) { strVal = "FallingEdge"; } else if (edge == ProCommon.Communal.TriggerLogic.RaiseEdge) { strVal = "RisingEdge"; } else { ////ErrorMessage.Append("不支持该出发方式。"); return(false); } fc.GetEnumFeature("TriggerActivation").SetValue(strVal); return(true); } catch (Exception ex) { return(false); } }
/// <summary> /// 方法:设置触发信号边缘 /// [注:用于触发源为硬触发] /// </summary> /// <param name="dege">边缘信号</param> /// <returns></returns> public override bool DoSetTriggerActivation(ProCommon.Communal.TriggerLogic edge) { bool rt = false; MVSDK.CameraSdkStatus status = MVSDK.CameraSdkStatus.CAMERA_STATUS_FAILED; try { if (_deviceRef > 0) { switch (edge) { case ProCommon.Communal.TriggerLogic.FallEdge: { status = MVSDK.MvApi.CameraSetExtTrigSignalType(_deviceRef, 1); //MVSDK.emExtTrigSignal.EXT_TRIG_TRAILING_EDGE=1 } break; case ProCommon.Communal.TriggerLogic.RaiseEdge: { status = MVSDK.MvApi.CameraSetExtTrigSignalType(_deviceRef, 0); //MVSDK.emExtTrigSignal.EXT_TRIG_LEADING_EDGE=0 } break; //case ProCommon.Communal.Edge.StateHigh: // { // status = MVSDK.MvApi.CameraSetExtTrigSignalType(_deviceRef, 2); //MVSDK.emExtTrigSignal.EXT_TRIG_HIGH_LEVEL=2 // } // break; //case ProCommon.Communal.Edge.StateLow: // { // status = MVSDK.MvApi.CameraSetExtTrigSignalType(_deviceRef, 3); //MVSDK.emExtTrigSignal.EXT_TRIG_LOW_LEVEL=3 // } // break; case ProCommon.Communal.TriggerLogic.NONE: default: break; } rt = (MVSDK.CameraSdkStatus.CAMERA_STATUS_SUCCESS == status) ? true : false; if (!rt) { if (DriverExceptionDel != null) { DriverExceptionDel(string.Format("错误:迈德威视相机设置触发信号边沿失败!\n错误代码:{0:X8}", System.Convert.ToInt32(status))); } } } else { if (DriverExceptionDel != null) { DriverExceptionDel(string.Format("错误:迈德威视相机设置设备采集信号边沿失败!\n错误描述:{0}", "设备未连接")); } } } catch { } finally { } return(rt); }
public abstract bool DoSetTriggerActivation(ProCommon.Communal.TriggerLogic edge);
public bool SetTriggerActivation(ProCommon.Communal.TriggerLogic edge) { return(DoSetTriggerActivation(edge)); }