本发明属于软件、计算机与网络,涉及一种跨it/ot域的工业软件组件综合建模方法,具体涉及一种基于微服务架构的ot域工业软件组件建模及其代码生成方法。
背景技术:
1、工业及城市场景下的工业软件系统具有规模庞大、设备与软件组件异构性高、跨平台、跨操作系统、编程语言不同、信息流、业务流异常复杂等典型特征。如何高效快速、灵活地、低成本地进行大型工业软件的开发,是该领域迫切需要解决的关键问题。随着基于组件的软件工程理论与技术的发展,通过构建通用、统一和高效的应用组件以屏蔽工业软件系统开发过程中平台、系统、语言高度异构的问题,已成为复杂工业软件系统开发的一个重要趋势。
2、工业软件的跨域集成技术是一个亟待解决的问题。it域相比ot域,具有更高的灵活性与可扩展性,两者的融合可有效降低工业软件系统高复杂性,解决由于工业软件系统高异构性所带来的问题。然而,目前缺少覆盖软件与物联网嵌入式设备、智能制造设备等设备实体的通用、统一、高效的跨域工业软件通用服务组件模型,这成为了工业软件跨域集成技术发展的一大阻碍。其原因来自于多方面:大多数的工业场景依托于特定设备与系统供应商所提供的解决方案,而不同供应商所提供的硬件与软件彼此异构,难以定义通用的组件模型;it/ot域的软件开发方法彼此相对独立,在建模、应用程序编程接口(api)以及标准规范等方面差异很大,导致it/ot域的开发人员在进行跨域开发时存在困难;工业软件通用服务组件模型的构建既要适配it域的各类软件,也要适配ot域中的各类工业现场生产设备、物联网嵌入式设备等等,这其中包括设计组件结构、行为、组件互操作接口等多方面的兼容需求。因此,需要一种跨it/ot域的工业软件组件综合建模方法,具体表现为基于微服务架构的ot域工业软件组件建模及其代码生成方法。
技术实现思路
1、为了解决工业自动化领域缺乏通用、统一、高效的工业软件通用服务组件模型的问题,以及跨it/ot域的软件组件建模方法缺乏高效率应用开发手段的问题,本发明提供了一种基于微服务架构的ot域工业组件建模及其代码生成方法。该方法结合it域的微服务技术与ot域的iec 61499标准,提出了一套高效、灵活的ot域工业软件组件的通用模型,并利用代码生成器,打通了从ot域模型到it域程序实现的路线,形成了高效、低学习成本的开发环境。
2、本发明的目的是通过以下技术方案实现的:
3、一种基于微服务架构的ot域工业组件建模及其代码生成方法,包括如下步骤:
4、步骤1:基于微服务的ot域工业软件组件建模
5、步骤1.1:基于iec 61499标准对工业场景下的工业自动化应用进行建模,模型以基本功能块为单位,规定每一个基本功能块的外部行为和内部行为;
6、步骤1.2:将步骤1.1提出的模型进行面向微服务架构的功能与接口改造;
7、步骤1.3:通过步骤1.1、步骤1.2得到对应场景下的基于微服务的ot域工业软件组件,在ot域的开发环境下进行软件组件模型的运行与测试,验证其有效性;
8、步骤2:微服务程序代码生成
9、步骤2.1:获取步骤1中描述基本功能块组件的xml文件,利用代码生成器提取其中的有效信息;
10、步骤2.2:代码生成器按照微服务程序模板进行代码生成;
11、步骤2.3:根据代码生成器提供的注释,将代码生成器无法生成的部分代码进行补全;
12、步骤3:微服务程序运行
13、步骤3.1:将微服务程序项目进行封装;
14、步骤3.2:在运行环境中部署消息队列组件与服务注册与发现组件;
15、步骤3.3:在运行环境中部署各微服务程序。
16、相比于现有技术,本发明具有如下优点:
17、1、利用本发明可以为工业自动化领域提供通用、统一、高效的跨it/ot域工业软件通用服务组件模型。
18、2、利用本发明中提到的方法可以帮助开发人员使用代码生成器进行高效的工业自动化软件应用开发且学习成本较低。
1.一种基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述方法包括如下步骤:
2.根据权利要求1所述的基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述基本功能块的模型定义规则包括外部行为与内部行为,其中:
3.根据权利要求2所述的基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述基本功能块的外部行为与内部行为按照如下格式进行实现:
4.根据权利要求1所述的基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述改造要求如下所示:
5.根据权利要求1所述的基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述步骤2.1的具体步骤如下:获取4diac ide用于描述单个基本功能块组件的.fbt文件与描述组件应用的.sys文件,利用代码生成器提取其中的有效信息。
6.根据权利要求1所述的基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述微服务程序包括程序主体模块、状态机模块、消息队列模块和辅助模块四类模块。
7.根据权利要求6所述的基于微服务架构的ot域工业组件建模及其代码生成方法,其特征在于所述程序主体模块包括controller-service-mapper三层架构和若干辅助信息收发的类;状态机模块包括三个枚举变量类和三个状态机类,负责还原基本功能块有限状态机的逻辑;消息收发模块包括消息的生产者与消费者,负责还原基本功能块的消息输入与输出逻辑;辅助模块负责微服务应用程序中的数据同步辅助功能。