“软件正在吞噬世界,全部过去特定硬件实现的功能,如今都会经过软件实现”,传统封闭的工业控制系统,其经过特定硬件实现的功能在工业互联网时代都将被软件所取代,硬件将从新实现重构,功能将有软件来定义。将来以来,只是还没有流行。git
在2016年 10 月 12 日,linkedin上的做者MaartenEctors发布文章介绍了一种区别于传统PLC架构的新型逻辑控制系统App Logic Controller,简称ALC,中文译为应用程序逻辑控制器。这是一种大胆的假设和构思,即将现代的CPU和传统的控制系统的微控制器进行集成和结合,完成控制逻辑的抽象并将其转变为可经过应用程序来定义和实现的功能接口。程序员
与典型的PLC相比,ALC的外观看起来彻底相同。从硬件的角度来看,除了一般的组件以外,ALC将会有两种类型的处理器,一种是咱们如今的的手机中正在使用的移动处理器,好比ARM等;另一种是使用Arduino家族的微控制器(micro-controller)。微控制器(micro-controller)将负责管理对时间敏感的实际逻辑。而移动处理器将负责其余剩余的任务,好比更新在微控制器上运行的逻辑,与外部世界的整合、分析、监控、性能管理以及咱们可能须要的任何其余功能。github
从软件层面看,ALC将PLC的逻辑抽象出来,利用软件定义网络的实现思路,经过一个应用程序商店的方式实现针对ALC执行动做的程序开发和管理,让应用程序定义它的功能。也就是将PLC的逻辑控制、程序存储和IO模块分离,利用应用程序实现逻辑控制部分。针对每个工业解决方案就是一个开发的应用程序。编程
2016 年 11 月 18 日,做者Maarten Ectors在linkedin上发布了跟进文章,放出了基于这个想法的第一个原型实验设备。该原型机还不是真正的ALC,只是基于开源的操做系统Ubuntu Core【https://www.ubuntu.com/internet-of-things】放置在树莓派设备上,这里这个专门为物联网定制版的操做系统里,咱们能够开发本身的工业应用程序。Ubuntu的物联网操做系统UbuntuCore,旨在定义一个基于软件定义的物理网和应用程序。经过这些物理网操做系统,其上运行的应用程序便可实现和物联网设备的交互,从而实现控制过程。ubuntu
这是一个运行与Ubuntu Core系统上的Node-RED,该Node-RED被运做于控制环境,也就是PLC逻辑控制和存储系统。咱们能够说这个一个虚拟的PLC系统,而后须要使用一个IO模块来和其进行链接,共同创建一个创建一个控制环路。网络
1、ALC基本上就是在PLC类型的设备上运行应用程序商店,所以任何工业协议、边缘分析、云或其余工业集成都是一个应用程序。开发人员能够经过开源工具在数天内(或者几个小时)制定工业解决方案,而且客户能够在几分钟内使其运行起来。而且任何人均可以将其工业解决方案做为应用程序出售。架构
2、ALC相比较PLC而言,ALC比较便宜,最高端的将近数百美圆,低端也就是几十美圆。这是由于全部的设计都是开源的,硬件是开源构建的,软件是开源构建的,相对的成本就比较低廉。app
3、因为应用程序商店概念的ALC将更容易编程,所以更多的程序员能够参与,将有更多的应用程序可供选择。基本上ALC比PLC更具创新性。ide
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和云计算集成,构成工业云平台或工业物联网平台,经过编排和开发云计算应用程序实现针对工业和物联网设备的控制。
5、如何自定义
惋惜的是这些创业公司的产品目前在中国还买不到,只能经过国外的网站进行购买,若是咱们本身想要实践,咱们使用树莓派的Raspberry Pi计算模块3能够本身DIY一个。
树莓派基金会发布了一个RaspberryPi计算模块3,能够得到4GB的存储容量,1GB的内存和与RaspberryPi 3相同的处理器。而且支持UbuntuCore。咱们可使用它来构建咱们的ALC工业产品解决方案,或者运行咱们的工业应用程序测试环境。也就是说,RevolutionPi是一组使用计算模块的工业PLC类型的设备。如今有了强大的Compute Module 3和Ubuntu Core,那么咱们就能够自由的使用apps / snaps来控制和管理工业机器。咱们可使用它来实现咱们本身的DIY想法,好比实现工业机器人、无人机、PLC / ALC等等。