使用 3964(R) 接收数据

时间:2021-07-30点击次数:128

使用 3964(R) 接收数据

为接收建立连接

在空闲状态下,如果没有要处理的发送作业,则程序将等待通信伙伴建立连接。

如果在通过 STX 建立连接期间没有可用的空闲接收缓冲区,则等待时间开始(等待时间 = acknowledgment delay time - 10 ms,但较多为 400 ms)。 如果此时间结束后没有可用的空闲接收缓冲区,则会生成一条错误消息。 此程序将发送 NAK 字符并返回空闲状态。 否则,程序将发送 DLE 并按上述步骤接收数据。

应为两个通信伙伴设置相同的 acknowledgment delay time 值。

如果程序在空闲状态下接收了除 STX 或 NAK 以外的任何字符,则它将等待字符延时时间 (CDT) 结束,然后发送 NAK 字符。 通信模块会输出一条相应的错误消息。

接收数据

成功建立连接后,引入的接收字符将保存在接收缓冲区中。 如果接收到两个连续的 DLE 字符,则只有其中一个保存在接收缓冲区中。

在建立连接以及每个接收字符后,程序会在字符延时时间期间等待下一个字符。 如果字符延时时间结束后还没收到另一个字符,则将 NAK 发送给通信伙伴。 通信模块会输出一条相应的错误消息。 然后将重试。

如果接收过程中发生传输错误(帧错误、奇偶校验错误等),程序将继续接收数据直到连接终止,然后将 NAK 发送给通信伙伴。 然后将重试。 如果尝试传输的次数达到*的次数后仍无法在不出现错误的情况下接收块,或者通信伙伴没有在 4 秒的块等待时间内开始重试,则程序将取消接收操作。 通信模块将报告**个受损的传输和较终的取消。

为接收建立连接

如果 3964 程序检测到一个 DLE ETX 字符串,则它将终止接收操作并通过向通信伙伴发送 DLE 来确认已成功接收到块。 接收出错时,会将 NAK 发送给通信伙伴。 然后将重试。

3964R 程序在检测到 DLE ETX BCC 字符串后会终止接收操作。 它将接收到的块检查字符 BCC 与内部计算的纵向奇偶校验加以比较。 如果 BCC 正确并且没有发生其它接收错误,则 3964R 程序将发送 DLE 然后返回空闲状态。 通信模块通知控制系统有新接收数据。

如果 BCC 有故障或发生其它接收错误,则会将 NAK 发送给通信伙伴。 然后将重试。


http://shtxjd.cn.b2b168.com

产品推荐