当人们谈论物理信息系统(CPS)的时候,他们到底在说什么?

但凡提到工业4.0或者物联网的文章,常在其实现技术的层面提及物理信息系统,英文即Cyber-Physical System,CPS,似乎直接翻译过来是网络物理系统才过瘾。如果你去查阅维基百科,你获得到一段不那么容易理解的描述,什么整合了计算和控制,还常常涉及到嵌入式系统。说实话,很多人可能一开始还明白一点,但是遇到嵌入式系统(Embedded System)这个词,又开始迷惑了。

         做软件的人都知道面向过程的编程思想,在这个思想体系下出现了伟大的C语言以及之前的多数编程语言。面向过程思想最典型的模式就是在描述一个系统的时候,更多着力于组件之间关系的描述,对单一的组件本身的属性描述较少,仿佛系统之所以可以运作,是来自于组件之间的关系而不突出组件自身的属性所决定的。在以C++、Java之类的面向对象的语言逐渐被接受后,软件行业开始使用统一建模语言UML来描述系统的组成以及组件之间的关系和行为。这个方法后来逐渐向其他领域扩展,但是UML本身由于太过抽象其实并没得到太好的应用。

         上面插播这一段有什么用呢?实际上在工业控制领域也存在类似的模式,及一个控制系统的设计强调的是控制流程。我们知道,在为一个物理系统设计控制流程的时候,实际上一般都要先对其进行数字化的建模工作,即寻求一种可以用数学表达式表述该控制目标的典型行为的方法。具体的控制流程及相关参数,一般都是要根据这个数学表达式来推算出控制参数的初始值,并在后期的调试中逐渐确立的。由于之前以面向过程的思路来描述物理系统,在控制系统里被控制物体的模型是过度简化和模糊的,甚至控制软件中体现的一般是输入输出测点的量测值而非拥有这些测点的设备,相关信息也缺乏集中的管理。在一个工厂的信息化系统的各个层面(流程控制系统PCS、生产管理系统MES和管理信息系统ERP)一个设备的状态参数、控制参数、财务属性和维保属性都是零碎分布且缺少联系的,甚至根本就存储在不同的信息孤岛中。

随着面向对象思想的扩散,控制工程师也很自然地以针对系统及其组件建模的方式来描述系统,从而再进一步地描述组件之间的关系。这个方式对复杂的系统会更有效些。甚至可以这样想象,当你为一个机械设备安装了一些传感器和执行器并通过采集装置将数据实时同步到服务器上的时候,你实际上可以一说随时都在服务器中获得了一个该机械装置的数字模型或镜像。这个模型随时反映出该设备的状态,而只要你在服务器上对该模型施加操作,也可以通过经由执行器的反向输出影响到这个机械装置。这听起来有点像电影《阿凡达》中的替身。没错,avatar本身就是“化身”的意思。也没错,这就是工业领域常见的远程监控系统通过HMI(人机交互界面)所提供的。但是当工程师们试图利用远程监控来进一步优化设备维护和备件采购等流程的时候,同一个物理对象的属性信息存在不同的信息系统中还是一个问题,这只有西门子等一些先进企业的数字化工厂才能实现比较顺畅的信息沟通。

         逐渐这个思路更加地泛化了。当手机因为集成了大量传感器的时候,有人突然惊呼,其实一个本人随身携带的手机,就可以充当把人的各项参数采集、传递到云端,并在云端建立这个人的数据镜像的作用。更不用说那些被我们安装部署的物联网的房间、楼宇、街道、城市…是的,所有的一切物理存在的对象,只要随身附带了一个具有传感和数据采集功能的系统,就可以在远端的计算机中(不管是控制计算机还是云)建立其数字镜像,而在远端执行与这个数字镜像的操作,通过执行器在操作于这个物体。网络世界和物理世界就这样联系在一起了,而这个伴随的计算机系统,就是CPS。

         那嵌入式系统又是什么?一般将与其他设备集成在一起的,非通用目的的计算机系统成为嵌入式系统。典型如各类控制器,无论从电动玩具到地铁闸机都有一个甚至数个这样的小型计算机伴随其内。其实手机也是一个嵌入式系统,因为手机的基本功能是通信而非App计算(虽然这一点越来越叫人怀疑)。这些专业计算机被称为嵌入式,因为他们一般影藏在被嵌入的物理对象之中与之一同使用。

         所以,从为物理对象在数字空间建模这个角度来思考,所以CPS就是为了实现该目的的一个小型计算机系统。智能硬件、可穿戴设备、车联网的追踪设备、油井上的RTU等等可以被称为CPS。也有人提出了设计和部署这类系统的5C原则(connection,conversion, cyber, cognition, and configuration)。也有人提出现有的基于线程的操作系统因其每个操作的执行时刻的不确定性(因为其为“尽力而为”的系统而不是精确执行的系统)而不适合构筑未来的CPS。甚至我们每天使用的互联网也成了新的问题:互联网协议为了适应传输条件也是被设计成“尽力而为”的系统,并不能确保信息到达的精确时刻,甚至每个数据包到达的前后次序都不能被保证。最后笔者想再提及的是,UML等建模工具的完善和推广问题。当CPS将反应物理对象的数据传递到服务器和云端的时候,基于这些数据进行的数字建模仍然需要一些方法论的提升。可悲的是,我们的产业和学术界目前对这一点还刚刚加以认识。

         回到前面说到的,一个机械设备的各类信息实际上被存储在不同的企业信息化系统中。如果按照CPS的设计思路,这些信息最好是统一存储在一个中心数据库中,或者至少是一个统一检索的分布式数据库中。但是不同层面的信息化系统的目的和对时间的相应速度不同,目前是难以统一在一个应用系统中的——你很难想象原本控制该设备的PLC程序运行于ERP的服务器上,中间还要通过不靠谱的以太网。所以,德国工业4.0白皮书里就留下一个未来需要解决的悬念:如何构建,尤其是利用现有的技术构建,适合工业4.0理念的信息化网络?


猜你喜欢

转载自blog.csdn.net/kimbo/article/details/43836187