智能传感器协议(传感器协议有哪些)
上篇文章中我们讲到串口通信协议中数据内容的定义,还介绍了我们公司自己定义的一种28字节每帧的长数据协议,数据包括两个字节开头加上六个方向每方向4字节的数据再加上两字节的结尾。这种自行定义的协议虽然很适合六维力传感器数据的传输,但有客户希望传感器能够兼容现有设备,目前工业中应用最广泛的串口协议是Modbus协议,本篇文章我将和大家探讨Modbus协议和六维力传感器适配ModBUS协议的情况。
关于Modbus协议
Modbus是一种串行通信协议,是Modicon公司在1979年为使用PLC通信而发表的。这家公司目前属于施耐德电气。这种协议没有版权要求,易于部署和维护,所以现在已经成为工业领域的业界标准。
互联网小常识:设计一个网络安全方案时,需要完成以下四个基本任务:(1)设计一个算法,执行安全相关的转换(2)生成该算法的秘密信息(如密钥)(3)研制秘密信息的分发和共享的方法(4)设定两个责任者使用的协议,利用算法和秘密信息取得安全服务。
Modbus具体还分为用于串口通信的Modbus RTU、Modbus ASCII和用于以太网通信的Modbus TCP三种协议。其中串口通信的两种应用更广泛。Modbus RTU和Modbus ASCII两种协议的内容是非常相似的,只是一个使用二进制字节传输一个使用ASCII码传输,上期视频我介绍到ASCII字符在表示六维力传感器受力结果时长度不固定的问题,因此在六维力传感器中我们选择支持Modbus RTU协议。
Modbus RTU协议是主从形式的串口协议,就是一条串口总线上,可以挂载多个设备,但只有一个设备能主动发送问询命令,这个设备叫做主机或者主站,其他的设备只能被动答复问询,不能主动发出数据,这些设备叫做从机或者从站。这也是工业中485总线的典型应用场景。一台主机连接多个传感器和开关设备,由主机统一管理这些设备。
Modbus协议在规定了串口总线的波特率、数据位、校验位等信息基础上,主要是规定了传输内容的形式。比如基本形式是设备地址加上功能码加上数据,最后再加上CRC校验结果的形式。设备地址比较好理解,就是一个主机要为不同的从机设定一个编号名字,被点名的设备答复主机的问询命令,这个地址占用一个字节。功能码也占用一个字节,它表示主机命令的含义,比如,是读一个寄存器还是连续写入多个寄存器等。六维力传感器的数据只有力数据,所以可以只支持一种功能码就行了。我们选择支持的是03号功能,读取连续寄存器。下面为大家解析一下在Modbus协议下,主机发送的查询命令和六维力传感器的回复信息。
互联网小常识:可变长子网掩码地址规划。子网长度不同,根据需求分析应该为每个子网分配的子网号长度、主机号长度,计算子网掩码,列出ip地址段。
在Modbus协议下,主机发送的查询命令和六维力传感器的回复信息
这张图,上面的表格是主机发送出的查询命令,下面的表格是从机回复的数据,可以看到主机发出了8个字节,从机回复了17个字节。主机发出的查询指令的意思是,要求十六进制AA地址的设备答复十六进制0000地址的连续六个寄存器的内容,结尾是从AA到06这6个字节的CRC校验结果。从机的答复也按照基本格式,先报自己的地址是十六进制AA,然后说明自己回复的是03命令,寄存器内的数据长度是十六进制的0C也就是12个字节,后面是12个字节,每个寄存器两个字节的数据,最后是答复数据的CRC校验结果。回复的这六个寄存器就是六维力传感器的六个方向,每个方向表格中使用了2字节,也可以使用我们之前文章中讲的4字节float数据,这样总长度需要写成24个字节就可以了。
六维力传感器使用RS485串口总线的硬件,最高115200的波特率,数据位8,停止位1,校验位无,流控无的属性,然后按照刚才表格中的形式等待主机发送出查询信息后进行回复就可以通信了。这种协议使用很广泛,考虑到了一个主机连接多个传感器或者其他设备的情况。但这里必须说明一点,就是Modbus协议规定了串口波特率的上限是115200,这个速度对于六维力传感器来说还是太低了,但提高波特率后又有很多设备不支持,所以对于六维力传感器来说,一般采用降低采集速度的办法兼容Modbus协议。还有个办法是协议不变只提高波特率,这样很多用户的接收程序是不需要修改的,这也算是一种对Modbus协议的扩展应用。这两种形式我们的六维力传感器都可以支持,这样可以为用户接收六维力数据提供最大的方便。
以上就是六维力传感器使用Modbus RTU协议的主要内容,下篇文章我将为朋友们介绍传感器使用CAN协议或者以太网协议这些除串口以外的其他协议的情况。
互联网小常识:快速以太网的物理层标准有100BASE-TX,100BASE-T4和100BASE-FX.100BASE-TX采用两对5类分屏蔽双绞线,最大长度为100m,一对双绞线用于发送,一对双绞线用于接收,采用4B/5B编码方法,全双工工作方式。100BASE-T4采用4对3类非屏蔽双绞线,最大长度为100m,3对用于发送,1对用于冲突检测,编码采用8B/6T,半双工工作方式。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186