1.2.4 工业App技术
工业互联网设备为工业生产控制过程带来了巨大的数字化变革,而移动性则增强了在正确的时间获得准确信息的可能性。与传统制造企业的做法相比,工业互联网企业的移动性实现了更好的协作、更快的信息收集、增强的决策能力和更好的性能。对移动性的日益依赖使得工业企业投资基于工业移动的应用程序开发的积极性很高,对于那些想跟上日益激烈的竞争的制造企业而言,数字创新和产品研发转型是基本要求。工业App技术帮助智能工厂实现了流程自动化,缩短了上市时间,移动应用解决方案则帮助各行业提高了生产率,并为员工提供了安全的工作环境。工业App应用于工业互联网的方式有如下四种。
1)助力工业企业数字化转型
制造企业采用工业App的驱动力之一是其在数字化转型方面能发挥作用,投资工业App软件的制造企业将体验到更高级别的可访问性和简化的资产管理模式。这些经济高效且易于配置的工业App使策略、安全、数据和访问管理措施能够有效地推出,移动显示屏幕提供了更好的可视性和更快的事件响应能力。程序开发级的移动接口将简化设备的调试、校准、诊断、故障排除、维修和更换过程,直接影响工业产品生产加工流程的有效性,简化决策过程,最终降低成本。
2)提供无缝的、安全的数据
借助工业App,制造企业将可以极大地减少对配套文档的依赖,并允许不同利益相关者,以及研发技术人员和现场工人之间无缝地共享数据。所有远程工业现场的数据都将安全地传输到存储系统,方便后续检索和分析。工业App强制执行严格的身份认证和访问控制管理解决方案,将有助于确保仅授权人员的访问和使用。
3)工业数据可视化
生产制造企业可以利用工业App实现更丰富的数据可视化能力,而数据可视化有助于提高工业产品用户的参与度和交互性,非常符合工业互联网的发展愿景。工业App还应将数据放在具体行业领域的业务中,这样可以更容易地处理信息和获得可靠的分析结果。
4)快捷的工业数据处理
利用移动承载工具的可移动性和可以无限接近工业现场及控制设备的特性,工业App软件可以借助环境优势、工艺参数等辅助处理来自不同来源的工业数据,并可以在工业资产/设备附近进行本地分析,而这些分析将有助于提供快速的信息采集和数据分析能力,以便更好地做出决策。
工业App在智慧工厂、汽车制造、智慧物流、能源化工、数字化工厂和食品加工等行业广泛应用。
1. 工业App的基本特点
工业App作为一种新型的工业应用程序,是为智能手机、平板电脑等移动设备平台设计和开发的一种软件应用程序。本地应用程序和Web应用程序是工业App的两大类,尽管从开发人员的观点和用户体验看,它们并不相同,但具有以下基本技术要素[7]:
(1)定向解决一个或多个问题。每个工业App都可以完整地表达一个或多个特定功能,是解决特定具体问题的工业应用程序。
(2)特定自动化控制技术的具体实现。工业App中封装了针对特定生产工艺或控制过程的配方、流程、逻辑、数据流、顺序、算法、知识、比例等工业技术,每个工业App都是一些专门的工业生产制造过程的集合与载体[7]。
(3)轻量级、可组合、可装配。工业App功能单一,只针对某种特殊的控制应用设计,不需要考虑普适性,不同的App之间耦合度较低。工业App一般占用内存空间不大,没有很强的计算能力,不同的工业App可以通过一定的逻辑与交互进行叠加以解决特定问题。工业App集成了针对特殊应用场景的工业技术,所以,工业App可以重复应用到不同的环境条件中解决相同的问题[7]。
(4)层次结构清晰、可表达。工业App是规程与方法、数据与信息、技巧与知识等工业技术,以一定的结构进行梳理和抽象形成的一种模式,多数工业App以各种可视化方式定义这些工业技术及其相互间的联系,并提供图形化HMI(人机交互界面),以及具有可操作性的输入和输出。
(5)软件开发简单化。工业App的开发主体是掌握工业控制技术的软件开发人员。工业App的开发必须简单化,才能适合更多的自动控制系统从业人员,便于他们将工业自动化知识与软件开发进行结合[7]。
(6)良好的兼容性。工业App聚焦解决一定输入和输出条件下的工业技术问题,因此,为适应工业互联网应用环境中的多样化设备环境,需要具有软件程序的跨平台兼容能力和共用、复用性。
2. 工业App的开发
工业App的开发常用的工具涉及Android平台、SQLite数据库和AChartEngine等。
1)Android平台
Android是一个基于Linux的操作系统,主要用于智能手机和平板电脑等触摸屏移动设备,是一个面向移动设备的开源软件项目,也是由Google发起的开源项目。Android软件开发工具包(SDK)是一组用于构建、测试和调试Android应用程序的库和开发工具。为了构建和开发Android原型,需要下载并安装Android SDK,而Android应用程序通常使用Java编程语言(应用程序通常使用Android软件开发包,并基于Java编程语言开发,但是其他的开发工具可用)。
2)SQLite数据库
SQLite是一种轻量级的关系数据库引擎,是专门为嵌入式设备设计的,运行时只需要很少的内存。与Android相同,SQLite的源代码也开源,因此,对每个企业开发者和学生等都是免费的。并且SQLite已经嵌入Android数据库的API中,将这些内嵌SQLite的API接口导入Android App project中,无须任何数据库设置或管理,应用程序就可以构建和管理自己的私有数据库。SQLite已经有大约13年的历史,已经更新了很多版本,与其他开源数据库管理系统相比,它的执行速度更快。此外,从SQLite 2开始支持面向事务的开发,并使用二叉树实现。SQLite可以在多种操作系统下运行,如Windows、Linux、UNIX,通常没有任何图形用户界面,免费的SQLite图形用户界面工具如SQLite管理员、SQLite监视器和SQLite管理器等。
3)AChartEngine
AChartEngine是一个图表软件库,用于运行在移动电话上的Android应用程序,以及使用Android SDK 1.5及更高版本开发的平板电脑和其他Android设备。目前,AChartEngine支持十几种不同类型的图表,包括Android原型系统中使用的折线图。使用AChartEngine的原因在于没有用于开发图表的现成Java库。在常见的几种绘制图表解决方案中,AChartEngine在大多数Android手机上具有良好的图表显示性能。工业App的基本用户界面是不同的图形组件,Android开发者API指南推荐了五种基本布局,如线性布局、相对布局、Web视图和列表视图、带适配器的网格视图(除这五种布局模式之外,还有很多其他的模式,但这五种是最普及的,并由Android开发者API指南推荐给开发者)。通过将这些布局与其他类型的基本图形用户组件结合使用,可以辅助工业App构建更实用的用户界面。
工业App的开发具有很强的定制化特点,不同行业、不同企业、不同用户和不同应用场景的工业App往往差异性很明显,因此,设计和研发阶段用户的参与必不可少,需求对开发的强引导性是此类软件开发的显著特点。