写了这么多了终于写到了校验可能大部分人都觉得校验是整个通讯过程中最复杂的一个环节。下面我就系统的给大家来介绍一下校验的整个过程。

1 .什么是校验

要搞懂校验的整个过程我们先来看看到底什么是校验,可能在我之前的文章中大家也发现了我所写过的程序没有一个和校验有关系,站点与站点之间数据的传递都是直接进行收发,而且也没有出现过任何问题,既然不写校验程序也能正常运行,那校验在我们的整个通讯过程中到底起着什么样的作用呢?

其实这里可能大家忽略了一个问题,我之前文章中所写的程序都是在实验环境中运行的,电脑与PLC之间的距离不超过2米,周围也没有会产生电磁干扰的用电设备,在这样理想的环境中,数据在传输过程中肯定不会发生任何变化,所以写不写校验程序都无所谓,但是在我们的工业现场环境就非常复杂甚至恶劣了,数据在传输过程中很可能由于外部复杂的环境发生变化,甚至是丢失,那么接收到的数据就不是对方发出的数据了,报文的内容就发生了变化,如果变化后的报文没有任何指令含义还好说,一旦变化后的报文的含义发生转变,比如本来主站发出的报文是控制A设备的,但是由于现场的干扰报文变成了控制B设备,那么就会在控制过程中出现误操作,这种情况虽然概率极低但是非常危险。因此我们需要对所有传输的数据进行校验以判断接收到的数据是否和对方发送的数据是一致的。

图 3-1

图 3-2子程序接口与本地数据定义

rs485电流检测(RS485中的crc效验你知道多少)(1)

图 3-2

rs485电流检测(RS485中的crc效验你知道多少)(2)

图 3-3

4、程序演示

这里我们可以将PLC的计算结果,与专门计算crc的软件算出的数值进行比较。

rs485电流检测(RS485中的crc效验你知道多少)(3)

图 4-1

rs485电流检测(RS485中的crc效验你知道多少)(4)

图 4-2

由图 4-1和图 4-2我们可以看出PLC计算出的结果没有任何错误,当然大家也可以自己去实验更多的数值来对本程序进行验证。

往期优秀文章回顾:

一场星三角降压故障引起的风波!讲述本电工的真实经历...

,