CN105930270B - 一种实现算法在线组态、运行和调试的方法 - Google Patents

一种实现算法在线组态、运行和调试的方法 Download PDF

Info

Publication number
CN105930270B
CN105930270B CN201610247143.1A CN201610247143A CN105930270B CN 105930270 B CN105930270 B CN 105930270B CN 201610247143 A CN201610247143 A CN 201610247143A CN 105930270 B CN105930270 B CN 105930270B
Authority
CN
China
Prior art keywords
algorithm
block
debugging
rudimentary
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.)
Active
Application number
CN201610247143.1A
Other languages
English (en)
Other versions
CN105930270A (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.)
HANGZHOU UWIN AUTOMATIC SYSTEM CO Ltd
Original Assignee
HANGZHOU UWIN AUTOMATIC SYSTEM 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 HANGZHOU UWIN AUTOMATIC SYSTEM CO Ltd filed Critical HANGZHOU UWIN AUTOMATIC SYSTEM CO Ltd
Priority to CN201610247143.1A priority Critical patent/CN105930270B/zh
Publication of CN105930270A publication Critical patent/CN105930270A/zh
Application granted granted Critical
Publication of CN105930270B publication Critical patent/CN105930270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

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)中的自定义算法块通过自由引用基本算法块、函数封装库与用户自定义功能块,用于用户自定义算法的设计、封装、重用。
CN201610247143.1A 2016-04-20 2016-04-20 一种实现算法在线组态、运行和调试的方法 Active CN105930270B (zh)

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 CN105930270A (zh) 2016-09-07
CN105930270B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844093B (zh) * 2016-09-18 2020-02-07 南京南瑞继保电气有限公司 一种基于元件模型的自定义功能块及组态封装方法
CN107844099B (zh) * 2016-09-18 2020-01-10 南京南瑞继保电气有限公司 一种基于元数据模型的功能块图在线调试方法
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 北京广利核系统工程有限公司 一种算法库测试方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566839A (zh) * 2009-06-01 2009-10-28 杭州电子科技大学 一种梯形图内嵌组态算法的实现方法
CN101587445A (zh) * 2009-06-19 2009-11-25 国网电力科学研究院 一种plc编译执行方法
CN101727763A (zh) * 2009-12-11 2010-06-09 中国人民解放军空军军训器材研究所 一种训练系统的集成与实时调度的方法
JP2010211555A (ja) * 2009-03-11 2010-09-24 Meidensha Corp プログラマブルコントローラのデータトレース方法
CN102608947A (zh) * 2012-03-23 2012-07-25 浙江大学 一种可编程控制系统及组态程序控制方法
CN103077033A (zh) * 2012-08-20 2013-05-01 南京南瑞继保电气有限公司 一种优化组态系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211555A (ja) * 2009-03-11 2010-09-24 Meidensha Corp プログラマブルコントローラのデータトレース方法
CN101566839A (zh) * 2009-06-01 2009-10-28 杭州电子科技大学 一种梯形图内嵌组态算法的实现方法
CN101587445A (zh) * 2009-06-19 2009-11-25 国网电力科学研究院 一种plc编译执行方法
CN101727763A (zh) * 2009-12-11 2010-06-09 中国人民解放军空军军训器材研究所 一种训练系统的集成与实时调度的方法
CN102608947A (zh) * 2012-03-23 2012-07-25 浙江大学 一种可编程控制系统及组态程序控制方法
CN103077033A (zh) * 2012-08-20 2013-05-01 南京南瑞继保电气有限公司 一种优化组态系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Agent-based distributed manufacturing control:A state-of-the art survey;Paulo Leitao;《Engineering Applications of Artifical Intelligence》;20091031;第22卷(第7期);第979-991页 *
一种基于分布式动态带宽分配的调度算法研究;陆洁;《燕山大学学报》;20060131;第30卷(第1期);第79-83页 *
基于IEC61131-3的编程系统的设计和实现;葛益军等;《制造业自动化》;20060731;第28卷(第7期);第61-63页 *

Also Published As

Publication number Publication date
CN105930270A (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN105930270B (zh) 一种实现算法在线组态、运行和调试的方法
Vyatkin Software engineering in industrial automation: State-of-the-art review
US10705511B2 (en) Abstraction layers for automation applications
US7657404B2 (en) Engineering method and system for industrial automation systems
EP2169547A1 (en) Compilation model for programmable logic controllers (PLC)
JP6978443B2 (ja) レガシー・レベル1コントローラ仮想化システムおよび方法
Wang et al. Constructing reconfigurable software for machine control systems
CN109983411A (zh) 程序模块的流程控制
CN108345265A (zh) 硬件设备的编程方法、可视化编程平台、存储器和处理器
Dorofeev et al. Agile operational behavior for the control-level devices in plug&produce production environments
Müller Using S-BPM for PLC code generation and extension of subject-oriented methodology to all layers of modern control systems
Buhler et al. The Virtual Automation Lab-Web based teaching of automation engineering concepts
US8676354B2 (en) Automation system having framework based controller
CN106814696B (zh) 一种数控系统人机界面二次开发平台系统及其实现方法
CN109937404A (zh) 程序模块之间的实时数据交换
Colla et al. Design and implementation of industrial automation control systems: A survey
Theorin A sequential control language for industrial automation
Buschmann Learning from failure, part iii: On hammers and nails, and falling in love with technology and design
CN115356997A (zh) 集成式工业控制系统及其控制方法、工业控制设备及介质
Zhou et al. Object-oriented methods for manufacturing information systems
Hernández-Vázquez et al. Development of Virtual Router Machine for Modbus Open Connection
KR890008714A (ko) 시각언어를 사용하는 설계시스템
Makris et al. An Approach for Validating the Behavior of Autonomous Robots in a Virtual Environment
Ponsa et al. Gemma guide approach for the introduction of the human operator into the automation cycle
US11188061B2 (en) Configuration of an automation system

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
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.