我是軟件工作者,應另一個程序員老鳥朱鵬飛邀請,開這個主題,簡記目前應對互聯網時代的新柔性工業自動化研發歷程中的技術心路點滴。
工業是連續運轉的系統,有冗長龐大的前、後道,所以首求穩定。
工業的這種特性,在軟件方面,帶來了一些與互聯網行業不同的業界習慣。
在 2020 年的今天,我還聽說有的工業系統在用 Java1.4 ,那是十年前的東西了。互聯網別說十年前,五年前的東西就已經舊了。
所以作爲新丁,我們在審視經驗之時,準備做一些探索,看看能否用如今互聯網界的常用方式,來做工業方面的事情。
20200309 Mo
傳統的智能工廠系統總架構是這樣的:
我們想挑戰的,是去掉工廠工作站這個節點,通過互聯網直接指導設備。
這裏主要有兩個挑戰。
一個是網絡的通訊能力。
另一個是設備暴露在公網的安全性。
昨天討論了對於我們具體業務的一些適配設備直連服務器的流程
1、工人做基礎操作。
2、工人通過掃碼啓動自動過程。掃碼是通過連接 PC 的掃碼槍完成的,相當於在瀏覽器中輸入命令。
3、瀏覽器發起 HTTP 請求到服務器。
4、服務器收到請求後,同時(異步)通知此瀏覽器對應的電子眼、機器手,分別發送“識別”和“取料”命令。這兩個命令都攜帶由掃碼查數據庫後拿到的數據。當然,服務器也會隨着這個請求的返回,攜帶查庫信息,供界面顯示。
5、無論電子眼和機器手,誰先完成任務,返回信號,都需要等兩邊執行完畢,再開始下一步。
6、如果電子眼或機器手報告異常,則服務端給瀏覽器下發通知,令瀏覽器彈出對應界面,人工介入處理後在界面操作,重來有異常的過程。如果兩邊都異常,彈出界面會並存。
7、這裏需要特別注意,機器眼的任務,除了測量以外,還承擔着校驗人工操作是否正確的職責。無論什麼地方異常,機器眼都會返回失敗數據。
8、兩邊都完成任務後,服務器給根據電子眼返回的識別數據,結合數據庫中對此工件記錄的定製數據,整合計算出機器手目標。
9、服務器給機器手下發一組指令,完成目標。
10、機器手完成目標後給服務器返回完成。
11、服務器收到機器手的完成後,給瀏覽器下發新狀態以顯示。
12、在機器手完成前,人工進行的掃碼,會引起警告。機器手完成後掃碼纔會對第二個工件生效。
本文還發表於其它網站
CSDN:https://blog.csdn.net/ShaneLooLi/article/details/104783081
ITeye:https://www.iteye.com/blog/surmounting-2512923
中國開源社區:https://my.oschina.net/shane1984/blog/3191921