发布于 2011-04-21 16:35:08
196楼
看了Nncman所总结的,觉得很好:
"done及busy信号的产生:数据的传送要途径 本方发送缓存---->本方网络堆栈区---->对方网络堆栈区---->对方接收缓存;数据只要从本方发送缓存成功的压入本方网络堆栈即认为数据已发送,即产生done上升沿信号;如果后面的堆栈区包括对方接收缓存都满了,从本方发送缓存数据没有压栈成功,则产生busy信号。"
所以对TCP来说,由于它的特点,所以更应该控制好接收速度,否则更容易出现数据延迟或丢失,所以这点也是TCP的一个缺陷,而S7协议我想应该是对此做了一些优化,所以无BUSY,相比从可靠性来说总体还是S7的通信稳定一些.
另外,对于S7的 USEND/URCV数据的发送在ISO第7层应用层"省去"对方的数据确认过程,"牺牲"了一些可靠性,所以速度要比BSEND/BRCV和PUT/GET快一些(但数据量有限制).