全国服务热线 15021292620
单位新闻

通信

发布时间: 2022-12-09 17:05 更新时间: 2023-11-04 06:00

通信

接收指令支持多种终止消息的方式。终止消息的方式可以是以下一种方式,也可以是几种 方式的组合:

1. 结束字符检测:结束字符是用于指示消息结束的任意字符。找到开始条件之后,接收 指令将检查接收到的每一个字符,并判断其是否与结束字符匹配。接收到结束字符 时,会将其存入消息缓冲区,接收终止。 

通常情况下,对于所有消息均以特定字符结束的 ASCII 协议,可以使用结束字符检 测。可以将结束字符检测与字符间定时器、消息定时器或大字符计数相结合,以终 止消息。 

设置:ec = 1,SMB89/SMB189 = 结束字符 

2. 字符间定时器:字符间时间是指从一个字符结束(停止位)到下一个字符结束(停止 位)测得的时间。如果字符间的时间(包括第二个字符)超出 SMW92 或 SMW192 中 指定的毫秒数,则接收消息功能将终止。接收到每个字符后,字符间定时器重新启 动。请参见下图。 如果协议没有特定的消息结束字符,可以使用字符间定时器终止消息。由于定时器总 是包含接收一个完整字符(起始位、数据位、奇偶校验位和停止位)的时间,定时器 的值必须设为大于以选定波特率传输一个字符所需的时间。 可以将字符间定时器与结束字符检测和大字符计数结合使用,以终止消息。 

设置:c/m = 0,tmr = 1,SMW92/SMW192 = 超时(毫秒)

3. 消息定时器:消息定时器在消息开始后的指定时间终止消息。消息定时器将在接收消 息功能的开始条件得到满足后立即启动。经过 SMW92 或 SMW192 中指定的毫秒数 后,消息定时器时间到。请参见下图。 通常,当通信设备不能保证字符之间无时间间隔或使用调制解调器进行通信时,可以 使用消息定时器。对于调制解调器,可以使用消息定时器指定一个从消息开始算起的 允许接收消息的大时间。消息定时器的典型值约为在选定波特率下接收长消息所 需时间值的 1.5 倍。 可以将消息定时器与结束字符检测和大字符计数相结合,以终止消息。

设置:c/m = 1,tmr = 1,SMW92/SMW192 = 超时(毫秒)

4. 大字符计数:接收指令必须获知要接收的大字符数(SMB94 或 SMB194)。达到 或超出该值后,接收消息功能将终止。即使大字符计数不被专门用作结束条件,接 收指令仍要求用户指定大字符计数。这是因为接收指令需要知道接收消息的大长 度,这样才能保证消息缓冲区之后的用户数据不被覆盖。 

对于消息长度已知并且恒定的协议,可以使用大字符计数终止消息。大字符计数 总是与结束字符检测、字符间定时器或消息定时器结合在一起使用。 

5. 奇偶校验错误:当硬件发出信号指示奇偶校验错误、组帧错误或超限错误时,或在消 息开始后检测到断开条件时,接收指令自动终止。仅当在 SMB30 或 SMB130 中启用 了奇偶校验后,才会出现奇偶校验错误。仅当停止位不正确时,才会出现组帧错误。 仅当字符进入速度过快以致硬件无法处理时,才会出现超限错误。断开条件因与硬件 的奇偶校验错误或组帧错误类似的错误而终止消息。无法禁用此功能。

6. 用户终止:用户程序可以通过执行另一个 SMB87 或 SMB187 中的使能位 (EN) 设置 为零的接收指令终止接收消息功能。这样可以立即终止接收消息功能。

使用字符中断控制接收数据

为了完全适应对各种协议的支持,您还可以使用字符中断控制来接收数据。接收每个字符 时都会产生中断。执行连接到接收字符事件的中断例程之前,接收到的字符存入 SMB2, 奇偶校验状态(若已启用)存入 SM3.0。SMB2 是自由端口接收字符缓冲区。自由端口 模式下接收到的每一个字符都会存入这一位置,便于用户程序访问。SMB3 用于自由端口 模式,包含一个奇偶校验错误位,如果在接收到的字符中检测到奇偶校验错误、组帧错 误、超限错误或断开错误,该位将置位。保留该字节的所有其它位。可使用奇偶校验位丢 弃消息或向该消息发送否定确认。 以较高波特率(38.4K 到 115.2K)使用字符中断时,中断之间的时间间隔会非常短。例 如,波特率为 38.4K 时的字符中断为 260 微秒,57.6K 时为 173 微秒,115.2K 时为 86  微秒。确保中断例程足够短,以避免字符丢失,否则请使用接收指令。

说明 

SMB2 和 SMB3 可供端口 0 和端口 1 共用。在端口 0 上接收字符导致执行连接到该事件 (中断事件 8)的中断例程时,SMB2 包含在端口 0 上接收的字符,而 SMB3 则包含该 字符的奇偶校验状态。在端口 1 上接收字符导致执行连接到该事件(中断事件 25)的中 断例程时,SMB2 包含在端口 1 上接收的字符,而 SMB3 则包含该字符的奇偶校验状 态。

联系方式

  • 地址:上海 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 电话:15021292620
  • 销售:颜娟
  • 手机:15021292620
  • 传真:021-33556143
  • 微信:X15021292620
  • QQ:2799536152
  • Email:2799536152@qq.com
产品分类