freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于c的遠(yuǎn)程液位監(jiān)控軟件設(shè)計-wenkub.com

2024-11-29 19:35 本頁面
   

【正文】 ()。 } } private void Send(Socket client, String data) 37 { byte[] byteData = (data)。 Socket client = 。 } } private void Receive(Socket client) { try { StateObject state = new StateObject()。 } } private void ConnectCallback(IAsyncResult ar) { try { 36 Socket client = (Socket)。 IPEndPoint remoteEP = new IPEndPoint(ipAddress, ())。 delegate void SetTextCallback(string text)。 private Socket client = new Socket(, , )。 public StringBuilder sb = new StringBuilder()。 namespace text_client { public partial class Form1 : Form { public Form1() { InitializeComponent()。 using 。 using 。 } else { content_send = 。 ()。 } private void SetText(string text) { if () { SetTextCallback d = new SetTextCallback(SetText)。 } (, 0, , 0, new AsyncCallback(ReadCallback), state)。 //()。 } /// summary /// 關(guān)閉服務(wù)器 /// /summary /// param name=sender/param /// param name=e/param private void but_close_Click(object sender, EventArgs e) { DialogResult answer = (這將關(guān)閉服務(wù)器。 } } private void Send(Socket handler, String data) { byte[] byteData = (data)。 handler = 。 = handler。 ()。 (100)。 /// summary /// 啟動服務(wù)器準(zhǔn)備發(fā)送接收 /// /summary /// param name=sender/param /// param name=e/param private void but_start_Click(object sender, EventArgs e) { byte[] bytes = new Byte[1024]。 private String content_receive = 。 } public static ManualResetEvent allDone = new ManualResetEvent(false)。 } public class StateObject { public Socket workSocket = null。 using 。 using 。 28 附錄 軟件代碼 服務(wù)器: using System。再則我還要感謝湖南理工學(xué)院創(chuàng)新基地實驗室,這里是我成長和進步的地方,見證者我能力成長的地方,它為我提供了良好的設(shè)備和學(xué)習(xí)的環(huán)境。同時極大的鍛煉了我們個人獨立完成項目的能力以及論文設(shè)計的能力,為以后面對工作或者繼續(xù)深造打下了良好的基礎(chǔ)。該系統(tǒng)極大的滿足了現(xiàn)代工業(yè)控制中的遠(yuǎn)程監(jiān)控的要求,為提要企業(yè)生產(chǎn)效率和市場競爭力提供了有力的保障??蛻舳讼嗤? 圖 24 圖 本章小結(jié) 本章展示軟件測試過程。 圖 客戶端成功連接 22 圖 服務(wù)器成功連接 連接成功后 , 服務(wù)器會向客戶端發(fā)送一條 “ wele here!”的測試信息以確保數(shù)據(jù)通信的通常無誤。 21 第 5 章 軟件生成與測試 軟件生成及測試 運行客戶端,生成 server 界面,點擊“啟動服務(wù)器”按鈕,彈出“服務(wù)器已啟動,正在等待連接??”對話框,點擊確定,偵聽綁定端口的客戶端請求。 ( 16) 生成項目,打包文件就 完成 了,打開 ..\Debug 看到生成了 2 個文件,一 20 個是 ,一個是 , 運行 exe 安裝到系統(tǒng)。要生成可供組態(tài)軟件調(diào)用的Ocx 控件,還需做不同的處理。 本章小結(jié) 本章先是討論了監(jiān)控軟件的設(shè)計方案,選擇了可靠性高的 TCP/IP 協(xié)議和實效性高的異步通信模式。 try { (iar)。 IPAddress ip=()。 而后 在同步模式中,客戶端調(diào)用 Connect 方法連接服務(wù)器。最終界面如圖 所示。這里的線程阻塞是指同意其他需要等候的線程進行阻塞即讓含 WaitOne()方法的線程阻塞; (2)Set 方法:將事件狀態(tài)設(shè)置終止?fàn)顟B(tài),允許一個或多個等候線程繼續(xù)。 .Net 里提供了 EventWaitHandle 類來表示一個線程的同步事件。 } } catch (Exception e) { } } 這里對接收的數(shù)據(jù)做了一些處理, 首先處理連接的回調(diào)函數(shù)里 獲得 的通訊套接字 client, 然后 開始接收數(shù)據(jù) 。 if (bytesRead 0) { ((,0,bytesRead)。 (,0,0,new AsyncCallback(ReceiveCallback), state)。在操作完成前方法不會進入阻塞狀態(tài)。 } catch (Exception e) { } } 異步通信用 BeginReceive 和 EndReceive 方法 來接收數(shù)據(jù),其 BeginReceive方法原型為: (Byte[],Int32,Int32,SocketFlags,AsyncCallback,Object) 參數(shù)如下: buffer: Byte 類型的數(shù)組,它是保存接收到的數(shù)據(jù)的位置; offset:buffer 參數(shù)中保存所接收數(shù)據(jù)的位置,該位置從零開始計數(shù); size:要接收的字節(jié)數(shù); socketFlags : SocketFlags 值 的按 位 組 合 ; callback :一 個AsyncCallback 委托,它援用操作完成時要應(yīng)用的方法; state:一個用戶定義對象,其中寶庫接收操作的相干信息。 } private static void SendCallback(IAsyncResult ar) { try { Socket handler = (Socket)。回調(diào)方法應(yīng)使用 EndSend 方法。創(chuàng)建一個完成 AsyncCallback 的回調(diào)方法并將名字傳入 10 BeginSend 方法。 } ( 2)發(fā)送與接收數(shù)據(jù) 在 創(chuàng)建 了套接字的連接后,就 能夠 使服務(wù)器端和客戶端之間進行數(shù)據(jù) 通信了。 (20)。 那么服務(wù)器構(gòu)建代碼如下: public static void StartListening() { IPAddress local = (,0,1)。 BeginAccept 在異步 模式下嘗試連接 ,它 準(zhǔn)許其余進程直接運行,而 不必 等候 連接 建立 。 (localEndPoint)。這里在服務(wù)器端可設(shè)置兩種方式進行連接,一種是 DNS 創(chuàng)建域名接連的方式: IPHostEntry ipHostInfo = (())。所以在編寫前應(yīng)該添加 using 、 using 和 using 三 個命名空間 。而正式的工業(yè)液位監(jiān)控界面由組態(tài)王設(shè)計,本文不介紹)。異步通信屬于并行通信,此模式下客戶端發(fā)送一條請求之后,不必等到服務(wù)器做出相應(yīng)回應(yīng)就可發(fā)送下一條請求。 7 第 3 章 監(jiān)控軟件程序?qū)崿F(xiàn) 軟件設(shè)計方案 監(jiān)控軟件設(shè)計的核心在于服務(wù)器和客戶端之間的實時通信。偵聽到端口有連接申請時,調(diào)用 accept() 方法接受請求,而后用receive()/send()方法對數(shù)據(jù)進行讀 /寫操作,傳輸完成時使用 close()函數(shù)關(guān)閉服務(wù)器。 ( 3)確認(rèn)連接:指當(dāng) 服務(wù)器 端 socket 監(jiān)聽到 客戶端 socket 的連接 申請時 ,它會 回應(yīng) 客戶端 socket 的 申請 , 創(chuàng)建 一個新的線程, 將 服務(wù)器 端 socket 的 敘述發(fā)給 客戶端 , 當(dāng) 客戶端 確定 了此敘述,就會成功握手建立連接。 Socket 連接過程 能夠 分為三步: 服務(wù)器 偵聽 、 確認(rèn)連接 和 客戶端 申請 。 Socket 也 稱 套接字 ,用 來描繪 IP 地址 和端口,是個通信鏈的句柄。具體 如下 兩點優(yōu)勢: ( 1)服務(wù)器處理數(shù)據(jù) 負(fù)擔(dān) 較輕。 該結(jié)構(gòu)可以充分 利用 硬件的優(yōu)點 ,將任務(wù)合理安排到 客戶端 和服務(wù)器,大大減少了系統(tǒng)整體的通信 成本 。底板上有 4個插槽 ,能夠插接ADAM5018/5060的 I/O 模塊 , 從而完成快速數(shù)據(jù)的收集與控制 , 因而ADAM5018/5060模塊 很適宜該系統(tǒng)。 圖 水箱液位監(jiān)控系統(tǒng)結(jié)構(gòu)圖 在此系統(tǒng)中,液位變送器 LT101使用測量范圍為 0~ 60cm的阻壓式液位(壓力)變送器,將檢測出來的水箱液位信號轉(zhuǎn)變?yōu)?4~ 20mA標(biāo)準(zhǔn)電信號 。 第 6 章,結(jié)語與展望。 第 2 章,軟件的總體設(shè)計,包括軟件說明和功能介紹以及程序設(shè)計流程框圖。該軟件不但依靠 .NET 類庫中強大的類庫資源 實現(xiàn)了對液位過程的實時監(jiān)測和遠(yuǎn)程控制,還利用內(nèi)部的垃圾回收機制,有效的避免了資源浪費和內(nèi)存泄露等缺陷。 C繼承了 C語言的語法風(fēng)格,同時又繼承了 C++的面向?qū)ο筇匦?,同時擁有和 VB 相類似的快速開發(fā)能力。針對這一問題,大部分開發(fā)人員選擇使用 VB或 VC++等語言開發(fā)符合企 業(yè)需求的監(jiān)控軟件。組態(tài)軟件是近些年在工業(yè)控制領(lǐng)域廣泛應(yīng)用的軟件開發(fā)工具,可快速構(gòu)建不同需求的數(shù)據(jù)采集和監(jiān)控系統(tǒng)。 液位監(jiān)控是 當(dāng)代 工業(yè)測控中較為普遍的一類問題 ,在石油、化工、電力等工業(yè)部門中應(yīng)用極為普及,是工業(yè)生產(chǎn)過程當(dāng)中的一個重要構(gòu)成部分。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1