协议分为硬件
协议和软件协议。而
通讯协议属于软件协议,它包含报头包围的格式,MODBUS是应用层的
通讯协议,主要用于传送和接收文件包的格式。而RS232,RS485是物理层的串行接口,它可以支持几十种通讯协议,MODBUS只是其中的一种。MODBUS可分为 MODBUS RTU/ACSI, MODBUS +(也叫modbus PLUS)和modbus tcp/ip等。前两种是在串行链路上使用的通讯协议(串口通讯),后一种是在以太网口基于TCP/IP协议的MODBUS通讯协议。\x0d\x0a\x0d\x0a上面有朋友举车的例子,还拿这个例子来说吧,一个人从香港去澳门,人就是文件,香港是主机,澳门是从机。从香港去澳门可以走水路或航空,水路可以是RS232,RS485(二者之间RS485速度更快些没有太大的区别),航空可以是以太网。交通工具船和飞机可以分别看成应用层的MODBUSRTU/MODBUS PLUS和MODBUSTCP/IP.而在这里当然船也可以是轮船或汽艇,可以是RS485支持的其他通讯协议\x0d\x0a \x0d\x0ars232和rs485只负责吧路修好,连同后modbus就像车和船等交通工具,路修好了如果有码头就可以走船,如果有车站就可以走汽车,(一个是路一个是更高一层的交通工具)modbus程序应包含通讯模块,modbus读写指令生成模块,人机交互等主要组成部分。通过人机交互,设定前端设备id,以及通讯参数,寄存器地址等,通过modbus指令生成模块生成指令,并将指令通过通讯模块送出,并接收返回数据 ,数据解析后通过人机交互窗口显示。
MOBUS只是一种软件协议,协议就是规定了一种"暗语",让主从站之间可以"通话"。也就是把0和1翻译成双方都明白的命令。
这很类似于你在不同品牌的电脑上,装什么软件系统。
而RS232和RS485相当于这个电脑硬件。
他们只是硬件接口。在这个硬件上,也不只能跑MODBUS协议,还能跑其他自拟协议。
同样,MODBUS也不光可以用于RS232和RS485,还可以用于POWERBUS,MBUS,等其他硬件之上。
例如这张图,上面的波形是来自MCU的原始数据接口UART
下面是RS485差分线波形。RS485只不过把来自MCU的UART的0-5V或者0-3.3V的电平,转换为翻转颠倒的5V压差电平并扩流驱动线缆。这就是硬件接口做的事情。
MODBUS只是一种软件。
但要注意,RS232是全双工通讯的,RS482是半双工通讯的。
施工布线差别就更大了,RS232只能一对一,最远通讯距离15米。而RS485支持一对多大网络通讯。
布线复杂度也不同
评论列表(0条)