littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于ACAP和OPC UA的仪表读数系统

项目简介

本项目是基于ACAP(Axis Camera Application Platform)和OPC UA(Unified Architecture)的仪表读数系统。利用视频分析技术(借助OpenCV)读取模拟仪表数值,通过内置OPC UA服务器以百分比形式将数值暴露。适用于工业环境中无法添加数字传感器的场景,能通过IP摄像头和基本视频分析自动捕获数字读数并反馈到工业系统。

项目的主要特性和功能

  • 视频分析:利用OpenCV进行图像处理,自动读取模拟仪表数值。
  • OPC UA服务器:内置OPC UA服务器,将读取数值暴露给外部系统。
  • 自动化监控:支持将仪表读数集成到SCADA或PLC系统,实现自动化监控与控制。
  • 调试功能:可将视频分析过程中的图像保存到磁盘,便于调试与分析。
  • 灵活配置:能通过摄像头的Web界面或脚本配置,如设置仪表校准点和OPC UA服务器端口。

安装使用步骤

1. 构建项目

使用ACAP SDK构建容器和Docker进行项目构建,可通过Makefile简化: sh make dockerbuild 或使用并行构建: sh make -j dockerbuild 若无Makefile,可直接用Docker命令构建: sh DOCKER_BUILDKIT=1 docker build --build-arg ARCH=armv7hf -o type=local,dest=. . DOCKER_BUILDKIT=1 docker build --build-arg ARCH=aarch64 -o type=local,dest=. .

2. 调试模式

构建时设置DEBUG_WRITE变量,将视频分析图像保存到磁盘: sh DEBUG_WRITE=y make -j dockerbuild 或用Docker命令: sh DOCKER_BUILDKIT=1 docker build --build-arg DEBUG_WRITE=y --build-arg ARCH=armv7hf -o type=local,dest=. . DOCKER_BUILDKIT=1 docker build --build-arg DEBUG_WRITE=y --build-arg ARCH=aarch64 -o type=local,dest=. .

3. 安装和配置

手动安装和配置

  1. 通过摄像头的Web界面上传ACAP文件(.eap扩展名):Apps->Add app
  2. 安装后启动ACAP。
  3. 在Web界面打开ACAP设置页面,设置仪表校准点。

脚本化安装和配置

使用摄像头的applications/upload.cgi接口上传ACAP文件: sh curl -k --anyauth -u root:<password> \ -F packfil=@OPC_UA_Gauge_Reader_<version>_<architecture>.eap \ https://<camera hostname/ip>/axis-cgi/applications/upload.cgi 启动ACAP: sh curl -k --anyauth -u root:<password> \ 'https://<camera hostname/ip>/axis-cgi/applications/control.cgi?package=opcuagaugereader&action=start' 使用param.cgi接口设置校准点和OPC UA服务器端口: sh curl -k --anyauth -u root:<password> \ 'https://<camera hostname/ip>/axis-cgi/param.cgi?action=update&opcuagaugereader.port=4842'

4. 使用

将OPC UA客户端连接到ACAP设置的端口,客户端即可读取仪表数值及其时间戳。ACAP会将仪表数值记录在摄像头的syslog中。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】