1. 程式人生 > >ALC--軟件定義架構的PLC

ALC--軟件定義架構的PLC

plc 軟件定義 alc

軟件正在吞噬世界,所有過去特定硬件實現的功能,現在都會通過軟件實現,傳統封閉的工業控制系統,其通過特定硬件實現的功能在工業互聯網時代都將被軟件所取代,硬件將重新實現重構,功能將有軟件來定義。未來以來,只是尚未流行。


一、ALC概念的誕生

2016 10 12 日,linkedin上的作者MaartenEctors發布文章介紹了一種區別於傳統PLC架構的新型邏輯控制系統App Logic Controller,簡稱ALC,中文譯為應用程序邏輯控制器。這是一種大膽的假設和構思,即將現代的CPU和傳統的控制系統的微控制器進行集成和結合,完成控制邏輯的抽象並將其轉變為可通過應用程序來定義和實現的功能接口。

與典型的PLC相比,ALC的外觀看起來完全相同。從硬件的角度來看,除了通常的組件之外,ALC將會有兩種類型的處理器,一種是我們現在的的手機中正在使用的移動處理器,比如ARM等;另外一種是使用Arduino家族的微控制器(micro-controller)。微控制器(micro-controller)將負責管理對時間敏感的實際邏輯。而移動處理器將負責其他剩余的任務,比如更新在微控制器上運行的邏輯,與外部世界的整合、分析、監控、性能管理以及我們可能需要的任何其他功能。

從軟件層面看,ALCPLC的邏輯抽象出來,利用軟件定義網絡的實現思路,通過一個應用程序商店的方式實現針對ALC執行動作的程序開發和管理,讓應用程序定義它的功能。也就是將

PLC的邏輯控制、程序存儲和IO模塊分離,利用應用程序實現邏輯控制部分。針對每一個工業解決方案就是一個開發的應用程序。


二、發展歷程

2016 11 18 日,作者Maarten Ectorslinkedin上發布了跟進文章,放出了基於這個想法的第一個原型實驗設備。該原型機還不是真正的ALC,只是基於開源的操作系統Ubuntu Corehttps://www.ubuntu.com/internet-of-things】放置在樹莓派設備上,這裏這個專門為物聯網定制版的操作系統裏,我們可以開發自己的工業應用程序。Ubuntu的物聯網操作系統UbuntuCore,旨在定義一個基於軟件定義的物理網和應用程序。通過這些物理網操作系統,其上運行的應用程序即可實現和物聯網設備的交互,從而實現控制過程。

技術分享

這是一個運行與Ubuntu Core系統上的Node-RED,該Node-RED被運作於控制環境,也就是PLC邏輯控制和存儲系統。我們可以說這個一個虛擬的PLC系統,然後需要使用一個IO模塊來和其進行連接,共同建立一個建立一個控制環路。


三、ALC的概念的優勢

1ALC基本上就是在PLC類型的設備上運行應用程序商店,因此任何工業協議、邊緣分析、雲或其他工業集成都是一個應用程序。開發人員可以通過開源工具在數天內(或者幾個小時)制定工業解決方案,並且客戶可以在幾分鐘內使其運行起來。並且任何人都可以將其工業解決方案作為應用程序出售。

2ALC相比較PLC而言,ALC比較便宜,最高端的將近數百美元,低端也就是幾十美元。這是因為所有的設計都是開源的,硬件是開源構建的,軟件是開源構建的,相對的成本就比較低廉。

3、由於應用程序商店概念的ALC將更容易編程,因此更多的程序員可以參與,將有更多的應用程序可供選擇。基本上ALCPLC更具創新性。


四、基於ALC創新的創業公司

1UniPi.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-Modbus1-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的理念和架構。


2CONTROLLINO

網站:【http://controllino.biz/

CONTROLLINO公司的ArduinoPLC,現在從架構和實現上,已經是一個ALC理念的產品了。CONTROLLINO是一款可以自由編程的行業PLC。它基於Arduino開源軟件技術,並且源代碼在github上公開。其產品就完全實踐了ALC的架構設計,使用軟件定義PLC的架構,將邏輯控制使用上層的應用程序實現。

CONTROLLINO公司和上述的UniPi.Technology的公司類似,都是基於硬件解耦和軟件定義的方式重構了PLC系統的編程和實現方式。

3kunbus公司

網站:【https://revolution.kunbus.com

Kunbus公司也是使用Raspberry Pi計算模塊創建像Revolution Pi這樣的ALC,應用到了許多家庭自動化領域。具體可以到官方網站查看。

4Rexroth力士樂公司

網站:【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 3Ubuntu Core,那麽我們就可以自由的使用apps / snaps來控制和管理工業機器。我們可以使用它來實現我們自己的DIY想法,比如實現工業機器人、無人機、PLC / ALC等等。


本文出自 “我拿流年亂了浮生” 博客,請務必保留此出處http://tasnrh.blog.51cto.com/4141731/1982110

ALC--軟件定義架構的PLC