PLC編程再思考之二:SOA

隨著AMAZON雲服務的成功,許多人知道了BEZOS在AMAZON內部推廣WEB SERVICE的故事,從而佩服他的技術眼光和執行力。

如果說AMAZON.COM的成功是因為長尾理論,是對萬貨商店的技術實現,那麼從某個層面來說,AWS(AMAZON WEB SERVICE)是另一種形式的長尾,只不過它銷售的是IT服務而不是物理產品。

BEZOS基於SOA的思想,通過網路介面和服務打通了AMAZON內部的各種子系統,他把基礎設施的介面進一步對外開放,從而形成了AWS的基礎功能。

那麼,SOA的思想,對於PLC編程有沒有借鑒意義呢?

我認為是有的,尤其是對於具備MES複雜功能的IT PLC。

本文以ANDON功能為例予以說明。

比如說1條線有20個工位,每個工位有1個拉繩、1個燈,每條線對應1套音樂播放系統。

那麼基本邏輯過程應包含:

  • 用FOR循環遍歷每個工位,找到每個工位拉繩/燈/喇叭對應的I/Q地址。
  • 在工位邏輯里,找到拉繩的狀態,並觸發亮燈和播放音樂。

調用結構為:

由於在工位FC里,I/Q定址和讀/寫操作混雜在一起,因此工位FC沒有和拉繩/燈/喇叭的處理邏輯實現介面隔離。

如果我們分別針對拉繩/燈/喇叭封裝成3個服務介面FC:

我們可以看到,對這3個FC的調用不涉及I/Q的地址,從形式上看起來更象是邏輯服務函數,而對I/Q的定址是FC內部的邏輯,不需要暴露在介面中。

經過上述轉換後,程序的調用結構為:

我們可以看到,工位FC更加專註於業務過程,拉繩/燈/喇叭FC更加專註於I/Q讀/寫處理。

這樣處理以後,不僅程序結構清晰容易理解,而且開發和維護都更加方便。

因此我們在開發PLC程序時,也要有SOA的意識,在開發一些功能或功能塊時,要思考能不能將功能寫成可供外部調用的FC,以及輸入輸出變數要怎麼設置。

下面是AMAZON的WEB SERVICE法則:

Amazon Web Service Laws:

1) All teams will henceforth expose their data and functionality through service interfaces.

2) Teams must communicate with each other through these interfaces.

3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team』s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.

4) It doesn』t matter what technology they use. HTTP, Corba, Pubsub, custom protocols?—?doesn』t matter.

5) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

6) Anyone who doesn』t do this will be fired.

7) Thank you; have a nice day!


推薦閱讀:

一名從事自動化生產的實習生的疑問…?
plc工程師?
工業機器人及自動化與plc編程有什麼關係?
為何高手推薦西門子plc都推薦晶體管型的?

TAG:MES | 可编程逻辑控制器PLC |