CN114879593A - 实时系统运行plc控制器的方法、装置、设备及存储介质 - Google Patents
实时系统运行plc控制器的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114879593A CN114879593A CN202210494988.6A CN202210494988A CN114879593A CN 114879593 A CN114879593 A CN 114879593A CN 202210494988 A CN202210494988 A CN 202210494988A CN 114879593 A CN114879593 A CN 114879593A
- Authority
- CN
- China
- Prior art keywords
- real
- time system
- application program
- plc
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13119—Compiler
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供了一种实时系统运行PLC控制器的方法、装置、设备及存储介质,PLC控制器运行在实时运行环境上,实时运行环境运行在实时系统上,实时系统在其应用程序中加载RTE运行环境库,所述RTE运行环境库包括PLC控制器的控制程序的接口;实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;所述应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,其中,所述应用程序通过所述共享变量与所述控制程序交互数据。本发明的技术方案使PLC控制器的执行时间可控,且通过调整PLC的控制程序实现实时系统的应用程序的功能扩展。
Description
技术领域
本发明涉及操作系统领域,尤其涉及一种实时系统运行PLC控制器的方法、装置、设备及存储介质。
背景技术
在使用操作系统开发逻辑控制器时,一般采用解析梯形图的方式。编辑完梯形图之后,转换为指令表文件保存,然后再通过解析指令表文件,形成顺序执行的逻辑,此过程所耗费的时间主要取决于梯形图程序的大小,执行完后的结果可以直接与实时系统内的程序通过串口进行内部通信,其执行过程如图1所示。
图1中梯形图的执行时间会不受控制,子程序的大小决定了整个梯形图执行总时间,并且由于梯形图侧没有进行主站的配置,所以梯形图只能进行逻辑控制处理,对于功能的扩展只能通过实时系统层面进行修改,整个软件的扩展性非常差。
所以需要一种在实时系统中运行PLC控制器的方法,使PLC控制器的执行时间可控且直接扩展PLC的控制功能。
发明内容
有鉴于此,本发明实施例提供了一种实时系统运行PLC控制器的方法、装置、设备及存储介质,所述方法包括:实时系统在其应用程序中加载RTE运行环境库,RTE运行环境库包括PLC控制器的控制程序的接口;实时系统的应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;该应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,其中,该应用程序通过共享变量与PLC控制器的控制程序交互数据。本发明的技术方案使PLC控制器的执行时间可控,且通过直接调整PLC的控制程序实现实时系统的应用程序的功能扩展。
第一方面,本发明实施例提供了一种实时系统运行PLC控制器的方法,PLC控制器运行在实时运行环境上,实时运行环境运行在实时系统上,所述方法包括:实时系统在其应用程序中加载RTE运行环境库,所述RTE运行环境库包括PLC控制器的控制程序的接口;实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;所述应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,其中,所述应用程序通过所述共享变量与所述控制程序交互数据,所述应用程序是实现实时系统上工业控制功能的程序,PLC控制器包括主站和从站。
由上,实时系统通过在其应用程序中加载RTE运行环境库和包括共享变量的变量文件实现PLC控制器的执行时间可控,且在PLC控制器包括主站,相对于传统的基于梯形图的PLC控制器只有从站,通过直接调整PLC的控制程序更为方便实现实时系统的应用程序的功能扩展。
在第一方面的一种可能实施方式中,通过实时运行环境的IDE确定所述共享变量,并创建所述变量文件,所述变量文件包括所述共享变量的结构体。
由上,通过实时运行环境的IDE创建包括共享变量的结构体的变量文件,使实时运行环境的应用程序即PLC的控制程序与实时系统的应用程序通过变量文件配置相同的共享变量。
在第一方面的一种可能实施方式中,所述实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量,具体包括:实时系统把所述变量文件添加到所述应用程序的代码中,在内存中为所述共享变量预留位置,并编译该代码。
由上,通过实时系统把变量文件添加到应用程序并预留位置,实现为实时系统在应用程序通过变量文件配置共享变量。
在第一方面的一种可能实施方式中,当所述PLC控制器添加或调整PLC的控制程序时,通过实时运行环境的IDE添加或修改该控制程序,保持RTE运行环境库不变。
由上,通过实时运行环境的IDE添加或修改该控制程序,且保持RTE运行环境库不变,实现直接调整PLC的控制程序实现实时系统的应用程序的功能扩展。
在第一方面的一种可能实施方式中,PLC的控制程序通过编译执行或解释执行。
由上,因为PLC控制器运行在实时运行环境上,PLC的控制程序可以通过编译执行,相对于无实时运行环境的PLC控制程序只能通过解释执行,本发明的方案使PLC的控制程序执行时间可控。
在第一方面的一种可能实施方式中,实时系统的应用程序通过所述共享变量与PLC的控制程序交互数据,包括:实时系统的应用程序把其运行结果以梯形图格式存储到所述共享变量中,以用于所述控制程序的输入;实时系统的应用程从所述共享变量中获取PLC的控制程序存储的运行结果。
由上,实时系统的应用程序和PLC的控制程序通过共享变量交互时间,使二者交互数据的时间可控。
在第一方面的一种可能实施方式中,PLC控制器的控制程序的输入为梯形图格式。
由上,通过梯形图格式的输入,对传统的PLC控制器器功能移植方式最简单。
第二方面,本发明实施例提供了一种实时系统运行PLC控制器的装置,PLC控制器运行在实时运行环境上,实时运行环境运行在实时系统上,所述装置包括:第一编制模块、第一应用模块;所述第一编制模块用于实时系统在其应用程序中加载RTE运行环境库,所述RTE运行环境库包括PLC控制器的控制程序的接口;所述第一编制模块还用于实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;第一应用模块为所述应用程序,用于通过调用加载的RTE运行环境库实现实时系统的应用层功能,并通过所述共享变量与所述控制程序交互数据,所述应用程序是实现实时系统上工业控制功能的程序,PLC控制器包括主站和从站。
由上,实时系统通过在其应用程序中加载RTE运行环境库和包括共享变量的变量文件实现PLC控制器的执行时间可控,且在PLC控制器包括主站,相对于传统的基于梯形图的PLC控制器只有从站,通过直接调整PLC的控制程序更为方便实现实时系统的应用程序的功能扩展。
在第二方面的一种可能实施方式中,所述装置石包括第二编制模块,用于通过实时运行环境的IDE确定所述共享变量,并创建所述变量文件,所述变量文件包括所述共享变量的结构体。
由上,通过实时运行环境的IDE创建包括共享变量的结构体的变量文件,使实时运行环境的应用程序即PLC的控制程序与实时系统的应用程序通过变量文件配置相同的共享变量。
在第二方面的一种可能实施方式中,所述第一配置模块具体用于实时系统把所述变量文件添加到实时系统的应用程序的代码中,在内存中为所述共享变量预留位置,并编译该代码。
由上,通过实时系统把变量文件添加到应用程序并预留位置,实现为实时系统在应用程序通过变量文件配置共享变量。
在第二方面的一种可能实施方式中,第二编制模块还用于当所述PLC控制器添加或调整PLC的控制程序时,通过实时运行环境的IDE添加或修改该控制程序,保持RTE运行环境库不变。
由上,通过实时运行环境的IDE添加或修改该控制程序,且保持RTE运行环境库不变,实现直接调整PLC的控制程序实现实时系统的应用程序的功能扩展。
在第二方面的一种可能实施方式中,PLC的控制程序通过编译执行或解释执行。
由上,因为PLC控制器运行在实时运行环境上,PLC的控制程序可以通过编译执行,相对于无实时运行环境的PLC控制程序只能通过解释执行,本发明的方案使PLC的控制程序执行时间可控。
在第二面的一种可能实施方式中,实时系统的应用程序通过所述共享变量与PLC的控制程序交互数据,包括:实时系统的应用程序把其运行结果以梯形图格式存储到所述共享变量中,以用于所述控制程序的输入;实时系统的应用程从所述共享变量中获取PLC的控制程序存储的运行结果。
由上,实时系统的应用程序和PLC的控制程序通过共享变量交互时间,使二者交互数据的时间可控。
在第二方面的一种可能实施方式中,PLC控制器的控制程序的输入为梯形图格式。
由上,通过梯形图格式的输入,对传统的PLC控制器器功能移植方式最简单。
第三方面,本发明实施例提供了一种计算设备,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本发明第一方面任一所述实施方式。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面任一所述实施方式。
附图说明
图1为现有技术的实时系统运行PLC控制器的数据交互示意图;
图2为本发明的各实施例涉及的实施场景的结构示意图;
图3为本发明的一种实时系统运行PLC控制器的方法实施例一的流程示意图;
图4为本发明的一种实时系统运行PLC控制器的方法实施例一的数据交互示意图;
图5为本发明的一种实时系统运行PLC控制器的方法实施例二的流程示意图;
图6为本发明的一种实时系统运行PLC控制器的装置实施例的结构示意图;
图7为本发明各实施例的一种计算设备的结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
在本发明的各实施例中,PLC控制器运行在实时运行环境上,实时运行环境运行在实时系统上,实时系统在其应用程序中加载RTE运行环境库,RTE运行环境库包括PLC控制器的控制程序的接口;实时系统的应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;该应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,其中,该应用程序通过共享变量与PLC控制器的控制程序交互数据。本发明的技术方案使PLC控制器的执行时间可控,且在直接调整PLC的控制程序实现实时系统的应用程序的功能扩展。
下面结合附图介绍本发明的各实施例。
首先结合附图2介绍本发明的各实施例涉及的实施场景。
图2示出了一种实时系统运行PLC控制器的各实施例的应用场景的结构,其包括PLC控制器、实时运行环境(Running Time Environment,以下简称RTE)、RTE的开发环境RTEIDE、实时系统(RTOS)和非实时系统。PLC控制器运行在RTE上,RTE和RTE IDE运行在实时系统上,PLC控制器包括主站和从站。
示例地,以东土科技有限公司的工业控制系统为例,东土科技有限公司的工业控制系统的软件产品为Maview,其运行在东土科技有限公司的异构系统Intewell的实时系统上,Intewell包括非实时系统和实时系统,Maview包括PLC控制器、RTE和RTE IDE,RTE IDE包括Intewell Developer,通过Intewell Developer编辑和编译实时系统的应用程序。
其中,实时系统的应用程序实现一种工业控制功能,示例地,为注塑机的工作程序或激光光刻的工作程序。PLC控制器通过开关量控制各种设备,实现实时系统的应用层的功能。
下面结合附图3和图4介绍本发明的一种实时系统运行PLC控制器的方法实施例一。
该方法实施例一运行在图2的实时系统中,实时系统在其应用程序中加载RTE运行环境库和配置PLC控制器的控制程序与实时系统的应用程序的共享变量,应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,在运行过程中通过共享变量与PLC控制器的控制程序交互数据。本发明的技术方案使PLC控制器的执行时间可控,且在直接调整PLC的控制程序实现实时系统的应用程序的功能扩展。
图3示出了一种实时系统运行PLC控制器的方法实施例一的流程,其包括步骤S110至S140。
S110:实时系统在其应用程序中加载RTE运行环境库。
在一些实施例中,实时系统利用Intewell Developer在其应用程序中加载RTE运行环境库。
其中,RTE运行环境库包括PLC控制器的控制程序的接口,通过该接口可以调用PLC控制器的控制功能。PLC控制器的控制程序为RTE应用程序,在Maview可以直接编制,可以为编译或解释执行。在本实施例中,为了提高控制程序的运行速度且运行时间可控,采用编译方式。
其中,当修改或增加PLC控制器的控制程序改变PLC控制器的控制功能时如增加一个伺服轴的控制时,RTE运行环境库保持不变,通过之前相应的RTE运行环境库可以调用修改或增加RTE的应用程序,来改变PLC控制器的控制功能。
由上,通过调用RTE运行环境库获取PLC控制器控制的控制功能,实现实时系统的应用层功能与PLC控制器的控制功能直接的解耦,便于PLC控制器的控制功能的扩展和适配,同时便于实时系统的应用程序的移植
S120:实时系统通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量。
在一些实施例中,实时系统利用Intewell Developer在其应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量。
其中,变量文件包括确定的共享变量的结构体,共享变量为实时系统与RTE的约定的全局变量,位于实时系统的内存中。
其中,在实时系统的应用程序中和RTE的应用程序(即PLC控制器的梯形图的程序)中包括该变量文件,则实时系统的应用程序和PLC控制器的控制程序可以直接访问相应的共享变量。
S130:实时系统的应用程序通过启动RTE启动PLC控制器。
其中,实时系统的应用程序中包括RTE启动程序的接口,该接口也RTE运行环境库,通过RTE启动程序接口启动RTE。
S140:实时系统的应用程序通过调用RTE运行环境库实现其应用层功能。
其中,实时系统的应用程序调用加载的RTE运行环境库获取PLC控制器的控制功能,实现实时系统的应用层功能。
其中,实时系统的应用程序通过共享变量实现与PLC控制器的控制程序的数据交互。
具体地,实时系统的应用程序把其运行结果F信号通过共享变量向PLC控制器发送,用于PLC控制器的控制程序的输入,并通过RTE运行环境库调用PLC控制器相应的控制程序以进行PLC的逻辑控制功能,PLC控制器的控制程序通过编译生成,F信号可以为梯形图格式或其他格式,在本实施例中,使用梯形图格式的F信号。实时系统的应用程序从共享变量中获取PLC的逻辑控制功能反馈的G信号,以继续实现实时系统的应用层功能,G信号为PLC控制器的控制程序的逻辑控制功能执行结果。
由上,通过编译生成的可执行的PLC控制器的控制程序执行速度比传统的基于梯形图的指令表解释执行快,时间可控且准确。同时,实时系统的应用程序通过共享变量与PLC的控制程序交互数据,比传统PLC与操作系统之间基于串口交互数据速度快。
又由上,通过把PLC控制器运行在实时运行环境上,PLC的控制程序可以通过编译执行,相对于无实时运行环境的PLC控制程序只能通过解释执行,本发明的方案使PLC的控制程序执行时间可控。
图4示出了一种实时系统运行PLC控制器的方法实施例一的交互数据的图。实时系统获取Maview中的RTE运行环境库和变量文件,利用Intewell Developer在其应用程序中,当应用程序运行时,通过共享变量向PLC控制器的梯形图提供F信号,也可以说通过共享变量向PLC控制器提供梯形图格式F信号;还通过共享变量从PLC控制器的控制程序中获取G信号,以继续进行其应用层的控制功能。
综上,在一种实时系统运行PLC控制器的方法实施例一中,实时系统在其应用程序中加载RTE运行环境库和配置PLC控制器的控制程序与实时系统的应用程序的共享变量,应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,在运行过程中通过共享变量与PLC控制器的控制程序交互数据。一种实时系统运行PLC控制器的方法实施例一的技术方案使PLC控制器的执行时间可控,且在直接调整PLC的控制程序实现实时系统的应用程序的功能扩展。
下面结合附图5介绍本发明的一种实时系统运行PLC控制器的方法实施例二。
一种实时系统运行PLC控制器的方法实施例二在一种实时系统运行PLC控制器的方法实施例一的基础上,增加RTE的IDE中配置变量文件,并传递给实时系统,且当PLC控制器扩展控制功能时通过RTE的IDE调整PLC控制器的控制程序。一种实时系统运行PLC控制器的方法实施例二具有一种实时系统运行PLC控制器的方法实施例一所有优点,并通过RTE的IDE中配置变量文件和调整PLC控制器的控制程序,便于进一步扩展PLC的控制功能。
图5示出了一种实时系统运行PLC控制器的方法实施例二的流程,其包括步骤S210至S270。步骤S210、S240和S270运行在图2的Maview中,步骤S220、S230、S250和S260运行在图2的实时系统中。
为了叙述方便,以C语言为例介绍本方法实施例,且Maview中编辑共享变量文件和RTE运行环境库,并编辑和编译PLC控制器的控制程序,在Intewell Developer中编译和编译实时系统的应用程序。
S210:通过RTE的IDE确定共享变量,创建变量文件。该变量文件包括共享变量的结构体。
其中,本步骤的一种具体实施方式按照下述流程执行:
1)在MaVIEW的RTE IDE中新建PLC控制器的工程。
2)在MaVIEW的RTE IDE中在全局变量列表中勾选共享变量选项,并选择实时系统与RTE需要交互的数据类型,然后在全局变量中填入变量名称,并生成共享变量的结构体。
3)将该结构体复制到变量文件(*.h头文件)中,该变量文件(*.h头文件)可以添加到PLC控制器的控制程序中和实时系统的应用程序中。
S220:在实时系统的应用程序中加载RTE运行环境库。
其中,本步骤的一种具体实施方式为:在Intewell Developer中构建实时系统的新工程,并加载MaView的RTE运行环境库(*.a)文件到实时系统的应用程序的源文件(*.c)
S230:把变量文件添加到实时系统的应用程序的代码中,在内存中为共享变量预留位置,并编译该应用程序。
其中,本步骤的一种具体实施方式按照下述流程执行:
1)在Intewell Developer中在实时系统的应用程序的源文件(*.c)中添加变量文件(*.h头文件)
2)在Intewell Developer中修改实时系统的工程中的链接配置,为共享变量添加预留段,并将其位置移动到空闲段。
3)在Intewell Developer中在实时系统的应用程序的源文件(*.c)中添加RTE的启动接口StartRTE().
4)把变量文件(*.h头文件)与实时系统的应用程序的源文件(*.c)存放于到src的文件目录下,并通过Intewell Developer编译实时系统应用程序。
S240:当PLC控制器添加或调整控制功能时,通过RTE的IDE添加或修改PLC控制器的控制程序,保持RTE运行环境库不变。
示例地,PLC控制器添加或调整控制功能的一种可能场景为:当PLC控制器在主轴的基础上增加附加轴。
其中,本步骤的一种具体实施方式为:在MaVIEW的RTE IDE中添加或修改PLC控制器的控制程序,并编译为RTE的应用程序。
S250:实时系统的应用程序通过启动RTE启动PLC控制器。
其中,实时系统的应用程序中包括RTE启动程序的接口,该接口也RTE运行环境库,通过RTE启动程序接口启动RTE。
S260:实时系统的应用程序通过调用RTE运行环境库实现其应用层功能。
其中,实时系统的应用程序调用加载的RTE运行环境库获取PLC控制器的控制功能,实现实时系统的应用层功能。
其中,实时系统的应用程序通过共享变量实现PLC控制器的控制程序的数据交互。
具体地,实时系统的应用程序把其运行结果转变为梯形图格式的F信号通过共享变量向PLC控制器发送,梯形图格式的F信号为PLC控制器的控制程序的输入,并通过RTE运行环境库调用PLC控制器相应的控制程序以进行PLC的逻辑控制功能,PLC控制器的控制程序通过编译生成。实时系统的应用程序从共享变量中获取PLC的逻辑控制功能反馈的G信号,以继续实现实时系统的应用层功能,G信号为PLC控制器的控制程序的逻辑控制功能执行结果。
S270:PLC控制器的控制程序执行PLC控制器的功能。
其中,PLC控制器的控制程序通过共享变量实现与实时系统的应用程序的控制程序的数据交互。
具体包括:PLC控制器接收梯形图格式的F信号,并根据该信号进行PLC的逻辑控制功能;PLC的逻辑控制功能通过共享变量向实时系统的应用程序反馈运行结果即G信号,使实时系统的应用程序继续实现实时系统的应用层功能。
综上,一种实时系统运行PLC控制器的方法实施例二,增加RTE的IDE中配置变量文件,并传递给实时系统,且当PLC控制器扩展控制功能时通过RTE的IDE调整PLC控制器的控制程序,从而便于进一步扩展PLC的控制功能。
下面结合附图6介绍本发明的一种实时系统运行PLC控制器的各装置实施例。
图6示出了一种实时系统运行PLC控制器的装置实施例的结构,包括:第一编制模块610,第一应用模块620,第二编制模块630,第二应用模块640。
第一编制模块610执行一种实时系统运行PLC控制器的方法实施例一的步骤S110和S120,或用于执行一种实时系统运行PLC控制器的方法实施例二的步骤S220和S230。其具体原理和优点参照一种实时系统运行PLC控制器的方法实施例一或一种实时系统运行PLC控制器的方法实施例二的相关步骤。
第一应用模块620执行一种实时系统运行PLC控制器的方法实施例一的步骤S130和S140,或用于执行一种实时系统运行PLC控制器的方法实施例二的步骤S250和S260。其具体原理和优点参照一种实时系统运行PLC控制器的方法实施例一或一种实时系统运行PLC控制器的方法实施例二的相关步骤。
第二编制模块630用于执行一种实时系统运行PLC控制器的方法实施例二的步骤S210,其具体原理和优点参照一种实时系统运行PLC控制器的方法实施例二的步骤S210步骤。
第二编制模块630还用于执行一种实时系统运行PLC控制器的方法实施例二的步骤S240,其具体原理和优点参照一种实时系统运行PLC控制器的方法实施例二的步骤S240步骤。
第二应用模块640用于执行一种实时系统运行PLC控制器的方法实施例二的步骤S270,其具体原理和优点参照一种实时系统运行PLC控制器的方法实施例二的步骤S270步骤。
本发明实施例还提供的一种计算设备,下面图7详细介绍。
该计算设备700包括,处理器710、存储器720、通信接口730、总线740。
应理解,该图所示的计算设备700中的通信接口730可以用于与其他设备之间进行通信。
其中,该处理器710可以与存储器720连接。该存储器720可以用于存储该程序代码和数据。因此,该存储器720可以是处理器710内部的存储单元,也可以是与处理器710独立的外部存储单元,还可以是包括处理器710内部的存储单元和与处理器710独立的外部存储单元的部件。
可选的,计算设备700还可以包括总线740。其中,存储器720、通信接口730可以通过总线740与处理器710连接。总线740可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线740可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器710可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器710采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器720可以包括只读存储器和随机存取存储器,并向处理器710提供指令和数据。处理器710的一部分还可以包括非易失性随机存取存储器。例如,处理器710还可以存储设备类型的信息。
在计算设备700运行时,所述处理器710执行所述存储器720中的计算机执行指令执行各方法实施例的操作步骤。
应理解,根据本发明实施例的计算设备700可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备700中的各个模块的上述和其它操作和/或功能分别为了实现本方法实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本方法实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述译码方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (10)
1.一种实时系统运行PLC控制器的方法,其特征在于,PLC控制器运行在实时运行环境上,实时运行环境运行在实时系统上,所述方法包括:
实时系统在其应用程序中加载RTE运行环境库,所述RTE运行环境库包括PLC控制器的控制程序的接口;
实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;
所述应用程序通过调用加载的RTE运行环境库实现实时系统的应用层功能,其中,所述应用程序通过所述共享变量与所述控制程序交互数据。
2.根据权利要求1所述方法,其特征在于,还包括:
当所述PLC控制器添加或调整所述控制程序时,通过实时运行环境的IDE添加或修改所述控制程序,保持所述RTE运行环境库不变。
3.根据权利要求1或2所述方法,其特征在于,所述控制程序通过编译执行或解释执行。
4.根据权利要求1所述方法,其特征在于,还包括:通过实时运行环境的IDE确定所述共享变量,并创建所述变量文件,所述变量文件包括所述共享变量的结构体。
5.根据权利要求1所述方法,其特征在于,所述实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量,具体包括:
实时系统把所述变量文件添加到所述应用程序的代码中,在内存中为所述共享变量预留位置,并编译该代码。
6.根据权利要求1所述方法,其特征在于,所述应用程序通过所述共享变量与所述控制程序交互数据,包括:
所述应用程序把其运行结果以梯形图格式存储到所述共享变量中,以用于所述控制程序的输入;
所述应用程从所述共享变量中获取所述控制程序存储的运行结果。
7.根据权利要求1所述方法,其特征在于,所述控制程序的输入为梯形图格式。
8.一种实时系统运行PLC控制器的装置,其特征在于,PLC控制器运行在实时运行环境上,实时运行环境运行在实时系统上,所述装置包括:第一编制模块、第一应用模块、
所述第一编制模块用于实时系统在其应用程序中加载RTE运行环境库,所述RTE运行环境库包括PLC控制器的控制程序的接口;
所述第一编制模块还用于实时系统在所述应用程序中通过变量文件配置PLC控制器的控制程序与实时系统的应用程序的共享变量;
第一应用模块为所述应用程序,用于通过调用加载的RTE运行环境库实现实时系统的应用层功能,并通过所述共享变量与所述控制程序交互数据。
9.一种计算设备,其特征在于,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494988.6A CN114879593B (zh) | 2022-05-07 | 2022-05-07 | 实时系统运行plc控制器的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494988.6A CN114879593B (zh) | 2022-05-07 | 2022-05-07 | 实时系统运行plc控制器的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114879593A true CN114879593A (zh) | 2022-08-09 |
CN114879593B CN114879593B (zh) | 2023-03-14 |
Family
ID=82673104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210494988.6A Active CN114879593B (zh) | 2022-05-07 | 2022-05-07 | 实时系统运行plc控制器的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114879593B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812394A (en) * | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
JP2007086921A (ja) * | 2005-09-20 | 2007-04-05 | Prime Motion:Kk | 機械装置制御プログラム実行システム |
US20090132059A1 (en) * | 2007-11-13 | 2009-05-21 | Schultz Ronald E | Industrial controller using shared memory multicore architecture |
CN102346687A (zh) * | 2011-09-21 | 2012-02-08 | 南京航空航天大学 | 基于Windows驱动程序的实时系统 |
CN107272549A (zh) * | 2016-04-07 | 2017-10-20 | 欧姆龙株式会社 | 控制装置、控制方法以及程序 |
CN108121285A (zh) * | 2017-12-20 | 2018-06-05 | 中国铁道科学研究院 | 基于连续功能图的应用软件协同编译方法及装置 |
CN108958157A (zh) * | 2018-07-09 | 2018-12-07 | 北京东土科技股份有限公司 | 控制程序控制调度方法、装置、计算机设备以及存储介质 |
CN108984267A (zh) * | 2018-07-09 | 2018-12-11 | 北京东土科技股份有限公司 | 工业服务器的微内核架构控制系统及工业服务器 |
CN109074279A (zh) * | 2016-04-22 | 2018-12-21 | 倍福自动化有限公司 | 实时环境及可编程逻辑控制器 |
CN109407604A (zh) * | 2017-08-16 | 2019-03-01 | 西门子股份公司 | 处理模块耦合入模块化技术系统的方法和模块化技术系统 |
CN109842585A (zh) * | 2017-11-27 | 2019-06-04 | 中国科学院沈阳自动化研究所 | 面向工业嵌入式系统的网络信息安全防护单元和防护方法 |
US20190196435A1 (en) * | 2017-12-22 | 2019-06-27 | Kyland Technology Co.,Ltd. | Method and apparatus for monitoring and reconstructing a software-defined plc |
CN110673841A (zh) * | 2019-08-29 | 2020-01-10 | 宁波智能制造技术研究院有限公司 | 一种基于CoDeSys的嵌入式软PLC系统 |
CN110703679A (zh) * | 2019-10-14 | 2020-01-17 | 明阳智慧能源集团股份公司 | 一种风力发电机组工业控制器 |
CN111427310A (zh) * | 2020-03-31 | 2020-07-17 | 研祥智能科技股份有限公司 | 一种工业机器人控制器运行系统 |
US20200374205A1 (en) * | 2017-09-13 | 2020-11-26 | Intel Corporation | Common interface system for mesh networking and fog computing systems |
CN112346405A (zh) * | 2020-10-13 | 2021-02-09 | 深圳市汇川技术股份有限公司 | 数控系统控制方法、装置、数控系统及计算机存储介质 |
CN113360422A (zh) * | 2021-07-13 | 2021-09-07 | 科东(广州)软件科技有限公司 | 一种异构系统中实时操作系统设备收发数据的方法及装置 |
CN114281404A (zh) * | 2021-12-24 | 2022-04-05 | 科东(广州)软件科技有限公司 | 一种工控机算法代码的移植方法及装置 |
CN114327944A (zh) * | 2021-12-24 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种多系统共享内存的方法、装置、设备及存储介质 |
-
2022
- 2022-05-07 CN CN202210494988.6A patent/CN114879593B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812394A (en) * | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
JP2007086921A (ja) * | 2005-09-20 | 2007-04-05 | Prime Motion:Kk | 機械装置制御プログラム実行システム |
US20090132059A1 (en) * | 2007-11-13 | 2009-05-21 | Schultz Ronald E | Industrial controller using shared memory multicore architecture |
CN102346687A (zh) * | 2011-09-21 | 2012-02-08 | 南京航空航天大学 | 基于Windows驱动程序的实时系统 |
CN107272549A (zh) * | 2016-04-07 | 2017-10-20 | 欧姆龙株式会社 | 控制装置、控制方法以及程序 |
CN109074279A (zh) * | 2016-04-22 | 2018-12-21 | 倍福自动化有限公司 | 实时环境及可编程逻辑控制器 |
CN109407604A (zh) * | 2017-08-16 | 2019-03-01 | 西门子股份公司 | 处理模块耦合入模块化技术系统的方法和模块化技术系统 |
US20200374205A1 (en) * | 2017-09-13 | 2020-11-26 | Intel Corporation | Common interface system for mesh networking and fog computing systems |
CN109842585A (zh) * | 2017-11-27 | 2019-06-04 | 中国科学院沈阳自动化研究所 | 面向工业嵌入式系统的网络信息安全防护单元和防护方法 |
CN108121285A (zh) * | 2017-12-20 | 2018-06-05 | 中国铁道科学研究院 | 基于连续功能图的应用软件协同编译方法及装置 |
US20190196435A1 (en) * | 2017-12-22 | 2019-06-27 | Kyland Technology Co.,Ltd. | Method and apparatus for monitoring and reconstructing a software-defined plc |
CN108984267A (zh) * | 2018-07-09 | 2018-12-11 | 北京东土科技股份有限公司 | 工业服务器的微内核架构控制系统及工业服务器 |
CN108958157A (zh) * | 2018-07-09 | 2018-12-07 | 北京东土科技股份有限公司 | 控制程序控制调度方法、装置、计算机设备以及存储介质 |
CN110673841A (zh) * | 2019-08-29 | 2020-01-10 | 宁波智能制造技术研究院有限公司 | 一种基于CoDeSys的嵌入式软PLC系统 |
CN110703679A (zh) * | 2019-10-14 | 2020-01-17 | 明阳智慧能源集团股份公司 | 一种风力发电机组工业控制器 |
CN111427310A (zh) * | 2020-03-31 | 2020-07-17 | 研祥智能科技股份有限公司 | 一种工业机器人控制器运行系统 |
CN112346405A (zh) * | 2020-10-13 | 2021-02-09 | 深圳市汇川技术股份有限公司 | 数控系统控制方法、装置、数控系统及计算机存储介质 |
CN113360422A (zh) * | 2021-07-13 | 2021-09-07 | 科东(广州)软件科技有限公司 | 一种异构系统中实时操作系统设备收发数据的方法及装置 |
CN114281404A (zh) * | 2021-12-24 | 2022-04-05 | 科东(广州)软件科技有限公司 | 一种工控机算法代码的移植方法及装置 |
CN114327944A (zh) * | 2021-12-24 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种多系统共享内存的方法、装置、设备及存储介质 |
Non-Patent Citations (5)
Title |
---|
GAO JINGANG: "Development of soft-PLC of CNC system:ISI_webofscience, rtos OR real-time operating system", 《COMPUTER MEASUREMENT & CONTROL》 * |
东土科技: "高实时虚拟化操作系统,我们来真的!", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/135229111》 * |
刘军: "面向工业机器人控制器软PLC系统软件研究与开发", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
北京东土科技股份有限公司: "东土软件定义控制赋能智慧城市供热系统升级", 《自动化博览》 * |
周建香: "基于ARM的嵌入式软PLC运行系统设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114879593B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11762634B2 (en) | Systems and methods for seamlessly integrating multiple products by using a common visual modeler | |
CN106415495B (zh) | 用于应用开发的编程系统和语言 | |
JP3835754B2 (ja) | 集積回路の設計方法及びそれによって設計された集積回路 | |
US8028268B2 (en) | System and method for building software package for embedded system | |
WO2002061580A2 (en) | System, method and article of manufacture for successive compilations using incomplete parameters | |
CN113805882A (zh) | 应用程序开发的方法、装置、电子设备及存储介质 | |
CN111930359B (zh) | 一种异构嵌入式系统上进行算法开发的系统及方法 | |
CN111666210A (zh) | 一种芯片验证方法及装置 | |
US20210255837A1 (en) | Opc ua server, system operating using opc ua, and method of executing opc ua system | |
CN114518884A (zh) | 修复弱内存序问题的方法及装置 | |
CN117034821A (zh) | 用于芯片设计前端仿真验证的回归验证方法及介质 | |
CN114879593B (zh) | 实时系统运行plc控制器的方法、装置、设备及存储介质 | |
CN113900704A (zh) | 应用程序安装包的发布方法、装置、可读介质及电子设备 | |
JP6720993B2 (ja) | サポート装置およびサポートプログラム | |
CN114880076B (zh) | 一种用户态虚拟机的动态映像文件的动态加载方法及装置 | |
CN116185425A (zh) | 基于节点组合的事件流程编排方法、装置、设备及介质 | |
CN113760347B (zh) | 数据处理 | |
CN114816475A (zh) | 一种嵌入式操作系统的更新方法、装置、设备和介质 | |
US20150277868A1 (en) | Declared variable ordering and optimizing compiler | |
CN117280319A (zh) | 用于适应在自动化系统中使用的能重新配置的运行时系统的系统和方法 | |
CN111782196A (zh) | 基于mvp架构的开发方法及装置 | |
Maciol et al. | Application of metaprogramming and generic programming in multiscale modeling | |
Ferguson et al. | Javascript and client-side development | |
JP2003076547A (ja) | 制御ソフトウェア自動生成システムおよび方法 | |
CN102902532B (zh) | 一种集成开发环境中工具链转换扩展方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |