葉劍飛 李燁
摘要:
針對某涂料加工生產企業(yè)生產過程中急需解決的生產管理、計劃編制與執(zhí)行跟蹤方式落后以及工序生產信息采集不及時等問題,提出了基于Socket通信的生產管理跟蹤系統(tǒng)。區(qū)別于傳統(tǒng)的車間生產管理模式,該系統(tǒng)加入了基于Android的移動終端設備,利用TCP的Socket通信技術、Winform框架以及數據庫管理技術,通過Android移動終端信息采集和服務端通信技術,對車間生產進度進行遠程監(jiān)督和管理,從而降低了人力成本,緩解了監(jiān)督不及時的問題,提高了監(jiān)督力度與生產效率。
關鍵詞:
信息采集;Socket通信技術;Winform框架;數據庫技術
DOIDOI:10.11907/rjdk.172750
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2018)003013603
英文摘要Abstract:For the production management, planning and the behindhand execution trace ways in the implementation of production process that a certain paint production enterprises faces, we proposes a discrete production management tracking system based on Socket communication. The production management mode is different from the traditional, joined the mobile terminal equipment based on Android, using TCP Socket communication technology, Winform framework and database management technology, through the Android mobile terminal information acquisition and server communication technology, remote monitoring and management of the workshop production schedule, reduce manpower needs and alleviate the problem of not timely. Increased supervision and production efficiency.
英文關鍵詞Key Words:information acquisition; Socket communication technology; Winform framework; database technology
0引言
隨著市場環(huán)境的快速變化,現代制造型企業(yè)也在加快信息化進程,智能化、網絡化和集成化正成為制造業(yè)發(fā)展趨勢。企業(yè)對生產數據的實時采集與生產進度監(jiān)控問題越來越關注,以期提高生產效率與監(jiān)管力度,實現制造過程的可追溯性等。
傳統(tǒng)的生產車間管理系統(tǒng),大部分需要通過人力進行統(tǒng)計和監(jiān)督,效率低下、實時性差且出錯率高,無法滿足實時預警和監(jiān)控、數據查詢存儲、快速追責以及靈活記錄生產信息的需求。隨著移動終端智能設備的不斷普及,現代制造企業(yè)對生產管理的靈活性和便捷性提出了更高要求。
本文以某涂料加工生產車間為背景,從車間的實際出發(fā),建立了基于Socket通信的生產管理跟蹤系統(tǒng)[12]。不同于傳統(tǒng)的生產管理系統(tǒng),本系統(tǒng)能夠通過Android移動終端設備實現生產數據的采集[3]、發(fā)送以及生產進度的實時查詢,并通過服務端對生產過程進行實時監(jiān)控和記錄。
1系統(tǒng)需求
經過對該企業(yè)車間的詳細調研和仔細分析,發(fā)現目前車間管理方面存在的主要問題如下:
(1)人力依賴性大。各個工序的生產進度監(jiān)督與生產數據采集完全依靠人力完成[4],效率低下,且經常由于工作人員的工作不到位與失誤造成一定的損失和矛盾。
(2)數據存儲和查詢困難。由于生產數據以及訂單等重要數據都是通過人力進行統(tǒng)計和存儲,導致數據散亂不集中,且查詢起來費時費力,經常造成數據丟失和錯誤,各部門數據無法很好地共享和對應,容易形成“信息孤島”,導致工作量大大增加,且工作效率低下。
(3)數據采集困難。生產管理人員無法實時跟蹤生產過程中的設備運行狀態(tài)、工序生產時間、生產人員監(jiān)督以及訂單完成情況,數據采集需要通過人工記錄,數據的完整性和可靠性得不到保障,管理效率低下。
2系統(tǒng)結構
車間生產管理跟蹤系統(tǒng)采用C/S體系結構,利用智能手機等移動設備進行數據采集和查詢,使用PC服務器完成本系統(tǒng)應用程序的管理、維護和運行,從而極大地增強了系統(tǒng)的集成性和可維護性。生產車間裝有大的顯示屏,用來顯示和監(jiān)督整個生產車間的訂單生產進度等狀態(tài)信息。系統(tǒng)整體結構如圖1所示。
2.1系統(tǒng)客戶端設計
客戶端是一個Android系統(tǒng)的APP,主要實現信息采集和數據查詢功能,包括登錄模塊、通信模塊、采集模塊、查詢模塊以及用戶管理模塊。登錄模塊包含兩種登錄方式,一種是管理員模式,一種是員工模式,通過登錄的賬戶、密碼和數據庫[5]進行匹配,以指定登錄人員的權限,進入不同界面,實現不同功能,從而提高系統(tǒng)的安全性和便捷性;采集模塊在員工登錄功能里,包含掃描功能和手動輸入功能,通過掃描或手動輸入進行信息采集,最后通過TCP Socket寫入數據庫,并在顯示屏上顯示;查詢模塊是管理員登錄后的功能,通過TCP Socket和PC服務端進行通信[6],通過輸入的信息進行數據庫查詢,以便實時監(jiān)督生產進度和進行人力資源等調度管理;用戶管理模塊可方便員工和管理者管理個人信息,包括修改密碼和用戶名等功能,并對修改后的信息進行存儲保存。
2.2系統(tǒng)服務端設計
PC服務端的功能主要用于與數據庫、客戶端進行連接通信及顯示,對數據庫進行操作和接收客戶端采集的信息并顯示。服務端包含數據導入/導出模塊、用戶管理模塊、生產數據管理模塊、生產設置模塊、通信模塊、顯示模塊以及操作記錄查詢模塊。用戶管理和生產數據管理模塊都需要管理員的身份驗證,以保證系統(tǒng)的安全性。數據庫是本系統(tǒng)的數據核心部分,數據庫的設計直接影響著系統(tǒng)的工作效率和穩(wěn)定性。本系統(tǒng)采用Sqlite3作為生產跟蹤管理系統(tǒng)的數據庫。
車間根據訂單信息和需求等制定生產計劃、生產批次表和工序計劃表,隨之確定相應的生產人員、設備及工藝,同時確定所需要的物料信息,通過客戶端和服務端通信,操作數據庫內的訂單信息并設定系統(tǒng),服務端的結構模型如圖2所示。
3關鍵模塊及技術分析
3.1采集模塊與查詢模塊
客戶端的采集模塊和查詢模塊屬于不同登錄方式包含的功能,員工登錄后主要通過采集模塊進行數據的采集并發(fā)送給服務端,而考慮管理者監(jiān)督生產進度的便捷性,管理員登錄后,即可通過移動設備隨時與服務端通信,通過查詢模塊查詢重要訂單的進度。
(1)數據采集。數據采集模塊使用條形碼掃描技術和手動輸入技術??蛻舳耸褂脝T工身份登錄后,主界面包括掃描和手動輸入兩種采集方式,考慮到便捷性和可靠性,員工會首先選擇掃描功能。某工序生產完成后,生產員工掃描該訂單的條形碼,出現該訂單的裝罐單號信息后,員工通過TCP Socket通信把訂單信息和工序發(fā)送給服務端,服務端會根據裝罐單號在數據庫中記錄生產時間和生產人員信息。該采集方式安全可靠且方便快速,但由于該功能需要調用移動設備的攝像功能,且考慮到會出現條形碼清晰度不夠等問題,同時設置了手動輸入訂單信息的功能,并發(fā)送給服務端存儲采集信息。該采集方式的安全性和效率都比較低。
(2)訂單查詢??蛻舳耸褂霉芾韱T身份登錄后,便可進行訂單進度查詢。一個訂單對應一個客戶,但可能會有多個裝罐單號,管理員通過向服務端發(fā)送訂單號,服務端通過該訂單號進行查詢,并將查詢到的一條或多條訂單信息發(fā)送給客戶端,管理者通過回復信息即可查看訂單進度,以實現實時監(jiān)督,方便快捷。
3.2導入/導出模塊
(1)導入模塊。對于新訂單信息,服務端通過導入模塊,將含有新訂單信息的Excel表格導入數據庫進行統(tǒng)一存儲管理,然后車間才開始生產,通過客戶端和服務端的通信,實時更新數據庫中已有訂單的生產進度。該模塊使用sqlite3.dll的函數接口和OLEDB技術實現了數據庫的寫操作和Excel的讀操作。
(2)導出模塊。對于數據庫中正在生產以及已完成的訂單,通過導出模塊可以先查詢出在某個時間段的訂單信息并將其以Excel表格形式導出,通過與服務端相連的打印機可以將其輸出打印。該模塊使用sqlite3.dll的函數接口和OLEDB技術實現了數據庫的讀操作和Excel的寫操作。
3.3關鍵技術分析
(1)并發(fā)采集。在生產過程中,由于多條訂單會同時進行,則需要多臺設備對訂單生產進度進行采集,因此要求整個服務端的接收模塊滿足高并發(fā)的要求。多線程技術[7]是傳統(tǒng)的實現高并發(fā)的方法,但多線程會增加線程調度時間和數據切換時間,所以本系統(tǒng)未采用傳統(tǒng)方法,而是使用線程池的方法。
開始先為線程池配置一個合適的線程容量,當客戶端和服務端連接時,隨著設備增加,服務端相應地增加線程數目,創(chuàng)建多個并發(fā)子進程。當訂單信息完成后,客戶端斷開與服務端的連接,服務端則將已完成訂單的線程逐步銷毀。線程池的主要優(yōu)點是降低了操作系統(tǒng)的額外開銷與服務端的延遲。
(2)數據庫和Excel表格的連接技術。本系統(tǒng)的一個核心技術就是對數據庫和Excel表格的連接技術。由于車間的訂單信息經常更新,存儲量不會太大,所以本系統(tǒng)采用超輕量級嵌入式數據庫,其語法支持標準的SQL語法,同時遵循數據庫的ACID事務,且開發(fā)人員容易上手,快速掌握。由于本系統(tǒng)服務端采用C#界面程序,而對于Sqlite3數據庫的接口,官網的System.Data.SQLite是針對C#編寫的接口函數,可以直接調用。通過官網下載安裝后,在項目引用里添加相應的DLL文件引用即可使用各種封裝函數,更加方便快捷,且SQLite Expert Personal可以對Sqlite數據庫實現界面化操作,更加清晰。
本系統(tǒng)對于Excel表格的操作,使用OLEDB接口技術,將服務端和Excel連接,實現訂單數據的導入導出操作。由于C#里自帶了該接口技術的模塊,所以只需添加相應的引用即可使用,從而提高了開發(fā)效率。
(3)客戶端與服務端的數據傳輸。本系統(tǒng)使用TCP Socket技術實現客戶端和服務端的連接功能,且由于客戶端和服務端不在同一個局域網,所以在通信過程中需要對服務端進行端口映射技術,將服務端的局域網IP暴露給外界,客戶端通過路由IP訪問服務端。
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,采用完全獨立于編程語言的文本格式存儲和表示數據,易于閱讀和編寫,同時也易于機器解析和生成,可以有效地提升網絡傳輸率。本系統(tǒng)客戶端采用Java編寫的Android APP[8],而服務端采用C#編寫的Winform界面[910],在數據傳輸時需要考慮兩種編程語言的編碼問題。本系統(tǒng)使用JSON技術解決兩種編程語言的數據傳輸問題。
4結語
本文針對某涂料加工生產企業(yè)車間存在的生產管理問題,利用TCP Socket技術、數據庫管理技術以及Winform框架,設計了一個生產管理跟蹤系統(tǒng)。該系統(tǒng)較好地解決了傳統(tǒng)管理中的信息零散、數據冗余、信息反饋速度慢、信息滯后乃至信息造假問題,與傳統(tǒng)生產管理系統(tǒng)相比,本文提出的基于Android客戶端的系統(tǒng)使管理更加靈活,極大地提高了生產企業(yè)的管理與生產效率。
參考文獻參考文獻:
[1]王曉飛,李月強.基于PLC的汽車生產線管理系統(tǒng)[J].儀器儀表學報,2004,25(4):894895.
[2]SHENG B,WANG Y,WANG J P.Production process management system based on RFID technology[J].Journal of Wuhan University of Technology,2012,21(8):1724.
[3]楊海素.面向MES的制造過程信息采集與處理系統(tǒng)研究[D].南京:南京理工大學,2014.
[4]譚海紅.基于Android的遠程監(jiān)控系統(tǒng)的設計與實現[J].組合機床與自動化加工技術,2015(7):6163.
[5]薩師煊,王珊.數據庫系統(tǒng)導論[M].北京:高等教育出版社,2000.
[6]孫曉夢,王志斌.基于TCP的多線程Socket通信實例[J].遼東學院學報:自然科學版,2013,20(3):178182.
[7]羅亞非.基于TCP的Socket多線程通信[J].電腦知識與技術:學術交流,2009,5(1X):563565.
[8]宋素榮.基于TCP的Java Socket通信技術[J].科技創(chuàng)新導報,2012(13):5455.
[9]張俊,喬宇峰.C#程序設計入門[M].吉林:吉林電子出版社,2005.
[10]MICKEY WILLIAMS.Visual C#.NET技術內幕[M].羅鄧,郭炎,譯.北京:清華大學出版社,2003.
責任編輯(責任編輯:黃?。?