C# Balluff BIS M-410写入标签

C# Balluff BIS M-410写入标签,c#,rfid,C#,Rfid,我想用Balluff BIS M-410系列标签读写器将数字数据写入RFID标签。我可以读取标签上的数据,但不能写入RFID标签。台阶在这里。它来自Balluff pdf 我的功能是: public void WriteTag() { byte[] b = new byte[17]; b[0] = 0x02; //command header b[1] = 0x011; //command size b[2] = 0x0006; // command id

我想用Balluff BIS M-410系列标签读写器将数字数据写入RFID标签。我可以读取标签上的数据,但不能写入RFID标签。台阶在这里。它来自Balluff pdf

我的功能是:

public void WriteTag()
{
    byte[] b = new byte[17];

    b[0] = 0x02; //command header
    b[1] = 0x011; //command size
    b[2] = 0x0006;  // command id

    b[3] = 0x0000;
    b[4] = 0x0000;   //Start Adres

    b[5] = 0x0000;
    b[6] = 0x0006;  //Lenght

    b[7] = 0x007D;
    b[8] = 0x007D; //timeout value

    b[9] = 0x0001;
    b[10] = 0x0002;
    b[11] = 0x0003;
    b[12] = 0x0004;
    b[13] = 0x0005;
    b[14] = 0x0006;

    b[15] = 255;
    b[16] = 255;

    serialPort1.Write(b, 0, 17);
}

您的命令大小错误。您说该命令将有17个字节的数据,而您总共发送17个字节。设备可能正在等待更多数据。这可以在示例中看到:它表示长度为
0x0c
,如果在命令ID之后计算字节数,则有13个字节

我假设将设备作为big-endian使用是可以的(长度也是这样发送的),但是命令终止符
0x03
在哪里?为什么最后会有
0xff 0xff

另外,作为一种样式,当变量是字节时,我不会将
0x0006
用作文本。它不会做错任何事情,但很容易给人留下16位变量的印象