littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于Open62541的CAENels FASTPS OPC UA服务器

项目简介

本项目是基于Open62541的OPC UA(Open Platform Communications Unified Architecture)服务器,专为CAENels FAST - PS电源供应器打造,用于实现设备的远程控制。借助OPC UA协议,该服务器可对电源供应器进行远程管理和控制,尤其适用于加速器控制系统中的电源管理。

项目的主要特性和功能

  1. OPC UA服务器:运行在TCP/IP端口16664上,支持远程控制和管理电源供应器。
  2. UDP服务器:监听端口16665,为更快的控制回路服务,减少协议开销,提升控制效率。
  3. 设备数据访问:通过TCP服务器(端口10001)访问设备数据,保证数据实时性和准确性。
  4. 配置加载:服务器配置从文件/etc/opcua.xml加载,方便用户按需配置。
  5. 测试兼容性:在所有测试过的电源供应器上稳定编译和运行,支持控制加速器控制系统中线圈的电源供应器的必要功能。

安装使用步骤

假设用户已下载本项目的源码文件。

编译服务器

  1. 下载并构建OPC UA堆栈:在开发系统上下载并构建Open62541库,生成open62541.hopen62541.c文件。
  2. 构建libxml2库:确保libxml2库已构建并安装到交叉编译工具链中。
  3. 编译服务器:
    • 动态链接编译命令: bash source ../tools/environment $CC -std=c99 -c open62541.c $CC -std=c99 -c -I $SDKTARGETSYSROOT/usr/include/libxml2/ OpcUaServer.c $CXX -o opcuaserver OpcUaServer.o open62541.o -lpthread -lxml2
    • 静态链接编译命令: bash $CXX -o opcuaserver OpcUaServer.o open62541.o $SDKTARGETSYSROOT/usr/lib/libxml2.a -lpthread

安装文件复制

  1. 复制二进制文件:将编译生成的opcuaserver二进制文件复制到目标设备的/tmp/目录下。
  2. 复制配置文件:将opcua.xml配置文件复制到目标设备的/etc/目录下。
  3. 复制库文件:若使用动态链接,将libxml2.so.2库文件复制到目标设备的/usr/lib/目录下。

启动服务器

  1. 手动启动:在目标设备上执行以下命令启动服务器: bash /tmp/opcuaserver
  2. 自动启动:将启动脚本opcua - startup复制到目标设备的/etc/init.d/目录下,并创建启动链接: bash scp opcua - startup root@10.66.67.10:/etc/init.d/ ssh root@10.66.67.10 cd /etc/rc5.d/ ln -s ../init.d/opcua - startup S99z - opcua - startup

测试服务器

  1. 使用OPC UA客户端:推荐使用UaExpert等通用OPC UA客户端进行测试。
  2. LabView客户端:项目中提供了LabView客户端示例,位于examples/文件夹中,可用于演示通过OPC UA访问服务器。

下载地址

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