康耐视InSight相机实现ModBusTCP通讯详解

1. 实验准备:

  1. 智能相机:本次实验使用的相机型号为:IS8200M,支持目前最新的InSight6.13版本固件,所以相机的固件也升级到了最新的6.01.03,这里建议固件版本最好使用最新的。注意,5.3以下的版本不支持Modbus TCP通讯,所以如果最高支持不到5.3的相机,请选择其他通讯方式。
    在这里插入图片描述
  2. 软件(InSight)版本: 6.13。 官网下载链接:点击下载
  3. Modbus Poll 测试软件,网上一堆,请自行搜索下载。
    在这里插入图片描述

2. 相机配置:

  1. 硬件连接部分可以查询我的博客:点击 这里不做说明。
  2. 在电子表格视图下,点击菜单 “传感器–网络设置”:选择工业协议,如图。
    在这里插入图片描述
  3. 保存作业,并按照提示重启相机。

3. 相机的控制/状态字:

在这里插入图片描述
上图中红色部分为输入输出的IO信号:
VisionControl 是相机的输入,总共32个bit,每个bit分别控制相机触发、离线等操作。
VisionStatus 是相机的输出,总共32个bit,每个bit分别输出相机的准备和完成信号等。
具体的通讯位见下图:***红圈中的点位是经常用到的
在这里插入图片描述

4. 测试相机的控制 / 状态:

VisionControl 控制相机对应的区:WriteSingleCoil ,地址从0开始,共32个bit。
VisionStatus 相机状态对应的区:ReadDiscreteInputs,地址从100000开始,共32个bit。

  1. 在电子表格中插入Count工具,用于观察相机是否触发,相机在线。
  2. 打开Modbus Poll测试软件,并选择Modbus TCP连接方式,IP为相机的IP,端口502。
  3. 测试触发:点击菜单栏的Functions,选择 “05_WriteSingleCoil”,将Address设为1(TriggerEnabled),Value值修改为On,点击Send。然后将Address设为2(Trigger),Value值修改为On,点击Send。然后观察电子表格中Count值是否增加,相机每触发一次,Count函数+1。
    在这里插入图片描述
  4. 查看相机状态:选择 “ReadDiscreteInputs[1x]” 区,可以看到Address 1(TriggerReady)已经置1了。
    可以用同样的方式,测试Offline信号(05_WriteSingleCoil 区中 Address 7置On或者Off,观察ReadDiscreteInputs[1x] 区 Address 7 的状态)。

5. 相机的输入数据 / 输出数据:

区地址:
在这里插入图片描述
数据地址:

  1. 输入数据对应的区地址:16_WriteMultiRegisters,地址从402002开始。
  2. 输出数据对应的区地址:03_ReadHoldingRegisters,地址从407006开始。
    在这里插入图片描述

6. 相机发送数据工具编辑:

  1. 在电子表格中将A0触发器类型改为“网络”,并按照以下流程插入函数:
  2. 插入” FormatOutputBuffer”函数,引用要发送的值,选择类型,这里添加3个16位整数。
    在这里插入图片描述
  3. 插入"WriteResultsBuffer",事件引用 A0,Buffer 引用 FormatOutputBuffer,协议选择"Modbus TCP 服务器"。
    在这里插入图片描述

7. 相机接收数据工具编辑:

  1. 插入” FormatInputBuffer”函数,定义接收的数据类型,这里定义4个16位整数。
    在这里插入图片描述
  2. 插入” ReadUserDataBuffer”函数,事件引用 A0,协议选择”ModBus TCP”
    在这里插入图片描述
  3. 因为有4个输入,所以分别插入4个 ” GetBufferData” 函数,Buffer 全部引用” ReadUserDataBuffer”,Index 分别设0、1、2、3 。

8. 最终测试:

为了方便观察,这里新建了4个mbp,左边是相机的输入,右边是相机的输出。
在这里插入图片描述
测试触发 / 相机离线
在这里插入图片描述
测试相机输入数据:
在这里插入图片描述
测试相机发送数据:
在这里插入图片描述

9. 相机操作流程:

a. 触发拍照: TriggerEnabled 置 1,Trigger 置 1
b. 切换 Job_ID: SetOffline 置 1,写入 16 位整数的 ID 号至 Command,ExecuteCommand置 1,SetOffline 置 0
c. 写入数据到相机: 写入数据到 UserData,SetUserData 置 1,Trigger 置 1
d. 读取相机结果: BufferResultEnabled 置 1,Trigger 置 1,等 ResultsValid 出现下降沿时读取 InspectionResults。

以上相机Job和Modbus Poll的WorkSpace工程,见百度云盘,30天有效期限。

	下载链接:https://pan.baidu.com/s/1Hj5lBrJTBy2YAxk-BUlc5g 
	提取码:erdn 
  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
康耐视Insight教程是一套用于视觉引导机器学习的工具和框架。它提供了一个全面的解决方案,帮助用户快速、高效地开展计算机视觉项目。 首先,康耐视Insight教程提供了丰富的示例代码和文档。通过这些示例,用户可以了解如何使用各种视觉算法和技术来解决实际问题。无论是物体检测、图像分类、目标跟踪还是图像分割,Insight教程都给出了详细的实现步骤和代码示例,帮助用户快速入门。 其次,康耐视Insight教程还提供了一系列实用工具和函数库。这些工具和函数库可以帮助用户处理图像和视频的输入输出、进行数据增强、评估模型的性能等。用户可以使用这些工具和函数库来简化开发过程,提高工作效率。 再次,康耐视Insight教程还提供了一些实战项目案例。这些项目案例涵盖了不同的视觉应用领域,如智能驾驶、医疗影像、工业检测等。用户可以参考这些项目案例,学习如何将Insight教程中的技术应用到实际场景中。 最后,康耐视Insight教程支持多种编程语言和开发环境。用户可以根据自己的喜好和项目需求选择使用Python、C++或者MATLAB等编程语言进行开发。另外,康耐视Insight教程还与常用的深度学习框架(如TensorFlow、PyTorch)兼容,用户可以灵活选择自己熟悉的框架进行开发。 总之,康耐视Insight教程是一个综合教学资源,为用户提供了丰富的视觉算法和工具,帮助用户在计算机视觉领域中进行高效、准确的开发工作。无论是初学者还是有经验的开发者,都可以从康耐视Insight教程中获得有益的指导和实践经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值