在接收缓冲区中处理数据并准备CPU以接收更多数据

通过COM端口1接收包含字符"ABCDEFGH"的8字节字符串。字符将被存储至ASCII十六进制代码中且没有起始及结束代码。

  1.  (1) “接收完成”标志
  2.  (2) 执行条件
  3.  (3) 开始接收
  4.  (4)  继续接收
  5.  (5) F159_MTRN (n_Number=0)的执行

接收缓冲区布局

接收开始时,偏移量0的值为0。在接收的结尾,偏移量0的值为8。将从较低的字节开始接收偏移量1到偏移量4的数据。

系统寄存器设置

为使用接收缓冲区中的数据,请定义具有相同起始地址和容量的全局变量。在此示例中,起始地址为DT200 (VAR_GLOBALDT200_awReceivedBuffer)且接收缓冲区容量为5(ARRAY [0..4] OF WORD)。

全局变量

POU头和LD本体

ST本体

如果"接收完成"标志为FALSE,则可从外部设备接收数据。系统变量sys_bIsComPort1ReceptionDone将评估“接收完成”标志。数据接收完成时(接收到结束代码后),“接收完成”标志将变为TRUE且数据接收随后将被禁止。若要准备系统以接收下一个数据而不立刻发送更多数据,需通过n_Number = 0执行F159_MTRN以重置接收缓冲区。

注释
  • 当正在执行扫描时,接收字节数可能会改变。例如,如果多次读取接收到的字节数,则在单次扫描中可能存在不同的状态。
  • 起始代码"STX"可复位接收缓冲区。

最后更新日期:2022-04-05此页面上的反馈松下热线