跳转到内容

C++/Qt 插件开发指导

本手册为 Linux 平台(C++/Qt 技术栈) 的插件开发指南。插件开发相关的公共概念(ARCS 工作流程、安装节点与程序节点等)请参见 插件开发指南,并根据需要选择适合您的开发平台。

插件模板结构

API

ARCS 提供 API 接口,用户可以在插件开发过程中直接调用,缩短开发时间。根据不同 API 在安装节点和程序节点中的使用限制,可以将 API 分为两大类:domain_api 和 aubo_cpa_api。其中 domain_api 中的 system_api、user_interface_api、application_api 均既可用于安装节点,又可用于程序节点。aubo_cpa_api 中的 program_api 仅可用于程序节点,installation_api 则仅可用于安装节点。domain_api 和 aubo_cpa_api 的具体描述请参考下图。

注意

各接口的详细信息请参见《附录:aubo_caps API》

API 使用概述

在模板中,安装节点和程序节点中均包含 service、contribution 和 view 三个类。其中service 类是节点的服务,可以创建 contribution 和 view 类;contribution 类中包含与数据相关的内容,view 类则包含与界面相关的内容,具体信息如下所示:

  1. 安装节点 service 类的接口:

    getTitlegetIconcreateViewconfigureContributioncreateInstallationNode

  2. 程序节点 service 类的接口:

    getTitlegetIcongetIdcreateViewconfigureContributioncreateNode

  3. 安装节点 contribution 类中的 api_provider_ 接口:

    systemApiuserInterfaceApiinstallationApi

  4. 程序节点 contribution 类中的 api_provider_ 接口:

    systemApiuserInterfaceApiprogramApi

  5. 安装节点和程序节点 view 类中 view_api_ 接口:

    systemApiuserInterfaceApi

  6. DataModel 存取数据:

    1. 配置数据一般保存在【/root/arcs_ws/program】文件夹下,当 aubo_scope 启动时,保存的配置数据会加载到 DataModel 中。
    2. 接口 DataModelPtr model_{ nullptr } 在 installation 和 program 中分别提供了一个。该接口可以将该项数据存放到 DataModel 中(但目前只提供部分数据类型,详情请参见《附录:aubo_caps API》)。
    3. 接口 DataModelPtr model_{ nullptr } 使用方式:
      1. 添加头文件 #include "aubo_caps++/meta_type.h"
      2. 在 contribution 类的 private 区域添加 DECLARE_ATTR(名称,类型,初始值)