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

正文內容

多個串口設備數據的連續(xù)采集-資料下載頁

2025-05-26 06:17本頁面
  

【正文】 private void btnStart_Click(object sender, EventArgs e) { jw2a = new CJW2A(COM3, 4800, 8, )。 += new (DataReceived)。 ()。 = true。 } private void btnStop_Click(object sender, EventArgs e) { = false。 ()。 } 42 工控程序設計 private void DataReceived(CActiveCOMHelper sender) { CCommand cmd, nextCmd。 switch (()) { case COM3: //JW2A要先發(fā) “ A‖命令,完成后緊接著發(fā) “ R‖命令 cmd = ()。 if ( == A amp。amp。 ) //讀數命令已完成 { nextCmd = (R)。 //JW2A要先發(fā) A命令 (nextCmd)。 (JW2A的 A命令已完成,立即發(fā)送 R命令。 )。 } break。 } } private void timer1_Tick(object sender, EventArgs e) { CCommand cmd, nextCmd。 //處理 JW2A的返回結果 43 工控程序設計 cmd = ()。 if ( == R amp。amp。 ) //讀數命令已完成 { nextCmd = (A)。 //JW2A要先發(fā) A命令 (nextCmd)。 if ( != null) { float nj, zs。 byte[] tmp = new byte[4]。 (, 0, tmp, 0, 4)。 nj = (tmp)。 //扭矩 (, 4, tmp, 0, 4)。 zs = (tmp)。 //轉速 (JW2A回復 :扭矩 + nj + ,轉速 + zs)。 } } else (JW2A的 + + 命令還未完成 )。 } 44 工控程序設計 5 LU902M位式調節(jié)儀數據采集 LU902M位式調節(jié)儀在鉆機性能測試系統(tǒng)中應用最廣泛,用于測量大氣溫度、馬達溫度、泵溫度、油溫、冷卻水流量、馬達進油流量、馬達回油流量、馬達油壓、操縱臺噪音、馬達噪音等諸多參數,該設備同樣采用以上位機為主導的 “ 提問 ——應答 ” 通信模式,它仍然需要激活,不過只激活一次,以后就象 HC100智能測控儀一樣發(fā)送查詢指令獲取數據。 管理該設備的類從 CActiveCOMHelper類派生而來,命名為 CLU902M,代碼如下: class CLU902M : CActiveCOMHelper { public bool isActive。 //設備激活標志 public byte address。 //設備地址 public CLU902M(string portName, int baudRate, int dataBits, StopBits stopBits) : base(portName, baudRate, dataBits, stopBits) { } //根據命令名稱構建命令對象 45 工控程序設計 public CCommand makeCommand(string mandName) { CCommand mand = new CCommand()。 switch (mandName) { case A: //尋址指令(激活設備) = mandName。 = 2。 = 。 = new byte[] { address }。 break。 case R: //讀數據指令 = mandName。 = 8。 = 。 = new byte[] { 0x45 }。 break。 } return mand。 } 46 工控程序設計 protected override bool checkReply(string cmdType, byte[] bRecv) { switch (cmdType) { case A: //尋址命令 if (bRecv[0] == 0x4F amp。amp。 bRecv[1] == 0x4B) { = true。 return true。 } break。 case R: //讀數據指令 if (bRecv[6] == 0x4F amp。amp。 bRecv[7] == 0x4B) return true。 break。 } return false。 } 47 工控程序設計 public float HexToFloat(byte H, byte L) { return (float)(H * 256 + L) / 。 } } 在 UI模塊中,每個 CLU902M對象負則和一個 LU902M位式調節(jié)儀通信,程序先判斷設備是否激活,未激活前先發(fā)尋址命令激活設備,對已經激活的設備, UI線程每隔 1秒鐘發(fā)送讀數命令獲取參數值。代碼如下: private CLU902M lu902m。 private void btnStart_Click(object sender, EventArgs e) { lu902m = new CLU902M(COM5, 9600, 8, )。 = 0x00。//設備地址 ()。 = true。 } private void button2_Click(object sender, EventArgs e) { = false。 ()。 } 48 工控程序設計 private void DataReceived(CActiveCOMHelper sender) { CCommand cmd, nextCmd。 switch (()) { case COM5: //LU902M要先用尋址指令激活 if (!) { cmd = ()。 if ( == A amp。amp。 ) //讀數命令已完成 { = true。 (LU902M已經激活。 )。 } } break。 } } 49 工控程序設計 private void timer1_Tick(object sender, EventArgs e) { //處理 LU902M的返回結果 cmd = ()。 if () { nextCmd = new CCommand()。 if (!) //未激活,發(fā)尋址指令 { = A。 = 。 = new byte[] { }。 } else { = R。 = 。 = new byte[] { 0x45 }。 } 50 工控程序設計 (nextCmd)。 if ( != null) { float mdwd = ([1], [0])。 (LU902M回復 :馬達溫度 + mdwd)。 } } else (LU902M的 + + 命令還未完成 )。 } 至此已經面向對象設計方法完成了 HC100智能測控儀、 JW2A扭矩儀、LU902M位式調節(jié)儀數據采集程序的設計,讀者把代碼進行簡單的組合,就可以同時對多個不同種類的設備進行數據采集,并每秒刷新一次參數值。本章學習完成了鉆機性能測試系統(tǒng)的數據采集部份功能。 51 工控程序設計 考核 要點 考核內容 分數 設計代碼實現累積和 、 異或和 、 循環(huán)冗余校驗 20% 設計上位機主動模式串口通信類 20% 設計 HC100智能測控儀 、 JW2A扭矩儀 、 LU902M位式調節(jié)儀數據采集類 , 并在 UI模塊中調用 60% 能力 擴展 ? 2. HC100智能測控儀、 JW2A扭矩儀、 LU902M位式調節(jié)儀的通信過程有什么相同點和不同點? HC100智能測控儀、 JW2A扭矩儀、 LU902M位式調節(jié)儀進行模擬。 HC100智能測控儀、 JW2A扭矩儀、 LU902M位式調節(jié)儀的 數據采集程序,使采集到的數據顯示在文本框中? HSDZC電能綜合測試儀的程序結合起來,形成一個能夠同時采集多個儀器數據的完整程序。
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1