格式
/// <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;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。