从工业4.0 谈起
自从以英国为中心的第一次工业革命以来,西方国家在政治和经济领域的主导地位是不言而喻的。经济的领头羊地位主要是依靠先进的制造业。然而在过去的几十年间,世界产生了戏剧化的变化,东西方格局被经济的全球化取代。全球化推动了其它国家制造能力的大幅度提高。而发展中国家低成本产品对西方国家制造业产生了巨大的冲击。许多的制造企业面临着要么到中国去设工厂,要么关门这样的痛苦选择。西方世界已经长时间无法和过去的地位相提并论了。
每个区域对这种转变的反映是不同的。美国放弃了大量的中低端制造业。将发展的重点放在了高科技和服务业上。但是似乎并不奏效,甚至连汽车工业也衰败了。以至于贸易保护主义主义抬头,出现了逆全球化思潮。希望以简单粗暴的方式让制造业回归,让美国再次伟大。
而在欧洲,特别是德国。制造业是最重要的经济元素。它们通过自动化和不断地对制造技术研究开发 ,保持它们在世界制造业的领先地位。德国公司即使在世界各地设立了工厂,但是在德国仍然保留了核心制造工厂。
面对发展中国家制造业的不断进步而产生的各种挑战。德国政府和行业协会不断地研究应对策略。显然,贸易保护和逆全球化不是它们采取的选项。像德国,奥地利这样先进的西方国家并不大。面向全球市场是它们经济发展的主要发展策略。所以它们唯一的方式就是继续保持在制造业的领先地位。将采用更多的高科技,特别是信息技术提升制造业。2012年工业4.0 工作小组递交了他们的最终报告草案《确保德国未来的工业基础地位-未来计划“工业4.0”实施建议》。工业4.0 计划中的许多概念是不甚明确的。但是这一概念的传播是非常令人诧异的。大多数人接受工业4.0的概念,许多国家制定了类似的计划,比如中国制造2025 计划。网络上关于工业4.0 的信息很多,许多人和企业都声称他们的产品符合工业4.0的理念。对于工程师而言,概念是廉价的,实现才是王道。我们关心的是如何去实现工业4.0计划。工业4.0 的核心概念就是信息物理系统CPS。制造设备的机械部件和嵌入式软件高度融合,并且具有相互联网的能力。开发这种信息物理系统无论是对机械制造行业还是信息技术行业都是一个巨大的挑战。
软件,工业的未来
工业4.0的愿景就是信息物理融合系统。在这个过程中,软件将扮演重要的角色功能性工业软件的智能应用和研发无疑成为影响制造业和过程工业发展的一个决定性作用。企业,乃至一个行业的未来越来越不取决于工厂本身。相反,软件工程师的地位越来越重要。通过软件虚拟实现,大数据分析,人工智能技术导入到工业领域。
传统企业生产制造非智能零部件,通过购买发达国家的软件和控制系统的发展模式已经走到了尽头。我国的机床制造业最近爆出的新闻表明行业成本提高,利润空间不断地被压缩。行业全面进入了亏损和倒闭的阶段。
2020年世界范围的新冠病毒疫情将改变世界制造业的格局,西方国家的政治家,经济学家,甚至民众都察觉普通产品的远在海外带来的风险和弊病。他们将会对过去的全球化作相当大的调整。这不是一时情绪化的宣泄,而是基于长远的战略调整。他们提出了宁可牺牲一部分效率,也要通过自动化技术将某些制造业回归。与此同时,为了保持西方国家在高科技领域的优势,他们会对新兴国家,特别是中国在新技术领域的打压和限制。美国对中国华为公司的粗暴打压就可见一斑。这种格局的变化,不仅会使我们减少全球化带来的出口市场,西方国家采用自动化技术生产的普通商品也可能在国内市场对传统制造业造成冲击。当年“洋布” 冲击国内纺织业的情形是否会再次重演。世界范围的逆全球化思潮是值得我们有所警觉的。
我国政府已经提出要发展高端制造业和战略性新兴产业。最近又提出了要在核心技术领域实现自主可控。这充分表明中国政府大的战略方面已经明确。关键是企业应采取何种方式来适应这种战略调整?
工业软件成为发展未来制造业的重要课题。制造业的部件和系统中使用大量的嵌入式软件,这些软件无法单独地获得,除非与机电部件成品一起购买。而通过生产机械零部件,采购国外电气控制系统的粗放型制造业没有性能和价格优势,许多行业戏称为“卖铁的行业”。
现代制造设备中越来越多的核心技术体现在嵌入式软件之中。如果在软件在过去的传统制造行业还只是一个配角,而现在将成为主导力量。几乎大多数企业都将会涉及软件的研发工作。他们可能是产品内部的嵌入式软件,也可能是企业独特的生产管理和过程控制软件。国外学者就提到软件是工业的未来,所有的企业都将成为一个软件公司。这是不无道理的。拥有强大的工业软件是能否取得竞争主动权的重要因素。
工业软件对实时性,可靠性和安全性有极高的要求。内部算法与物理部件充分融合,需要长期的磨合和测试。结合了公司的核心工业的独特技术。研发工业软件的难度要比研发普通商业软件更大。对工程师的要求业越高。一段时间以来,我国社会轻视制造行业,年轻人更愿意从事公务员,律师,营销等行业,而目前又热衷于互联网行业。造成了制造业人才缺失,特别是长期沉浸于某个行业的嵌入式软件工程师少之又少。这些社会因素将严重阻碍我们向高端制造业迈进的步伐。
目前我国为工业4.0 所做的工作还大多数停留在流于表面,可有可无的阶段。一些互联网公司为了拓展其云服务,联合地方政府运动式地大搞企业上云,在传统设备的PLC 上加一个网关,将数据传送到云端。企业内部建一个价格不菲的显示墙。这些项目基本上流于表面的面子工程,对制造业的效率的提升十分有限。最多起到某些启蒙作用。大多数企业对此兴趣不大。数字化没有成为行业的自觉。
工业企业真正需要的是“硬核”工业软件。比如生产过程控制,机床控制器,机器人运动控制,传感器中的嵌入式软件,设备监控检测等等。这些才是我们难啃的骨头,需要补短板的地方。
传统制造企业转型数字化需要经营理念产生转变。许多的传统企业老总停留在物理产品的思维模式阶段。他们对产品的物理形态更感兴趣,比如外观,机械结构,模具及制造技术,材料成本和制造成本等等因素考虑的比较多。而对其中的软件,IT技术被认为是简单的事情,往往是产品研发的后期才介入,而最直接的反映就是请大学或者其它公司外包开发。这样造成了工业软件的不成熟,不可靠。产品研发成功后又没有不断地改善和迭代。软件技术的边缘化现象在这样的企业十分明显。
在优秀的数字化制造企业中,从产品的构思,研发,模拟,到实现生产规划和生产实施,工业信息技术和工业软件始终都被看做是主导因素。软件研发要先于产品的研发过程。通过仿真技术验证产品的设计方案,这样做研发的成本更低,成功的可能性更高。同时建立企业内部的软件研发部门或者寻找长期的合作伙伴也十分重要。委托研发,或者简单的外包,不利于产品的持续优化。而长期的合作伙伴会对企业的产品特性,客户需求更加熟悉。也能在相关领域不断地提升技术水平。
作为政府的研究机构和大学应该重视通用的基础软件的研发,大多数研究成果应该开源,免费;惠及大多数企业。目前的状况是政府资助的研究课题完成后,研究机构依然通过技术转让向企业收取高昂的成果转让费。使大多数中小型企业望而却步。研究成果不够公开,也造成了工业界无法对研究成果进行评估。科研成果造假和质量低劣的事件也时有发生。政府应该成立更多的非盈利性研究机构,对通用的基础软件,国际标准的技术栈进行开发。协助国内企业实现数字化转型。
模型,架构与标准
如今的手机,平板电脑的使用越来越方便,一个5岁的儿童就能够操控手机。但是与之相反的是产品本身却越来越复杂。与此同时,还导致了产品的开发和制造过程的复杂性也无限地复杂。对于制造设备和自动控制系统而言,产品和系统的复杂性更是如此。开发高端制造设备涉及到了机械,软件,材料学,加工工艺等多学科协作才可能完成。产品的可靠性和精度更需要长期地验证和磨合。
欧洲国家的工程学在这方面居于领先地位,没有一个地方能像中欧这样将嵌入式软件和各种不同的产品结合的如此完美。在不同领域处于世界领先地位的隐形冠军出奇的多。他们比其它任何人更好地将软件和机电机构结合起来。这些优势是几十年来中欧企业实践起来的能力,方法和过程之上的。值得我们学习和借鉴。
中欧企业将长期积累的传统产品研发的经验应用到软件开发过程中。他们擅长对部件,系统和研发过程建立各种形式化模型。在模型之下建立系统架构。在定义严谨的架构之下,便于采取传统产品开发中采取的模块化技术。在政府,行业协会的推动和大企业引领之下,迅速地将各种模型,架构形成国际标准。促进了众多的专业化企业,研究机构和大学相互协作研发,形成区域的国际竞争能力。
所谓建模,就是采用一种形式化的精确语言来描述系统。高复杂度系统涉及大量学科,需要不同学科部门和人员协同设计,不同人员需要进行跨学科沟通,不同学科的产出物也需要沟通。工程师在文档中会使用图形进行辅助沟通,但每个人绘图习惯不同,很难理解其他人绘制的图形,而且容易产生歧义。另外,大都采用表格的方式描述不同组成部分的接口,基于表格进行输入输出的沟通,非常混乱,不易交流和修改。建模语言(比如sysML 语言)通过采用统一、完善的模型图与元素类型,使不同专业的人员都可以轻松读懂各专业模型图提高了沟通效率。建模语言可以建立完善的接口和数据交互关系,使各个逐渐的输入输出的关联起来。同时,建模语言也适合不同厂商产品的协同操作,产品生命周期管理和各种数字化仿真,孪生技术的采纳。
在很长一段时间内,我国企业扮演的技术追随者的角色。技术标准也大多数是在国际标准的基础之上略加修改而成的。标准的发布滞后于产品的研发许多年。企业研发工程师对国际标准的研究并不那么重视。而西方国家往往是由技术专家小组先研究编写出领引行业发展的技术标准。然后由工业界和研究机构开发符合标准的产品。这个过程比较长,当技术标准成熟之际,相关的产品也相继进入市场。专利和技术壁垒已经建立,追随者超越就非常困难。
欧洲企业在开发工业软件广泛采用来各种系统建模技术,不仅对部件和系统建立的模型,同时对产品的生命周期管理,研发过程,及其各种技术文档都实施了建模,规范和标准化。比如西门子公司近年来收购了著名的CAD 软件公司UG,并且开发的产品生命周期管理软件PLM,开发了JT3D 三维可视化格式。在软件设计过程中广泛采纳XML,SysML 语言。从中我们可以看出欧洲企业迈向数字化的坚实步伐。这是我们值得学习和借鉴的。
在标准指引下建立模型,在模型下设计软件
如同遵守任何一种规则一样,遵循标准和模型意味着我们将失去一部分自由,获得秩序。而控制软件对实时性,准确性和安全性具有很高的要求。在模型下编程能够实现软件行为精准性。比如PLC 控制器已经具有了几十年的历史,但是它的操作方式依然没有改变。内部的梯形图程序周期性地从左到右,从上到下地执行一遍。执行周期严格地限制在规定的时间之内(比如100ms),在一个周期内输入输出更新一次。梯形图的操作符好也是十分有限的。IEC61131 标准对此定义可严格的概念,规范和模型。扩展功能也十分谨慎。在IEC61131-3 中对于后来发展起来的功能块,结构化文本编程也进行和规范和建立模型。PLC 厂商确保其硬件设备符合标准提出的要求,并且保证软件的确定性和安全性。其它软件开发工具和软件PLC 也同样地努力达到标准的要求。控制工程师使用PLC 非常地安心。因为在PLC 上能够准确,可靠地运行他们的控制算法。
标准化和模型化程序设计的另一个优点是体现在教育和技能训练上,几乎所有的自动控制专业学生都会学习PLC 编程技术,并且进行严谨的控制工程学训练。他们在学校里就接受了控制工程师文化。
尽管软件技术飞速发展,各种新技术层出不穷。但是控制领域似乎并不欢迎淫技奇巧。它始终将精确性,安全性和使用方式放在首位。许多将IT 新技术导入工业软件的尝试都失败了。要对自动控制行业又敬畏之心。以他们的方式导入新技术比较容易成功。
软件组件化
软件组件化是通用的软件设计技术。其核心是为了软件重用(reuse)。方法是分离,将单一的软件功能分离成为一个独立的模块。比如PID 算法,FFT 变换,各种数字滤波算法等将他们从应用程序中分离出来。软件组件化的关键是标准化。IT 领域的微服务,单一责任原则等概念都是为了实现软件组件化。在工业控制领域,软件组件化被广泛采纳。只是他们在实现软件组件化过程中,更加强调了精确性,标准化和模型化的原则。PLC 中的功能块是典型的软件组件。在功能块中实现了PID 算法,运动控制等各种算法。不过在自动控制行业,对功能块进行更加精确的规范,包括他们的输入输出,状态演变图,内部算法的执行行为都具有严格的规定。设计精良的功能块甚至实现了与硬件运行平台无关。也就是这样的功能块能够在任何一个PLC 上以确定的方式运行。结合组态化编程技术,功能块的使用就像使用一个大规模集成电路一样。通过组态图中的放置和连线来使用。就像大规模集成电路的数据表一样。每个功能块都具有比传统软件文档更加详细的描述。
如果软件组件的性能是确定的,并且与硬件无关,那将使用起来十分方便和安心。
可以设想,未来的任何一个智能的机电部件(比如传感器和小型执行部件)都会有一个对应的功能块供控制工程师使用,控制程序的编写就完全和现场接线那么简单和直接。
无代码化解决方案
最近网络上出现了一篇文章引发了争议,题目是《软件吃软件》,文章中作者提出:软件库的发展速度超过了我们的使用速度,甚至软件可以自己生成新的软件,这也是为什么你看到如此之多的“无代码”或“低代码”解决方案突然出现的原因。现在,自己编写代码的理由越来越少,你要做的只是将不同的产品集成在一起。他得出的结论是软件自动化技术的发展,可能将会减少对软件工程师的需求,未来的程序员可能会比现在少。不过我认为这与程序员的努力是分不开的。至少在很长一段时间内,依然需要大量专业程序员做出艰辛的努力。而这样的努力使得其它人实现少代码化,无代码化解决方案。
其实,无代码化解决方案一直是控制工程师理想的目标。他们擅长像现场连线那样地实现控制。这也是PLC 经久不衰的主要原因。在SCADA系统中的组态软件,控制块软件都迎合了这样的需求。
在自动控制领域,也许少代码化都不受待见,我们尝试让控制工程师编写极少量的代码都失败了。他们习惯于无代码化。这是这个行业的现状,我们无力改变。
小结
作为漫谈,写作时思维会相对发散。但也不是漫无边际的泛泛而谈。本篇希望通过不同的视角来看待在未来工业4.0发展过程中的工业软件。它们为什么至关重要?它们如何以不同与通用软件的方式进行研发和使用。以及政府和研究机构在工业软件研发中应该扮演的角色。
同时我们也论述了建模和标准化对工业软件的重要性。在后续的文章中,我将以IEC61499 标准为重点,介绍分布式工业测量和控制系统中的功能块。你会更加理解本篇所讲的内容的深刻含义。
Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved.
湘ICP备20015126号-2
联系我们