CN106707848A - 一种控制系统的控制程序组织结构和下载方法 - Google Patents

一种控制系统的控制程序组织结构和下载方法 Download PDF

Info

Publication number
CN106707848A
CN106707848A CN201611092079.0A CN201611092079A CN106707848A CN 106707848 A CN106707848 A CN 106707848A CN 201611092079 A CN201611092079 A CN 201611092079A CN 106707848 A CN106707848 A CN 106707848A
Authority
CN
China
Prior art keywords
controller
program
configuration
module
control program
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
Application number
CN201611092079.0A
Other languages
English (en)
Other versions
CN106707848B (zh
Inventor
杨大胜
赵锋
陈根
潘再生
沈天扬
童庆
唐艳丽
项江宽
周海敏
朱冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo zhongkong Microelectronics Co.,Ltd.
Original Assignee
ZHEJIANG SUPCON RESEARCH Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZHEJIANG SUPCON RESEARCH Co Ltd filed Critical ZHEJIANG SUPCON RESEARCH Co Ltd
Priority to CN201611092079.0A priority Critical patent/CN106707848B/zh
Publication of CN106707848A publication Critical patent/CN106707848A/zh
Application granted granted Critical
Publication of CN106707848B publication Critical patent/CN106707848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23146Programmable, reconfigurable via microprocessor or coding switches

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及工业控制系统技术领域,特别涉及一种控制系统的控制程序组织结构和下载方法,控制系统包含控制器和组态软件,控制器内固化有运行管理内核,在组态软件的后台系统中存放有程序模块库,程序模块库以加密的可链接文件方式存放于组态软件中,组态软件的前台由用户进行用户组态程序的编程及下载;运行管理内核、程序模块库、用户组态程序及数据组成控制程序;控制器和组态软件之间通过下载接口进行控制程序的通讯及交互。由于本发明中控制程序模块库存放于组态软件后台,仅在下载后将组态程序实际使用的控制程序模块下载存储到控制器中,不但简化了控制器内的程序结构,使程序的调度管理更加快速可靠,还减小了控制器的存储资源压力。

Description

一种控制系统的控制程序组织结构和下载方法
技术领域
本发明涉及工业控制系统技术领域,特别涉及一种控制系统的控制程序组织结构和下载方法。
背景技术
随着自动控制技术的发展,控制系统已经越来越多的应用在各个行业领域中,技术需求也由于细分市场的不同而大相径庭。在过程控制等领域控制系统(如DCS)的规模越来越大的同时,如微型PLC等小型或者微型的控制器也在加工制造、车载控制、机器人等方面有着越来越多的应用,且有着进一步微型化、集成化的趋势。如业内已有了集控制功能、控制算法、工业通讯在单芯片上实现的片上控制模块芯片(CMC芯片)。
虽然控制系统的规模和功能越来越差异化,但是结构上仍是以控制设备+控制组态监控软件为主。控制设备包括控制器、输入输出模块以及联接控制器和I/O的通信总线。用户通过控制组态软件进行编程组态,将用户组态程序下载到控制器中,以实现所要执行的控制功能,并通过监控软件进行数据监控和诊断。
传统的控制系统将各种基本控制程序模块(如功能块、功能函数、控制算法以及工业通讯协议栈)固化存放在控制器中,用户根据其开放的功能块列表选择所需要的功能块进行控制程序的编程。控制器在执行过程中遇到功能块即直接从存储器中调用该功能块固化程序执行。即在这种控制系统的控制程序组织结构中,程序模块库完全固化在控制器中,用户只可以通过组态编程选择调用其中的各个程序模块。
为了满足控制系统对所有目标用户的各种功能需求,程序模块库是设计的庞大而丰富的,包含了从基本功能块、功能函数到高级控制算法和工业通信协议栈等诸多内容。但是实际使用过程中,针对单独的用户,会使用到的程序模块并不会多。这就导致了控制器中储存和管理了大量没有实际使用的程序模块。对于存储资源丰富的控制器而言,这不会带来什么问题。但对于为求成本优势而使存储资源非常有限的微型控制器或者CMC控制芯片而言,过多地空闲程序模块可能会造成控制器其它功能缺失或性能受限。
另一方面,传统控制系统将程序模块库全部固化在控制器中的方式,使得更新程序模块库必然要求到达工业现场对控制器的固化程序进行整体更新,这对于控制器的版本维护和用户组态工程的保护都是不利的。根据各种工业现场环境、安全等级以及设备嵌入设计的不同,这种程序模块库的升级是难以操作实施的。
发明内容
本发明的目的在于针对传统控制系统的控制程序组织结构及下载方式的不足,设计一种新的控制程序组织结构及下载方法,以减小微型控制器的程序存储资源压力,并提升控制器的程序模块库升级功能。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种控制系统的控制程序组织结构,控制系统包含控制器和组态软件,其中,
控制器内固化有运行管理内核,
在所述的组态软件的后台系统中存放有程序模块库,程序模块库以加密的可链接文件方式存放于组态软件中,组态软件的前台由用户进行用户组态程序的编程及下载;
所述的运行管理内核、程序模块库、用户组态程序及数据组成控制程序;
控制器和组态软件之间通过下载接口进行控制程序的通讯及交互。
进一步地,所述的用户组态程序经下载后,控制器中包含用户组态程序经过编译而形成的用户组态数据,以及用户组态程序中所使用的程序模块经过编译而形成的程序模块目标文件,而不包含用户组态程序中未使用的程序模块目标文件。
进一步地,所述的程序模块库包含符合可编程逻辑控制器标准的基本功能块、功能函数、高级控制算法、工业通讯协议栈的功能程序模块库。
一种控制系统的控制程序组织结构的下载方法,所述的下载方法包括以下步骤:
A.组态软件下载被用户组态程序所调用的所有控制程序模块,以可重定位文件的链接形式向控制器发送模块链接请求,从而链接至控制器的运行管理内核;
B.组态软件下载用户组态程序至控制器,并在下载完成后,启动运行用户组态程序。
进一步地,用户在组态软件中配置目标控制器型号及目标控制器通道连接参数,并在组态软件的前台中编写用户组态程序,从而形成用户组态程序所调用的所有控制程序模块。
进一步地,上述的一种控制系统的控制程序组织结构的下载方法中步骤A具体为:
A1.组态软件预编译用户编写的用户组态程序,自动查找并汇总用户组态程序中所调用和关联的所有控制程序模块,生成控制程序模块依赖列表,判断控制程序模块依赖列表是否全部支持,如果是,则分配模块号,建立索引;如果否,预编译不通过,报错;
A2.组态软件将所调用和关联的控制程序模块进行编译和链接,形成一个可被再次链接的可重定位文件;
A3.组态软件通过下载通道将可重定位文件下载到控制器中的固定存储地址,并向控制器发送模块链接请求;
A4.控制器收到模块链接请求,完成运行管理内核对目标文件的动态加载和链接。
进一步地,所述的控制程序模块依赖列表中每一个被调用的控制程序模块都包含模块名、模块号及模块标识符,组态软件根据所选控制器型号判断模块依赖列表中的控制程序模块是否全部被支持;
如果发现存在不被目标控制器支持的控制程序模块,则组态软件停止编译并输出错误信息,等待用户更正;
如果所有的控制程序模块都能被支持,则组态软件会给组态程序中每个模块调用的地址分配控制器所支持的模块号,然后继续编译用户组态程序;
如果模块依赖列表中的控制程序模块和用户组态程序指令都正确,编译完成后组态软件将会对模块依赖列表中各个关联模块进行链接,生成一个可被再次链接的可重定位文件;否则组态软件停止编译并输出错误信息,等待用户更正。
进一步,所述的组态软件对可重定位文件进行链接测试,确保其执行功能、链接后内存占用大小符合要求,然后向可重定位文件的固定位置写入生成的CRC32校验值,链接测试通过后组态软件利用新建组态工程时已经配置好的下载通道将该可重定位文件下载到控制器中,下载完成后再向控制器发送控制程序模块链接请求。
进一步,所述的控制器接收到组态软件的模块链接请求后完成对已下载的可重定位文件进行动态加载,所述的动态加载过程包括以下步骤:
a)可重定位文件校验:比对当前可重定位文件的文件类型、CPU平台、编译器版本,确保控制器能够支持所需的控制程序模块的加载,然后计算整个可重定位文件的CRC32校验值,并与可重定位文件头部对应字段校验值进行对比,结果一致则表示该模块完整可信,能够加载到当前控制器中运行空间中;
b)分配运行空间:根据可重定位文件的代码段、只读数据段、数据段、未初始化变量段等段的大小之和分配相应的RAM空间,为所需的控制程序模块提供最终的加载地址和运行地址;
c)符号解析和重定位:遍历需要重定位的符号,并按照控制器CPU的指令修正表对可重定位文件的符号地址进行修正;
d)导出各控制程序模块符号地址:导出每个被组态程序调用到的控制程序模块入口地址,形成一个控制程序模块符号索引列表,以供用户组态程序调用的控制程序模块能够时快速定位并执行。
进一步,所述的步骤B具体为:
B1.组态软件编译用户组态程序,形成运行管理内核所能识别的用户组态数据文件;
B2.组态软件通过下载通道将用户组态数据文件下载到控制器中的固定存储地址,并向控制器发送下载完成消息;
B3.控制器收到下载完成消息,进行组态数据的整理,就绪后等待用户的操作命令。
本发明由于采用以上技术方案,使之与传统的控制系统将各种基本控制程序模块固化存放在控制器中相比,具有以下的优点和积极效果:
1.将所有控制程序模块库存放于组态软件后台,仅在下载后将组态程序实际使用的控制程序模块下载存储到控制器中,使控制器中没有多余无用的程序,不但简化了控制器内的程序结构,使程序的调度管理更加快速可靠,还减小了控制器的存储资源压力,非常适用于微型PLC、片上控制系统等对成本、资源有苛刻要求的控制器设计;
2.对于在控制器的支持的功能块、控制算法、通信协议等方面,由于本发明将所有这些控制程序模块库存放于组态软件后台,需要对控制器进行控制功能升级时,仅在控制室(甚至是网络远程)对组态软件后台数据进行升级即可,而不需要到控制器安装现场拆盖再用程序烧写工具对控制器固化软件进行升级,显著简化了控制器的功能升级难度和工作量,提升控制系统的智能性;
3.控制器内只固化了设备自身运行所需的管理程序,而不固化存储任何程序模块库,程序模块只在被需要使用时才下载到控制器设备中,同时,程序模块又与用户组态程序独立下载和存放,避免过度耦合而影响内核程序的稳定性;
4.控制方法中的下载过程总体分为两个子过程,根据用户编写的用户组态程序先下载被用户组态程序所调用的所有控制程序模块,动态链接到控制器的运行管理内核;而后再为下载用户组态程序,并在下载完成后,启动运行用户组态程序,从而实现控制程序的运行,下载过程稳定高效;
5.在预编译的中生成控制程序模块依赖列表,程序模块依赖列表根据控制程序模块一一对应的模块名、模块号及模块标识符生成索引,能自动查找所关联或依赖的其他程序模块,通过编译、链接、测试通过后,形成一个可被再次链接的可重定位文件,以保证控制系统的下载过程安全可靠;
6.能根据用户的操作命令实现清除、更新、停止、启动及调试,清除和更新组态程序的同时控制器能自动清除已加载和链接的程序模块,显著提高了控制系统的智能性。
附图说明
图1是本发明组织结构示意图;
图2是本发明中用户组态程序下载前的组织结构示意图;
图3是本发明中用户组态程序下载后的组织结构示意图;
图4是本发明控制方法中步骤A的流程示意图;
图5是本发明控制方法中步骤B的流程示意图。
具体实施方式
为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请见图1,本发明公开了一种控制系统中控制程序的组织结构,其控制系统主要包含(但不限于)控制器和组态软件。控制程序包含控制器的运行管理内核、程序模块库和用户组态程序。控制器和组态软件之间通过下载接口进行控制程序的通讯及交互。其中,程序模块库指包含了如IEC61131规范的基本功能块、功能函数、各类高级控制算法、各类工业通讯协议栈等的功能程序模块库。
该控制程序组织结构中,用户组态程序下载前,控制器仅固化了其运行管理内核,而不固化任何程序模块库;程序模块库以加密的可链接文件方式存放于组态软件的后台系统中;用户通过组态软件前台的组态界面进行用户组态程序的编程和下载。用户组态程序下载前的程序组织结构如图2所示。
该控制程序组织结构中,用户组态程序下载后,控制器中包含用户组态程序经过编译而形成的用户组态数据,以及用户组态程序中所使用的程序模块经过编译而形成的程序模块目标文件,而不包含用户组态程序中未使用的程序模块目标文件。用户组态程序下载后的程序组织结构如图3所示。
本发明进一步公开了一种控制程序的下载方法,该下方法主要包括两个下载过程,下载过程一为下载被用户组态程序所调用的所有控制程序模块,动态链接到控制器的运行管理内核;下载过程二为下载用户组态程序,并在下载完成后,启动即可运行用户组态程序。以下根据具体实施例对该下载过程进行具体说明。
实施例1
为实现用户组态程序的编译、下载、运行,用户首先需要在组态软件中新建组态工程,配置好目标控制器型号,目标控制器通道连接参数等信息,然后在组态软件中完成组态程序的编写,编译完成后组态软件通过下载通道将生成的文件下载到控制器设备并运行,该过程具体包括以下步骤,
A:下载被用户组态程序所调用的所有控制程序模块(本实施例中为ELF格式文件),以可重定位文件的链接形式向控制器发送模块链接请求,从而链接至控制器的运行管理内核;
B:下载用户组态程序(本实施例中为可执行二进制格式文件)至控制器,并在下载完成后,启动运行用户组态程序。
步骤A的具体步骤如下,其流程示意图请参见图4:
用户在组态软件中编写的组态程序中可包含控制器控制程序模块(包括各种功能块、功能函数、控制算法以及工业通讯协议栈等)。在编译用户组态程序时,组态软件预编译用户编写的用户组态程序,自动查找并汇总用户组态程序中所调用和关联的所有控制程序模块,生成控制程序模块依赖列表,模块依赖列表中每一个被调用的控制程序模块都包含模块名,模块号,模块标识符3项元素;组态软件根据所选控制器型号判断模块依赖列表中的控制程序模块是否全部被支持。
如果发现存在不被目标控制器支持的控制程序模块,则组态软件停止编译并输出错误信息,等待用户更正;
如果所有的控制程序模块都能被支持,则组态软件会给用户组态程序中每个模块调用的地址分配控制器所支持的模块号,建立索引,然后继续编译用户组态程序;
如果模块依赖列表中的控制程序模块和用户组态程序指令都正确,编译完成后组态软件将会对控制程序模块依赖列表中各个关联模块进行链接,生成一个可被再次链接的可重定位文件;否则组态软件停止编译并输出错误信息,等待用户更正;
为保证上述的可重定位文件可以被正确链接,组态软件对该可重定位文件进行链接测试,确保其执行功能、链接后内存占用大小等符合要求,然后向该文件固定位置写入生成的CRC32校验值;
链接测试通过后组态软件利用新建组态工程时已经配置好的下载通道将该可重定位文件下载到控制器指定Flash空间中,下载完成后再向控制器发送控制程序模块链接请求。在本实施例中,Flash空间总大小为2MB,其中地址范围为0x100000-0x17FFFF共512KB的Flash空间用于存储可重定位文件。
控制器接收到组态软件的模块链接请求后完成对已下载的可重定位文件的动态加载。
动态加载过程包括可重定位文件校验、分配运行空间、符号解析和重定位、导出各控制程序模块符号地址。
a)可重定位文件校验:可重定位文件校验过程中,控制器的动态加载模块首先需要比对当前可重定位文件的文件类型、CPU平台、编译器版本等信息,确保控制器能够支持所需的控制程序模块的加载,然后计算整个可重定位文件的CRC32校验值,并与该文件头部对应字段校验值进行对比,如结果一致则表示该模块完整可信,能够加载到当前控制器中运行空间中;
b)分配运行空间:分配运行空间过程根据可重定位文件的代码段、只读数据段(通常包括常量、字符串等信息)、数据段、未初始化变量段等段的大小之和,分配相应的RAM空间,为各个模块提供最终的加载地址和运行地址;
c)符号解析和重定位:这一子过程主要工作为遍历需要重定位的符号,并按照控制器CPU的指令修正表对可重定位文件的符号地址进行修正;由于不同控制器采用的CPU型号多样,每种CPU采用的编译器所对应的指令修正方式也都各不相同,因此控制器的动态加载模块严格依赖于可重定位文件校验过程,以确保重定位结果的正确;
d)导出各控制程序模块符号地址:导出各控制程序模块符号地址是整个动态加载过程的最后一步,其目的是导出每个被组态程序调用到的控制程序模块入口地址,形成一个控制程序模块符号索引列表,以供用户组态程序调用上述控制程序模块能够时快速定位并执行。
以上过程完成下载被用户组态程序所调用的所有控制程序模块,并动态链接到控制器的运行管理内核。
步骤B的具体步骤如下,其流程示意图请参见图5:
组态软件编译完用户组态程序之后,除了根据用户组态程序的模块依赖列表生成的控制程序模块重定位文件之外,还会生成一个控制器运行管理内核能够识别的可执行、二进制的用户组态数据文件;该组态程序文件所调用的控制程序模块号与步骤A过程中所生成的控制程序模块依赖列表中生成的模块号一致。
同控制程序模块中的可重定位文件下载一样,组态软件也会通过下载通道将上述组态程序文件下载到控制器中的指定的存储地址。下载完成后向控制器发送下载完成消息。在本实施例中,地址范围为0x180000-0x1BFFFF共256KB的Flash空间用于存储可执行、二进制的用户组态数据文件。
控制器接收到下载完成消息后对用户组态数据文件进行校验,校验通过之后进行组态数据的整理,包括组态程序数据段、映射区的空间申请,组态任务分配等操作。以上操作完成后通知组态软件控制器已经就绪,等待用户操作命令,控制器就绪之后,用户即可可以通过用户组态软件运行清除命令、更新命令、停止命令、启动命令、调试命令。
当控制器收到组态软件下发的清除命令后,首先判断当前是否处于运行状态,如果是,则终止当前组态程序的运行,清除已分配的组态任务、回收已经申请的内存空间,然后清除已经加载到控制器中的控制程序模块。
当控制器收到组态软件下发的更新组态程序命令后,在完成上面清除组态程序命令所执行的操作之后,按照步骤A和步骤B分别下载控制程序模块重定位文件和用户组态数据文件,并动态加载到控制器中。
当控制器收到组态软件下发的停止命令后,终止当前正在运行的组态程序,关闭对应的输入输出功能,清除组态任务运行状态。
当控制器收到组态软件下发的启动命令后,控制器先判断当前组态程序是否已经更新,如果组态程序已经更新,则初始化所有组态程序变量值,设置已分配的组态任务运行参数,然后从组态程序的第一条指令开始执行。否则控制器不执行操作,输出相关信息并等待用户更新组态程序。
组态软件生成的组态程序文件在执行过程中,如果遇到控制程序模块调用,会向运行管理内核发送包含控制程序模块号的请求,用于执行对应的控制程序模块。运行管理内核在已加载的控制程序模块符号索引列表中查找对应模块的入口地址并执行,执行完毕后继续运行下一条组态程序。
另外,可以把步骤A和步骤B合并,进行文件的统一编译和单次下载,如将用户组态程序先编译为可链接的ELF格式文件,与控制程序模块库先链接后进行下载,再与运行管理内核进行链接,理论上也可以实现控制程序的运行,但这种方案中用户组态程序和内核程序的耦合度过高,可能会影响到内核程序的稳定。而本发明方案中,用户组态程序编译后为独立的可执行文件格式,与内核程序采用标准的接口进行调用。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种控制系统的控制程序组织结构,其特征在于,控制系统包含控制器和组态软件,其中,
控制器内固化有运行管理内核,
在所述的组态软件的后台系统中存放有程序模块库,程序模块库以加密的可链接文件方式存放于组态软件中,组态软件的前台由用户进行用户组态程序的编程及下载;
所述的运行管理内核、程序模块库、用户组态程序及数据组成控制程序;
控制器和组态软件之间通过下载接口进行控制程序的通讯及交互。
2.根据权利要求1所述的一种控制系统的控制程序组织结构,其特征在于,所述的用户组态程序经下载后,控制器中包含用户组态程序经过编译而形成的用户组态数据,以及用户组态程序中所使用的程序模块经过编译而形成的程序模块目标文件,而不包含用户组态程序中未使用的程序模块目标文件。
3.根据权利要求1所述的一种控制系统的控制程序组织结构,其特征在于,所述的程序模块库包含符合可编程逻辑控制器标准的基本功能块、功能函数、高级控制算法、工业通讯协议栈的功能程序模块库。
4.一种控制系统的控制程序组织结构的下载方法,其特征在于,所述的下载方法包括以下步骤:
A.组态软件下载被用户组态程序所调用的所有控制程序模块,以可重定位文件的链接形式向控制器发送模块链接请求,从而链接至控制器的运行管理内核;
B.组态软件下载用户组态程序至控制器,并在下载完成后,启动运行用户组态程序。
5.根据权利要求4所述的一种控制系统的控制程序组织结构的下载方法,其特征在于,用户在组态软件中配置目标控制器型号及目标控制器通道连接参数,并在组态软件的前台中编写用户组态程序,从而形成用户组态程序所调用的所有控制程序模块。
6.根据权利要求4所述的一种控制系统的控制程序组织结构的下载方法,其特征在于,所述的步骤A具体为:
A1.组态软件预编译用户编写的用户组态程序,自动查找并汇总用户组态程序中所调用和关联的所有控制程序模块,生成控制程序模块依赖列表,判断控制程序模块依赖列表是否全部支持,如果是,则分配模块号,建立索引;如果否,预编译不通过,报错;
A2.组态软件将所调用和关联的控制程序模块进行编译和链接,形成一个可被再次链接的可重定位文件;
A3.组态软件通过下载通道将可重定位文件下载到控制器中的固定存储地址,并向控制器发送模块链接请求;
A4.控制器收到模块链接请求,完成运行管理内核对目标文件的动态加载和链接。
7.根据权利要求6所述的一种控制系统的控制程序组织结构的下载方法,其特征在于,所述的控制程序模块依赖列表中每一个被调用的控制程序模块都包含模块名、模块号及模块标识符,组态软件根据所选控制器型号判断模块依赖列表中的控制程序模块是否全部被支持;
如果发现存在不被目标控制器支持的控制程序模块,则组态软件停止编译并输出错误信息,等待用户更正;
如果所有的控制程序模块都能被支持,则组态软件会给组态程序中每个模块调用的地址分配控制器所支持的模块号,然后继续编译用户组态程序;
如果模块依赖列表中的控制程序模块和用户组态程序指令都正确,编译完成后组态软件将会对模块依赖列表中各个关联模块进行链接,生成一个可被再次链接的可重定位文件;否则组态软件停止编译并输出错误信息,等待用户更正。
8.根据权利要求6所述的一种控制系统的控制程序组织结构的下载方法,其特征在于,所述的组态软件对可重定位文件进行链接测试,确保其执行功能、链接后内存占用大小符合要求,然后向可重定位文件的固定位置写入生成的CRC32校验值,链接测试通过后组态软件利用新建组态工程时已经配置好的下载通道将该可重定位文件下载到控制器中,下载完成后再向控制器发送控制程序模块链接请求。
9.根据权利要求6所述的一种控制系统的控制程序组织结构的下载方法,其特征在于,所述的控制器接收到组态软件的模块链接请求后完成对已下载的可重定位文件进行动态加载,所述的动态加载过程包括以下步骤:
a)可重定位文件校验:比对当前可重定位文件的文件类型、CPU平台、编译器版本,确保控制器能够支持所需的控制程序模块的加载,然后计算整个可重定位文件的CRC32校验值,并与可重定位文件头部对应字段校验值进行对比,结果一致则表示该模块完整可信,能够加载到当前控制器中运行空间中;
b)分配运行空间:根据可重定位文件的代码段、只读数据段、数据段、未初始化变量段等段的大小之和分配相应的RAM空间,为所需的控制程序模块提供最终的加载地址和运行地址;
c)符号解析和重定位:遍历需要重定位的符号,并按照控制器CPU的指令修正表对可重定位文件的符号地址进行修正;
d)导出各控制程序模块符号地址:导出每个被组态程序调用到的控制程序模块入口地址,形成一个控制程序模块符号索引列表,以供用户组态程序调用的控制程序模块能够时快速定位并执行。
10.根据权利要求4所述的一种控制系统的控制程序组织结构的下载方法,其特征在于,所述的步骤B具体为:
B1.组态软件编译用户组态程序,形成运行管理内核所能识别的用户组态数据文件;
B2.组态软件通过下载通道将用户组态数据文件下载到控制器中的固定存储地址,并向控制器发送下载完成消息;
B3.控制器收到下载完成消息,进行组态数据的整理,就绪后等待用户的操作命令。
CN201611092079.0A 2016-12-01 2016-12-01 一种控制系统的控制程序组织结构和下载方法 Active CN106707848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611092079.0A CN106707848B (zh) 2016-12-01 2016-12-01 一种控制系统的控制程序组织结构和下载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611092079.0A CN106707848B (zh) 2016-12-01 2016-12-01 一种控制系统的控制程序组织结构和下载方法

Publications (2)

Publication Number Publication Date
CN106707848A true CN106707848A (zh) 2017-05-24
CN106707848B CN106707848B (zh) 2019-02-15

Family

ID=58935395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611092079.0A Active CN106707848B (zh) 2016-12-01 2016-12-01 一种控制系统的控制程序组织结构和下载方法

Country Status (1)

Country Link
CN (1) CN106707848B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108459853A (zh) * 2018-02-05 2018-08-28 中用科技有限公司 对自动控制系统中控制器进行编程的方法和系统
CN108490895A (zh) * 2018-02-28 2018-09-04 上海福赛特自动化系统有限公司 一种生产线控制方法及系统、存储介质及工业pc
CN109189099A (zh) * 2018-11-09 2019-01-11 福州大学 一种四旋翼无人机的图形化控制组态方法
CN109839903A (zh) * 2017-11-27 2019-06-04 大族激光科技产业集团股份有限公司 多任务在线切割控制方法、系统以及激光切割设备
CN111522540A (zh) * 2020-05-04 2020-08-11 诸暨市天洁电子科技有限公司 一种plc模块化编程方法、装置、计算机设备和存储介质
CN112241141A (zh) * 2020-11-12 2021-01-19 上海电气风电集团股份有限公司 Plc控制系统的硬件配置方法、系统、设备及介质
CN112286144A (zh) * 2019-07-24 2021-01-29 北京国电智深控制技术有限公司 一种组态方法及系统、计算机可读存储介质
CN112328270A (zh) * 2020-11-27 2021-02-05 杭州和利时自动化有限公司 基于多控制器的组态程序安装方法、装置、设备及介质
CN112596485A (zh) * 2020-12-22 2021-04-02 浙江中控技术股份有限公司 一种工业控制系统中组态数据封装及重用的方法和装置
CN113110853A (zh) * 2021-03-15 2021-07-13 杭州康吉森自动化科技有限公司 一种组态数据在线下载方法、装置及电子设备
CN113568398A (zh) * 2021-09-26 2021-10-29 西安热工研究院有限公司 一种分散控制系统组态删除方法和系统
CN114115023A (zh) * 2021-11-24 2022-03-01 中清睿(厦门)环境科技有限公司 一种实现avc组态文件的识别和运行的方法
CN116125919A (zh) * 2022-12-27 2023-05-16 南京联控自动化工程有限公司 分离机plc接入dcs系统的方法
CN117590791A (zh) * 2024-01-17 2024-02-23 宁波中控微电子有限公司 具有多种输入输出模式的运动控制片上系统及其控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102608947A (zh) * 2012-03-23 2012-07-25 浙江大学 一种可编程控制系统及组态程序控制方法
CN103529743A (zh) * 2013-10-15 2014-01-22 北京四方继保自动化股份有限公司 一种用于在线修改控制系统逻辑算法程序的方法
CN104516731A (zh) * 2013-09-27 2015-04-15 昆山耐特康托软件科技有限公司 基于单片机的快速原型开发实现方法
US20150185724A1 (en) * 2013-12-27 2015-07-02 Azbil Corporation Facility controlling system, controller, downloading method, and software changing method
WO2015101235A1 (en) * 2014-01-02 2015-07-09 Tencent Technology (Shenzhen) Company Limited Method, device and system for updating software configuration parameters
CN105117210A (zh) * 2015-07-28 2015-12-02 苏州大学 一种面向wscn的图形化编程系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102608947A (zh) * 2012-03-23 2012-07-25 浙江大学 一种可编程控制系统及组态程序控制方法
CN104516731A (zh) * 2013-09-27 2015-04-15 昆山耐特康托软件科技有限公司 基于单片机的快速原型开发实现方法
CN103529743A (zh) * 2013-10-15 2014-01-22 北京四方继保自动化股份有限公司 一种用于在线修改控制系统逻辑算法程序的方法
US20150185724A1 (en) * 2013-12-27 2015-07-02 Azbil Corporation Facility controlling system, controller, downloading method, and software changing method
WO2015101235A1 (en) * 2014-01-02 2015-07-09 Tencent Technology (Shenzhen) Company Limited Method, device and system for updating software configuration parameters
CN105117210A (zh) * 2015-07-28 2015-12-02 苏州大学 一种面向wscn的图形化编程系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王慧丽: "功能块编程技术研究与组态软件设计", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109839903A (zh) * 2017-11-27 2019-06-04 大族激光科技产业集团股份有限公司 多任务在线切割控制方法、系统以及激光切割设备
CN109839903B (zh) * 2017-11-27 2020-08-14 大族激光科技产业集团股份有限公司 多任务在线切割控制方法、系统以及激光切割设备
CN108459853A (zh) * 2018-02-05 2018-08-28 中用科技有限公司 对自动控制系统中控制器进行编程的方法和系统
CN108490895A (zh) * 2018-02-28 2018-09-04 上海福赛特自动化系统有限公司 一种生产线控制方法及系统、存储介质及工业pc
CN109189099B (zh) * 2018-11-09 2021-07-13 福州大学 一种四旋翼无人机的图形化控制组态方法
CN109189099A (zh) * 2018-11-09 2019-01-11 福州大学 一种四旋翼无人机的图形化控制组态方法
CN112286144A (zh) * 2019-07-24 2021-01-29 北京国电智深控制技术有限公司 一种组态方法及系统、计算机可读存储介质
CN112286144B (zh) * 2019-07-24 2022-03-15 北京国电智深控制技术有限公司 一种组态方法及系统、计算机可读存储介质
CN111522540A (zh) * 2020-05-04 2020-08-11 诸暨市天洁电子科技有限公司 一种plc模块化编程方法、装置、计算机设备和存储介质
CN112241141A (zh) * 2020-11-12 2021-01-19 上海电气风电集团股份有限公司 Plc控制系统的硬件配置方法、系统、设备及介质
CN112328270A (zh) * 2020-11-27 2021-02-05 杭州和利时自动化有限公司 基于多控制器的组态程序安装方法、装置、设备及介质
CN112596485A (zh) * 2020-12-22 2021-04-02 浙江中控技术股份有限公司 一种工业控制系统中组态数据封装及重用的方法和装置
CN112596485B (zh) * 2020-12-22 2022-05-27 浙江中控技术股份有限公司 一种工业控制系统中组态数据封装及重用的方法和装置
CN113110853A (zh) * 2021-03-15 2021-07-13 杭州康吉森自动化科技有限公司 一种组态数据在线下载方法、装置及电子设备
CN113110853B (zh) * 2021-03-15 2023-05-30 杭州康吉森自动化科技有限公司 一种组态数据在线下载方法、装置及电子设备
CN113568398A (zh) * 2021-09-26 2021-10-29 西安热工研究院有限公司 一种分散控制系统组态删除方法和系统
CN114115023A (zh) * 2021-11-24 2022-03-01 中清睿(厦门)环境科技有限公司 一种实现avc组态文件的识别和运行的方法
CN116125919A (zh) * 2022-12-27 2023-05-16 南京联控自动化工程有限公司 分离机plc接入dcs系统的方法
CN117590791A (zh) * 2024-01-17 2024-02-23 宁波中控微电子有限公司 具有多种输入输出模式的运动控制片上系统及其控制方法

Also Published As

Publication number Publication date
CN106707848B (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN106707848A (zh) 一种控制系统的控制程序组织结构和下载方法
CN104155972B (zh) 工程机械电子控制器参数调试方法
CN102053831B (zh) 一种Linux操作系统的定制方法及系统
CN105786549B (zh) 智能设备及其升级方法
CN107193593B (zh) 一种可升级文件的升级方法、机顶盒和存储介质
CN109814884A (zh) 一种根据游戏资源类型进行资源管理的方法及系统
CN103577308B (zh) 移动设备的日志文件的获取方法
CN109002033B (zh) 基于uds的自动化标定系统及方法
CN109656597A (zh) 固件升级方法、装置及计算机可读存储介质
CN105577475A (zh) 自动化性能测试系统及方法
CN101937356B (zh) 一种编译WebKit浏览器的方法及装置
CN104679532A (zh) 内核模块加载方法和装置
CN108563579A (zh) 白盒测试方法、装置、系统及存储介质
CN107122219A (zh) 安装文件的获取方法和装置
CN105487909B (zh) 一种减少电力设备固件升级量的方法
CN108182078B (zh) 一种优化的弹载设备不拆弹软件在线升级方法
CN109933521A (zh) 基于bdd的自动化测试方法、装置、计算机设备及存储介质
CN104516809A (zh) 一种自动化测试系统及方法
CN104133699A (zh) 设备系统软件升级方法与系统
CN105591779A (zh) 网元巡检方法及装置
CN110119282A (zh) 一种基于通用嵌入式计算机的物联网终端及系统
CN107729040A (zh) 一种单片机的iap方法及系统
CN107797823A (zh) 业务规则管理方法、装置、存储介质和计算机设备
CN108255735A (zh) 关联环境测试方法、电子装置及计算机可读存储介质
CN104536398A (zh) 一种变频器监控方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180212

Address after: 310053 Binjiang District, Hangzhou, Hangzhou, Zhejiang Province, No. six and No. 309 F16

Applicant after: Zhejiang Jay core technology Co., Ltd.

Address before: 310053 Hangzhou Province, Binjiang District Province, No. six and No. 309 Road, the center of science and Technology Park (high tech Zone) ()

Applicant before: Zhejiang Supcon Research Co., Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200722

Address after: 315000 room (1-1-178), No. 150, Changpu Road, jishigang Town, Haishu District, Ningbo City, Zhejiang Province

Patentee after: Ningbo zhongkong Microelectronics Co.,Ltd.

Address before: 310053 Binjiang District, Hangzhou, Hangzhou, Zhejiang Province, No. six and No. 309 F16

Patentee before: Zhejiang Jay core technology Co.,Ltd.