1.2.7 工业软件
工业软件是一个应用程序、过程、方法和功能的集合,可帮助收集、操作和管理规模化的工业生产制造中的信息。使用工业软件的部门包括运营、制造、设计、建筑、采矿、纺织厂、化工、食品加工和服务提供商等。
1. 工业软件基本概念
工业软件是指编程、配置和操作自动化系统所需的软件,如CAD、CAE、MES、PLM等,目前主要包括:
• 嵌入式系统的软件,通常称为固件。
• 软件驱动程序,支持与主机应用程序中的嵌入式系统通信。
• 使用软件驱动程序的主机应用程序(如SCADA、DCS)。
• 操作软件,如MES、工厂资产管理、维护管理。
• 工程与设计工具。
• 用于现场操作和诊断的应用程序。
与消费类软件相比,工业软件的发行量通常较小。客户预期的生命周期或使用周期则与此相反。除了少数特例之外,工业过程实现程序的确定性执行控制在几分之一秒之内是工业软件的关键指标。工业软件通常是为专用硬件设计的,且不能由用户进行二次开发(在附加组件、插件等方面)。尽管OPC和FDT/DTM等技术提供了明确定义的开放式接口,打破了这种封闭性,但来自不同工业设备制造商的软件组件的组合并不能总是确保不会出现故障。工业软件将在工业互联网的实施环节发挥关键作用,软件模块的智能组合,将是一种弥补单个硬件组件之间的语义鸿沟的手段,也只有使用合适的软件(算法)才能从大量的单个数据中生成有意义的信息。工业软件已经为自动化技术的制造商和用户创造了显著的附加值。
2. 工业软件的核心技术要素
从研发、设计、生产控制再到信息管理,现代化工业生产的各个流程都离不开工业软件的参与。不同行业的工业软件差异很大,如航空航天领域的工业软件与化学工业、核工业、汽车制造领域的软件需求不同、应用场景不同、控制逻辑不同,使得实现方式大相径庭。为了使工业互联网的概念具有生命力,该领域的所有组件都需要更加一致和广泛地配置计算存储和通信连接能力。工业互联网应用场景中的数据交换持续可用和分散数据处理需求,将使工业软件至少需具备以下核心技术要素。
1)提供通信参与者之间的互操作性
在工业互联网的发展进程中,自动化控制系统各组成部分之间的通信结构将发生根本性的变化,不仅会影响硬件模块,还会影响软件。与通信领域基本上预先定义的分层通信路线不同,工业互联网带来了主动通信参与模式(例如,生产线的交互式作业情形),这些通信参与者可以独立联网,而且在此过程中,还可以根据实时情况同时充当数据发生源和数据接收器。此外,这种信息互通关系是高度动态的,可以不断适应当前的状态,将对工程开发过程产生重大影响。虽然在工业控制系统阶段,可以在规划和调试期间明确规划组件之间的所有通联关系,但是在工业互联网时代,目前在离线规划过程中执行的步骤将转移到在线实时过程,而这种能力非常符合用户参与或定制化生产制造过程的需求。然而,实现这种服务和能力,需要新的跨制造商的国际标准及其实现技术,主要涉及以下方面:
• 开放式软件接口,无特定公司专属限制的增强功能,如OPC-UA、FDI和FDT。
• 自描述性接口,包括数据的语义描述,标准化数据格式,非功能属性的定义如服务质量、参数、响应时间,对象和实例的标准化、唯一化标识。
• 为接口定义变更过程,需要相应的生命周期管理功能。例如,软件开发语言从.NET 1.1到.NET 2.0的转换。与传统IT互联网软件相比,工业自动化软件的使用寿命要长得多,在这种背景下,这种技术尤为重要。
此外,用于工业互联网应用程序的软件还需要在各种平台和运行环境中工作,意味着需要支持嵌入式领域的多种操作系统平台,同时还需要支持Web环境、计算机桌面和移动设备的操作系统(iOS、Android等)。工业软件实现这些功能指标要求非常困难,因为除了必需的开发和测试工作量之外,还需要特别注意产品成本及经济可行性。同时,重要的是要确保尽可能多地使用跨平台技术,如HTML5(Web内容的一种语言描述方式)。控制器应用程序还需要兼容各种PLC系统,而具备超出基本语言元素定义的标准的适应性,是实现这种能力的基础,如必须确保有足够的功能范围,并且图形语言也有清晰的交换格式可用。IEC61131-3由国际电工委员会于1993年12月制定,是用于规范PLC、DCS、IPC、CNC和SCADA的编程系统的标准,应用IEC 61131-3标准已经成为工业控制领域的趋势。在PLC方面,编程软件只需符合IEC 61131-3国际标准规范,便可通过符合各项标准的语言架构,进而建立开发人员很容易理解的程序。在实践中,IEC 61131-3标准仅部分能满足工业软件的适应性要求,在工业互联网技术的发展过程中,将出现更复杂和更大的网络结构,协同完成实际的工业生产控制功能。由此产生的交互性需求需要提前得到保证,如通过离线工程和模拟,这意味着未来工业软件的部署过程,也将越来越有必要在工厂实际运行之前的各个阶段进行,只有确保这些阶段之间的数据交换在收发双向都能进行时,才能真正发挥作用。然而,尽管互操作性能力是典型的功能需求,冲突仍然会发生在设计阶段的工业互联网系统中:工业设备功能组件(包括增强和交换)所需的动态交互能力,会与传统的工业行业的监管需求截然相反。例如,在医药工业规范[美国食品及药物管理局(FDA)的21 CFR Part 11条款]中,要求每次生产加工工艺变更后必须进行专门的风险分析,然后重新进行认证;食品部门及香烟和饮料行业也越来越要求遵守这样的规范。
2)对海量数据的处理能力
工业互联网背后的一个关键思想是,数以百万计的工业现场传感器可以不断地传递额外的状态和环境数据及实际工况测量数据。例如,在智能电网领域,已经有电能量测量装置在使用,除了电流和电压之外,单台电能量测量装置可以提供超过2000个额外的动态值,理论上这些值可以每秒更新一次。如果这样的设备存在于一个更大的网络中,且数量呈现指数级增长,那么就会有巨大的数据量需要被传输、分发和处理,很明显,这些数据量无法用常规的方法进行管理或评估。特别是在嵌入式系统领域,不仅性能方面将需要得到极大的提升,而且将对计算处理能力产生影响,并行计算和多核程序处理将具有更好的使用前景。此外,在灵活利用分布式资源方面仍需取得进展或突破(例如,传感器出现故障时的备份解决方案)。在处理工业大数据问题时,分布式和集中化的处理和存储模式都可以使用,一方面,会有一些数据需要立即处理或仅在本地处置,在这种情况下,需要进行分布式处理;另一方面,如果数据与整个系统相关,则终端数据源(例如,传感器)或其产生的数据需要在工业互联网的云端可见和可用,然后可由任何(授权的)参与者使用和处理。工业互联网中不基于工业以太网通信的工业组件,将需要额外的通信网络支撑,如无线信道。工业设备组件中将会有更多的数据分析、预处理、压缩和聚合操作,这意味着设备/组件中的软件代码量将增加,导致嵌入式设备的复杂性增加,并且将使用新的通信协议服务,如发布者/订阅者模式。为了从海量数据中识别出相关的、连贯的行为数据,必须使用数据挖掘分析方法。此外,在数据处理方面需要关注的是,在一些定制化产品的制造场景中,每种工业设备产生的数据都需要生成一定的时间戳,则将有不同类别的数据会受到不同程度的精确性方面的影响。
3)用户友好和高可用性
大多数工业互联网的工业部件必须由受过专门培训的人员操作使用,原因通常可以归结为在设计阶段对可用性考虑欠缺,在工业产品的调试过程中这种缺陷很明显:无用户操作引导功能;缺乏自学习机制;大量技术支持或注释有限的代码标识符;说明文档过于复杂,用户一般不看;简单罗列操作步骤,缺乏重点,导致出现操作不当。随着工业系统向第三方运营商模式的转移,维护系统的人将面临重大挑战,系统操作人员将深陷来自工业现场的消息(无论是预警还是告警)的困扰,这意味着关键的、更高优先级的消息有可能在海量信息数据中被覆盖。因此,技术进步的最终目标应该在不断改善工业系统和组件的用户及其体验方面,工业现场的大量信息输入需要被智能地过滤、压缩和条理化,并以与特定角色关联的方式呈现。例如,在化学工业中,需要根据对各种事故的性质和分析,制定相应的建议和指南,这些建议和指南将与某种自动装置相关的操作界面和术语列表(尤其是石化工业)结合在一起,系统性呈现。实现工业互联网系统或设备的用户友好或高可用性,首先必须以更直观、简单和标准化的方式设计用户界面,并使其适应工厂操作员的使用习惯和认知模式。为此,可以在软件开发领域中使用这些技术:设计用户友好界面、基于角色的关联树定义技术、增强现实、智能穿戴型输出设备、面向特定输出设备的图形界面和信息创建方式(响应式设计)、手势控制、自适应图形界面。例如,电子消费品行业已经在智能手机领域制定了许多事实上的标准,工业互联网用户(如多点触摸和手势控制或应用程序技术)甚至智能工厂操作员也越来越需要或期望智能手机的使用。由于工业组件数量众多,版本、可能的组合和配置选项复杂,工业互联网时代的工业产品将更多地考虑用户友好方面的技术突破。
此外,工业软件的开源开发模式,第三方软件模块的跨平台集成,也为攻击者和入侵者提供了相对开放的空间。在工业互联网中,随着对通信技术的相应需求的发展,将产生更大规模的数据量,其中许多数据属于敏感数据。因此,工业软件的信息安全问题十分重要,特别是恶意病毒软件的防护及数据隐私保护问题需要慎重处理。