CN103631228A - 控制系统虚拟化方法 - Google Patents
控制系统虚拟化方法 Download PDFInfo
- Publication number
- CN103631228A CN103631228A CN201310617081.5A CN201310617081A CN103631228A CN 103631228 A CN103631228 A CN 103631228A CN 201310617081 A CN201310617081 A CN 201310617081A CN 103631228 A CN103631228 A CN 103631228A
- Authority
- CN
- China
- Prior art keywords
- hardware
- virtual
- control system
- user
- data structure
- 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.)
- Pending
Links
Images
Classifications
-
- 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]
Abstract
本发明所涉及的一种控制系统虚拟化方法,其特点为:硬件系统软件化、定制系统通用化、系统移植无缝化;即硬件接口模拟统一,硬件系统模拟统一。本发明所涉及的控制系统虚拟化方法的原理为:硬件层:在控制系统中,各种物理量通过真实的、各种规格的接口与被控制对象链接,根据不同的应用场合,其接口规格也不尽相同。虚拟层:为使各种不同规格的PLC控制系统、PC-Based系统以及专用定制系统可以统一,虚拟层定义了统一的接口数据结构,将真实的硬件接口,分类虚拟化到开发环境。知识层:硬件被抽象到数据结构中后,在其上开发的系统以数字化的形式保存起来,供将来使用。
Description
技术领域
本发明涉及工业控制领域,尤其涉及一种控制系统虚拟化领域。
背景技术
目前,工业控制系统应用基本分为PLC控制系统和PC-Based控制系统。
PLC生产厂家众多,每个厂家均有自己的PLC开发软件,其思路和开发方法五花八门,开发者不得不学习各种软件系统,在PLC硬件控制系统进行改动时,原先开发的程序需要耗费很大的精力才能移植到新的系统上,代价不菲,而且周期长。
PC-Based控制系统同样面临硬件系统繁杂的问题,虽然基于Windows平台,在一定程度上解决了软件移植性问题,但其对开发者的要求更高,往往需要开发者精通数种开发语言和工具。
目前传统的工控系统往往是定制系统,生产厂家出于对自身利益的保护,开发代码不能互相通用,一旦选定某种硬件平台,将很难进行切换。这给用户造成了很多的实际困难:
1、开发成本。由于硬件系统的定制性,开发人员不得不学习和掌握众多的开发软件平台,并对各控制器的各自特点的用法进行深入的研究。花费太多时间在开发工具上,在真正需要工艺改良提高上的投入时间不足。
2、改型问题。厂家需要根据市场变化,动态选择合适的控制系统以提高竞争力,但控制系统的换型是代价巨大的,原因在于硬件系统没有互换性,造成了软件系统无法重用。用户的选择被大大的束缚了。
3、时效问题。工业设备的使用寿命往往大于工控,当控制系统损毁时,该型号的配套元器件已经停产或淘汰,用户不得不进行升级改造,投入的软硬件成本很大,改造周期也很长。
发明内容
为解决上述技术问题,本发明公开了一种控制系统虚拟化方法,其特点为:硬件系统软件化、定制系统通用化、系统移植无缝化;即硬件接口模拟统一,硬件系统模拟统一。
本发明所涉及的控制系统虚拟化方法,使得控制系统的开发不再受限于具体的硬件系统,大大简化开发流程,灵活的适应各种不同类型的硬件控制器;且最大程度的提高程序代码的重复使用,为企业累计工艺智慧,尤其在设备需要进行硬件系统改动的情况下,更凸显本发明的优势。
本发明所涉及的控制系统虚拟化方法的原理构架,如图1所示:
硬件层:在控制系统中,各种物理量通过真实的、各种规格的接口与被控制对象链接,通常分类为数字量输入、数字量输出、模拟量输入、模拟量输出等;根据不同的应用场合,其接口规格也不尽相同。
虚拟层:为使各种不同规格的PLC控制系统、PC-Based系统以及专用定制系统可以统一,虚拟层定义了统一的接口数据结构,将真实的硬件接口,分类虚拟化到开发环境。
知识层:硬件被抽象到数据结构中后,在其上开发的系统以数字化的形式保存起来,供将来使用。
基于上述原理,本发明所涉及的控制系统虚拟化方法通过一下步骤实现:
步骤1、硬件虚拟
用户在虚拟层中创建新的工程项目,开发过程中既可以从企业已有的知识库中调用历史经验数据、程序,同时也可以将开发中的功能、知识模块等存储在企业知识库中公用。
市场上的硬件系统的种类繁多,分析其控制功能,基本分为数字量输入输出、模拟量输入输出及运动控制输入输出等几种形式,硬件的不同体现在电气接口、机械安装结构等方面。本发明所涉及的控制系统虚拟化方法根据硬件系统控制功能的工艺含义,将各种硬件系统的接口“虚拟化”为统一的数据结构,针对每一种类型的控制器开发相应的“驱动”程序实现硬件虚拟化。通过该驱动程序,所有的硬件设备被虚拟化并封装在驱动程序中形成硬件虚拟层。
图2为硬件数字量输入点的虚拟化原理示例图。
硬件虚拟采用数据结构映射方法。每一种硬件平台的接口,其数据结构、存储位置、使用标识均不一样。本发明所涉及的控制系统虚拟化方法针对不同硬件,由双向解释模块共同组成硬件平台的驱动程序:
1)虚拟层服务程序。常驻虚拟层,是虚拟层的接口守护程序。用于接收用户的资源调用并将其编译发往控制器端。
2)控制器服务程序。常驻于特定硬件控制器,用于接收来自虚拟层的数据定义,并将其翻译成该硬件平台的可用数据及反向数据传输。该程序并不参与硬件的控制功能,仅做数据交互、解析,其功能包括项目的创建和数据维护;控制系统逻辑、功能设计;控制系统模拟、调试和监控;功能、工艺知识的数字化等。
这两个模块,通过RS485/CAN/Ethernet等通讯协议进行数据的交互,其功能类似于Windows系统的服务程序。
在虚拟层中可以进行逻辑单元、数据交互、控制流程等的开发。所有的硬件均被虚拟化为常用的控制点。例如:数字量输入输出点、模拟量输入输出点、高速计数点、点位运动控制功能,通讯功能等。用户面对的将是一种统一的虚拟硬件接口,开发者可以在此虚拟环境中任意匹配资源。
在虚拟化的平台上,搭建虚拟的硬件IO等信息,在平台的虚拟“软实时系统”中进行软件的开发、调试和试运行。软件基本功能测试结束,可以下载到真实的硬件中进行实际运行。
所有的虚拟层均给予Windows平台开发,模块之间通过Windows的内部通讯机制,实现数据交互。实时采集的数据,采用数据库的形式存储在磁盘上,供后续分析处理使用。
虚拟开发平台基于Windows平台开发,在同一的界面环境下,完成控制系统软件的开发、调试和上传、下载等。
虚拟化的具体结构如图3所示。
步骤2、连接用户开发系统和实际执行系统
本发明所涉及的控制系统虚拟化方法,使用虚拟编译软件实现用户开发系统和实际执行系统的连接。针对实体硬件的不同,通过虚拟编译软件,将开发的虚拟控制软件代码“翻译”成特定设备可以识别运行的可执行代码。通过各种通讯技术,该代码可以下载到实际的控制器中进行运行。如果硬件平台发生变更,只需要在“虚拟层”重新编译一次,下载即可。因为下载的仅仅是可执行代码,所以程序无法进行反编译,保护了开发者的知识产权。
用户用一种统一的开发模式进行控制系统功能的开发,通过虚拟编译软件,将其编译成指定平台上的目标代码。用户只需要进行一次开发,即可将程序发布至不同的控制系统硬件平台上进行实施。
虚拟编译软件是本发明所涉及的控制系统虚拟化方法中的一个软件模块,当进行程序下载操作时自动被虚拟开发系统调用。虚拟编译软件自身包含针对各种硬件平台的编译模块,这些模块独立开发,由编译软件自动选择。
由于编译软件为模块化结构,可根据不同的硬件开发不同的编译插件提供给用户使用,大大方便了用户使用。
针对市场上通用的硬件平台,可以开发出各种驱动供虚拟层使用。用户所需要做的就是在下载代码之前选择一个驱动平台即可操作使用该系统完成对生产的控制。
附图说明:
图1本发明所涉及的控制系统虚拟化方法原理架构示意图;
图2为实施例1中硬件数字量输入点的虚拟化原理示例图;
图3硬件虚拟化重构示意图;
图4为实施例2中,输入、输出变量定义的窗口;
图5为实施例2中,加热工步的窗口;
图6为实施例2中,停止加热工步的窗口;
图7为实施例2中,控制逻辑的窗口;
图8为实施例3中,模拟量定义的窗口;
图9为实施例3中,模拟量属性编辑的窗口。
具体实施方式
下面结合实施例对本发明所涉及的控制系统虚拟化方法作进一步的描述。
实施例1,硬件虚拟化中的数字量输入
数字量输入是控制系统中最常用的接口。但是不同的厂家在其自身开发系统中对该点的定义、用法均不同。常见的写法有I0.0 / IW0.0 / I5.Data.0。本发明所涉及的控制系统虚拟化方法中,各种用法均通过适配驱动程序,抽象并虚拟化到统一的数据接口Input32_0.0。
在虚拟开发系统中,用户只管定义变量Input32_0.0作为0号数字量输入口,并给定物理含义即可。其在真实的硬件中应该如何标记、放置到硬件的那个内存区域均由适配驱动程序来完成。
实施例2,虚拟编译软件的实现原理
本发明所涉及的控制系统虚拟化方法在温度控制系统中,使用虚拟编译软件实现用户开发系统和实际执行系统的连接。
控制目标:控制器接收两个信号,一个是温度超过指定温度指示信号Sig1,一个是温度低于指定温度指示信号Sig2。当控制系统接收到Sig1信号,切断加热源输出信号OutSig,当控制系统接收到Sig2信号时候,启动加热源OutSig。
虚拟开发:在虚拟开发系统中,需要3步完成此工作。
步骤1、定义两个输入量Sig1,Sig2,一个输出量OutSig。如图4所示。
在虚拟系统中,用户直接用变量的描述来进行逻辑的编程,无需手动的输入变量。这样利于控制逻辑的理解和编写。
步骤2、定义两个工步,加热和不加热。
如图5所示,当系统检测到输入点Sig2(Under Temperature)信号,输出OutSig信号,驱动加热器线圈吸合,控制系统开始加热。
如图6所示,当系统检测到输入点Sig1(Over Temperature)信号,停止输出OutSig信号,驱动加热器线圈断开,控制系统停止加热。
步骤3、完成控制逻辑
如图7所示,系统周期性扫描这两种工步,当给定条件合适时候,系统执行相应的动作。
完成了简单的控制逻辑的设计后,编译系统将以上逻辑生成目标代码。当用户进行程序下载的时候,虚拟系统将根据硬件平台生成不同的目标代码:
l SchneiderElectric M258系统
编译系统生成:#1:%MW1000, 2,1
#2:%MW1001, 0, 0
以上变量的写法,是按照Schneider Electric M258的软件开发环境生成的,下载的时候,会将以上两行代码数据传送到PLC,完成控制逻辑。
l Mitsubishi FX2N系统
编译系统会生成:#1:D100, 2,1
#2:D101, 0, 0
以上变量的写法,是按照Mitsubishi的软件开发环境生成的,下载的时候,会将以上两行代码数据传送到PLC,完成控制逻辑。
本发明所涉及的控制系统虚拟化方法中的编译软件为模块化结构,根据不同的硬件可开发不同的编译插件提供给用户使用,大大方便了用户开发。
实施例3,数据结构映射方法
为了方便用户开发,虚拟系统将不同的硬件的数据描述抽象为统一的数据结构,用户开发完毕后,由编译软件再将统一的数据结构按硬件配置翻译成硬件可以辨识的数据。
以下以模拟量的数据结构为例来进行说明。
通常,模拟量有几个属性,用数据结构描述如下
Record TAnology
{
Name:String; //名称
Resolution:Integer; //精度,AD的位数
Gradient:Real; //工程斜率
//…….. //其它特性
}
实际中个硬件系统的模拟量定义格式不尽相同。但基本遵循一般的模拟量定义特性。在控制系统中只需要定义一个模拟量,并给定基本的参数即可进行工作,其余参数使用系统默认即可。
1)在系统中定义1个输入模拟量、1个输出模拟量
图8为电脑显示屏上显示的模拟量定义窗口,在该窗口中定义好模拟量,用户只需要定义名称即可,它们将会被抽象成Record TAnology的结构体变量。
2)编辑模拟量的属性
图9为电脑显示屏上显示的模拟量属性编辑窗口,通过图形化的方法对抽象后的结构体变量进行赋值,Record TAnology将会更新其中数据。
经过所述的操作,硬件模拟量的处理均被统一处理成了Record TAnology的数据类型,用户看到的是统一的变量名字,每个变量名字都是用Record TAnology的数据结构来描述,这样就完成了数据结构的映射。
实施例4,本发明所涉及的控制系统虚拟化方法用于某扩散炉控制系统开发。
开发平台基于本发明,硬件系统提供了施耐德、三菱两种驱动,用户可以根据实际需要进行选择。
以SchneiderElectric M258为指定硬件平台进行说明:
1)选择真实的硬件平台
在定义硬件平台的窗口内,选择真实的硬件平台。系统提供4中硬件平台供选择:
l SchneiderElectric M258
l SchneiderElectric M218
l Mitsubishi FX2N
l Mitsubishi FX3U
用户选定硬件平台后,系统将自动加载适配驱动程序和通讯模块,虚拟编译系统将根据该配置进行程序的编译和下载。
选择SchneiderElectric M258,并点击OK结束。
2)开发控制逻辑系统
在逻辑控制系统开发窗口中,完成工艺设计、流程控制,并定义虚拟化的硬件接口。
l 区域 A: 定义控制系统的名称、作者等
l 区域 B: 定义每一个工步的名称及参数。
l 区域 C: 定义B区域中选定工步的详细输入输出点的定义、参数
l 区域D: 定义详细的控制流程,每条记录为选定工步的执行时间,跳转以及报警灯参数。
3)下载至控制器运行
下载已经开发好的程序到特定硬件中的窗口,虚拟层自动选择通过IP地址进行匹配下载。
l 在A区域中,用户需要给定控制器的IP地址、以及用户名和密码信息
l 在B区域中,程序自动根据6.2中程序编号,生成描述文件,并下载到SchneiderElectric M258中。
如果用户指定了正确的用户名和密码,虚拟程序可以将硬件中的运行程序上传到虚拟层并提供编辑功能。
有益效果
由于开发平台将各种硬件系统虚拟化成了统一平台,可以达到以下效果:
1、开发者可以实现“一次编码,永久使用”,大大降低了开发的成本。
2、生产商可以随时更换系统平台并无缝迁移。
开发平台和硬件系统的虚拟化,数据交互更加透明、快捷,使得不同硬件平台之间可以很容易联合作业。同时将PLC,PC-Based控制系统进行了有效的整合。
由于使用者下载的仅仅是可执行代码,所以程序将无法进行反编译,也保护到了开发者的知识产权。
Claims (5)
1.一种控制系统虚拟化方法,其特征在于:所述方法包括两个步骤:
步骤1、硬件虚拟;
步骤2、连接用户开发系统和实际执行系统。
2.如权利要求1所述的控制系统虚拟化方法,其特征在于:所述步骤1的硬件虚拟,硬件平台的驱动程序有虚拟层服务程序及控制器服务程序。
3.如权利要求2所述的控制系统虚拟化方法,其特征在于:所述虚拟层服务程序常驻虚拟层,用于接收用户的资源调用并将其编译发往控制器端。
4.如权利要求2所述的控制系统虚拟化方法,其特征在于:所述控制器服务程序的功能包括项目的创建和数据维护;控制系统逻辑、功能设计;控制系统模拟、调试和监控;功能、工艺知识的数字化。
5.如权利要求1所述的控制系统虚拟化方法,其特征在于:步骤2使用虚拟编译软件实现用户开发系统和实际执行系统的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310617081.5A CN103631228A (zh) | 2013-11-27 | 2013-11-27 | 控制系统虚拟化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310617081.5A CN103631228A (zh) | 2013-11-27 | 2013-11-27 | 控制系统虚拟化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103631228A true CN103631228A (zh) | 2014-03-12 |
Family
ID=50212419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310617081.5A Pending CN103631228A (zh) | 2013-11-27 | 2013-11-27 | 控制系统虚拟化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631228A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106068480A (zh) * | 2014-03-14 | 2016-11-02 | 欧姆龙株式会社 | 可编程序逻辑控制器及基于可编程序逻辑控制器的设备控制方法 |
CN106599409A (zh) * | 2016-11-29 | 2017-04-26 | 辽宁科技大学 | 一种虚拟工业控制实验系统 |
CN108241304A (zh) * | 2018-01-31 | 2018-07-03 | 广东赛诺梵信息技术有限公司 | 一种软件定义的网络型工业控制器 |
CN113342702A (zh) * | 2021-08-04 | 2021-09-03 | 武汉天喻信息产业股份有限公司 | 一种应用程序测试方法、装置、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1622014A2 (en) * | 2004-06-30 | 2006-02-01 | Microsoft Corporation | Systems and methods for inializing multiple virtual processors within a single virtual machine |
CN101000555A (zh) * | 2006-01-13 | 2007-07-18 | 北京金远见电脑技术有限公司 | 手持终端系统 |
CN101512488A (zh) * | 2006-08-07 | 2009-08-19 | Bea系统公司 | 在虚拟机环境中提供硬件虚拟化的系统和方法 |
EP2154610A1 (en) * | 2008-08-06 | 2010-02-17 | Samsung Electronics Co., Ltd. | Virtualization apparatus and method for controlling the same |
CN201859562U (zh) * | 2010-07-02 | 2011-06-08 | 广东工业大学 | 一种面向虚拟plc的仿真控制板 |
-
2013
- 2013-11-27 CN CN201310617081.5A patent/CN103631228A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1622014A2 (en) * | 2004-06-30 | 2006-02-01 | Microsoft Corporation | Systems and methods for inializing multiple virtual processors within a single virtual machine |
CN101000555A (zh) * | 2006-01-13 | 2007-07-18 | 北京金远见电脑技术有限公司 | 手持终端系统 |
CN101512488A (zh) * | 2006-08-07 | 2009-08-19 | Bea系统公司 | 在虚拟机环境中提供硬件虚拟化的系统和方法 |
EP2154610A1 (en) * | 2008-08-06 | 2010-02-17 | Samsung Electronics Co., Ltd. | Virtualization apparatus and method for controlling the same |
CN201859562U (zh) * | 2010-07-02 | 2011-06-08 | 广东工业大学 | 一种面向虚拟plc的仿真控制板 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106068480A (zh) * | 2014-03-14 | 2016-11-02 | 欧姆龙株式会社 | 可编程序逻辑控制器及基于可编程序逻辑控制器的设备控制方法 |
CN106599409A (zh) * | 2016-11-29 | 2017-04-26 | 辽宁科技大学 | 一种虚拟工业控制实验系统 |
CN106599409B (zh) * | 2016-11-29 | 2019-10-29 | 辽宁科技大学 | 一种虚拟工业控制实验系统 |
CN108241304A (zh) * | 2018-01-31 | 2018-07-03 | 广东赛诺梵信息技术有限公司 | 一种软件定义的网络型工业控制器 |
CN113342702A (zh) * | 2021-08-04 | 2021-09-03 | 武汉天喻信息产业股份有限公司 | 一种应用程序测试方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170132194A1 (en) | Information-processing equipment based on a spreadsheet | |
CN108829024B (zh) | 一种plc程序生成方法及系统 | |
US10061809B2 (en) | Control device | |
JP6506802B2 (ja) | インダストリアル・インターネットオペレーティングシステムに基づくインダストリアル・プロセス制御管理方法と装置 | |
CN108009081B (zh) | 工程设计工具协同装置及工程设计工具协同方法 | |
JP2012523644A (ja) | Cpiシミュレーション・システムのフローシートを有するスプレッドシート・ユーザ・インターフェースの利用 | |
CN103631228A (zh) | 控制系统虚拟化方法 | |
US11334550B2 (en) | Controller, control method, and control program for SQL statement generation in a factory automation database | |
US10761513B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
CN106484403A (zh) | 一种机器人跨平台的图形化开发系统 | |
CN103903086A (zh) | 一种基于业务模型驱动的管理信息系统开发方法及系统 | |
Bagal et al. | PLC based real time process control using SCADA and MATLAB | |
CN108829395A (zh) | 一种面向信号驱动程序代码自动生成方法及装置 | |
CN112987605A (zh) | 程序生成设备、程序生成方法以及信息存储介质 | |
US11281650B2 (en) | Control system, controller, and control method | |
CN104199667A (zh) | 一种新建mtk工程和提交代码的方法及系统 | |
CN107295810B (zh) | 工程设计工具 | |
CN102521250B (zh) | 一种智能测量仪器通用语法分析的实现方法 | |
CN103092747A (zh) | 一种控制程序的验证和测试方法及系统 | |
CN110324220A (zh) | 支持装置、计算机可读存储介质、设定方法 | |
CN103425055A (zh) | 一种半虚拟式的控制系统功能测试装置及方法 | |
CN111880793A (zh) | 一种基于二进制文件的hmi组态配置系统和方法 | |
US9342064B2 (en) | Motion SFC program component creation device | |
KR100928895B1 (ko) | 제어시스템 개발을 위한 툴생성장치 | |
KR20230153942A (ko) | 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140312 |