跳到主要内容

简介

概述

插件(Plugin)是一种可扩展的软件组件,用于为现有应用程序或系统添加特定功能,而无需修改核心代码。
它遵循“开放-封闭原则”(对扩展开放,对修改封闭),通过标准化的接口与主程序交互,实现功能的灵活扩展。

珞石插件分为客户端(HMI)插件和控制器插件,其中,客户端(HMI)插件和控制器插件各自独立,分别运行在客户端(HMI)和控制器。
客户端(HMI)插件和控制器插件可互相配合实现复杂的功能逻辑。
插件架构图: 插件架构图

插件包格式

插件包可同时包含客户端和控制器(HMI)插件。命名需要固定为clien.zip和controller.zip

插件包.zip  
    ├── client.zip
    └── controller.zip

客户端插件(HMI)和控制器插件包可包含多个插件包。插件包必须包含lic和json,以及对应的dll或者so文件。主系统无法加载包格式错误的插件包。

客户端插件:

client.zip  
  ├── plugin1 (win系统下)
  |     ├──plugin1.lic
  |     ├──plugin1.dll
  |     ├──xplugin.dll  
  |     └──plugin1.json
  └── plugin2 (Arm,ubuntu系统下)
        ├──plugin2.lic
        ├──plugin2.so
        ├──libxplugin.so  
        └──plugin2.json

控制器插件:

controller.zip  
  ├── plugin1
  |     ├──plugin1.lic
  |     ├──plugin1.so  
  |     └──plugin1.json
  └── plugin2
        ├──plugin2.lic
        ├──plugin2.so  
        └──plugin2.json