决一个485通讯(半双工,同步方式)问题,RS-485通信使用的协议是Modbus协议,因此第一次学习modbus,主要看了看modbus的信息结构,即传输的帧的结构组成。
modbus的信息结构为主站查询,从站反应。查询的信息结构包括:从站地址、功能代码、数据以及错误检查。从站反应的信息结构完全相同,但内容可能不同。
查询信息结构
从站地址 | 功能代码 | 数据 | 错误检查 |
8 bit | 8 bit | N*8 bit | 16 bit |
其中要说明的是,错误检查是采用CRC-16方式计算的来,从站将得到的信息进行计算,与信息中包含的错误检查数值比较,若一致,则判断为正常信息。
功能代码,包括5种:03h(读),06h(写),08h(诊断),10h(写多个),17h(读/写多个);
从站接受查询后,会执行动作处理,并回复反应,
反应信息结构
从站地址 | 功能代码 | 数据 | 错误检查 |
8 bit | 8 bit | N*8 bit |
16 bit |
关于错误,。
正常响应,无响应,例外响应;
代码还没看,明天看完再补充。