C#与西门子200通讯,读取超过3个字节,界面就死机,求教

使用C#编写了一个与PLC通讯的串口通讯程序,可以通讯和读取数据,但是不能超过3个字节,不知道什么原因,求教。
if (bz == 1)
{
byte[] dataa = { 0x68, 0x1B, 0x1B, 0x68, 0x02, 0x00, 0x6C, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x04, 0x01, 0x12, 0x0A, 0x10, 0x02, 0x00, 0x03, 0x00, 0x01, 0x84, 0x00, 0x03, 0x20, 0x8D, 0x0016 };//发送指定的16进制字节数组

            serialPort1.Write(dataa, 0, dataa.Length);

        }

把0x03改成0x04就不行了。

可由尝试下 sleep 20ms 试试。

serialport类有一个重要属性receivedbytesthreshold,将这个值设大一点就可以啦

68 17 17 68 00 02 08 32 03 00 00 1F 1F 00 02 00 06 00 00 04 01 FF 04 00 10 94 00 31 16 你好问一下,这个ppi报文如何解析,这是读取的VB100