CN100561384C - 控制系统组态的增量式在线下载方法 - Google Patents
控制系统组态的增量式在线下载方法 Download PDFInfo
- Publication number
- CN100561384C CN100561384C CNB2008100000557A CN200810000055A CN100561384C CN 100561384 C CN100561384 C CN 100561384C CN B2008100000557 A CNB2008100000557 A CN B2008100000557A CN 200810000055 A CN200810000055 A CN 200810000055A CN 100561384 C CN100561384 C CN 100561384C
- Authority
- CN
- China
- Prior art keywords
- configuration
- download
- configuration object
- downloaded
- control system
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种控制系统组态的增量式在线下载方法,包括如下步骤:固定各组态对象在控制器中的存储地址,并且解除所述各个组态对象之间的关联,以及设置各组态对象的版本标志,修改已解除关联的各组态对象,确定需要下载的已修改的组态对象,将已确定下载的各组态对象从工作站在线下载到控制器中的固定存储地址,更新已下载组态的版本标志。本发明可消除每次下载组态所造成的数据扰动,从而提高下载的安全性和准确性,确保控制系统运行的稳定性,更进一步的,实现了对下载动作的记录,便于追述下载历史。
Description
技术领域
本发明涉及工业自动化控制领域,特别涉及一种控制系统组态的增量式在线下载的方法。
背景技术
随着自动化控制行业的快速发展,控制系统在越来越多的领域得到应用,其规模也越来越大,因此随之对系统的安全性和可靠性也提出了更高的要求。在自动化控制中,尤其是在过程控制领域,要求系统能够连续、安全、稳定的运行,因此对其维护特别是在线维护的需求也日渐增大。
完成在线维护的任务必须解决在线修改组态、在线下载组态等问题。在线下载组态即联机情况下,可对控制组态进行修改,并将修改过的组态部分下载到控制器。在线下载作为实现在线维护的主要步骤,目前主要有整体下载与部分下载两种方式,来完成对控制系统的设置。一种是整体下载模式:将所有文件视为一个整体进行统一的重新下载。该方法既要下载修改过的组态部分,又要下载未修改过的组态部分,各组态对象之间具有相互调用关系,下载某一组态时容易造成与之关联的部分组态数据的跳变从而影响系统运行的稳定性,而且下载量大,所需时间长,效率低。另一种是部分下载模式:根据需要只下载修改的组态部分,无须下载未修改过的组态部分,这种下载方式就是增量式下载。
然而,现有技术增量式下载中,各组态对象在控制器的存储地址是随机的,一个组态的修改将引起其他未修改组态的存储地址的改变,导致调用该未修改组态时系统出错,无法下载,同时各组态对象之间相互关联,对一个组态对象的修改仍然会影响到其他组态对象的正常工作,下载某一组态时容易造成与之关联的部分组态数据的扰动从而不能保证下载的安全性,因此影响系统运行的稳定性和可靠性;另外,通常情况下,仅凭工程师的经验判断下载的组态内容,并不能充分保证下载的准确性;此外,现有技术缺乏对下载历史的记录,不方便对系统的维护。
发明内容
本发明提供了一种控制系统组态的增量式在线下载的方法,该方法能够消除每次下载组态所造成的数据扰动,从而提高下载的安全性和准确性,确保控制系统运行的稳定性,更进一步的,实现了对下载动作的记录,便于追述下载历史。
为此,本发明提供了一种控制系统组态的增量式在线下载方法,包括如下步骤:
固定各组态对象在控制器中的存储地址,并且解除所述各个组态对象之间的关联,以及设置各组态对象的版本标志;
修改已解除关联的各组态对象;
确定需要下载的已修改的组态对象;
将已确定下载的各组态对象从工作站在线下载到控制器中的固定存储地址;
更新已下载组态的版本标志。
确定需要下载的已修改的组态对象具体包括如下步骤:
比较所述控制器中存储的各组态对象的版本标志与其在工作站的版本标志是否一致,一致则不需下载,不一致则需要下载;
列出需要下载组态的详细清单,根据清单执行下载任务;
还包括如下步骤:修改组态后检测单个组态对象是否通过编译,如果否,则编译未编译的组态;如果是,则检测已编译的各组态对象之间的调用关系,如果未通过检测,则取消下载,如果通过检测,则开始确定需要下载的已修改的组态对象。
所述更新已下载组态的版本标志具体包括以下步骤:下载完成后验证是否所有需要下载的组态对象都下载成功,如果未成功,取消下载;如果成功,通知控制器更新组态版本标志。
下载过程中,按照固定的顺序下载各个组态对象,显示各个组态对象的下载执行情况。
修改组态在各组态对象界面下进行;编译、检测、下载和更新都在组态软件总界面下统一进行。
列出需要下载组态的清单后,工程师确认需要下载的组态的详细内容,然后交组态软件总界面控制开始执行下载任务。
更新已下载的组态版本标志后,记录并保存本次下载动作和内容。
与现有技术相比,本发明具有以下优点:编译、检测、下载和更新都通过组态软件总界面统一进行,减少了人为因素导致的错误,保障下载的准确性。将硬件组态、位号组态、用户程序等各部分组态固定在控制器中的内存特定地址,并隔绝了各部分组态对象之间的关联,能够消除下载组态造成的数据扰动,增强下载安全性。更进一步的,提供下载前的关联检测,对修改后各部分组态的调用关系进行检测,保证一个组态对象的修改不会影响到其他组态对象的正常工作,更加提高了下载的安全性。此外,每次下载都有下载记录保存,可以进行历史查看,追述所有的下载记录,方便对系统的维护。
附图说明
通过附图中所示的本发明的优选实施例的更具体说明,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。
图1是固定各组态对象内存地址的示意图;
图2是检测已修改各组态对象的流程示意图;
图3是在线下载已修改各组态对象的流程示意图;
图4是实施例一的流程示意图;
图5是实施例二的流程示意图;
图6是实施例三的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。所述示意图只是实例,其在此不应限制本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。
自动化控制系统在线修改组态后,为了保障一个组态对象的修改不会影响到其他组态对象的正常工作,消除从工程师站到控制站组态下载出错,首先本发明提出以下的方法解决:内存固定和解除关联。
所述内存固定是将控制器中组态数据区内存进行划分和管理,将组态对象固定在控制器数据区内存的相应位置。图1是固定各组态对象内存地址的示意图。参照图1所示,将组态对象与内存地址3绑定,当修改地址2的数据时,地址3固定不变,保证该组态对象不受其他组态对象修改的影响。
具体的说,硬件组态内存与I/O模块的逻辑地址绑定;位号的内存与位号ID一一对应;用户程序数据区内存大小固定,代码区大小可变,保障一个用户程序的修改不会移动其他用户程序在控制器内存中的位置。
同时本发明还解除了各部分组态对象之间的关联,使用户改动局部的组态时,控制器中的其他组态内存保持不变。具体的说,硬件组态与位号组态分离;组态划分成几个部分,如控制组态、用户程序、资源文件、硬件配置等各分成独立的模块;用户程序之间无法直接交互,只能通过I/O位号、页间变量、自定义变量交换数据;不同控制站之间通过站间通讯功能块进行数据交互。因此可分块进行编译和下载组态,分块的最小单位如下:硬件组态以一块(或冗余的一对)卡件为最小单位;位号组态以一个位号(通道)为最小单位;用户程序以一幅程序为最小单位。
为了确保下载的安全性和系统的稳定性,本发明采用下载前对各组态对象进行检测。图2是检测已修改各组态对象的流程示意图
参照图2所示,按照步骤201下载前检测单个组态对象是否通过编译,如果否,则按照步骤202编译未编译的组态;如果是,则进行下面的步骤203;接着按照步骤203检测通过编译的各组态对象之间的调用关系;然后按照步骤204检测经过编译的各组态对象的版本标志;最后按照步骤205根据检测的结果列出需要下载的组态的详细清单。
内存固定和解除关联实现了各部分组态对象的相对独立,隔绝了各部分组态对象之间的关联,保障一个组态对象的修改不会影响到其他组态对象的正常工作,通过检测性关联进一步确认已修改的组态,确保未修改的部分不下载。
检测后根据列出的下载内容详细清单在线下载。图3是在线下载已修改各组态对象的流程示意图。参照图3所示,按照步骤301下载硬件组态、位号组态和用户程序等各部分已修改的组态,按照步骤302由组态软件总界面验证是否所有需下载的组态都下载成功,如果未成功则按照步骤303可手工取消下载,如果成功则按照步骤304通知控制器更新组态版本。
以某现场修改组态、实施在线下载为例,描述本发明的具体实施方式。
实施例一
本发明所涉及的组态增量式在线下载方法是在联机情况下,可对组态对象进行修改,并在线下载修改过的组态部分。本实施例揭示该增量式下载方法的一般流程。
图4是本实施例的流程示意图。参照图4所示,具体过程如下:
首先,按照步骤401,划分控制器中组态数据区内存,将位号组态、硬件组态和用户程序等各组态对象分别固定存放在内存中特定的地址位置1、位置2、位置3,如修改硬件组态,其他组态对象内存地址位置1或3都固定不变,如图1所示。
其次,按照步骤402,解除存放于内存固定地址的各个组态对象之间的关联,具体的说,将硬件组态与位号组态分离,组态划分成几个部分,控制组态、用户程序、资源文件、硬件配置等各分成独立的模块;用户程序之间无法直接交互,只能通过I/O位号、页间变量、自定义变量交换数据;从而使修改硬件组态而不会影响其他的组态对象。
此时各个组态对象已经没有相互关联,分别设置各个组态对象的版本标志,该标志以后用来鉴别组态对象是否进行过修改和下载,如步骤403所示。
然后按照步骤404,在硬件组态软件中找到需要修改的模块AI721的第3通道,将其信号类型从电流信号改为电压信号,并对修改后的硬件组态进行保存。
修改后,如步骤405所示,关闭硬件组态软件,打开组态软件总界面。
在开始下载前,按照步骤406检测各个组态是否通过编译,先检测修改后的硬件组态,如果否,则编译未编译的硬件组态;如果是,则检测通过编译的各组态对象之间的调用关系;然后检测经过编译的各组态对象的版本标志;最后根据检测的结果列出需要下载的组态的详细清单。
根据以上列出的需要下载组态的详细清单,将需要下载的硬件组态部分从工程师站在线下载到控制器,如步骤407所示。在该增量式下载中仅下载修改的组态及与其关联的组态部分内容;下载结束后,由组态软件总界面验证是否所有需下载的组态都下载成功,如果未成功则可手工取消下载,如果成功则通知控制器更新组态版本。
最后按照步骤408更新已下载的硬件组态的版本标志,以便下次下载的检测。
实施例二
为方便对系统的维护,进行有效的下载管理,本实施例在组态下载完成后记录并保存下载动作,以便进行历史查看,追述所有的下载记录。
图5是本实施例的流程示意图。参照图5所示,过程具体如下:
首先,按照步骤501,划分控制器中组态数据区内存,将硬件组态、位号组态和用户程序等各组态对象分别固定存放在内存中特定的地址位置1、位置2、位置3,如修改位号组态,其他组态对象内存地址位置1或3都固定不变,如图1所示。
其次,按照步骤502,解除存放于内存固定地址的各个组态对象之间的关联,具体的说,将硬件组态与位号组态分离,组态划分成几个部分,控制组态、用户程序、资源文件、硬件配置等各分成独立的模块;用户程序之间无法直接交互,只能通过I/O位号、页间变量、自定义变量交换数据;从而使修改位号组态而不会影响其他的组态对象。
此时各个组态对象已经没有相互关联,分别设置各个组态对象的版本标志,该标志以后用来鉴别组态对象是否进行过修改和下载,如步骤503所示。
然后按照步骤504,在位号组态软件中找到需要修改的位号AO00357,将其工程单位从升改为毫升,对修改后的位号组态进行保存。
修改后,如步骤505所示,关闭位号组态软件,打开组态软件总界面。
下载前,按照步骤506检测各个组态是否通过编译,先检测修改后的位号组态,如果否,则编译未编译的硬件组态;如果是,则检测通过编译的各组态对象之间的调用关系;然后检测经过编译的各组态对象的版本标志;最后根据检测的结果列出需要下载的组态的详细清单。
根据以上列出的需要下载组态的详细清单,将需要下载的位号组态部分从工程师站在线下载到控制器,如步骤507所示。在该增量式下载中仅下载修改的位号组态及与其关联的组态部分内容;下载结束后,由组态软件总界面验证是否所有需下载的组态都下载成功,如果未成功则可手工取消下载,如果成功则通知控制器更新组态版本。
然后按照步骤508更新已下载的位号组态的版本标志,以便下次下载的检测。
最后记录并保存本次下载动作和内容,以便进行历史查看,追述所有的下载记录,如步骤509所示。
实施例三
以上实施例可保证在线下载的安全性,消除下载时的数据扰动,为进一步提高下载的安全性和可靠性,避免下载出错,本实施例在检测完毕列出下载详细内容的清单后,由工程师做最后的确认,再交由组态软件总界面实施下载控制。
图6是本实施例的流程示意图。参照图6所示,过程具体如下:
首先,按照步骤601,划分控制器中组态数据区内存,将位号组态、用户程序和硬件组态等各组态对象分别固定存放在内存中特定的地址位置1、位置2、位置3,如修改用户程序,其他组态对象内存地址位置1或3都固定不变,如图1所示。
其次,按照步骤602,解除存放于内存固定地址的各个组态对象之间的关联,具体的说,将硬件组态与位号组态分离,组态划分成几个部分,控制组态、用户程序、资源文件、硬件配置等各分成独立的模块;用户程序之间无法直接交互,只能通过I/O位号、页间变量、自定义变量交换数据;从而使修改用户程序而不会影响其他的组态对象。
此时各个组态对象已经没有相互关联,分别设置各个组态对象的版本标志,该标志以后用来鉴别组态对象是否进行过修改和下载,如步骤603所示。
然后按照步骤604,对用户程序进行修改,添加一个PID功能块及相应的连线,增加此用户程序页的功能,对修改后的用户程序进行保存。
修改后,如步骤605所示,关闭用户程序,打开组态软件总界面。
在开始下载前,按照步骤606检测各个组态是否通过编译,先检测修改后的用户程序,如果否,则编译未编译的用户程序;如果是,则检测通过编译的各组态对象之间的调用关系;然后检测经过编译的各组态对象的版本标志;最后根据检测的结果列出需要下载的组态的详细清单。
按照步骤607所示,根据下载的组态的详细清单,工程师确认是否下载,如果否,按照步骤608可手工取消下载,如果是,按照以下步骤609进行下载。
根据以上工程师最终确认的需要下载的组态的详细清单,将需要下载的用户程序从工程师站在线下载到控制器,如步骤609所示。在该增量式下载中仅下载修改的组态及与其关联的组态部分内容;下载结束后,由组态软件总界面验证是否所有需下载的组态都下载成功,如果未成功则可手工取消下载,如果成功则通知控制器更新组态版本。
最后按照步骤610更新已下载的硬件组态的版本标志,以便下次下载的检测。
以上所有实施例中编译、检测、下载、和更新都在组态软件总界面下统一进行。
需要说明的是,上述实施例更改的组态对象可以一次更改任意数量后统一进行在线下载,即软件允许一次一个组态对象并对其实施在线下载,或一次完成对多个组态对象的修改与在线下载;当同时下载多个组态对象时,按照固定的顺序下载各个组态对象,例如系统库→行业库→用户功能块库→硬件→位号表→程序调度表→用户程序。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (8)
1、一种控制系统组态的增量式在线下载方法,其特征在于,包括如下步骤:
固定各组态对象在控制器中的存储地址,并且解除所述各个组态对象之间的关联,以及设置各组态对象的版本标志;
修改已解除关联的各组态对象;
确定需要下载的已修改的组态对象;
将已确定下载的各组态对象从工作站在线下载到控制器中的固定存储地址;
更新已下载组态对象的版本标志。
2、根据权利要求1所述的控制系统组态的增量式在线下载方法,其特征在于,确定需要下载的已修改的组态对象具体包括如下步骤:
比较所述控制器中存储的各组态对象的版本标志与其在工作站的版本标志是否一致,一致则不需下载,不一致则需要下载;
列出需要下载组态对象的详细清单,根据清单执行下载任务。
3、根据权利要求1所述的控制系统组态的增量式在线下载方法,其特征在于,还包括如下步骤:修改组态对象后检测单个组态对象是否通过编译,如果否,则编译未编译的组态对象;如果是,则检测已编译的各组态对象之间的调用关系,如果未通过检测,则取消下载,如果通过检测,则开始确定需要下载的已修改的组态对象。
4、根据权利要求2所述的控制系统组态的增量式在线下载方法,其特征在于,所述更新已下载组态对象的版本标志具体包括以下步骤:下载完成后验证是否所有需要下载的组态对象都下载成功,如果未成功,取消下载;如果成功,通知控制器更新组态对象的版本标志。
5、根据权利要求4所述的控制系统组态的增量式在线下载方法,其特征在于:下载过程中,按照固定的顺序下载各个组态对象,显示各个组态对象的下载执行情况。
6、根据权利要求5所述的控制系统组态的增量式在线下载方法,其特征在于:修改组态对象在各组态对象界面下进行;编译、检测、下载和更新都在组态软件总界面下统一进行。
7、根据权利要求2所述的控制系统组态的增量式在线下载方法,其特征在于,还包括:列出需要下载组态对象的清单后,工程师确认需要下载的组态对象的详细内容,然后交组态软件总界面控制开始执行下载任务。
8、根据权利要求1所述的控制系统组态的增量式在线下载方法,其特征在于,还包括:更新已下载的组态对象版本标志后,记录并保存本次下载动作和内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2008100000557A CN100561384C (zh) | 2008-01-03 | 2008-01-03 | 控制系统组态的增量式在线下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2008100000557A CN100561384C (zh) | 2008-01-03 | 2008-01-03 | 控制系统组态的增量式在线下载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101216696A CN101216696A (zh) | 2008-07-09 |
CN100561384C true CN100561384C (zh) | 2009-11-18 |
Family
ID=39623141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2008100000557A Active CN100561384C (zh) | 2008-01-03 | 2008-01-03 | 控制系统组态的增量式在线下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100561384C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707690B (zh) * | 2012-05-30 | 2015-02-04 | 浙江中控技术股份有限公司 | 一种组态数据的下载方法和下载系统 |
CN105760190A (zh) * | 2016-02-02 | 2016-07-13 | 华自科技股份有限公司 | 组态软件发布方法及系统 |
CN108776643B (zh) * | 2018-06-04 | 2021-10-22 | 腾讯科技(武汉)有限公司 | 一种基于版本控制流程的目标代码合并控制方法及系统 |
CN109005198B (zh) * | 2018-09-12 | 2021-06-11 | 杭州和利时自动化有限公司 | 一种控制器防攻击安全策略生成方法及系统 |
CN112506547A (zh) * | 2020-12-16 | 2021-03-16 | 杭州和利时自动化有限公司 | 组态数据下装方法、装置、设备及可读存储介质 |
CN112597244B (zh) * | 2020-12-23 | 2023-05-16 | 浙江中控技术股份有限公司 | 一种数据同步方法、装置及电子设备 |
CN113110853B (zh) * | 2021-03-15 | 2023-05-30 | 杭州康吉森自动化科技有限公司 | 一种组态数据在线下载方法、装置及电子设备 |
CN113535470A (zh) * | 2021-06-23 | 2021-10-22 | 浙江中控技术股份有限公司 | 组态备份方法、装置、电子设备和存储介质 |
CN116743779B (zh) * | 2023-08-11 | 2024-01-09 | 之江实验室 | 组态数据同步更新方法、装置和内生安全工业控制器 |
CN117687344B (zh) * | 2024-01-31 | 2024-04-30 | 杭州康吉森自动化科技有限公司 | I/o数据共享方法、控制器及系统 |
-
2008
- 2008-01-03 CN CNB2008100000557A patent/CN100561384C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101216696A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100561384C (zh) | 控制系统组态的增量式在线下载方法 | |
CN100489778C (zh) | Java程序可动态更新化实现方法 | |
CN105911885B (zh) | 用于改善工业控制系统的工业控制器 | |
CN107465539A (zh) | 固件的升级方法、终端及固件的升级系统 | |
CN100507773C (zh) | 实现固化程序在线升级的方法和装置 | |
CN102360305B (zh) | 用于航天计算机的VxWorks操作系统裁剪定制方法 | |
CN104699453B (zh) | 用于改变控制单元的存储器中的软件的方法和计算机系统 | |
CN102426531A (zh) | 一种智能终端、应用程序更新系统及其更新方法 | |
US20050120344A1 (en) | Optimal component installation | |
CN105354037A (zh) | 模块化的软件开发方法及软件开发装置 | |
CN101192165A (zh) | 主从式多处理器系统以及软件版本加载方法 | |
CN101615128B (zh) | 一种单片机在线升级的方法及装置 | |
CN102308280B (zh) | 基本输入/输出系统bios配置数据管理方法及系统 | |
CN103714287A (zh) | 一种获取临时Root权限的方法及装置 | |
CN109284225A (zh) | 一种多人协同开发编程代码的质量检测方法及电子设备 | |
CN102331945A (zh) | 基于电子商店的应用程序管理方法 | |
CN103631869A (zh) | 一种缓解服务端数据库访问压力的方法和装置 | |
CN113220229A (zh) | 一种用于分布式控制系统的在线式i/o无扰组态方法 | |
CN107943504A (zh) | 一种嵌入式系统中软件模块的动态升级方法 | |
CN102880473A (zh) | 基于quartz框架的任务执行方法及装置 | |
CN107168719A (zh) | 应用程序运行方法、装置、终端及计算机可读存储介质 | |
CN101482834A (zh) | 在线补丁激活方法、通信装置及系统 | |
CN104699500A (zh) | 智能设备中实现引导程序自动升级的方法 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
US7127675B1 (en) | Method and system for automatically revising software help documentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |