简介
概述
插件(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