首页 理论教育 3964(R)通信协议优化方案

3964(R)通信协议优化方案

时间:2023-06-29 理论教育 版权反馈
【摘要】:在“应答延迟时间”到来之前,接收到接收方发来的控制字符DLE,表示通信链路已成功地建立。如果通信伙伴返回NAK或返回除DLE和STX之外的其他控制代码,或应答延迟时间到时没有应答,程序将再次发送STX,重试连接。图7-40 3964报文帧传输过程接收方在接收到DLE、ETX和BCC后,根据接收到的数据计算BCC,并与通信伙伴发送过来的BCC进行比较。通信的双方必须设置优先级。

3964(R)通信协议优化方案

1.3964(R)协议使用的控制字符与报文帧格式

3964(R)协议使用的控制字符见表7-3。

BCC是所有正文中的字符(包括正文中连发的DLE)和报文帧结束标志(DLE和ETX)的“异或”运算的结果。

表7-3 3964(R)协议使用的控制字符表

978-7-111-46052-7-Chapter07-42.jpg

正文中如果有字符10H,在发送时自动重发一次。接收方在收到两个连续的10H时自动地剔除一个。

图7-39和图7-40分别为3964(R)报文帧格式和3964(R)报文帧传输过程。

978-7-111-46052-7-Chapter07-43.jpg(www.xing528.com)

2.建立发送数据的连接

发送方首先应发送控制字符STX。在“应答延迟时间(ADT)”到来之前,接收到接收方发来的控制字符DLE,表示通信链路已成功地建立。

如果通信伙伴返回NAK或返回除DLE和STX之外的其他控制代码,或应答延迟时间到时没有应答,程序将再次发送STX,重试连接。若约定的重试次数到后,都没有成功建立通信链路,程序将放弃建立连接,并发送NAK给通信伙伴,同时通过输出参数STATUS向功能块P_SND_RK报告出错。

978-7-111-46052-7-Chapter07-44.jpg

图7-40 3964(R)报文帧传输过程

接收方在接收到DLE、ETX和BCC后,根据接收到的数据计算BCC,并与通信伙伴发送过来的BCC进行比较。如果两者相等,并且没有其他接收错误发生,接收方的CPU将发送DLE,断开通信连接。如果两者不等,将发送NAK,在规定的块等待时间内(4s)等待重新发送。如果在设置的重试次数内没有接收到报文,或者在块等待时间内没有进一步的尝试,将取消接收操作。

如果两台设备都请求发送。具有较低优先级的设备将暂时放弃其发送请求,向对方发送控制字符DLE。具有较高优先级的设备将以上述方式发送其数据。等到高优先级的传输结束,连接被释放,具有较低优先级的设备就可以执行其发送请求。通信的双方必须设置优先级。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈