zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

OAK智能深度相机通过modbus tcp协议控制PLC设备

设备控制TCP协议智能 通过 深度 相机
2023-09-14 09:01:43 时间

编辑:OAK中国
首发:oakchina.cn
喜欢的话,请多多👍⭐️✍
教程可能会不定期更新,官网内容都是最新的,请查看首发地址链接。

Hello,大家好,这里是OAK中国,我是助手君。这个是之前我们客户提的要求,通过modbus tcp协议控制PLC设备,我们花了点时间研究出来了,给大伙分享一下。

▌前言

OAK智能深度相机中的POE系列是专门为工农业领域打造的,能够适应恶劣环境的深度+人工智能相机。

它支持相机无主机的独立运行模式,相机无需接入任何其他主机设备,自身完成深度图计算和人工智能的边缘端加速,算力可以达到4TOPS,功耗只有2.5W。并且它支持相机内部直接编程作为modbus server端,输出modbus tcp协议,将相机内部VPU加速计算的空间信息和 AI推理的结果输入用户的控制逻辑,可以直接控制大型PLC设备。将人工智能,深度相机能够更加简便和低成本的应用在工农业领域。

▌OAK-POE 独立运行模式操作 

OAK智能深度相机的独立运行模式请参考这里

▌OAK-POE 独立运行模式中加入 modbus 协议 

OAK-POE 可以通过使用 script 节点 加载修改过得 PyModBusTCP 模块 实现modbus 协议 。

具有修改如下:

  1. 将 https://github.com/sourceperl/pyModbusTCP/blob/8d61a84cbb5e10eb553ab616e5ec2e0d78d20b5c/pyModbusTCP/server.py#L673
(session_data.client.address, session_data.client.port) = self.request.getpeername()

修改为 https://github.com/richard-xx/oak-poe-standalone/blob/6d1b9f9d118b6161b8c83a35b2645e9c51a88156/poe_standalone/modbus_tcp/pyModbusTCP.py#L1106

(session_data.client.address, session_data.client.port) = self.client_address
  1. 将 logger 相关函数/方法 替换为 node.warn 或去除
  2. 将多个文件合并为一个文件,方便导入

具体可参考 pyModbusTCP.py

▌使用

之后将修改过后的文件,通过 script 节点加载即可像使用 PyModBusTCP模块一样,使用 modbus 协议。

▌参考资料

https://docs.oakchina.cn/en/latest/
https://www.oakchina.cn/selection-guide/


OAK中国
| OpenCV AI Kit在中国区的官方代理商和技术服务商
| 追踪AI技术和产品新动态

戳「+关注」获取最新资讯↗↗