1. 程式人生 > >在MES中如何通過Socket與車間裝置進行網路通訊

在MES中如何通過Socket與車間裝置進行網路通訊

        之前在部落格中有寫過關於Socket的幾篇文章,所以今天就藉此機會簡單介紹一下之前的一些專案經驗,即如何通過基於TCP協議的Socket網路程式設計實現與車間裝置進行網路通訊。隨著大家對工業4.0的憧憬,現在越來越多的製造型企業開始使用MES系統,MES系統除了一些後臺的基本功能,如裝置管理、生產管理、報表、品質管理以及生產排程等,還有一個重要的環節,就是對車間的硬體裝置進行控制。控制的方式多種多樣,比如組態或者是裝置廠商提供的SDK。在這裡我介紹一種通過Socket實現與裝置間的通訊。

        通過Socket和裝置進行通訊的前提是,這個目標裝置也要支援TCP協議。由於裝置多種多樣,廠商提供的連線方式也五花八門。比如,大家都知道Socket通訊主要包括服務端和客戶端兩部分,所以廠商的裝置有可能是服務端也有可能是客戶端。如果裝置是服務端,那麼我們只要編寫一個Socket客戶端連線即可,至於怎麼編寫,根據實際情況而定。如果裝置是客戶端,那麼我們就需要搭建一個服務端Socket來監聽裝置的連線請求。一旦連線建立後,就可以通過該Socket連線執行收發任務了。需要注意的是,所要傳送的內容要根據不同裝置的協議編碼規定。

        在這裡介紹一個案例,之前一個專案中的裝置用到了AGV小車,小車的工作流程大概如下圖所示。

        該AGV小車的通訊方式就是通過Socket進行連線,該廠商提供的是服務端的Socket。所以在MES中,針對這個專案只要拿到廠商提供的IP和埠號就可以和裝置進行實時互動了。