.读取满量程
上位机发送命令:EOT+ 机号(2字节)+ P1 +ENQ
仪表应答:STX + 机号(2字节)+ P1 + 数据(6字节)+ ETX + BCC校验码
机号:取值范围为00~99。
BCC校验码:从“机号”开始至ETX,对各个字符进行异或的值。
数据组成:数据为定长(6个字节)。
字节1:符号位,内容为 “+” 或 “-”。在本命令中为无效数据。
字节2~字节5:满量程的有效数字,0000~9999。
字节6:小数点。内容为1~4。Eg.
1——5.000
2——50.00
3——500.0
4——5000. 以上为一字符串的处理要求,现在是通过一个串口向设备发送命令,波特率9600,n,8,1. 采集速度20次/秒,这个P1和P2是多少的值?刚才查了下SET.ETO.ENQ还有ETX.这个P1和P2是代表那个?么意思。不了解这个硬件方面的知识。
没看明白。
你不是已经说明了协议的每一个字段的意思了吗
-----"采集速度20次/秒,这个P1和P2是多少的值?刚才查了下SET.ETO.ENQ还有ETX.这个P1和P2是代表那个?"
这要看你 上下位机的通信协议.
引用: 引用 4 楼 huabinsir 的回复:
-----"采集速度20次/秒,这个P1和P2是多少的值?刚才查了下SET.ETO.ENQ还有ETX.这个P1和P2是代表那个?"
这要看你 上下位机的通信协议.
恩。我得问问造这个设备的厂家是什么意思。实在是搞不明白了。以前一写.net的。现在要软件硬件一块搞麻烦些。
public byte[] sendData(byte[] Str)
{
byte temp=Str[0];
for (int i = 1; i <= Str.Length - 1; i++)
{
temp = Convert.ToByte(temp ^ Str);
}
List bytesList = new List();
foreach (byte b in Str)
{
bytesList.Add(b);
}
bytesList.Add(temp);
Str = bytesList.ToArray();
return Str;
}
BCC校验