跳到主要内容

示例

本示例将演示如何实现一个客户端插件,并在珞石HMI上正常运行。

该示例以新建工程的形式进行展示,用户也可以直接在下载后的工程内进行开发,跳过步骤1至步骤4的操作。

(本说明以windows平台开发向用户示例,示例中默认用户已经搭建好Qt5.12及以上版本,用户具有C++开发的基本知识和技能)

步骤1: 新建用户自定义工程。注意工程输出为动态链接库文件。

步骤2: 将下载好的插件包中的lib文件夹和include文件夹放入新建好的工程PluginDemo中。

步骤3: 配置加载动态库的环境

步骤4 : 设置宏定义插件名(宏定义用以支持日志文件打印)

步骤5: 在创建的< plugindemo.h >中。继承公共基类< PluginBase > 。实现中的数据初始化函数。本操作需要包含基类库文件中的< plugincommon.h> 。将PluginDemo放于插件命名空间 xplugin下。

步骤6: 初始化插件

调用 XPLUGIN_REGISTER 宏来初始化插件。需要传递参数1为插件名称,参数2为插件类名。

至此已完成插件的构造。编译成功后即可获得PluginDemo.dll以及PluginDemo.lib库文件。

步骤7: 新建两个用户自定义窗体:ShowWidget 以及 ShowStatusBar

ShowWidget窗体模型如图:(用来当作中心窗体展示)

ShowStatusBar 窗体模型如图:(用来展示底部状态栏)。

步骤8: 将创建好的窗体注册到中心窗体上

xplugin::CreateCenterWidget() 函数用于注册窗体;

xplugin::CreateStatusBar(); 函数用于注册底部状态栏

步骤9: 定义数据展示接口

在ShowWidget窗体中,实例化每个按钮的点击事件,调用各个不同的接口获取数据。

步骤10: 添加注册物理按键功能

用户可以自定义注册物理按键,反映在HMI界面的快捷按键界面上。

**步骤11: ** 添加自定义辅助编程功能

用户可以自定义编程指令,插入到RL编辑界面的辅助编程中去。

使用示例:

流程步骤顺序:

1.初始化RL管理

2.createTypeKey 创建指令关键字,必填

3.createSkeleton 解析字符串,回显界面, 选填

4.createInsDescribe 描述信息, 选填

5.createPattern 解析字符串,正则匹配, 选填

6.createInsDefault 默认输出指令, 选填

7.createInsertWidget 插入界面窗口, 选填

8.createPropertyWidget 属性界面窗口, 选填

9.createTypeToGroup将关键字指令插入到指令组,必填

10.createGroups 创建指令组,必填

其中,用于显示的“插入界面”和“属性界面”需要统一继承自基类“RLContentBase”。基类文件位于“include/rl”文件夹下

步骤12: 设置插入窗口与属性显示窗口

插入窗口示例:

关键函数介绍:

ToString 生成用户自定义的编程指令

CheckInsert 定义界面类型 “插入界面”

FillWith 填充格式,用户解析字符串,填充到自定义界面中

setType 设置关键字值

属性窗口示例:

关键函数介绍:

ToString 用户生成用户自定义的编程指令

CheckReplace定义界面类型 “属性界面”

FillWith 填充格式,用户解析字符串,填充到自定义界面中

setType 设置关键字值

步骤13 : 设置语言包

用户可以设置语言包翻译界面软件。按照图示路径生成“插件名_cn”的中文语言包,会随着HMI主语言切换而变化。

至此已完成插件示例!将其加载即可。

显示效果: