Modbus网关也称为以太网通讯网关。可实现Modbus RTU/ASCII与Modbus TCP之间的转换。Modbus 协议可以分为两种,一种是基于 RS485 的 Modbus RTU(或 ASCII),另一种是基于以太网的 Modbus TCP。
Modbus网关是一个转换器,可以将Modbus RTU的数据转换为Modbus TCP的数据。由于RS485总线接口的限制。
Modbus TCP与RTU相比具有以下优点:
1. 标准、开放,用户无需支付许可费或侵犯知识产权即可使用Modbus协议。目前支持Modbus的厂家有400多家,支持Modbus的产品超过600种。
2、Modbus可以支持多种电接口,如RS232、RS485等,可以在各种介质上传输,如双绞线、光纤、无线等。
3、Modbus的帧格式简单,简洁易懂,便于用户使用,便于厂商开发。
Modbus 和 TCP 协议虽然不同,但也有密切的联系。两种协议的结合是基于Modbus/TCP/IP协议的远程网络通讯,提示了Modbus在等效应用中的使用。
4.可以采用现有的以太网网络,节省RS485的布线成本。
5.可以支持多台主机同时访问Modbus仪表.
Modbus网关的功能:
Modbus网关是工业自动化系统的网络集线器通讯协议转换设备。它与智能仪表连接,将下级仪表的数据采集到Modbus网关,连接上级计算机网络,并按照Modbus TCP协议与网络计算机通讯。
Modbus 网关有两种类型:存储型和普通型。与普通的Modbus相比,存储型Modbus可以存储网关读取的寄存器内容。这样可以大大提高Modbus TCP查询的速度,在支持多主机访问时性能更优越。
Modbus协议主要用于电气自动化和过程控制,采用RS232和RS485接口。Modbus协议的缺点是距离短,传输速度慢,因此限制了很多应用。TCP/IP协议主要用于互联网应用,TCP/IP的优点是传输距离远、传输速度快,TCP/IP协议的应用范围更广。
网关的作用
modbus网关支持主流工业plc设备协议,远程获取plc运行数据,不仅可以实现plc远程监控、plc远程调试、plc远程维护、plc远程升级、plc远程诊断、以及建设大规模远程管理设备的信息化网络,实现大数据预警的一种工业设备,是工业互联网平台中智能传输终端设备的一种。同时可以为设备制造商与终端客户提供完整的设备远程维护管理解决方案。
1、Modbus协议
Modbus 协议是一种用于电气自动化电子控制器的通用语言。该协议允许控制器以及其他网络设备相互通信,并成为行业标准协议。Modbus协议具有良好的交互性和开放的标准,在工业领域得到了广泛的应用。
Modbus有两种通讯方式:ASCII和RTU,Modbus-RTU(Modbus远程终端单元)和Modbus-ASCII(美国信息交换标准码)。虽然有两种通讯方式,但使用时只能选择一种通讯方式,不支持混用。
2. TCP/IP 协议
TCP/IP协议是Transmission Control Protocol/Internet Protocol的简称,是物理网络上的一套完整的网络协议。TCP的作用是提供传输层服务,IP的作用是提供网络层服务。TCP/IP协议的核心部分是传输层协议(TCP/UDP)、网络层协议(IP)和物理接口层。
1、在Modbus网络上转输
标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
2、在其它类型网络上转输
在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。
在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。
3、查询—回应周期
(1)查询
查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。
(2)回应
如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。