国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于TCP/IP的安東系統(tǒng)管理軟件設(shè)計與實現(xiàn)

2020-04-24 14:50:40趙勇
電腦知識與技術(shù) 2020年5期

摘要:針對車間產(chǎn)線異常停工,降低產(chǎn)品質(zhì)量和影響作業(yè)效率等問題,提出了安東系統(tǒng)的解決方案。車間現(xiàn)場使用LoRa網(wǎng)絡(luò)組件,實現(xiàn)了低成本快速靈活的部署,安東系統(tǒng)管理軟件通過C#軟件和TCP/lP協(xié)議就可實現(xiàn)對車間工位信息的采集和管理。有效地提高了產(chǎn)線的效率,為公司的精益管理提供了技術(shù)支撐。

關(guān)鍵詞:TCP/lP;C#;LoRa;安東系統(tǒng)

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2020)05-0094-03

開放科學(xué)(資源服務(wù))標識碼(OSID):

1 背景

當前制造業(yè)面臨著巨大的競爭壓力,必須不斷地提高生產(chǎn)效率,降低生產(chǎn)成本。為了提高生產(chǎn)效率,必須減少生產(chǎn)線的停工時間,時刻關(guān)注和控制產(chǎn)品質(zhì)量。安東系統(tǒng)作為精益生產(chǎn)制造管理的一個核心工具,在制造過程利用安東系統(tǒng)可對生產(chǎn)現(xiàn)場的設(shè)備、人員、品質(zhì)、物料等問題進行可視化管理,使員工和主管等相關(guān)人員能在第一時間發(fā)現(xiàn)問題的根源并解決問題。

本文采用LoRa技術(shù),在產(chǎn)線的各個工位布置RS485終端采集安東系統(tǒng)按鍵操作盤信號,各工位信號通過LoRa網(wǎng)絡(luò)將信號傳輸?shù)郊衅?,集中器按照固定時間輪詢產(chǎn)線工位,安東系統(tǒng)管理軟件通過TCP/IP與集中器通訊,采集工位信號,并將實時數(shù)據(jù)和異常處理過程的完整信息記錄在MySQL數(shù)據(jù)庫中。

2 系統(tǒng)設(shè)計及關(guān)鍵技術(shù)

基于TCP/IP的安東系統(tǒng)管理軟件包括兩個部分:一部分是使用基于LoRa技術(shù)采集現(xiàn)場數(shù)據(jù)的網(wǎng)絡(luò)部分,另一部分是C#語言開發(fā)的安東系統(tǒng)管理軟件。

系統(tǒng)采用了串口和LoRa網(wǎng)絡(luò)將先將現(xiàn)場操作盤的信號采集到LoRa集中器中,集中器和安東系統(tǒng)管理軟件安裝的服務(wù)器采用以太網(wǎng)技術(shù)相連接。LoRa集中器IP和服務(wù)器IP地址設(shè)定在相同的網(wǎng)段,保證LoRa集中器和服務(wù)器之間可以正常交換數(shù)據(jù)。在服務(wù)器上部署Visual Studi02015開發(fā)平臺和MySQL數(shù)據(jù)庫,使用C#編程語言編寫TCP/IP通訊程序,采集數(shù)據(jù)并將數(shù)據(jù)和處理結(jié)果插入數(shù)據(jù)庫中,根據(jù)故障信號等級通過短信或微信發(fā)送故障信息。利用多線程技術(shù)完成TCP/IP通訊

2.1 LoRa網(wǎng)絡(luò)結(jié)構(gòu)

LoRa整體網(wǎng)絡(luò)結(jié)構(gòu)分為終端和網(wǎng)關(guān)。終端節(jié)點可以同時發(fā)給多個基站,一般LoRa終端和網(wǎng)關(guān)之間可以通過LoRa無線技術(shù)進行數(shù)據(jù)傳輸,而網(wǎng)關(guān)和服務(wù)器之間的交互可以通過TCP/IP協(xié)議。物理連接可以是以太網(wǎng)、4G網(wǎng)和無線網(wǎng)絡(luò)等。

2.2 TCP/IP通信協(xié)議的實現(xiàn)

TCP/IP協(xié)議概念層模型中分為四層自下而上分別為鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層詳見圖1。在安東系統(tǒng)管理軟件與LoRa通信過程中分別與之一一對應(yīng)。鏈路層:使用LoRa集中器將各工位信號統(tǒng)一成工業(yè)以太網(wǎng)接口;網(wǎng)絡(luò)層:使用TCP/IP協(xié)議中的IP協(xié)議定義了網(wǎng)段地址,區(qū)分網(wǎng)段,對不同子網(wǎng)的數(shù)據(jù)包進行路由;傳輸層:定義端口,標識應(yīng)用程序身份,實現(xiàn)端口到端口的通信;應(yīng)用層:與通信內(nèi)容有關(guān),定義數(shù)據(jù)格式并按照對應(yīng)的格式解讀數(shù)據(jù)。Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,是一組接口,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面。

2.3 多線程

一個正在運行的應(yīng)用程序在操作系統(tǒng)中被視為一個進程。線程是進程中的基本執(zhí)行單元,是操作系統(tǒng)分配CPU時間的基本單位,一個進程可以包含若干個線程,在進程入口執(zhí)行的第一個線程被視為這個進程的主線程。在.NET應(yīng)用中,都是以Main()方法作為入口的。

安東系統(tǒng)管理軟件作為服務(wù)器端在與LoRa集中器之間TCP[IP通訊就內(nèi)置了多個線程,可以通過多線程程序分別負責(zé)實現(xiàn)服務(wù)器端偵聽是否有連接的請求并接受客戶端的連接和負責(zé)服務(wù)器與客戶端通信。

3 LoRa網(wǎng)絡(luò)配置

LoRa網(wǎng)絡(luò)主要由多個串口轉(zhuǎn)換終端和一個集中器組成。串口轉(zhuǎn)換終端支持RS232和RS485連接方式,參數(shù)設(shè)置分為串口基本參數(shù)設(shè)置和LoRa參數(shù)設(shè)置。串口基本參數(shù)設(shè)置如波特率、數(shù)據(jù)位、校驗、停止位等和操作盤保持一致;LoRa參數(shù)設(shè)置包括通信速率,通信信道及身份識別的應(yīng)用ID與集中器保持一致。集中器配置分為服務(wù)器參數(shù)和基本參數(shù)。服務(wù)器參數(shù):協(xié)議類型選擇TCP client集中器配置為客戶端,服務(wù)器IP和端口與服務(wù)器參數(shù)一致;基本參數(shù)設(shè)置集中器工作在輪詢喚醒模式,通信的串口轉(zhuǎn)換終端節(jié)點數(shù)量,輪詢的通信數(shù)據(jù)幀和輪詢的時間等。

4 系統(tǒng)軟件實現(xiàn)

安東系統(tǒng)管理軟件程序設(shè)計主要由:數(shù)據(jù)采集解析、數(shù)據(jù)業(yè)務(wù)邏輯處理和報警信息及處理結(jié)果寫入數(shù)據(jù)庫三部分組成。數(shù)據(jù)業(yè)務(wù)邏輯處理和數(shù)據(jù)庫部分根據(jù)客戶的要求會各不相同,這里主要講述TCP服務(wù)端通信的實現(xiàn)。

4.1 通信接口設(shè)計

TCP通信是面向連接的通信,所以在通信之前,客戶端與服務(wù)器端必須通過三次握手建立連接然后在通信完畢,還要通過四次揮手斷開連接。建立連接后首先安東系統(tǒng)管理軟件作為TCP服務(wù)器端需要申請一個socket綁定到服務(wù)器IP地址和一個端口上,負責(zé)監(jiān)聽客戶端的消息;然后客戶端LoRa集中器新建socket連接到服務(wù)器指定端口;最后安東系統(tǒng)管理軟件負責(zé)監(jiān)聽的socket,監(jiān)聽到客戶端有連接過來了,就創(chuàng)建一個負責(zé)和客戶端通信的socket,等待接收連接程序和發(fā)送數(shù)據(jù)等。安東系統(tǒng)管理軟件需要不斷的讀取LoRa集中器的信息所以建立長連接模式,所有讀寫請求都利用建立的公用通道來完成,這樣讀寫性能更高效,即使多線程調(diào)用情況下也不會受影響。安東系統(tǒng)管理軟件服務(wù)器端流程詳見圖2。

4.2 TCP服務(wù)器端軟件編程實現(xiàn)

1)服務(wù)器端定義用于監(jiān)聽的Socket對象:把IP和端口綁定到Socket上:

Socket socketw= new Socket(AddressFamily.InterNetwork,

SocketType.Stream, Protoc olType.Tcp);

IPAddress ip= IPAddress.Parse(" 192. 168.1.208”);

IPEndPoint point= new IPEndPoint(ip, 1883);

socketw.Bind(point);

socketw.Listen(10);

2)開啟新線程調(diào)用Listen方法進行監(jiān)聽:

Thread th= new Thread(Listen);

th.IsBackground= true;

th.Start(socketw);

3) Listen方法中循環(huán)監(jiān)聽,并新建一個socketS負責(zé)跟客戶端通信,新建一個線程調(diào)用Receive方法用于接收消息:

Socket socketS;

void Listen(object o)

f Socket socketWatch=o as Socket;

while (true)

{ socketS= socketWatch.Accept0;

dicSocket.Add(socketS.RemoteEndPoint.ToString0, socketS);

while (true)

{Thread th= new Thread(Receive);

th.IsBackground= true;

th.Start(socketS);)】】

Dictionary dicSocket = new Dictionarv0;

4) Receive方法中循環(huán)處理接收的消息:

void Receive(object o)

{Socket socketSend=o as Socket;

while (true)

{ try

{byteo buffer= new byte[36];

int len= socketSend.Receive(buffer);

if (len==0){break;)

string str= Encoding.UTF8.GetString(buffer,0, len);)

catch{¨

4.3 系統(tǒng)界面

安東系統(tǒng)管理軟件界面包括工位狀態(tài)、報警匯總、數(shù)據(jù)統(tǒng)計和系統(tǒng)設(shè)置。工位狀態(tài)實時顯示每個工位運行的狀態(tài),顯示當前報警信息、待處理的報警信息和已經(jīng)處理的報警信息;報警匯總顯示所有已經(jīng)發(fā)生并處理過的報警信息;數(shù)據(jù)統(tǒng)計顯示各工位報警發(fā)生的頻率統(tǒng)計等信息;系統(tǒng)設(shè)置可設(shè)置報警的延遲時間、報警發(fā)送的短信或微信賬號等。

5 結(jié)束語

隨著制造業(yè)的快速發(fā)展,企業(yè)精益化管理勢在必行。安東系統(tǒng)將生產(chǎn)線工位與管理者相連,在任何有異常狀況時發(fā)出信號,可以充分暴露和改善生產(chǎn)現(xiàn)場的問題,有效地提高作業(yè)效率,為企業(yè)的精益化管理提供了有效的技術(shù)支撐。

本文基于TCP/IP通訊技術(shù),使用LoRa網(wǎng)絡(luò)組件實現(xiàn)了車間產(chǎn)線安東系統(tǒng)。同時使用C#語言開發(fā)的安東系統(tǒng)管理軟件,實時采集產(chǎn)線工位的故障信息,存儲故障及故障處理信息,提供短信或微信報警等功能。有效減少了由于設(shè)備故障或物料不足而造成的生產(chǎn)線的停線情況,為企業(yè)生產(chǎn)和管理提供了技術(shù)依據(jù)。

參考文獻:

[1]馮慶東,楊麗.C#項目開發(fā)全程實錄[M].3版.北京:清華大學(xué)出版社.2013.

[2] Karli Waston.C#入門經(jīng)典Christian Nagel[M].3版.北京:清華大學(xué)出版社,2006.

[3] Ben Forta.MySQL必知必會[M].北京:人民郵電出版社,2009.

[4]史蒂文斯.TCP/IP詳解卷1:協(xié)議[M].北京:機械工業(yè)出版社,2000.

【通聯(lián)編輯:謝媛媛】

收稿日期:2019 -12 -15

作者簡介:趙勇(1974-),甘肅天水人,工程師,主要從事自動控制系統(tǒng)設(shè)計及應(yīng)用工作。

湘潭县| 阿拉善右旗| 黄陵县| 陆良县| 安溪县| 涞水县| 靖安县| 封丘县| 蓝田县| 灵丘县| 方城县| 萨迦县| 丁青县| 图木舒克市| 拜泉县| 南和县| 井陉县| 定西市| 沾益县| 仙游县| 屯留县| 新和县| 泸定县| 通河县| 新营市| 五莲县| 黑山县| 西宁市| 乌拉特中旗| 平乡县| 舟山市| 屏山县| 乌兰察布市| 荔浦县| 共和县| 寿阳县| 洞头县| 六安市| 当涂县| 定远县| 松桃|