C# Modbus TCP

格式

/// <summary>
/// 數據格式:0-6位:報文頭;7位:功能碼;8-9位:起始地址;10-11位:寄存器位數(讀)/寫入數據(寫)
/// </summary>
byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x06, 0x00, 0x00, 0x00, 0x01 };
//                          0     1     2      3    4     5    6:ID,7:功能碼 8    9     10     11
.....................
byte[] func = GetHex(textBox2.Text);//功能碼
byte[] addr = GetAddrHex(textBox3.Text);//起始地址
byte[] regis = GetHex(textBox4.Text);//寫入數據,讀取寄存器數量
data[7] = func[0];
data[8] = addr[1];
data[9] = addr[0];
data[10] = regis[1];
data[11] = regis[0];

類型轉換

....................................

/// <summary>
/// 10轉16
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
private byte[] GetHex(string msg)
{
    ushort val = ushort.Parse(msg);
    byte[] hex = BitConverter.GetBytes(val);
    return hex;
}

private byte[] GetAddrHex(string msg)
{
    int val = int.Parse(msg)-1;
    byte[] hex = BitConverter.GetBytes(val);
    return hex;
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Modbus/Tcp資料整理 一、簡介: Modbus協議通訊采用主—從響應方式。主機(又稱客戶端)為手持端設備,...
    岳陽_閱讀 1,769評論 1 2
  • 軟件:博途V15、Matlab2018b非必須軟件:Modbus Poll(模擬Client端)、Modbus S...
    即使雖然閱讀 9,065評論 0 3
  • 夜鶯2517閱讀 127,752評論 1 9
  • 版本:ios 1.2.1 亮點: 1.app角標可以實時更新天氣溫度或選擇空氣質量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 6,939評論 1 6
  • 我是一名過去式的高三狗,很可悲,在這三年里我沒有戀愛,看著同齡的小伙伴們一對兒一對兒的,我的心不好受。怎么說呢,高...
    小娘紙閱讀 3,414評論 4 7