20150923-產線監控系統的初步架構

忽然發現很久沒有寫blog,上一篇居然是8個月前。趕快來更新一下。

這幾個月公司變化不小,遇缺不補,老闆說要轉型等等。再加上我有幫忙維護朋友案子,一整個大忙。先來寫一篇老闆突發奇想的概念。其實是源自於MES系統,只是老闆覺得應該不難,可以自己研發一套。於是,我就弄了一個雛形出來。這篇有點點長度。我不是專門做Web的,所以考量上可能沒有那麼進階及詳細。

場景是這樣的:老闆想要知道生產線的情況,但又不想每次都要一層層問下去,如果可以透過Web或是手機APP,就可以即時監控產線出貨與測試狀況,不是很好?故事就是這樣開始的。

因此我首先規劃了這樣的架構出來,運用到的技術有:VC++, Windows Socket, Java Web Service, JSP, JQuery, DB - MySQL, Web 框架 - Struts2:

  • 「1」-Database Server + DB。負責存放Database的地方。AP端的Uploader負責寫值,再透過Web Server來取值呈現。我簡易產生一個資料庫,資料表格,以及一些欄位,可以放在有獨立IP的電腦。
  • 「2」-Web Server + Service。負責處理去資料庫擷取資料,以及處理來自網頁的請求,呈現結果至網頁。目前Java在這一塊蓬勃發展,有非常.非常多的框架幫助使用,用意在於強制開發者寫出來的code能維持良好風格我這邊僅透過良好風格的寫法儘量不使用一些框架,再利用一些輔助的工具來達到效果。目前已經可以做到發布在網路上,讓使用者用瀏覽器觀看。
  • 「3」-Uploader。負責將蒐集而來的Log(其實是特定封包結構),透過資料庫Driver,上傳至資料庫。這邊和「4」是利用TCP/IP Socket的方式建立架構,我們要自定義一個封包結構,這邊尚未定義結構內容。
  • 「4」-AP Log Sender。有兩個方式要嘗試,4.1 是一隻獨立的程式,抓取Log後分析上傳。4.2 是內建在ap當中,每當產生Log同時,也去上傳資料。

這邊方式是會產生幾個Demo用的AP,開啟後不斷產生資料,然後送交給Uploader,模擬多個AP測試完成後產生Log的情況。

【實作】

  • 底下展示的是這圖形具體化的表現,以一條簡單的MAP為例子:
    • 其中寫到IP的部份都是表示透過IP來連接,因此不限於在Local端
    • 目前整套放在非固定IP端,因此展示在一台機器上,也可以透過同一區網的另一台機器連上觀看

  • Server端(Uploader):彙整來自AP的資料,重複的部份用Update的,不重複的部份用新增的。
    • 開啟後自動打開開放的Port,和Client協定好的
    • 等待來自ClientAP)的資料
    • Update之後,先去DB撈資料比對,判斷是否重複,重複則更新「Pass/Fail」欄位。不重複則新增
    • 圖示:

  • Client端(AP):模擬執行完AP之後,要上傳的資料。
    • 連結至ServerUploader所在位置)。Client/Server走的是Windows Socket架構
    • 變更好資料後上傳
    • 圖示:


  • DB端:紀錄彙整資料,透過ServerUploader)上傳資料更新。
    • MySQL裡頭先構建必須的欄位。
    • 不執行任何操作,都是由ServerUploader)負責處理內容
    • 圖示:


  • Web Service端:透過Java Service去調用DB中資料,單純做撈值,不寫值
    • 透過「jdbc driver」連結到資料庫,利用綁定的帳號密碼
    • 將資料表全部取出,儲存在Vector裡頭後結束
    • 圖示:無,都是Class
  • Browser端:使用者透過流覽器直接看結果
    • 透過JSP連結Web ServiceClass動作
    • 利用Struts2替換網頁別名,避免直接引用檔名
    • 用「顯示網頁」去包裝「讀取並呈現DB資料網頁」,利用JQuery自動更新「讀取並呈現DB資料網頁」,避免畫面閃動
    • 圖示:


Source Code:
  • 產線監控Client/Server
    • 注意,這是連結MySQL資料庫。請自行修改。
  • 產線監控Web Service
    • 以Eclipse開發,非常簡單兩個檔案,一個是table  structure的class,用來解析資料。另一個是去連結db後,取出資料,利用class來parser。
  • 產線監控Web test
    • 放在Tomcat Server底下,必須建立上述的MySQL DB











0 意見:

搜尋此網誌

總網頁瀏覽量

TK呱呱

Made with by TK