公司需要做一個上位機,WPF C#語言 Socket發送資料幀,控制機器運行狀態,交給我的任務,摸了好幾天了,找不到相關的資料,求各位大佬幫忙看看


Socket定時發送可以,就是不知道參照這些資料發送什么內容,有沒有做過類似的大佬請教一下
uj5u.com熱心網友回復:
一個位元組就是8位,00000000-11111111取值范圍為0-255,正好對應C#的byte所以多少個位元組,你就可以定義一個byte[Length]陣列
如圖所示:起始幀 byte[0] = 20; byte[1] = 0;
槽電流是 I = (byte[2] * 256 + byte[3]) / 1000,所以byte[2] = I * 1000 / 256 byte[3] = I * 1000 % 256
其他的依次類推
可能你不能一次性讓所有資料都取正確的值,需要和嵌入式系統的開發人員一起除錯,看看資料是否發送正確
uj5u.com熱心網友回復:
對這塊完全不了解,所以能不能把byte陣列定義 賦值 寫完整些,有個小案例好理解些
感謝感謝!!!
uj5u.com熱心網友回復:
byte[] data = new byte[27]; // 截圖只能看到第27位元組,具體多少位元組就定義多長數字
data[0] = 20;
data[1] = 0; // 這兩個是報文頭
data[2] = I * 1000 / 256;
data[3] = I * 1000 % 256; // I是槽電流
data[4] = U * 100 / 256;
data[5] = U * 100 % 256; // U是槽電壓
data[6] = R * 1000 / 256;
data[7] = R * 1000 % 256; // R 是槽電阻
data[8] = R1 * 1000 / 256;
data[9] = R1 * 1000 % 256; // R1 是濾波電阻
data[10] = R2 * 1000 / 256;
data[11] = R2 * 1000 % 256; // R2 是平滑電阻
data[12] = 下斜狀態;
data[13] = 控制狀態;
data[14] = 下斜距離 * 1000 / 256;
data[15] = 下斜距離 * 1000 % 256;
// 剩下的基本和以上一制,按excel的要求來。注意陣列下標n對應第n+1位元組
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/242142.html
標籤:C#
