按照V3.0系统文档对485自由口通信时的端口0状态字节SMB86说法,“奇偶校验错误:当硬件发出信号指示奇偶校验错误、组帧错误或超限错误时,或在消息开始后检测到断开条件时,接收指令自动终止。仅当在 SMB30、SMB130 或 SMB31 中启用了奇偶校验后,才会出现奇偶校验错误。仅当停止位不正确时,才会出现组帧错误。仅当字符进入速度过快以致硬件无法处理时,才会出现超限错误。断开条件因与硬件的奇偶校验错误或组帧错误类似的错误而终止消息。无法禁用此功能。 ”。
在使用ST60的端口0对一个固定返回6字节的测头进行485自由口通信时,我按照以下设置初始化了SMB30、SMB87等参数,期望在收到6个字节或超时返回。但实际通信时发现PLC大量出现收到1个字节后退出接收(有时又正常收6个字节退出),通过监测SMB86,发现是因为奇偶校验错误。但正如前述, SMB30没有启用奇偶校验,怎么会出现这个错误呢?百思不得其解,希望有朋友指点下,先谢谢。
