「軟件正在吞噬世界,全部過去特定硬件實現的功能,如今都會經過軟件實現」,傳統封閉的工業控制系統,其經過特定硬件實現的功能在工業互聯網時代都將被軟件所取代,硬件將從新實現重構,功能將有軟件來定義。將來以來,只是還沒有流行。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等等。