相信不少自动化人,一听见通讯就闻风丧胆,一看到通讯的代码进制就一个头俩个大。一听见别人聊通讯就会觉得很厉害,感觉他是大神。但是小编要告诉你,其实通讯并没有什么难的。
那么怎么去理解这些呢,突然看到下面这些代码
是不是感觉一脸懵逼?
下面先简单的讲个小故事:
某一天,你决定去上门拜访丈母娘清楚了丈母娘家的地址是在XX省XXX镇上(主地址),然后有多种交通方式可以达到,最后选择了自己开车走高速(功能码,功能方式),到达镇上之后打了个电话问清楚了丈母娘家在哪个位置门牌号为XXX(寄存器地址),了解了她们家里有几口人,有几个亲戚(数据个数),然后到了之后再跟女朋友确认下免得认错人(CRC校验)。当然丈母娘看到你的一瞬间肯定会想:
下面我们以pH控制器485通讯举例:
发送 TX:01 03 00 00 00 01 84 0A
01:仪器的485通讯地址(地址)单独唯一的一个
03:通讯过程中读数据的功能(功能码)唯一的一种读的方式
00 00:存储PH值的一个地方(寄存器地址),不同的参数对应的地址也不一样哦
00 01:需要读取PH的个数为一个(数据长度或者数据个数)不同数据对应的长度也不相同哦
84 0A:确认数据的校验方式可利用工具计算(校验码)
返回RX:01 03 02 02 DD 79 7D
01,03不多说了,和上面发送TX是一样的
02:返回来的读取到的pH数据字节为2个(分析的就是这个之后的字节哦)
02 DD:所返回的pH值数据 十六进制转换成十进制显示(自带两位小数点)
79 7D:CRC校验码(自动返回)
是不是跟仪器显示的一样呢?
答案是一样的!
PH=7.33
当然基本参数都会提供
只要你想到第一次拜访丈母娘的情景,就能明白通讯的基本格式。
当然如果遇到了真正通讯大神,那么:
,