本申请公开了一种工业控制组态软件的功能块调用方法、装置、设备及存储介质,涉及工业控制领域,该方法包括:基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储;获取所述目标功能块对应的结构体变量,并基于组态逻辑对所述结构体变量进行写值;将所述目标功能块转换为C语言以得到相应的.c文件,并通过对所述.c文件中的C函数进行调用,以便所述.c文件通过编译模块生成控制器可执行文件,并基于所述控制器可执行文件实现工业控制器对所述目标功能块的调用,以完成相应的工业控制流程。可见,本申请解决了将IEC逻辑转换为C语言过程中,功能块的存储与功能块调用的问题。调用的问题。调用的问题。
【技术实现步骤摘要】
工业控制组态软件的功能块调用方法、装置、设备及介质
[0001]本专利技术涉及工业控制领域,特别涉及一种工业控制组态软件的功能块调用方法、装置、设备及存储介质。
技术介绍
[0002]随着工业控制系统应用的深入,在面临规模更大、控制更复杂的控制系统时,人们逐渐意识到原有的上位机编程的开发方式,对项目来说是费时费力、得不偿失的,同时,管理信息系统和计算机集成制造系统的大量应用,要求工业现场企业的生产,经营、决策提供更详细和深入的数据,以便优化企业生产经营中的各个环节。因此,近些年来,组态软件在国内的应用逐渐得到普及。从组态逻辑到在控制器中运行这个过程,是一个控制系统的核心问题。现有技术中,IEC组态完成后需要将IEC逻辑下装到控制器,部分软件将IEC逻辑转换为语法树,再将语法树转换为二进制码下装到控制器。将IEC逻辑转换为语法树主要有两个缺点,一、一段简单的组态逻辑转换成语法树会生成很多的节点,不易查看;二、转换为语法树不能实现断点调试功能。
技术实现思路
[0003]有鉴于此,本专利技术的目的在于提供一种工业控制组态软件的功能块调用方法、装置、设备及存储介质,能够解决将IEC逻辑转换为C语言时功能块的存储以及功能块调用的问题。其具体方案如下:
[0004]第一方面,本申请公开了一种工业控制组态软件的功能块调用方法,包括:
[0005]基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储;
[0006]获取所述目标功能块对应的结构体变量,并基于组态逻辑对所述结构体变量进行写值;
[0007]将所述目标功能块转换为C语言以得到相应的.c文件,并通过对所述.c文件中的C函数进行调用,以便所述.c文件通过编译模块生成控制器可执行文件,并基于所述控制器可执行文件实现工业控制器对所述目标功能块的调用,以完成相应的工业控制流程。
[0008]可选的,所述基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储,包括:
[0009]建立所述目标结构体的结构体变量与所述目标功能块的各个局部变量之间的一一对应关系,并基于所述一一对应关系以及利用所述目标结构体对所述目标功能块的局部变量的地址进行存储。
[0010]可选的,所述基于组态逻辑对所述结构体变量进行写值,还包括:
[0011]若组态逻辑中,所述目标功能块的输入变量以及输出变量没有被赋值,则不对所述结构体变量进行写值,并采取默认值。
[0012]可选的,所述将所述目标功能块转换为C语言以得到相应的.c文件,包括:
[0013]将所述目标功能块转换为C语言以得到相应的与所述目标功能块相关的目标头文件的.c文件。
[0014]可选的,与所述目标功能块相关的目标头文件,包括:所述目标功能块对应的头文件以及所述目标功能块的逻辑所调用的函数对应的头文件。
[0015]可选的,所述将所述目标功能块转换为C语言以得到相应的.c文件,包括:
[0016]将所述目标功能块转换为C语言以得到相应的.c文件,并且,所述.c文件中的C函数为返回值为空并且入参为所述目标功能块对应的所述结构体变量及强制地址偏移的函数。
[0017]可选的,所述强制地址偏移,包括:强制标记存储的地址与变量地址的相对偏移。
[0018]第二方面,本申请公开了一种工业控制组态软件的功能块调用装置,包括:
[0019]功能块存储模块,用于基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储;
[0020]变量写值模块,用于获取所述目标功能块对应的结构体变量,并基于组态逻辑对所述结构体变量进行写值;
[0021]函数调用模块,用于将所述目标功能块转换为C语言以得到相应的.c文件,并通过对所述.c文件中的C函数进行调用,以便所述.c文件通过编译模块生成控制器可执行文件,并基于所述控制器可执行文件实现工业控制器对所述目标功能块的调用,以完成相应的工业控制流程。
[0022]第三方面,本申请公开了一种电子设备,包括:
[0023]存储器,用于保存计算机程序;
[0024]处理器,用于执行所述计算机程序以实现前述的工业控制组态软件的功能块调用方法。
[0025]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的工业控制组态软件的功能块调用方法。
[0026]由上可知,本申请在进行工业控制组态软件的功能块调用时,先基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储;获取所述目标功能块对应的结构体变量,并基于组态逻辑对所述结构体变量进行写值;将所述目标功能块转换为C语言以得到相应的.c文件,并通过对所述.c文件中的C函数进行调用,以便所述.c文件通过编译模块生成控制器可执行文件,并基于所述控制器可执行文件实现工业控制器对所述目标功能块的调用,以完成相应的工业控制流程。可见,由于功能块调用采用转C与转语法数进行比较,转C更易查看,更简洁,且可在visual studio中进行调试,具有跨平台,易维护的优点。本申请重点解决了将IEC逻辑转换为C语言时功能块存储以及功能块调用的问题。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0028]图1为本申请提供的一种工业控制组态软件的功能块调用方法流程图;
[0029]图2为本申请提供的功能块调用的转C流程示意图;
[0030]图3为本申请提供的一种具体的工业控制组态软件的功能块调用方法流程图;
[0031]图4为本申请提供的结构体成员与功能块局部变量对应规则示意图;
[0032]图5为本申请提供的一种工业控制组态软件的功能块调用装置结构示意图;
[0033]图6为本申请提供的一种电子设备结构图。
具体实施方式
[0034]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]现有技术中,IEC组态完成后需要将IEC逻辑下装到控制器,部分软件将IEC逻辑转换为语法树,再将语法树转换为二进制码下装到控制器。将IEC逻辑转换为语法树主要有两个缺点,一、一段简单的组态逻辑转换成语法树会生成很多的节点,不易查看;二、转换为语法树不能实现断点调试功能。为了解本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种工业控制组态软件的功能块调用方法,其特征在于,包括:基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储;获取所述目标功能块对应的结构体变量,并基于组态逻辑对所述结构体变量进行写值;将所述目标功能块转换为C语言以得到相应的.c文件,并通过对所述.c文件中的C函数进行调用,以便所述.c文件通过编译模块生成控制器可执行文件,并基于所述控制器可执行文件实现工业控制器对所述目标功能块的调用,以完成相应的工业控制流程。2.根据权利要求1所述的功能块调用方法,其特征在于,所述基于预设存储规则利用目标结构体存储工业控制组态软件中目标功能块的局部变量的地址,以完成对所述目标功能块的存储,包括:建立所述目标结构体的结构体变量与所述目标功能块的各个局部变量之间的一一对应关系,并基于所述一一对应关系以及利用所述目标结构体对所述目标功能块的局部变量的地址进行存储。3.根据权利要求1所述的功能块调用方法,其特征在于,所述基于组态逻辑对所述结构体变量进行写值,还包括:若组态逻辑中,所述目标功能块的输入变量以及输出变量没有被赋值,则不对所述结构体变量进行写值,并采取默认值。4.根据权利要求1所述的功能块调用方法,其特征在于,所述将所述目标功能块转换为C语言以得到相应的.c文件,包括:将所述目标功能块转换为C语言以得到相应的与所述目标功能块相关的目标头文件的.c文件。5.根据权利要求4所述的功能块调用方法,其特征在于,与所述目标功能块相关的目标头文件,包括:所述目标功能块对应...
【专利技术属性】
技术研发人员:穆璀,
申请(专利权)人:杭州和利时自动化有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。