“软件正在吞噬世界,所有过去特定硬件实现的功能,现在都会通过软件实现”,传统封闭的工业控制系统,其通过特定硬件实现的功能在工业互联网时代都将被软件所取代,硬件将重新实现重构,功能将有软件来定义。未来以来,只是尚未流行。
一、ALC概念的诞生
在2016年 10 月 12 日,linkedin上的作者MaartenEctors发布文章介绍了一种区别于传统PLC架构的新型逻辑控制系统App Logic Controller,简称ALC,中文译为应用程序逻辑控制器。这是一种大胆的假设和构思,即将现代的CPU和传统的控制系统的微控制器进行集成和结合,完成控制逻辑的抽象并将其转变为可通过应用程序来定义和实现的功能接口。
与典型的PLC相比,ALC的外观看起来完全相同。从硬件的角度来看,除了通常的组件之外,ALC将会有两种类型的处理器,一种是我们现在的的手机中正在使用的移动处理器,比如ARM等;另外一种是使用Arduino家族的微控制器(micro-controller)。微控制器(micro-controller)将负责管理对时间敏感的实际逻辑。而移动处理器将负责其他剩余的任务,比如更新在微控制器上运行的逻辑,与外部世界的整合、分析、监控、性能管理以及我们可能需要的任何其他功能。
从软件层面看,ALC将PLC的逻辑抽象出来,利用软件定义网络的实现思路,通过一个应用程序商店的方式实现针对ALC执行动作的程序开发和管理,让应用程序定义它的功能。也就是将PLC的逻辑控制、程序存储和IO模块分离,利用应用程序实现逻辑控制部分。针对每一个工业解决方案就是一个开发的应用程序。
二、发展历程
2016 年 11 月 18 日,作者Maarten Ectors在linkedin上发布了跟进文章,放出了基于这个想法的第一个原型实验设备。该原型机还不是真正的ALC,只是基于开源的操作系统Ubuntu Core【https://www.ubuntu.com/internet-of-things】放置在树莓派设备上,这里这个专门为物联网定制版的操作系统里,我们可以开发自己的工业应用程序。Ubuntu的物联网操作系统UbuntuCore,旨在定义一个基于软件定义的物理网和应用程序。通过这些物理网操作系统,其上运行的应用程序即可实现和物联网设备的交互,从而实现控制过程。
这是一个运行与Ubuntu Core系统上的Node-RED,该Node-RED被运作于控制环境,也就是PLC逻辑控制和存储系统。我们可以说这个一个虚拟的PLC系统,然后需要使用一个IO模块来和其进行连接,共同建立一个建立一个控制环路。
三、ALC的概念的优势
1、ALC基本上就是在PLC类型的设备上运行应用程序商店,因此任何工业协议、边缘分析、云或其他工业集成都是一个应用程序。开发人员可以通过开源工具在数天内(或者几个小时)制定工业解决方案,并且客户可以在几分钟内使其运行起来。并且任何人都可以将其工业解决方案作为应用程序出售。
2、ALC相比较PLC而言,ALC比较便宜,最高端的将近数百美元,低端也就是几十美元。这是因为所有的设计都是开源的,硬件是开源构建的,软件是开源构建的,相对的成本就比较低廉。
3、由于应用程序商店概念的ALC将更容易编程,因此更多的程序员可以参与,将有更多的应用程序可供选择。基本上ALC比PLC更具创新性。
四、基于ALC创新的创业公司
1、UniPi.Technology
网站:【https://www.unipi.technology】
创新型公司UniPi.Technology发布了一款Neuron(神经元),UniPi Neuron是一种模块化的可编程逻辑控制器(PLC)产品线,设计用作中央控制单元。用于智能建筑系统,HVAC(暖通空调)系统和工业自动化的控制、调节和监控。凭借其模块化架构和紧凑的设计,Neuron代表了一个高度灵活且经济实惠的解决方案,可以快速扩展智能技术领域。
神经元控制器单元是为通用设计的。各种系统或设备可以根据预设程序在集成接口上进行控制,或者通过用户接口直接由用户进行控制。整个产品线以小型机Raspberry Pi 3为基础,作为独立逻辑分离模块的主控单元。这些模块有自己的处理器和内存,能够在RPi 3上独立运行,但与RPi 3相比,它们没有这样的计算性能,网络接口和远程控制的可能性,只提供有限的功能。
基本神经元S103模型图
每个神经元模型根据模型分为一到三个输入 - 输出(I/O)组,每个组包含一组输入、输出和/或通信模块。每个I/O电路板由其自己的STM32处理器控制,该处理器控制输入和输出并与中央处理单元(CPU)通信。处理器使用UniPi.Technology自己的固件,不仅包含基本的I/O功能,还包含附加的功能和特性。作为所有神经元单元的CPU,使用Raspberry Pi单板计算机。每个I/O组处理器连接到CPU,并连接到所有组处理器的中央通信通道。I/O组之间没有通信。每个处理器也可以在CPU上独立运行,允许用户在发生CPU故障或软件问题时保持对I/O模块的基本控制。
神经元产品线内部拓扑结构
神经元可以包含1个(S系列),2个(M系列)或3个(L系列)I / O组。每个组都配备有自己的处理器,一个或多个I / O模块的接口连接到该处理器。该处理器处理所述组的I / O模块上的所有事件并监视与CPU的通信。所有组都从主组(1)中从右到左进行标记。
由于采用模块化设计,I/O板完全可以互换,客户可以从默认的I/O模块组合中进行选择,也可以根据具体需求创建定制的架构。神经元因此可以定制以适应所有的客户需求,而不需要先开发一个合适的硬件。作为标准,所有神经元单元都配有RS485-Modbus和1-Wire通信接口。1-Wire低速用于从各种附属传感器(如温度计,湿度计和其他测量设备)收集被动数据。1-Wire低速数据总线允许多达15个具有唯一HW地址的设备连接到每个通道。Modbus是一种使用RS485串行总线的通信协议,可作为连接和编程共享给定协议的各种设备的接口。作为标准,所有神经元单元都配备有一个RS485总线,同时还可以给其配备以太网模块接口使用Modbus/TCP。
其解决方案的主要优势在在于,控制这些神经元的软件,所提供的基本软件是Linux操作系统以及使用TCP协议的Modbus通信接口,拥有基本的免费版本和开源版本。用户基于这个开源的或者免费的软件,针对所需的工业解决方案进行编程实现对设备的控制。提供的这些编程软件支持图形化的编程,使用户可以使用简单的拖放方案快速创建各种基本功能的控制代码,如灯光切换,运动传感器控制等。
这款产品和传统的PLC区别在于:
1)、UniPi.Technology的神经元模型支持软件对其进行编程,也就是可编程性,而不是现在传统PLC设备那样,需要使用专门的编程软件提前将程序编写好然后上传到PLC存储并执行。传统的PLC设备是不可编程的。
2)、UniPi.Technology的编程软件拥有开源版且支持图形化编程,无需去学习专门的自动化编程知识即可实现一个工业自动化程序。
3)、我们根据UniPi.Technology提供的API和接口,开放相应的应用程序,也就变相的实现了ALC的理念和架构。
2、CONTROLLINO
网站:【http://controllino.biz/】
CONTROLLINO公司的ArduinoPLC,现在从架构和实现上,已经是一个ALC理念的产品了。CONTROLLINO是一款可以自由编程的行业PLC。它基于Arduino开源软件技术,并且源代码在github上公开。其产品就完全实践了ALC的架构设计,使用软件定义PLC的架构,将逻辑控制使用上层的应用程序实现。
CONTROLLINO公司和上述的UniPi.Technology的公司类似,都是基于硬件解耦和软件定义的方式重构了PLC系统的编程和实现方式。
3、kunbus公司
网站:【https://revolution.kunbus.com】
Kunbus公司也是使用Raspberry Pi计算模块创建像Revolution Pi这样的ALC,应用到了许多家庭自动化领域。具体可以到官方网站查看。
4、Rexroth力士乐公司
网站:【https://www.boschrexroth.com.cn/zh/cn/】
力士乐公司在这方面进行创新,使用软件定义架构的PLC,即ALC和云计算集成,构成工业云平台或工业物联网平台,通过编排和开发云计算应用程序实现针对工业和物联网设备的控制。
五、如何自定义
可惜的是这些创业公司的产品目前在中国还买不到,只能通过国外的网站进行购买,如果我们自己想要实践,我们使用树莓派的Raspberry Pi计算模块3可以自己DIY一个。
树莓派基金会发布了一个RaspberryPi计算模块3,可以获得4GB的存储容量,1GB的内存和与RaspberryPi 3相同的处理器。并且支持UbuntuCore。我们可以使用它来构建我们的ALC工业产品解决方案,或者运行我们的工业应用程序测试环境。也就是说,RevolutionPi是一组使用计算模块的工业PLC类型的设备。现在有了强大的Compute Module 3和Ubuntu Core,那么我们就可以自由的使用apps / snaps来控制和管理工业机器。我们可以使用它来实现我们自己的DIY想法,比如实现工业机器人、无人机、PLC / ALC等等。