Modbus ASCII是串行链路上的协议,也就是说ModbusASCII是通过串口通信来实现的,它可以通过RS232、RS485物理层的接口来实现,同时它也是一个主从协议,在同一时间总线上只能有一个主站和一个或多个(最多247)个从站。Modbus通信总是由主站发起,从站没有接收到主站的请求时不会发送数据,从站之间不能相互通信,主站同时也只能处理一个Modbus事务。
1、访问模式:
主站有两种方式可以向从站发出Modbus请求,分别为单播模式、广播模式,分别如下:
1.1 单播模式(主站访问单个从站):
主站寻址单个从站,从站接收并处理完请求以后,返回一个报文(一个应答)给主站,如下图:
在这种模式下,一个Modbus事务处理有2个报文,一个是主站发送的报文,一个是从站返回的报文,并且每个从站必须有唯一的地址(1到247),这样才能区分每个独立的从站。
1.2 广播模式(主站访问所有从站):
广播模式下,只有主站发送报文访问从站,从站不会返回报文给主站,所以广播模式必须是写命令,并且地址0就是用于广播的地址,如下图: