logo资料库

多sherlock(ivs)方式访问多相机方法说明.pdf

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
多 sherlock(*.ivs)方式访问多相机方法说明 Jakit Zhang Jakit.Zhang@TeledyneDalsa.com Tel. +86 15920287768(China) Document Revision 1.0: 13 Oct 2014 Copyright © 2014, Teledyne DALSA Industrial Products, Inc., ALL RIGHTS RESERVED 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 1 / 7
行业中目前多相机应用越来越广泛,单个 sherlock 连接多相机时,sherlock 打开相机速度比较 慢,并且进行程序调整时,显得很是吃力。其实 sherlock 是支持多个 线程 IpeStudio.exe 方式打开 相机的。这样每个相机对应一个*.ivs 程序,方便调试,并且维护容易。我将整个方法进行归结。请 各位了解。 例如相机硬件及程序准备如下实现: 相机 1,相机 2 使用一个 sherlock 对象,相机 3 使用一个 sherlock 对象。首先我们要的是相机 配置,下面我会以 Gine 相机和最新的 PIC 相机分别进行配置: 第一步配置相机 Ginie 相机配置: Gine 相机配置参数一般是使用 sherlock 自带的 Sapera Acquisition Wizard 软件进行配置的。其实 后台是调用 SaperaLTDrv.dll 实现的。我们在 sherlock 的安装需要修改配置文件 Drivers.ini 及 SaperaLTdrv.ini。其中两个文件修改为四个文件: 1.新建Drivers1.ini文件,内容如下: [DRIVER1] //驱动标识 NAME = Sapera LT //驱动文件名称 FILE = SaperaLTDrv.dll //dll文件 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 2 / 7
CONFIG = SaperaLTDrv1.ini //参数文件名称 ENABLED = 1 //驱动是否有效:1 表示有效;0 表示无效(无效则不会找相机) 2.新建Drivers2.ini文件,内容如下: [DRIVER1] //驱动标识 NAME = Sapera LT //驱动文件名称 FILE = SaperaLTDrv.dll //dll文件 CONFIG = SaperaLTDrv2.ini //参数文件名称 ENABLED = 1 //驱动是否有效:1 表示有效;0 表示无效(无效则不会找相机) 3.新建SaperaLTDrv1.ini文件,内容如下: [Server0] //相机1参数开始标识 ServerName=Genie_M1600_1 //相机1型号,根据不同相机不同名称 [Server0_Device0] //相机1驱动是否有效 Enable=1 DeviceName=S1007265 //相机1的SN编号 [Server1] //相机2参数开始标识 ServerName=Genie_M1600_2 //相机2型号,根据不同相机不同名称 [Server1_Device0] //相机2驱动是否有效 Enable=1 DeviceName=S9010044 //相机2的SN编号 4.新建SaperaLTDrv2.ini文件,内容如下: [Server0] //相机3的参数开始标识 ServerName=Genie_M1600_3 //相机3型号,根据不同相机不同名称 [Server0_Device0] //相机3驱动是否有效 Enable=1 DeviceName=S9013274 //相机 3 的 SN 编号 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 3 / 7
备注: 1.相机 1 与相机 2 对应的是 Drivers1.ini 及 SaperaLTDrv1.ini 配置文件; 2. 相机 3 对应的是 Drivers2.ini 及 SaperaLTDrv2.ini 配置文件; 3. 红色字体仅仅为解释,不能出现在对应文件中; PIC 相机配置: PIC 相机配置配置采用 IfcDrv.dll 配置,其中相机配置方式可以参考我的《SherLock GUI 开 发函数详解》,其中涉及配置文件 IfcDrv.ini 及 gevtest.txt,我们配置文件如下: 1.新建IfcDrv1.ini文件,内容如下: [GENERAL] CONFIG=C:\Documents and Settings\All Users\Application Data\Teledyne DALSA\Sherlock\Drivers\gevtest1.txt 2.新建IfcDrv2.ini文件,内容如下: [GENERAL] CONFIG=C:\Documents and Settings\All Users\Application Data\Teledyne DALSA\Sherlock\Drivers\gevtest2.txt 3.新建gevtest1.txt文件,内容如下: [GEV:0] SerialNumber="14112303" [CameraPort:0] Name = "Kamera 1" Camera_Structure =Create_Structure 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 4 / 7
TRIGGER_SRC= EXT0_TRIG [GEV:1] SerialNumber="14112302" [CameraPort:1] Name = "Kamera 1" Camera_Structure =Create_Structure TRIGGER_SRC= EXT0_TRIG 3.新建gevtest2.txt文件,内容如下: [GEV:0] SerialNumber="14112317" [CameraPort:0] Name = "Kamera 2" Camera_Structure =Create_Structure TRIGGER_SRC= EXT0_TRIG 第二步建立对应 sherlock 程序 创建两个 sherlock 程序,并保存为 1.ivs 和 2.ivs 第三步启动 IVS 方法: 编写两个 bat 文件,采用 bat 文件方式启动: 1.创建 1.bat ,代码如下: start IpeStudio.exe -acq:Drivers1.ini -load:1.ivs 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 5 / 7
2. 创建 2.bat ,代码如下: start IpeStudio.exe -acq:Drivers2.ini -load:2.ivs 备注: 1.必须注意添加 IpeStudio.exe 及 ivs 的对应路径。 2.调试可以采用此方法打开对应相机及程序。 3.路径中不能存在空格,存在空格的时候格式如下: Start “” “C:\Program Files (x86)\Teledyne DALSA\Sherlock\Bin\IpeStudio.exe" -acq:Drivers1.ini -load:simple31.ivs 第四步 VB or VC 实现 GUI code 以下为 VB 代码为例: 1.定义变量: Dim WithEvents hDevice1 As IpeEngCtrlLib.Engine Dim WithEvents hDevice2 As IpeEngCtrlLib.Engine 2.加载驱动文件 hDevice1 = CreateObject("IpeEngCtrl.Engine.2") hDevice2 = CreateObject("IpeEngCtrl.Engine.2") hDevice1.EngSetAcqIni("Drivers1.ini") hDevice2.EngSetAcqIni("Drivers2.ini") 'initialize object ErrCode = hDevice1.EngInitialize ErrCode = hDevice2.EngInitialize 'connect display to engine IpeDspCtrl1.ConnectEngine(hDevice1.GetEngineObj) IpeDspCtrl2.ConnectEngine(hDevice2.GetEngineObj) 3.加载相机程序 'load investigation ErrCode = hDevice1.InvLoad("1.ivs") 'connect VisionSystem Engine image window to the VB display control 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 6 / 7
IpeDspCtrl1.ConnectImgWindow("imgA") IpeDspCtrl2.ConnectImgWindow("imgA_A") 'load investigation ErrCode = hDevice2.InvLoad("2.ivs") 'connect VisionSystem Engine image window to the VB display control IpeDspCtrl3.ConnectImgWindow("imgA") 4.其他代码可以借鉴 simaple 代码。 多 sherlock(*.ivs)方式访问多相机方法说明 10/13/2014 7 / 7
分享到:
收藏