日期:2014-05-18  浏览次数:21163 次

SerialPort与三菱PLC通讯的问题(c# )
本人正在用c#做一个与三菱PLC通讯的程序,用SerialPort类的DataReceived的事件接收的数据都分成几段。请问如何一次接收所有的数据。

------解决方案--------------------
这个与你设置的接收长度有关吧
你可以判断一下子,如果收到了PLC的结束字符,你就处理一下,没有到就继续往里面加.
我是先把PLC发送给上位机的东西保存到一个bit数组中,然后赋给stringbuilder
------解决方案--------------------
因为串口是流式通信,所以需要自己定义应用协议处理封包问题。收到数据大小是不一定的。
------解决方案--------------------
http://blog.csdn.net/JustLovePro/archive/2008/12/15/3523348.aspx
------解决方案--------------------
1。
在事件 中 累加
用时钟 判断
如果 0。1秒 内 没有新的数据 就 当作 一个完整包

2。
根据数据协议判断组合包