CN106933568A - 一种组态软件系统及一种工业控制方法 - Google Patents
一种组态软件系统及一种工业控制方法 Download PDFInfo
- Publication number
- CN106933568A CN106933568A CN201710072095.1A CN201710072095A CN106933568A CN 106933568 A CN106933568 A CN 106933568A CN 201710072095 A CN201710072095 A CN 201710072095A CN 106933568 A CN106933568 A CN 106933568A
- Authority
- CN
- China
- Prior art keywords
- program
- file
- input data
- interface file
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000007726 management method Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 21
- 238000013523 data management Methods 0.000 claims description 8
- 230000008520 organization Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000010354 integration Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000001012 protector Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种组态软件系统及一种工业控制方法,其中所述组态软件系统包括:工程管理模块和程序仿真模块,其中:所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
Description
技术领域
本发明涉及工业控制技术领域,尤其涉及一种组态软件系统及一种工业控制方法。
背景技术
国际电工委员会(International Electrotechnical Commission,IEC)61131标准已经在工业控制领域进行了应用,基于IEC61131-3标准的工控组态软件是工控系统中重要注册部分,组态软件的易用性是影响工程实施效率的重要因素。已有的工控组态软件存在如下问题:软件只适用于windows平台下运行,不支持在Linux下运行,而在核电等安全高的领域,通常需要运行在Linux环境下。并且现有的组态软件只支持单装置程序开发,不支持管理多个装置,不同装置编辑切换维护麻烦。组态软件划分多个独立进程,例如物理硬件配置工具、输入输出(In Output,IO)配置工具、编译工具、调试工具等,相关工具的交互配合不顺畅,风格容易不统一。
发明内容
有鉴于此,本发明实施例期望提供一种组态软件系统及一种工业控制方法,解决了现有技术方案中组态软件只支持单装置程序开发,不支持管理多个装置的问题,实现了一个组态软件系统管理多个装置目的,能够提高系统的集成度以及工程实施的便利性。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种组态软件系统,所述系统包括工程管理模块和程序仿真模块,其中:
所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;
所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
第二方面,本发明实施例提供一种工业控制方法,所述方法包括:
确定第一装置的组态配置信息,其中,所述第一装置与组态软件系统已建立连接;
根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;
将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;
将所述运行结果确定为第二装置的输入数据,其中,所述第二装置与组态软件系统已建立连接;
将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;
输出所述运行结果。
本发明实施例提供一种组态软件系统及一种工业控制方法,所述组态软件系统包括工程管理模块和程序仿真模块,其中:所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。本发明实施例中提供的组态软件系统可以同时管理多个装置,并且在系统内完成装置间的数据交互,如此能够提高系统的集成度以及工程实施的便利性。
附图说明
图1为本发明实施例一组态软件系统的组成结构示意图;
图2为本发明实施例二组态软件系统的组成结构示意图;
图3为本发明实施例二程序编辑子系统中两层界面容器示意图;
图4-1为本发明实施例三组态软件系统的组成结构示意图;
图4-2为本发明实施例三工程管理层次树结构示意图;
图4-3为本发明实施例三程序仿真子系统的组成结构示意图;
图5为本发明实施例四工业控制方法的实现流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例一
为了解决背景技术中存在的技术问题,本发明实施例提供一种组态软件系统,图1为本发明实施例一组态软件系统的组成结构示意图,如图1所示,所述组态软件系统100包括工程管理模块101和程序仿真模块102,其中:
所述工程管理模块101,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息。
这里,所述工程管理模块101进一步包括:数据管理单元和层次结构显示单元,其中:
所述数据管理单元,用于管理至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息。
这里,所述组态配置信息至少包括组态配置数据,且在实际应用中所述组态配置数据可以是按照配置-资源-程序组织单元(Program Organization Unit,POU)等层次结构组织的
所述层次结构显示单元,用于分层次地显示所述至少包括第一装置的组态配置信息。
这里,在实际应用中所述层次结构显示单元支持划分若干子目录显示装置节点,在装置节点下第一层子节点为数据类型定义子节点、逻辑POU子节点、物理硬件子节点、通信服务配置子节点。物理硬件子节点支持创建多个资源,每个资源下可创建多个等级的任务节点,在任务节点下可将实例化逻辑POU。
所述程序仿真模块102,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
这里,所述程序仿真模块102进一步包括:初始化加载单元、任务管理单元、系统库单元和虚拟数据单元,其中:
所述初始化加载单元,用于读取或加载所述接口文件;
所述任务管理单元,用于创建任务、解析或运行程序组织单元实例;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
所述系统库单元,用于提供实现IEC定义的函数和功能块以及所述系统自带的功能块的代码;
所述虚拟数据单元,用于根据所述第一装置的组态配置信息,确定所述第一装置的输入参数的属性信息;根据所述第一装置的输入参数的属性信息,生成虚拟的所述第一装置的输入数据和全局变量数据。
本发明实施例提供一种组态软件系统,所述组态软件系统包括工程管理模块和程序仿真模块,其中:所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。本发明实施例中提供的组态软件系统可以同时管理多个装置,并且在系统内完成装置间的数据交互,如此能够提高系统的集成度以及工程实施的便利性,并且能够提高数据处理的效率。
实施例二
基于前述的实施例,本发明实施例再提供一种组态软件系统,图2为本发明实施例二组态软件系统的组成结构示意图,如图2所示,所述组态软件系统200包括:工程管理模块201、程序编辑模块202、程序处理模块203、程序调试模块204和程序仿真模块205,其中:
所述工程管理模块201,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息。
这里,所述工程管理模块201进一步包括:数据管理单元和层次结构显示单元,其中:
所述数据管理单元,用于管理至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息。
这里,所述组态配置信息至少包括组态配置数据,且在实际应用中所述组态配置数据可以是按照配置-资源-POU等层次结构组织的
所述层次结构显示单元,用于分层次地显示所述至少包括第一装置的组态配置信息。
这里,在实际应用中所述层次结构显示单元支持划分若干子目录显示装置节点,在装置节点下第一层子节点为数据类型定义子节点、逻辑POU子节点、物理硬件子节点、通信服务配置子节点。物理硬件子节点支持创建多个资源,每个资源下可创建多个等级的任务节点,在任务节点下可将实例化逻辑POU。
所述程序编辑模块202,用于基于第一操作新建一个第一装置的程序编辑文件;接收在所述程序编辑文件中的输入信息;将所述输入信息编辑成符合IEC标准的程序语言;
这里,所述程序编辑模块202主要用于将用户的输入信息编辑成符合IEC标准的程序语言。所述程序编辑模块202可以包括但不限于:IEC61131-3标准定义的指令表(Instruction List,IL)编辑器、功能块图(Function Block Diagram,FBD)编辑器、结构化文本(Structured Text,ST)编辑器、顺序功能图(Sequential Function Chart,SFC)编辑器、梯形图(Ladder Diagram,LD)编辑器。
每个装置可以创建一个主窗体,每个装置的主窗体下可创建管理多个编辑配置界面,主窗体可设置为多窗口、标签、栈式容器模式管理显示子界面。窗体之间通过消息总线或QT的signal-slot(信号-槽)交互内容。如图3所示,301为装置1的主窗体,302为装置2的主窗体,303为装置1内界面容器的窗体。
所述程序处理模块203,用于基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件;
这里,所述程序处理模块203进一步包括:中间指令处理单元和C代码处理单元,其中:
所述中间指令处理单元,用于判断所述第二操作是否用于指示将所述程序语言转换为中间指令文件;如果所述第二操作是用于指示将所述程序语言转换为中间指令文件,则将所述程序语言转换为中间指令文件;
所述C代码处理单元,用于如果所述第二操作不是用于指示将所述程序语言转换为中间指令文件;则将所述程序语言转换为C代码;将所述C代码编译为目标文件;
所述中间指令处理单元和所述C代码处理单元均具备IEC编程语言的语法、语义检测和报错功能。
在本发明实施例中,所述程序处理模块203支持按照POU为单位形成中间指令,适用于在线不停机更新场合,也支持形成C代码,适用于需要快速运行的场合,提高了产物形成的可选择性和灵活性。
所述程序调试模块204,用于基于第三操作将所述接口文件下载到所述第一装置中。
这里,所述程序调试模块204与所述程序编辑模块相连202,并在程序编辑模块中显示和修改装置的变量值,进一步地,所述程序调试模块204采用跨平台ACE通信库开发,获取相关POU的断面数据报文后,对于采用FBD、LD语言编写的POU,在符号的输入输出管脚连线上显示变量的值。对于采用SFC、ST、IL语言编写的POU,其程序的变量采用表格显示实际值。其中,在报文中获取SFC各个步的状态,对于当前活动步标红显示。
所述程序仿真模块205,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
这里,所述程序仿真模块205进一步包括:初始化加载单元、任务管理单元、系统库单元和虚拟数据单元,其中:
所述初始化加载单元,用于读取或加载所述接口文件;
所述任务管理单元,用于创建任务、解析或运行程序组织单元实例;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
所述系统库单元,用于提供实现IEC定义的函数和功能块以及所述系统自带的功能块的代码;
所述虚拟数据单元,用于根据所述第一装置的组态配置信息,确定所述第一装置的输入参数的属性信息;根据所述第一装置的输入参数的属性信息,生成虚拟的所述第一装置的输入数据和全局变量数据。
本发明实施例提供一种组态软件系统,所述组态软件系统包括工程管理模块和程序仿真模块,其中:所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。本发明实施例中提供的组态软件系统可以同时管理多个装置,并且在系统内完成装置间的数据交互,如此能够提高系统的集成度以及工程实施的便利性,并且能够提高数据处理的效率。
实施例三
本发明实施例再提供一种组态软件系统,图4为本发明实施例三组态软件系统的组成结构示意图,如图4-1所示,所述组态软件系统400包括:工程管理子系统401、程序编辑子系统402、程序处理子系统403、程序仿真子系统404和程序调试子系统405,其中:
所述工程管理子系统401,用于管理和层次化显示多个装置的组态配置;
这里,所述工程管理子系统401是个层次树形结构,所述工程管理子系统又进一步划分为数据管理单元、层次结构显示单元。其中:
所述数据管理单元,用于管理多台装置数据。
在实际应用中,如图4-2所示装置数据按照421配置-422资源-423POU等层次结构组织。
所述层次结构显示单元,用于层次化地显示多个装置的组态配置。
所述层次结构显示单元支持划分若干子目录显示装置节点,在装置节点下第一层子节点为数据类型定义子节点、逻辑POU子节点、物理硬件子节点、通信服务配置子节点。物理硬件子节点支持创建多个资源,每个资源下可创建多个等级的任务节点,在任务节点下可将实例化逻辑POU。
所述程序编辑子系统402,是用于编辑符合IEC61131-3标准语言的编辑器;
这里,所述的程序编辑子系统402,包括IEC61131-3标准定义的IL编辑器、FBD编辑器、ST编辑器、SFC编辑器、LD编辑器。每个装置创建一个主窗体,每个装置的主窗体下可创建管理多个编辑配置界面,主窗体可设置为多窗口、标签、栈式容器模式管理显示子界面。
所述程序处理子系统403,将61131-3语言转换为实际装置或虚拟装置运行所需的接口文件,包括二进制中间指令、C代码并编译为目标文件;
这里,所述程序处理子系统403进一步包括:中间指令处理子单元、C代码处理子单元。
所述中间指令处理子单元,用于将IEC61131-3标准定义的各种语言编译转换为中间指令数据。
所述C代码处理子单元,用于将IEC61131-3标准定义的各种语言转换为C代码并调用编译器形成目标文件。
所述中间指令处理子单元和所述C代码处理子单元均具备IEC61131-3的语法、语义检测报错功能。
在实际应用中,可基于Lex-Yacc、Flex-Bison实现IEC61131的ST结构化文本、IL指令表文本的词法扫描和语法扫描功能,形成语义树后,输出中间指令或C代码。对于图形化的FBD、LD、SFC的图形文件,读取图形文件后,通过拓扑排序后形成调用顺序链,输出函数调用指令或代码。
所述程序仿真子系统404,用于在个人计算机(Personal Computer,PC)虚拟加载接口文件并运行;
这里,所述程序仿真子系统404,在PC机可以虚拟若干台装置,包括初始化加载子单元4041、任务管理子单元4042、系统库子单元4043、虚拟数据子单元4044。其中:
所述初始化加载子单元,用于读取中间指令文件或加载二进制目标文件。
所述任务管理子单元,用于创建多个任务,解析或运行POU实例。
所述系统库子单元,用于提供固化了的IEC61131-3定义的函数和功能块、系统自带的功能块的代码实现。
所述虚拟数据子单元,用于生成虚拟的输入输出(In Out,IO)数据和全局变量数据。
所述程序调试子系统405,用于连接实际或虚拟装置并下载接口文件,在程序编辑子系统中的语言编辑器中显示和修改装置变量值。
这里,所述程序调试子系统405,采用跨平台自适配通信环境(AdaptiveCommunication Environment,ACE)通信库开发,获取相关POU的断面数据报文后,对于采用FBD、LD语言编写的POU,在符号的输入输出管脚连线上显示变量的值。对于采用SFC、ST、IL语言编写的POU,其程序的变量采用表格显示实际值。其中,在报文中获取SFC各个步的状态,对于当前活动步标红显示。
上述系统基于C++语言和跨平台QT/ACE库开发,支持在Windows/Linux操作系统下运行。
该组态软件系统的操作步骤可以包括:点击工程管理子系统的相关节点,展现程序编辑的子窗体界面,可在工程管理相关节点上新建、删除相关内容。保存程序编辑子系统形成的语言数据后,可调用程序处理子系统形成接口文件,并获取程序处理子系统返回的错误和告警信息,双击提示信息可定位到某个编辑子界面。将程序编辑子系统形成的接口文件通过程序调试子系统下载到实际或虚拟装置,程序仿真子系统加载接口文件,运行程序。程序调试子系统连接程序仿真子系统,通过报文交换,获取变量值,并发给程序编辑子系统展示。
本实施例提供的组态软件系统采用跨平台C++/QT库开发,一处代码,可编译成不同环境下运行的软件系统,提高了开发效率。支持1个工程管理和层次化显示多个装置的组态配置,提高了工程实施的便利性。按照分层的界面管理,装置之间的编辑器不会冲突,装置内的子界面可平行显示。程序处理子系统支持按照POU为单位形成中间指令,适用于在线不停机更新场合,也支持形成C代码,适用于需要快速运行的场合,提高了产物形成的可选择性和灵活性。相关功能集成到1个软件中,提高了集成度和便利性。
实施例四
本发明实施例提供一种工业控制方法,图5为本发明实施例四工业控制方法的实现流程示意图,如图5所示,所述方法包括以下步骤:
步骤S501,确定第一装置的组态配置信息;
这里,步骤S501确定第一装置的组态配置信息可以是组态软件系统实现的。所述组态软件系统至少与所述第一装置和第二装置建立连接。
所述第一装置和所述第二装置可以是实体装置,例如传感器(如温度传感器、压力传感器)、执行器、电动仪表、电机保护器等装置。
所述第一装置和所述第二装置还可以是虚拟装置,例如虚拟的传感器、虚拟的执行器、虚拟的电动仪表等。
所述组态配置信息可以通过读取第一装置的组态配置文件中的内容获取到组态配置信息表的名称,在通过查询数据库确定第一装置的配置信息。
所述组态配置信息包括但不限于是:数据类型、全局变量、物理硬件、IO配置等信息。
步骤S502,根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;
这里,步骤S502进一步包括:
步骤S5021,根据所述第一装置的组态配置信息,确定所述第一装置的输入参数的属性信息;
步骤S5022,根据所述第一装置的输入参数的属性信息从实时采集到的数据中获取所述第一装置的输入数据;或者,
步骤S5023,根据所述第一装置的输入参数的属性信息,生成虚拟的所述第一装置的输入数据。
步骤S503,将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;
这里,比如所述第一装置是压力传感器,根据从实时采集到的数据中获取该第一装置的输入数据并将输入数据输入到所述第一装置中的接口文件,进而运行所述接口文件,得到运行结果。这一运行结果可以是一个压力值。
步骤S504,将所述运行结果确定为所述第二装置的输入数据;
这里,所述第一装置和所述第二装置在所述组态软件系统中都拥有一个主窗体,每个装置的主窗体下可创建管理多个编辑配置界面,主窗体可设置为多窗口、标签、栈式容器模式管理显示子界面。窗体之间通过消息总线或QT的signal-slot交互内容。也就是说,所述第一装置和所述第二装置之间可以通过消息总线或QT的signal-slot进行数据间的通信,比如,将步骤S503中得到的压力值确定为所述第二装置的输入数据,这时,所述第二装置可以是一个过压保护器。
步骤S505,将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;
这里,也就是将步骤S503得到的压力值输入至所述第二装置中的接口文件中,并运行所述接口文件得到运行结果。
步骤S506,输出所述运行结果。
在本发明实施例提供的工业控制方法中,首先确定所述第一装置的组态配置信息;再根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;然后将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;并将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。组态软件系统可以同时管理多个装置,并且在系统内完成装置间的数据交互,如此能够提高系统的集成度以及工程实施的便利性,并且能够提高数据处理的效率。
实施例五
基于前述的实施例,本发明实施例再提供一种工业控制方法,所述方法包括以下步骤:
第一步、组态软件系统确定第一装置的组态配置信息;
这里,所述组态软件系统至少与所述第一装置和第二装置建立连接。
第二步、所述组态软件系统根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;
第三步、所述组态软件系统基于第一操作新建一个第一装置的程序编辑文件;
这里,在所述组态软件系统中每个装置都可以创建一个主窗体,每个装置的主窗体下可以创建管理多个编辑配置界面。用户或者是所述组态软件系统的管理员可以做出用于创建程序编辑文件的第一操作,所述组态软件系统基于所述第一操作新建一个第一装置的程序编辑文件。
第四步、所述组态软件系统接收在所述程序编辑文件中的输入信息;
这里,所述用户或者管理员在第三步中新建的程序编辑文件中输入程序,所述组态软件系统接收所述用户或管理员的输入信息。
第五步、所述组态软件系统将所述输入信息编辑成符合IEC标准的程序语言;
这里,更具体地,所述组态软件系统将所述输入信息编辑成符合IEC61131-3标准的程序语言。
第六步、所述组态软件系统基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件;
这里,所述组态软件系统基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件进一步包括:
判断所述第二操作是否用于指示将所述程序语言转换为中间指令文件;
如果所述第二操作是用于指示将所述程序语言转换为中间指令文件,则将所述程序语言转换为中间指令文件;
如果所述第二操作不是用于指示将所述程序语言转换为中间指令文件;则将所述程序语言转换为C代码;
将所述C代码编译为目标文件。
在本发明实施例中,可以基于第二操作将程序语言转换为中间指令文件,适用于在线不停机更新场合,也可以将程序语言转换为形成C代码目标文件,适用于需要快速运行的场合,这样,提高了接口文件形成的可选择性和灵活性。
当然,所述组态软件系统基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件时有可能会有语法或语义错误,因此,第六步所述组态软件系统基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件还可以包括:
判断是否检测到语义错误或语法错误;
如果检测到语义错误或语法错误,输出错误信息;
接收基于所述错误信息做出的第五操作;其中,所述第五操作用于对所述程序语言进行修改;
基于所述第五操作将所述修改后程序语言转化成装置运行所需要的接口文件。
第七步、所述组态软件系统基于第三操作将所述接口文件下载到所述第一装置中。
第八步、所述组态软件系统将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;
第九步、所述组态软件系统将所述运行结果确定为所述第二装置的输入数据;
第十步、所述组态软件系统将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;
第十一步、所述组态软件系统输出所述运行结果。
需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参考其它实施例中的描述,此处不再赘述。
在本发明实施例提供的工业控制方法中,首先确定所述第一装置的组态配置信息;再根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;然后将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;并将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。组态软件系统可以同时管理多个装置,并且在系统内完成装置间的数据交互,如此能够提高系统的集成度以及工程实施的便利性,并且能够提高数据处理的效率。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种组态软件系统,其特征在于,所述系统包括:工程管理模块和程序仿真模块,其中:
所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;
所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。
2.根据权利要求1中所述的组态软件系统,其特征在于,所述工程管理模块包括数据管理单元和层次结构显示单元,其中:
所述数据管理单元,用于管理至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;
所述层次结构显示单元,用于分层次地显示所述至少包括第一装置的组态配置信息。
3.根据权利要求1中所述的系统,其特征在于,所述程序仿真模块包括初始化加载单元、任务管理单元、系统库单元和虚拟数据单元,其中:
所述初始化加载单元,用于读取或加载所述接口文件;
所述任务管理单元,用于创建任务、解析或运行程序组织单元实例;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果;
所述系统库单元,用于提供实现国际电工委员会IEC定义的函数和功能块以及所述系统自带的功能块的代码;
所述虚拟数据单元,用于根据所述第一装置的组态配置信息,确定所述第一装置的输入参数的属性信息;根据所述第一装置的输入参数的属性信息,生成虚拟的所述第一装置的输入数据和全局变量数据。
4.根据权利要求1中所述的系统,其特征在于,所述系统还包括:
程序编辑模块,用于基于第一操作新建一个第一装置的程序编辑文件;接收在所述程序编辑文件中的输入信息;将所述输入信息编辑成符合IEC标准的程序语言;
程序处理模块,用于基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件;
程序调试模块,用于基于第三操作将所述接口文件下载到所述第一装置中。
5.根据权利要求4中所述的系统,其特征在于,所述程序处理模块,包括中间指令处理单元和C代码处理单元,其中:
所述中间指令处理单元,用于判断所述第二操作是否用于指示将所述程序语言转换为中间指令文件;如果所述第二操作是用于指示将所述程序语言转换为中间指令文件,则将所述程序语言转换为中间指令文件;
所述C代码处理单元,用于如果所述第二操作不是用于指示将所述程序语言转换为中间指令文件;则将所述程序语言转换为C代码;将所述C代码编译为目标文件,其中,所述中间指令处理单元和所述C代码处理单元均具备IEC编程语言的语法、语义检测和报错功能。
6.一种工业控制方法,其特征在于,所述方法包括:
确定第一装置的组态配置信息,其中,所述第一装置与组态软件系统已建立连接;
根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;
将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;
将所述运行结果确定为第二装置的输入数据,其中,所述第二装置与所述组态软件系统已建立连接;
将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;
输出所述运行结果。
7.根据权利要求6中所述的方法,其特征在于,所述根据所述第一装置的组态配置信息,获取所述第一装置的输入数据包括:
根据所述第一装置的组态配置信息,确定所述第一装置的输入参数的属性信息;
根据所述第一装置的输入参数的属性信息从实时采集到的数据中获取所述第一装置的输入数据;或者,
根据所述第一装置的输入参数的属性信息,生成虚拟的所述第一装置的输入数据。
8.根据权利要求6中所述的方法,其特征在于,在所述将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果之前,所述方法还包括:
基于第一操作新建一个第一装置的程序编辑文件;
接收在所述程序编辑文件中的输入信息;
将所述输入信息编辑成符合IEC标准的程序语言;
基于第二操作将所述程序语言转换成所述第一装置运行所需要的接口文件;
基于第三操作将所述接口文件下载到所述第一装置中。
9.根据权利要求8中所述的方法,其特征在于,所述基于第二操作,将所述程序语言转换成所述第一装置运行所需要的接口文件,包括:
判断所述第二操作是否用于指示将所述程序语言转换为中间指令文件;
如果所述第二操作是用于指示将所述程序语言转换为中间指令文件,则将所述程序语言转换为中间指令文件;
如果所述第二操作不是用于指示将所述程序语言转换为中间指令文件;则将所述程序语言转换为C代码;
将所述C代码编译为目标文件。
10.根据权利要求8中所述的方法,其特征在于,所述基于第二操作,将所述程序语言转换成所述第一装置运行所需要的接口文件,还包括:
判断是否检测到语义错误或语法错误;
如果检测到语义错误或语法错误,输出错误信息;
接收基于所述错误信息做出的第五操作;其中,所述第五操作用于对所述程序语言进行修改;
基于所述第五操作将所述修改后程序语言转化成装置运行所需要的接口文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710072095.1A CN106933568B (zh) | 2017-02-07 | 2017-02-07 | 一种组态软件系统及一种工业控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710072095.1A CN106933568B (zh) | 2017-02-07 | 2017-02-07 | 一种组态软件系统及一种工业控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933568A true CN106933568A (zh) | 2017-07-07 |
CN106933568B CN106933568B (zh) | 2020-06-09 |
Family
ID=59424660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710072095.1A Active CN106933568B (zh) | 2017-02-07 | 2017-02-07 | 一种组态软件系统及一种工业控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933568B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804105A (zh) * | 2018-04-13 | 2018-11-13 | 南京南瑞继保电气有限公司 | 一种程序组织单元编译处理方法 |
CN109088759A (zh) * | 2018-08-09 | 2018-12-25 | 上海通群科技有限公司 | 一种智能网络知识共享系统 |
CN111752188A (zh) * | 2020-05-28 | 2020-10-09 | 南京南瑞继保电气有限公司 | 一种io组态方法及系统 |
CN114253230A (zh) * | 2021-11-25 | 2022-03-29 | 安徽巨一科技股份有限公司 | 一种基于工业组态软件的虚拟调试方法、系统、装置及其存储介质 |
CN114356403A (zh) * | 2021-12-17 | 2022-04-15 | 浙江中控技术股份有限公司 | 一种基于低代码应用开发的组态数据处理方法、装置和系统 |
CN115473943A (zh) * | 2022-08-15 | 2022-12-13 | 西门子(中国)有限公司 | 接口扩展方法、扩展接口使用方法、系统和存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061349A1 (en) * | 2001-09-24 | 2003-03-27 | George Lo | Method and system for collaboratively developing programming code for programmable controllers |
CN201145858Y (zh) * | 2007-12-14 | 2008-11-05 | 北京康拓科技开发总公司 | 一种基于工业组态的航天器测试设备 |
CN102801213A (zh) * | 2012-08-10 | 2012-11-28 | 广东省电力调度中心 | 一种变电站scd配置文件的集成方法和装置 |
CN103049551A (zh) * | 2012-12-27 | 2013-04-17 | 福州福大自动化科技有限公司 | 一种组态软件中数据库的数据点自动关联的方法 |
CN103473965A (zh) * | 2013-09-04 | 2013-12-25 | 青岛海信网络科技股份有限公司 | 轨道交通仿真培训方法及轨道交通仿真培训系统 |
CN203659328U (zh) * | 2013-06-28 | 2014-06-18 | 侯英明 | 一种多种plc组态式仿真实训装置 |
CN104765914A (zh) * | 2015-03-27 | 2015-07-08 | 国家电网公司 | 一种继电保护设备逻辑组态方法 |
CN104794300A (zh) * | 2015-04-29 | 2015-07-22 | 南京南瑞继保电气有限公司 | 一种iec 61850逻辑节点图形符号自动生成方法 |
CN104881358A (zh) * | 2015-05-28 | 2015-09-02 | 南京南瑞继保电气有限公司 | 一种程序仿真测试方法及系统 |
CN104898633A (zh) * | 2015-06-16 | 2015-09-09 | 中广核工程有限公司 | 一种核电厂非安全级dcs组态测试方法及系统 |
CN103135975B (zh) * | 2011-11-30 | 2015-09-23 | 福州福大自动化科技有限公司 | 控制策略组态的元件时序自动排列方法及其逻辑链接方法 |
EP2933976A1 (en) * | 2010-07-23 | 2015-10-21 | Saudi Arabian Oil Company | Integrated nodes and computer-implemented methods for data acquisition, verification and conditioning, and for remote subsystem control |
CN105005658A (zh) * | 2015-07-15 | 2015-10-28 | 国家电网公司 | 变电站综自系统设备逻辑仿真方法 |
CN106202149A (zh) * | 2016-06-22 | 2016-12-07 | 南京南瑞继保电气有限公司 | 一种iec61850模型文件转换方法 |
-
2017
- 2017-02-07 CN CN201710072095.1A patent/CN106933568B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061349A1 (en) * | 2001-09-24 | 2003-03-27 | George Lo | Method and system for collaboratively developing programming code for programmable controllers |
CN201145858Y (zh) * | 2007-12-14 | 2008-11-05 | 北京康拓科技开发总公司 | 一种基于工业组态的航天器测试设备 |
EP2933976A1 (en) * | 2010-07-23 | 2015-10-21 | Saudi Arabian Oil Company | Integrated nodes and computer-implemented methods for data acquisition, verification and conditioning, and for remote subsystem control |
CN103135975B (zh) * | 2011-11-30 | 2015-09-23 | 福州福大自动化科技有限公司 | 控制策略组态的元件时序自动排列方法及其逻辑链接方法 |
CN102801213A (zh) * | 2012-08-10 | 2012-11-28 | 广东省电力调度中心 | 一种变电站scd配置文件的集成方法和装置 |
CN103049551A (zh) * | 2012-12-27 | 2013-04-17 | 福州福大自动化科技有限公司 | 一种组态软件中数据库的数据点自动关联的方法 |
CN203659328U (zh) * | 2013-06-28 | 2014-06-18 | 侯英明 | 一种多种plc组态式仿真实训装置 |
CN103473965A (zh) * | 2013-09-04 | 2013-12-25 | 青岛海信网络科技股份有限公司 | 轨道交通仿真培训方法及轨道交通仿真培训系统 |
CN104765914A (zh) * | 2015-03-27 | 2015-07-08 | 国家电网公司 | 一种继电保护设备逻辑组态方法 |
CN104794300A (zh) * | 2015-04-29 | 2015-07-22 | 南京南瑞继保电气有限公司 | 一种iec 61850逻辑节点图形符号自动生成方法 |
CN104881358A (zh) * | 2015-05-28 | 2015-09-02 | 南京南瑞继保电气有限公司 | 一种程序仿真测试方法及系统 |
CN104898633A (zh) * | 2015-06-16 | 2015-09-09 | 中广核工程有限公司 | 一种核电厂非安全级dcs组态测试方法及系统 |
CN105005658A (zh) * | 2015-07-15 | 2015-10-28 | 国家电网公司 | 变电站综自系统设备逻辑仿真方法 |
CN106202149A (zh) * | 2016-06-22 | 2016-12-07 | 南京南瑞继保电气有限公司 | 一种iec61850模型文件转换方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804105A (zh) * | 2018-04-13 | 2018-11-13 | 南京南瑞继保电气有限公司 | 一种程序组织单元编译处理方法 |
CN108804105B (zh) * | 2018-04-13 | 2022-02-18 | 南京南瑞继保电气有限公司 | 一种程序组织单元编译处理方法 |
CN109088759A (zh) * | 2018-08-09 | 2018-12-25 | 上海通群科技有限公司 | 一种智能网络知识共享系统 |
CN111752188A (zh) * | 2020-05-28 | 2020-10-09 | 南京南瑞继保电气有限公司 | 一种io组态方法及系统 |
CN114253230A (zh) * | 2021-11-25 | 2022-03-29 | 安徽巨一科技股份有限公司 | 一种基于工业组态软件的虚拟调试方法、系统、装置及其存储介质 |
CN114356403A (zh) * | 2021-12-17 | 2022-04-15 | 浙江中控技术股份有限公司 | 一种基于低代码应用开发的组态数据处理方法、装置和系统 |
CN115473943A (zh) * | 2022-08-15 | 2022-12-13 | 西门子(中国)有限公司 | 接口扩展方法、扩展接口使用方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106933568B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933568B (zh) | 一种组态软件系统及一种工业控制方法 | |
US11681502B2 (en) | Industrial automation domain-specific language programming paradigm | |
CN111290778B (zh) | Ai模型的包装方法、平台及电子设备 | |
EP2169547B1 (en) | Compilation model for programmable logic controllers (PLC). | |
CN112631555A (zh) | 具有开放api的可扩展ide平台 | |
CN106648662B (zh) | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 | |
US8032232B2 (en) | Natively retaining project documentation in a controller | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN114840196B (zh) | Modelica语言模型处理方法、设备和存储介质 | |
CN101763043A (zh) | 用于自动化协同框架的方法和系统 | |
EP3751412A1 (en) | A computer-implemented method to generate an opc ua information model | |
CN104657142A (zh) | 一种基于OSGi技术的CCFD系统 | |
US20210365258A1 (en) | Method and system for updating legacy software | |
US11733977B2 (en) | Graphical and text based co-design editor for industrial automation projects | |
CN115390846A (zh) | 编译构建方法、装置、电子设备和存储介质 | |
JP2010176377A (ja) | Plcのプログラム変換ツール | |
EP4073626A1 (en) | Method and system for generating engineering diagrams in an engineering system | |
CN116933506A (zh) | 一种一次系统模型的电磁暂态封装建模方法、装置及介质 | |
Dai et al. | IEC 61499 ontology model for semantic analysis and code generation | |
CN117648081B (zh) | 一种可视化软件集成开发方法、系统及存储介质 | |
CN115576265B (zh) | Plc设备模拟方法、装置、设备以及存储介质 | |
KR102509859B1 (ko) | Plc 래더정보로부터 공용 명령어정보를 추출하는 장치 및 방법 | |
US20240264832A1 (en) | Industrial automation system topology with point to point business rule integration | |
US20240345809A1 (en) | Custom textual domain specific language describing an hmi application | |
US20240103851A1 (en) | Presentation design to automation device binding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |