作者:马乐
1.主站发送报文结构
大家可以看到我之前写的文章中的程序都是没有什么具体功能的,都是两个站点之间互相传递数据,这些数据我们只是看看是否可以正常接收发送,数据本身是没有任何含义的。很明显在实际使用过程中我们是不会这样去用的,对于通讯来说主站发送的数据通常只有两个功能,一是读取从站寄存器中地址的状态也就是从从站读取数据,二是向从站写入数据。那么主站要怎么发送数据从站才能知道,主站是要读数据还是写数据呢?这个就要靠功能码来区分了,
![a7c14ef4b102a142136d3c7232131951.png](https://img-blog.csdnimg.cn/img_convert/a7c14ef4b102a142136d3c7232131951.png)
图 1-1
图 1-1所示就是我自己定义的主站向从站发送读取从站数据请求的报文结构,说白了就是我自己定义的一个协议,大家可以叫它马乐协议(^_^)。下面我们一起来看看此报文中四段内容的具体含义。
地址:指的是要读取哪个从站的数据。
功能码:指的是主站要对从站做什么操作,我们这条报文格式是我自定义的读取从站数据的报文(向从站写入数据报文格式后续文章讨论)此处我把读取从站V区数据的功能码自定义为02,那么从站只要接收到报文的第二个字符是02从站就知道主站要读取自己的V区,其他区域大家可以自己定义。
起始地址:读取数据区域的起始地址。
读取数量:读取多少数据。