CN105930270A - 一种实现算法在线组态、运行和调试的方法 - Google Patents
一种实现算法在线组态、运行和调试的方法 Download PDFInfo
- Publication number
- CN105930270A CN105930270A CN201610247143.1A CN201610247143A CN105930270A CN 105930270 A CN105930270 A CN 105930270A CN 201610247143 A CN201610247143 A CN 201610247143A CN 105930270 A CN105930270 A CN 105930270A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- block
- running
- program
- rudimentary
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及装备自动化设计开发平台,公开了一种实现算法在线组态、运行和调试的方法,基于IEC61131‑3控制策略集成编程开发环境,包括算法块封装、数据驱动与事件触发的分布式算法调度,控制算法的在线组态、运行和调试,包括以下步骤:(1)基本算法块运行;(2)基本算法块封装;(3)程序运行;(4)数据驱动;(5)事件触发。本发明具有多样性、灵活性、可靠性,保证了算法程序的适应性、易用性、稳定性,使多领域行业算法库的扩展十分便捷。通过设计院、设备制造商、工程公司、行业用户,提炼专家知识与工程经验,不断丰富多领域控制算法库,满足多领域的专业个性化需求。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及了一种实现算法在线组态、运行和调试的方法。
背景技术
众所周知,在开发可编程程序控制器的早期阶段,由于没有一个统一的国际标准,各制造商根据自己的习惯,使用自己的编程语言,这些编程语言从内容到形式都很不相同,例如,德国的公司喜欢用功能块图和语句表语言,这与他们早期将晶体管逻辑电路用来完成控制功能有关系,而美国的公司则喜欢用梯形图语言和控制鼓。梯形图语言又是从继电器控制逻辑延伸来的,至于法国公司除了用梯形图语言外,还用GRAFCET语言,这一语言又特别适用于完成顺序控制的功能。这种编程语言的不统一情况,给用户带来了极大的不方便,使用不同公司产品,编制的程序完全不通用,用户被迫要去熟悉不同公司的编程语言,要额外的购置不同的编程工具,要想在一个大型的工程项目中使用多家公司的产品,几乎是不可能的事。
鉴于各方面的问题提出了IEC61131-3标准。这个标准有如下特点:由于符合IEC61131-3标准的编程语言均统一在国际标准之下,学习费用较低。该标准规定编程软件应独立于控制硬件,程序可重复使用且可移植。所以理论上一套程序应该能够应用于各个厂商支持IEC61131-3标准的硬件之上。支持结构编程,因此增加了软件的可靠性。此外IEC61131-3将标准编程技术和当代编程语言的优点结合起来。IEC61131-3定义了不同的数据类型和标准功能和/或功能模块,能够容易和更快地写出用户自己的应用。IEC61131-3是一个标准,依据它,所有厂商的PLC可以采用公用语言AWL(指令表)、FUB(功能块)、ST(结构文本)和KOP(接触面contact plan)进行编程。因此若你没有编程知识也能在短期内做出应用。因此可以看出,IEC61131-3标准的出台标志着今后的自动化行业将逐渐走向融合,逐步结束各个厂家产品之间相互不兼容的现状,从而让用户能够更加自主地选择自己所需要的产品,再不用担心多厂牌产品共用所带来的苦恼。
发明内容
本发明针对现有技术中复用性差、编程效率差的缺点,提供了一种实现算法在线组态、运行和调试的方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种实现算法在线组态、运行和调试的方法,基于IEC61131-3控制策略集成编程开发环境,包括算法块封装、数据驱动与事件触发的分布式算法调度,控制算法的在线组态、运行和调试,其特征在于,包括以下步骤:
(1)基本算法块运行:基本算法块采用分页、分组的在线调度与运行监视机制,在私有虚拟地址空间内独立运行,运行异常的算法块由调度程序挂起或暂停;
(2)基本算法块封装:基于基本算法块组态而成的算法程序或者由外部导入的算法程序,通过封装成为自定义算法块;
(3)程序运行:若干个算法块组成若干个程序,最终组成若干个应用程序,每个程序采用某类控制语言编辑的具有独立运算周期的控制算法集,工程运行时,每个程序按其指定周期依次运行,程序之间相互独立,每个程序的运行不依靠别的程序运行状态;
(4)数据驱动:算法执行顺序的自动生成、无效连接的识别校正与错误信息的诊断提示;通过算法的封装、继承、派生、复用,实现控制策略的在线编辑组态与离线/在线调试;
(5)事件触发:通过算法块引脚与数据库的链接,算法块与数据库进行联系,实现数据条件触发后进行实时响应。
作为优选,步骤(1)中算法程序由一定数量的基本算法块链接而成,算法程序采用动态链接分布式算法调度模式。
作为优选,步骤(2)中的基本算法块是系统内实现控制功能的算法程序。
作为优选,步骤(2)中的自定义算法块通过自由引用基本算法块、函数封装库与用户自定义功能块用于用户自定义算法的设计、封装、重用。
本发明由于采用了以上技术方案,具有显著的技术效果:分布式算法调度技术解决了控制算法运行过程中可能产生的资源抢占、控制死锁、优先级管理等问题;算法程序采用动态链接分布式算法调度模式,基本算法块的更新变动不影响算法程序的完整性,实现了算法程序的在线组态与在线运行,不仅为算法程序调试和故障解决提供了手段,而且简化了算法程序编译、仿真、调试机制;基本算法块的多样性、灵活性、可靠性保证了算法程序的适应性、易用性、稳定性,使多领域行业算法库的扩展十分便捷;用户自定义功能块通过用户不断丰富多领域控制算法库,满足多领域的专业个性化需求。本发明提出的实现算法在线组态、运行、调试的方法总的来说具有如下优点:
1.减少了人力资源,如培训、调试、维护和咨询的浪费。
2.高水平软件再使用性,它聚焦于解决控制中的问题。
3.减少了编程中的误解和错误。
4.适用于宽环境范围的编程技术:通用的工业控制。
5.连接来自不同程序、项目、公司、地区或国家的部件。
附图说明
图1是本发明一种实现算法在线组态、运行和调试的方法流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
实施例1
如图1所示,一种实现算法在线组态、运行和调试的方法,基于IEC61131-3控制策略集成编程开发环境,包括算法块封装、数据驱动与事件触发的分布式算法调度,控制算法的在线组态、运行和调试,其特征在于,包括以下步骤:
(1)基本算法块运行:基本算法块采用分页、分组的在线调度与运行监视机制,在私有虚拟地址空间内独立运行,运行异常的算法块由调度程序挂起或暂停;
(2)基本算法块封装:基于基本算法块组态而成的算法程序或者由外部导入的算法程序,通过封装成为自定义算法块;
(3)程序运行:若干个算法块组成若干个程序,最终组成若干个应用程序,每个程序采用某类控制语言编辑的具有独立运算周期的控制算法集,工程运行时,每个程序按其指定周期依次运行,程序之间相互独立,每个程序的运行不依靠别的程序运行状态;
(4)数据驱动:算法执行顺序的自动生成、无效连接的识别校正与错误信息的诊断提示;通过算法的封装、继承、派生、复用,实现控制策略的在线编辑组态与离线/在线调试;
(5)事件触发:通过算法块引脚与数据库的链接,算法块与数据库进行联系,实现数据条件触发后进行实时响应。
作为优选,步骤(1)中算法程序由一定数量的基本算法块链接而成,算法程序采用动态链接分布式算法调度模式。
作为优选,步骤(2)中的基本算法块是系统内实现控制功能的算法程序。
作为优选,步骤(2)中的自定义算法块通过自由引用基本算法块、函数封装库与用户自定义功能块用于用户自定义算法的设计、封装、重用。
基本算法块是系统内实现特定控制功能的算法程序,是不可分割的独立功能单元,基于系统基本算法块组态而成的算法程序或者由外部导入的算法程序,通过封装成为系统的基本算法块;基本算法块采用算法块分页、分组的在线调度与运行监视机制,在私有虚拟地址空间内独立运行,运行异常的算法块由调度程序挂起或暂停,不会影响到其他算法块,解决了控制算法运行过程中可能产生的资源抢占、控制死锁、优先级管理等问题;算法程序采用动态链接分布式算法调度模式;算法程序由一定数量的基本算法块“链接”而成,基本算法块的更新变动不影响算法程序的完整性,实现了算法程序的在线组态与在线运行,不仅为算法程序调试和故障解决提供了手段,而且简化了算法程序编译、仿真、调试机制;基本算法块的多样性、灵活性、可靠性保证了算法程序的适应性、易用性、稳定性,使多领域行业算法库的扩展十分便捷;通过设计院、设备制造商、工程公司、行业用户,不断丰富多领域控制算法库,满足多领域的专业个性化需求。
总之,以上仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (4)
1.一种实现算法在线组态、运行和调试的方法,基于IEC61131-3控制策略集成编程开发环境,包括算法块封装、数据驱动与事件触发的分布式算法调度,控制算法的在线组态、运行和调试,其特征在于,包括以下步骤:
(1)基本算法块运行:基本算法块采用分页、分组的在线调度与运行监视机制,在私有虚拟地址空间内独立运行,运行异常的算法块由调度程序挂起或暂停;
(2)基本算法块封装:基于基本算法块组态而成的算法程序或者由外部导入的算法程序,通过封装成为自定义算法块;
(3)程序运行:若干个算法块组成若干个程序,最终组成若干个应用程序,每个程序采用某类控制语言编辑的具有独立运算周期的控制算法集,工程运行时,每个程序按其指定周期依次运行,程序之间相互独立,每个程序的运行不依靠别的程序运行状态;
(4)数据驱动:算法执行顺序的自动生成、无效连接的识别校正与错误信息的诊断提示;通过算法的封装、继承、派生、复用,实现控制策略的在线编辑组态与离线/在线调试;
(5)事件触发:通过算法块引脚与数据库的链接,算法块与数据库进行联系,实现数据条件触发后进行实时响应。
2.根据权利要求1所述的一种实现算法在线组态、运行和调试的方法,其特征在于:步骤(1)中基本算法块是系统内实现控制功能的算法程序。
3.根据权利要求1所述的一种实现算法在线组态、运行和调试的方法,其特征在于:步骤(2)中算法程序由一定数量的基本算法块链接而成,所述算法程序采用动态链接分布式算法调度模式。
4.根据权利要求1所述的一种实现算法在线组态、运行和调试的方法,其特征在于:步骤(2)中的自定义算法块通过自由引用基本算法块、函数封装库与用户自定义功能块用于用户自定义算法的设计、封装、重用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610247143.1A CN105930270B (zh) | 2016-04-20 | 2016-04-20 | 一种实现算法在线组态、运行和调试的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610247143.1A CN105930270B (zh) | 2016-04-20 | 2016-04-20 | 一种实现算法在线组态、运行和调试的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930270A true CN105930270A (zh) | 2016-09-07 |
CN105930270B CN105930270B (zh) | 2018-12-21 |
Family
ID=56839459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610247143.1A Active CN105930270B (zh) | 2016-04-20 | 2016-04-20 | 一种实现算法在线组态、运行和调试的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930270B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107272446A (zh) * | 2017-08-03 | 2017-10-20 | 爱普(福建)科技有限公司 | 一种面向控制算法的仿真平台及仿真方法 |
CN107844093A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN107844099A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元数据模型的功能块图在线调试方法 |
CN108228154A (zh) * | 2017-12-25 | 2018-06-29 | 上海中畅数据技术有限公司 | 一种基于算法的通用监控框架设计系统 |
CN108319453A (zh) * | 2017-12-20 | 2018-07-24 | 中核控制系统工程有限公司 | 一种基于fpga控制逻辑的算法组态软件设计方法 |
CN108614537A (zh) * | 2018-06-15 | 2018-10-02 | 北京智邦安科技有限公司 | 一种智能控制与优化系统 |
CN108959058A (zh) * | 2017-05-18 | 2018-12-07 | 南京南瑞继保电气有限公司 | 一种虚拟控制器的组态调试器实现方法 |
CN109375606A (zh) * | 2018-09-21 | 2019-02-22 | 北京广利核系统工程有限公司 | 一种算法库测试方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5544730B2 (ja) * | 2009-03-11 | 2014-07-09 | 株式会社明電舎 | プログラマブルコントローラのデータトレース方法 |
CN101566839B (zh) * | 2009-06-01 | 2011-03-30 | 杭州电子科技大学 | 一种梯形图内嵌组态算法的实现方法 |
CN101587445A (zh) * | 2009-06-19 | 2009-11-25 | 国网电力科学研究院 | 一种plc编译执行方法 |
CN101727763A (zh) * | 2009-12-11 | 2010-06-09 | 中国人民解放军空军军训器材研究所 | 一种训练系统的集成与实时调度的方法 |
CN102608947B (zh) * | 2012-03-23 | 2013-09-18 | 浙江大学 | 一种可编程控制系统及组态程序控制方法 |
CN103077033B (zh) * | 2012-08-20 | 2016-08-24 | 南京南瑞继保电气有限公司 | 一种优化组态系统 |
-
2016
- 2016-04-20 CN CN201610247143.1A patent/CN105930270B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844093A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN107844099A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元数据模型的功能块图在线调试方法 |
CN107844093B (zh) * | 2016-09-18 | 2020-02-07 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN108959058A (zh) * | 2017-05-18 | 2018-12-07 | 南京南瑞继保电气有限公司 | 一种虚拟控制器的组态调试器实现方法 |
CN108959058B (zh) * | 2017-05-18 | 2020-07-28 | 南京南瑞继保电气有限公司 | 一种虚拟控制器的组态调试器实现方法 |
CN107272446A (zh) * | 2017-08-03 | 2017-10-20 | 爱普(福建)科技有限公司 | 一种面向控制算法的仿真平台及仿真方法 |
CN108319453A (zh) * | 2017-12-20 | 2018-07-24 | 中核控制系统工程有限公司 | 一种基于fpga控制逻辑的算法组态软件设计方法 |
CN108228154A (zh) * | 2017-12-25 | 2018-06-29 | 上海中畅数据技术有限公司 | 一种基于算法的通用监控框架设计系统 |
CN108614537A (zh) * | 2018-06-15 | 2018-10-02 | 北京智邦安科技有限公司 | 一种智能控制与优化系统 |
CN109375606A (zh) * | 2018-09-21 | 2019-02-22 | 北京广利核系统工程有限公司 | 一种算法库测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105930270B (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930270A (zh) | 一种实现算法在线组态、运行和调试的方法 | |
Dorofeev et al. | Skill-based engineering approach using opc ua programs | |
Xu et al. | STEP-NC and function blocks for interoperable manufacturing | |
EP1213633B1 (en) | Editor device and recorded medium on which editor program is recorded | |
US20020046397A1 (en) | Method for debugging flowchart programs for industrial controllers | |
CN101226385A (zh) | 开放式软数控系统的软plc模块 | |
AU2010201386A1 (en) | Method for executing sequential function charts as function blocks in a control system | |
CN110271009A (zh) | 基于plc仿机器人指令实现机械手示教功能方法 | |
US20190286089A1 (en) | Sequence control of program modules | |
CN101206468B (zh) | 一种计算机数控领域的建模方法 | |
Hopsu et al. | On portability of IEC 61499 compliant structures and systems | |
Müller | Using S-BPM for PLC code generation and extension of subject-oriented methodology to all layers of modern control systems | |
Ramos-Hernandez et al. | A novel object-oriented environment for distributed process control systems | |
Zoitl et al. | Dynamic reconfiguration of distributed control applications with reconfiguration services based on IEC 61499 | |
Neugschwandtner et al. | An open automation architecture for flexible manufacturing | |
CN110442520A (zh) | 一种基于plc编程语言的交叉调试系统及方法 | |
Zyubin | Using process-oriented programming in LabVIEW | |
Wang et al. | Function block design for adaptive execution control of job shop machining operations | |
Aiello et al. | An agile methodology for manufacturing control systems development | |
Strasser et al. | Towards engineering methods for reconfiguration of distributed real-time control systems based on the reference model of IEC 61499 | |
JP4054836B2 (ja) | プログラム生成処理プログラム、プログラムコード生成方法及びプログラム生成装置 | |
Hopsu | Portability of IEC 61499 compliant software | |
Hanák | Advanced PLC programming methods | |
Ponsa et al. | Gemma guide approach for the introduction of the human operator into the automation cycle | |
JP2003044277A (ja) | プログラム開発支援装置、プログラム開発支援プログラムおよびそれを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 311100 Room 220, 2nd Floor, Building 9, Guifeng Road, Renhe Street, Yuhang District, Hangzhou City, Zhejiang Province Patentee after: HANGZHOU UWNTEK AUTOMATION SYSTEM Co.,Ltd. Address before: Room 807, 8th floor, 33 Xincheng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU UWNTEK AUTOMATION SYSTEM Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |