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

您所在的位置:网站首页 扫码枪通信 康耐视InSight相机实现ModBusTCP通讯详解

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

2024-07-10 05:06| 来源: 网络整理| 查看: 265

1. 实验准备: 智能相机:本次实验使用的相机型号为:IS8200M,支持目前最新的InSight6.13版本固件,所以相机的固件也升级到了最新的6.01.03,这里建议固件版本最好使用最新的。注意,5.3以下的版本不支持Modbus TCP通讯,所以如果最高支持不到5.3的相机,请选择其他通讯方式。 在这里插入图片描述软件(InSight)版本: 6.13。 官网下载链接:点击下载Modbus Poll 测试软件,网上一堆,请自行搜索下载。 在这里插入图片描述 2. 相机配置: 硬件连接部分可以查询我的博客:点击 这里不做说明。在电子表格视图下,点击菜单 “传感器–网络设置”:选择工业协议,如图。 在这里插入图片描述保存作业,并按照提示重启相机。 3. 相机的控制/状态字:

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

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

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

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

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

输入数据对应的区地址:16_WriteMultiRegisters,地址从402002开始。输出数据对应的区地址:03_ReadHoldingRegisters,地址从407006开始。 在这里插入图片描述 6. 相机发送数据工具编辑: 在电子表格中将A0触发器类型改为“网络”,并按照以下流程插入函数:插入” FormatOutputBuffer”函数,引用要发送的值,选择类型,这里添加3个16位整数。 在这里插入图片描述插入"WriteResultsBuffer",事件引用 A0,Buffer 引用 FormatOutputBuffer,协议选择"Modbus TCP 服务器"。 在这里插入图片描述 7. 相机接收数据工具编辑: 插入” FormatInputBuffer”函数,定义接收的数据类型,这里定义4个16位整数。 在这里插入图片描述插入” ReadUserDataBuffer”函数,事件引用 A0,协议选择”ModBus TCP” 在这里插入图片描述因为有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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3