【工控】线扫相机小结 第三篇

海康软件更新

目前使用的是 MVS_STD_4.3.2_240705.exe ,最新的已经到4.4了。

一个大的变动

上一篇中我们提到一个问题:

需要注意的是,我们必须先设置 TriggerSelector 是 "FrameBurstStart" 还是 "LineStart"

再设置TriggerMode 是 "On" 还是 "Off" 时才知道 TriggerMode 是谁的 TriggerMode 。 所以先指定TriggerSelector

在新版的软件中他做了更新,上面这种方式,确实容易让人混淆,所以他把每个都区分开了。

csharp 复制代码
 /// <summary>
 /// 其实就是打开触发
 /// </summary>

 void SetLineSacanWorkMode()
 {
     //----------------打开帧触发
     int result = device.Parameters.SetBoolValue("FrameTriggerMode", true);
     if (result != MvError.MV_OK)
     {
         ShowErrorMsg("Set FrameTriggerMode Fail!", result);
     }


     //帧触发:触发源
     result = device.Parameters.SetEnumValueByString("FrameTriggerSource", "Software");
     if (result != MvError.MV_OK)
     {
         ShowErrorMsg("Set FrameTriggerSource Fail!", result);
     }


      result = MvError.MV_OK;
     //----------------打开行触发
     result = device.Parameters.SetBoolValue("LineTriggerMode", true);
     if (result != MvError.MV_OK)
     {
         ShowErrorMsg("Set LineTriggerMode Fail!", result);
     }

     //行触发:触发源
     result = device.Parameters.SetEnumValueByString("LineTriggerSource", "FrequencyConverter");
     if (result != MvError.MV_OK)
     {
         ShowErrorMsg("Set LineTriggerSource Fail!", result);
     }     
 }

-------------------------------------------------------------------------------------------------------------------------
 void SetLineSacanDebugMode()
 {
     int result = MvError.MV_OK;
     //----------------关闭帧触发
     //result = device.Parameters.SetEnumValueByString("TriggerSelector", "FrameBurstStart");
     result = device.Parameters.SetBoolValue("FrameTriggerMode", false);
     if (result != MvError.MV_OK)
     {
         ShowErrorMsg("Set FrameTriggerMode Fail!", result);
     }


     //----------------关闭行触发
     result = device.Parameters.SetBoolValue("LineTriggerMode", false);
     if (result != MvError.MV_OK)
     {
         ShowErrorMsg("Set LineTriggerMode Fail!", result);
     }

 }

以前是 现设置 TriggerSelector 是 行 还是 帧

现在直接分开:FrameTriggerMode 和 LineTriggerMode; FrameTriggerSource 以及 LineTriggerSource

界面上也做了缩进,方便理解。

注意上面,选择帧扫描的时候,行触发也显示了,之前是不会显示的。(触发选择行扫描)

此时选择行扫描的时候,就只是显示了行触发控制!

敢于更新,给海康点个赞~~~ 不过更新了最新的sdk,记得修改你的代码!!!!

踩坑

相机的采集卡是一个x4的PICE的卡,我直接就插到了X4的PCIE插槽,这个电脑是海康的工控机。

MVS_STD_4.3.2_240705.exe 这个版本的软件还能识别到卡(最新的已经到4.4 都识别不到卡),

不过感觉采集图片是出图不是很稳定。

后面找了海康的研发,最好发现X4的插槽其实只有X1的信号。于是把卡插到X16上面,问题就解决了。

最新的4.4版本找不到卡,也可能是这个原因!暂时就用这个4.3 版本吧, 4.4 就先不更新了。