工业软件与工业互联网“五不同三相似”


 

二者年代领域不同

工业软件的出现要早很多年。工业软件源于工业IT领域,业界比较公认的第一款工业软件是1957年出现的一款名为PRONTO的数控程序编制软件,由“CAD/CAM之父”PatrickJ.Hanratty博士在GE工作时开发。若以此为起点,工业软件已有64年的历史了;若以美国宇航局(NASA)在1966年开发的世界首款CAE软件NASTRAN起算,也有55年的历史。自20世纪70年代起,各种类型的工业软件爆发式增长。

工业互联网的源头是工业自动化领域。1999年物联网出现后,2002年出现工业物联网,2007-2008年中国企业开始在世界上首次使用“工业互联网”术语。数年后,工业内部诞生的工业以太网与工业外部诞生的物联网汇合到了一起,形成了今天的工业互联网。

二者用途目的不同

笔者在《铸魂:软件定义制造》前言中写道:工业软件是工业化的顶级产物。

工业软件如容器一般盛装了人类的工业知识,给制造业带来两大巨变:一是改变了传统的设计、工艺、生产和运维方式,产品随时在赛博空间迭代优化,使制造过程敏捷精准;二是塑造了产品的“五官”和“大脑”,产品在物理空间的行为随场景而自动调整。由此,交互式工业软件主要在赛博空间定义数字产品的形、态、发展演变规律等,嵌入式工业软件主要在物理空间定义物理产品的形、态、发展演变规律等。

工业软件可以理解为一种用“数字脑”代替人脑的过程辅助产品研制,控制机器运行,其关键词是“定义”———定义赛博和物理两个空间的各种人造系统。

工业互联网是连接各种泛工业终端(如人、机、料、法、环、测等)的网络,总体上说是一种包含了各种工业物理设备、传感器、工业网络、嵌入式系统或工业电脑的复合型装备网络,是新型的工业基础设施。

工业互联网的建设既可以从IT层向下扎根,进入OT层,也可以从OT层向上生长,进入IT层。工业互联网的主要用途是加速“知识自动流动”,进而促进工业资源的优化配置。其关键词是“连接”———连接赛博空间和物理空间的各种系统,从正确的物理联接,到正确的数据联接,再到正确的逻辑联接。

二者发展趋势不同

工业软件的类别有很多,笔者在《铸魂:软件定义制造》书中列出了几百种不同的工业软件。南山工业书院林雪萍在《工业软件无尽的边疆:写在“十四五”专项之前》一文中提到:“大概有5000多家工业软件供应商提供了近2万种不同的工业软件。而实际上,大量的工业软件并未被收录,因此实际数目要远大于此。”

工业软件以工具软件为主流,倾向于“特立独行”,分类上趋于发散,不同的工业软件厂商,喜欢以不同的架构,不同的高级语言,面向不同的工业细分领域,开发不同的工具软件。尽管也有诸如PLM或类似的平台类软件进行集成,但是能被PLM集成的工业软件的数量是有限的。大量的工业软件是分散、游离在PLM之外的。

工业互联网从一诞生就以“联接+集成”为己任,以开发工业互联网平台为导向。而工业互联网平台又起到了一个“工业操作系统”的作用。

因此,工业互联网平台就相当于一个集成大平台。理想情况下,各种工业APP都以SaaS的方式运行在工业互联网平台上。工业互联网平台本身(类似PLM的新型工业软件)以及运行在其上的工业APP(基于微服务的新型工业软件),分类上趋于集成。

二者层次架构不同

在《铸魂:软件定义制造》书中,笔者将工业互联网三层结构与电脑网络的三层结构做了一个类比。可以看出,底层由工业终端设备组成的工业互联网可以类比电脑;中层的工业互联网平台(也称工业操作系统、工业安卓),可类比电脑常用操作系统,如iOS、安卓、塞班等;工业APP是工业互联网平台上的新型工业软件,可类比电脑上的应用软件。

按照目前国家统计局的经济分类标准,工业软件仅仅属于电脑应用软件的一个子集。二者之间虽然都是类似的三层结构,但是交互式工业软件通常运行在电脑单机或局域网上,属于传统ISA95架构,而工业APP运行在基于云架构的工业互联网平台上,属于微服务架构。

交互式工业软件属于应用层,嵌入式工业软件属于设备的边缘层,工业互联网总体上属于工业基础设施。如果没有说明与哪一部分工业软件对标,泛泛地比较“工业软件与工业互联网”,或讨论二者之间的从属关系,通常是说不清楚的。

二者计算模式不同

工业软件和工业互联网都离不开计算。计算模式的不同或许是二者最大的不同。

在计算上,基于统计学的云计算和基于MBSE(基于模型的系统工程)的工程计算,是两种截然不同的计算模式。

云平台提供的并行计算的模式是,假如要算10亿条数据的平均值,如果单机算力不够快,可以把计算平均分配到10个节点上,每个节点各算1亿条数据,算完以后,10个计算结果发送到某一台主机上去做汇总。这个过程中,10个节点计算完成的时间点是随机的,但是算出结果的先后次序并不产生问题,因为各节点之间彼此没有耦合关系,这样就可以并行计算,对计算节点的调用也是算完即释放计算资源,不再占用。现在的工业互联网PaaS层的微服务,采用的就是这种计算模式,理想情况下,每个微服务都是一个计算任务(算法+数据),调用IaaS层的算力完成计算。

工业软件中基于MBSE的计算就不同了,计算任务之间是串行模式。比如有一个CAE大计算任务,要分成10个计算任务,任务1算完了以后,然后再交给任务2,然后再交给任务3……因为任务2要得到任务1的输出数据作为自身计算的输入,才能做计算,同样,任务3也要得到任务2的输出数据才能做计算,而且可能任务8、9、10一直占用计算资源。因此,一个CAE大计算任务往往是在单机上跑,不能被拆分到若干个主机去做并行计算。即使是做多主机协同仿真,把大任务切成不同的计算任务到不同主机节点上计算,就必须要事先做好配置———任务1的输出结果要给任务2,同时把任务1部署到某一个节点上,任务2要部署到另一个节点上,然后让两个节点之间保持通信,同时任务2的输出结果要给任务3……这些计算任务之间具有典型的“紧耦合”关系。

例如用CAE软件对一桌台球进行运动与碰撞仿真时,程序需要对每个球的位置、速度、方向等数据进行保存,而不能将这些数据交由外部程序进行管理,上下文数据之间呈现出依赖度极高的“紧耦合”关系。

部署在工业互联网平台上的工业APP,目前普遍采用了微服务架构,调用了IaaS层云计算的算力。但是,即使是先天带有并行计算便利性的微服务,在组成工业APP组件时,也需要遵循工业软件中的MBSE的串行计算模式,把每一个微服务都作为一个一个的计算任务进行协同计算的配置,上下文数据之间必须是“紧耦合”关系,才能实现工业APP的计算功能。

云计算的并行计算和微服务的核心是“无状态服务”计算模式。所谓“无状态服务”的技术特点就是不对处理的上下文数据进行保存和管理。换句话说,每个计算的输入数据均来自服务的外部输入,同时计算结果的输出也不会在微服务内部保存,通常会输出给外部应用或数据库。“无状态服务”计算模式的优点在于可以通过集群化部署,实现并行计算、高可用性和弹性伸缩等特性。但缺点在于,当需要实现经典软件架构时,微服务架构反而会把简单的问题复杂化,并极大提高系统设计与开发的难度。因为在“无状态计算”的模式下,不得不借助程序外部的上下文管理机制,实现有状态计算,而目前的技术体系在处理此类问题时并不理想,既缺少实时性,也缺少灵活性。

综上所述,在工业互联网平台上研发一款MBSE工业APP时,设计人员会面临上述的两难问题:一方面是微服务因“无状态服务”特性所存在的短板,另一方面是经典架构的高门槛。

工业软件与工业互联网,也有一些相同、类似之处。

二者的相似之处

二者都带有“工业”的标签

第一个相似之处是二者都带有“工业”这个与生俱来的标签。因为工业软件和工业互联网的源头都是诞生于工业领域,时至今日,这个基本格局仍然没有变;早期的工业互联网诞生于基于工业自动化的需求而产生的工业以太网。

工业互联网中的嵌入式软件是工业软件之一

第二个相似之处,是前面提到在机器设备的PLC和各种控制单元(CU)中就有嵌入式工业软件,如各种固定的生产设备和移动的运载车辆,它们往往以固件的形式运行在机器设备的嵌入式系统中,打包在设备中整体销售,不单独计算或统计,因此大多不为人知。机器设备中的嵌入式工业软件,可以算作是工业互联网的一部分。或者说,工业互联网边缘层(终端)中的嵌入式软件是工业软件之一。

越来越多的工业软件进入工业互联网平台

第三个相似之处,是伴随着软件工具上云、业务系统上云、工业APP开发的过程,很多传统架构的工业软件已经开始向云端迁移。同时,基于云的CAD、CAE、MES、PDM、ERP等软件也不断涌现。因此,新型架构的工业软件进入工业互联网平台,加强工互联网平台的应用与服务,就成为了一个发展趋势。


 

即使传统架构的工业软件经过云化迁移到了工业互联网平台上,形成了工业APP,形成了统一应用界面,但是其MBSE的天性,仍然要求工业APP必须按照MBSE的模式进行串行计算。

比较工业软件和工业互联网的异同之处是一个很难做的工作,因为历史和现实、传统和前沿、独立和融合等多种因素综合在了一起,任何的厘清和辨析尝试,都既需要“博古通今,从头说起”,也需要“专业贯通,跨界融合”。

传统架构的工业软件已经存在了60多年,而且因为工业的需要,还将继续存在很长时间,并不会因为部分工业软件的云化和工业互联网的蓬勃兴起而被完全替代。尤其是工业逻辑天生带有MBSE的基因,不是融入一些新架构或新计算工具就可以轻易改变的。

现在,工业互联网的高歌猛进,又让很多不同专业的技术跨界融合在了一起,带来了高度的技术复杂性和多元化的观察视角。工业互联网,既不是某些ICT领域所认知和定义的一张电信互联网,也不是某些工业领域所认知的机器设备物联网,更不是传统架构工业软件领域所认知和定义的软件集成和云化。工业互联网比以上三者要更综合、更强大。

工业软件与工业互联网从几十年前到今天,二者都是长期独立存在,但是其本身都在变化,也正在发生交汇与融合:工业互联网中包含了大部分嵌入式工业软件,工业软件中也加入了新型的基于微服务架构的工业互联网APP。尽管如此,两个领域仍然界线清晰,特色分明,“五不同三相似”是一个基本的现状。

更多详细信息,请您微信关注“计算网”公众号: