也许大海给贝壳下的定义是珍珠,也许时间给煤炭下的定义是钻石。一个人有两个我,一个在黑暗里醒着,一个在光明中睡着。
——纪伯伦,《沙与沫》
2019年1月,大众CEO Herbert Diess博士在达沃斯“世界经济论坛年会”上语出惊人,
在不远的将来,汽车将成为一个软件产品,大众也将会成为一家软件驱动的公司。
▲ 大众CEO Herbert Diess博士
2011年NetScape创始人Marc Andreessen说:Software eats the world(软件吞噬世界)! 另一位是C++语言发明人,Bjarne Stroustrup说
:人类文明运行在软件之上。的确,数字比特的海洋(软件)似乎正在成为当今世界的主题。
越来越多的人相信,软件定义世界,软件定义一切。
数字比特的海洋(软件)会给制造下什么样的定义?但对于很多从事制造业的人们而言,当听到软件定义制造之类的话,总觉得类似表达是不是太极端了,有人甚至明确地表示不屑。
从事机械、制造、以及OT领域的一些专家学者对“软件定义”之类的话多有排斥,亦事出有因。的确有少数IT出身的专家在谈论智能制造及“软件定义”之类的话题时,没能落到实处;还有少数制造或传统自动化出身的专家在谈论数字化和智能化技术的时候忘记了回家的路。
这两种情况当然是应该避免的。
言软件定义制造,难道设备和工艺不再重要?无论数字-智能技术多么先进,基本的工艺和装备永远是重要的,因为产品要靠它们生产出来;人也是最重要的,甚至某些传统的手工工艺未必都能去掉。日本某先进的机床公司里,在应用数字-智能技术的同时,
却存在原始的手工刮研工艺,而且是用在高精度要求之处。制造领域的学者和专家们能够深刻体认制造之不易,如果说软件定义制造,是不是IT技术主导制造呢?是不是有人又在玩概念,玩虚的?
于是有制造领域的学者建议,不要提软件定义制造,只言软件使能制造。
笔者亦是机械制造专业出身,也认为“软件定义制造”不能算一个严格的学术概念,
但作为技术意识或观念、作为一种描述趋势的定性说法则可以被接受。在当今学科和技术交融的时代,机械、制造及传统自动化领域的学者和专家们更应该欣然融合来自异学科的新概念或理念,
只要其主体思想是合理的。当然自己要清醒的是,不要忘了回家的路!
如果把语义绝对化,那么“软件使能制造”同样存疑,
扳手和螺丝刀就不是软件使能的。之所以言软件定义制造,不只是因为制造中要用到很多软件,
而是软件在制造中的作用越来越关键,软件越来越体现产品和企业的竞争力。只要我们略为细察,软件的确已经渗透到制造的方方面面,且成为其核心能力。只要看看今日智能产品和装备中软件之作用,就能领略其言之真。
图1.是制造中所用到的部分软件。
图1. 软件支撑智能制造(提供:黄培)
“软件定义”这一术语起源于计算机学科领域,“软件定义制造”之说则是行业融合的自然结果。
一般认为,软件定义的说法始于“软件定义的网络”(Software-Defined Network,SDN)。传统的“硬件为中心”的网络体系结构,复杂性高、扩展性差、资源利用率低、管理维护工作量大,无法适应上层业务扩展演化的需要。
2008年前后,斯坦福大学提出“软件定义网络”并研制了OpenFlow交换机原型。OpenFlow中,网络设备的管理控制功能从硬件中被分离出来成为一个单独的完全由软件形成的控制层,抽象了底层网络设备的具体细节,为上层应用提供了一组统一的管理视图和编程接口(Application Programming Interface,简称API),而用户则可以通过API对网络设备进行任意的编程从而实现新型的网络协议、拓扑架构而不需改动网络设备本身,满足上层应用对网络资源的不同需求。
2011年前后,SDN逐渐被广泛应用于数据中心的网络管理,并取得了巨大的成功,重新“定义”了传统的网络架构,甚至改变了传统通信产业结构。在SDN之后,又出现针对泛在化资源的“软件定义一切(Software-DefinedEverything,SDX)”。
实现SDX的技术途径,就是把过去的一体化硬件设施打破,实现“硬件资源的虚拟化”和“管理任务的可编程”,为用户提供更开放、灵活的系统管控服务。
通过软件定义,底层基础设施架构在抽象层次上就能趋于一致。软件定义概念融入各个领域的同时正在不断“泛化”,
软件定义正在向物理世界延伸。在“工业互联网”、“工业4.0”和我国“制造强国战略”的发展蓝图中,软件定义将成为企业核心竞争力的战略需要。伴随着软件定义的泛化与延伸,
软件将有望为物理实体定义新的功能、效能与边界。
在制造中,软件的作用越来越大。
- 智能产品需要软件;
- 产品设计中结构的创成需要软件(如衍生式设计,Generative design);
- 加工过程的控制、优化需要软件;
- 管理调度优化需要软件;
- 从采购到销售的整个供应链系统的优化需要软件;
- ……
几乎在制造的所有方面都离不开软件。
不妨把“软件定义”的理念引申到制造中,但“定义”主要不是表现在“需要”,不是局限于应用软件后提高效率,而是若没有软件,产品的某些功能可能根本不存在;过程的高性能、高质量无法达到;
企业的目标不可能实现;某些市场也可能不存在……现在可以回答,数字比特的海洋(软件)能为制造下的定义:
人力或传统自动化不能实现的功能、性能、高质量……
软件定义制造:
● 如果软件在制造系统的某些产品/过程中所发挥的作用是人力或传统自动化不可企及的,则言产品/过程是软件定义的;
● 如果软件在制造中的关键作用是人力或传统自动化不可企及的,则言软件定义制造。
软件定义制造,并非言所有的软件都能定义制造。能定义制造的软件主要是工业软件,而非一般的通用软件。工业软件绝不是一般互联网公司可以涉足的。
仅就代码行数而言, Windows软件甚至不及某些复杂产品(如飞机)中用到的工业软件。可见,工业软件承载的是何等大尺度的工程量!
工业软件还不能容忍哪怕一点瑕疵,比如发射火箭,若控制火箭动作的软件有某个细节不对,火箭立即失控。通用软件则不然,如Windows软件出错,重启系统不致有太大问题。
工业软件中沉淀了大量工厂场景数据、知识、及很多人的经验、才智。
这就表明,软件背后
潜藏的人的经验、才智、数据、知识等定义了制造。另一方面,现在人工智能的发展已经在局部领域超越人的智能,在制造中融入了人工智能的某些软件(也需基于制造某个领域的知识)完全有可能在制造的特定方向超越人的能力,如感知、计算、推理能力等。这就是软件有可能“定义”制造的技术背景。综合而言,软件定义制造的内涵:
真正定义制造的是软件中所沉淀的人的经验、知识、才智以及由数据驱动的人工智能等。
及此,从事制造以及传统自动化的专业人士概可明白,绝非IT技术定义了制造,
IT/软件只不过是制造领域专家定义制造的一个工具而已。
前两天读宋华振先生的文章,文中不乏道理。
“不是软件来定义制造,而是制造的工艺知识凝聚,软件仅为载体,但是,如果只是个载体,那就不能称为定义。”只不过,当我们知道个中含义的合理性后,不必以概念去较真概念。有些情况下,对于来自异学科且在一定程度上代表制造发展趋势的、非严格学术意义的意识或理念,不妨受之纳之。
重要的是,真正认识到“软件定义制造”的内涵。
某些软件在制造中表现出的关键作用非人力或传统自动化所能企及,意指即使增加人力也不可能达到某些软件的作用或效果。
不是所有的软件都能够“定义”,如普通的CAPP,虽然它能够大大提高工艺设计的效率,但如果没有它,人还是有可能设计出相应的工艺流程,只不过要花费更多的人力。所以还不能说普通的CAPP软件定义了工艺。企业中也不是所有的实体或过程都是软件定义的,之所以言软件定义制造,是希望开发出能够“定义”制造的软件,希望通过软件创新实现人和传统自动化都难以企及的某些功能和性能。也就是说,
软件定义制造——
反映了制造中的一种趋势,一种期盼,一种境界。
在数字-智能时代,企业应该建立强烈的“软件定义”的意识,
争取让软件能够定义产品、定义质量、定义性能、定义企业目标、定义市场……需要注意的是,数字比特的海洋(软件)肯定会有泡沫,但无须过虑,风也会把泡沫吹走。
只有“敬畏专业才能真正看清问题!”
置身于智能制造中的专业人士恐怕需要有两个我,
一个在数字世界中醒着(看制造),一个在制造的物理世界中冥想(软件如何定义)。
(致谢:感谢黄培博士极有价值的建议。)
参考文献:
祖哥.大众CEO:我们要成为一家软件驱动的企业!数字化企业,2019-02-28.
梅宏. 软件定义的未来世界.卫星与网络,2018,6.
梅宏. 步入软件定义的时代. 杨春晖 等:企业软件化,序言,电子工业出版社,2020.
周倩. 工业软件,短板中的短板!数字化企业,2020-4-30.宋华振.保持对制造业的敬畏之心.