陆贤颖 马雄能 郭安然 李江涛 马学瑞
[摘 要]语言并非人类与生俱来的本能,正如人类主要通过语言来进行交流,机器主要也是机器语言来进行数据交换。人类通过逐字逐句交流,有不同语言,每种语言都有自己的语法。而机器之间的串行通讯是通过一个字节或一帧数据来交换信息,机器同样也有不同的通讯协议,每种通讯协议都有自己信息交换的规则。本文主要讲由MODICON公司推出的一种开放式通讯协议MODBUS RTU。
[关键词]串行通讯;Modbus协议;数据交换
[中图分类号]TE54 [文献标志码]A [文章编号]2095–6487(2020)12–00–03
[Abstract]Language is not an innate instinct of human beings. Just as human beings communicate mainly through language, machines also exchange data mainly through machine language. Humans communicate word for word, and there are different languages, each with its own grammar. Serial communication between machines is to exchange information through a byte or a frame of data. Machines also have different communication protocols, and each communication protocol has its own rules for information exchange. This paper focuses on MODBUS RTU, an open communication protocol launched by MODICON.
[Keywords]serial communication; The Modbus Protocol; data exchange
現场总线技术是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网,是连接设置在控制现场的仪表与设置在控制室内的控制设备的串行、多站、数字化通讯网络。其标志是能支持双向、多节点、总线式的全数字通讯。现场总线是包含从应用层协议到传输层协议的总成,目前国际标准的现场总线有16种,标准泛多,无统一标准。本文主要讲由MODICON公司推出的一种开放式通讯协议MODBUS。
1 串行通讯
1.1 通讯的概念
通讯的目的是彼此之间信息的交换,通讯系统就是把信息从一个地方传输到另一个地方的系统。数据通讯是指通讯过程中承载的信息的数据形式是数字的,不是模拟的。串行通讯是指用一条数据线,将数据一位一位的依次传输,每位数据占据一个固定的时间长度。
串行通讯数据如图1所示,发送和接受的每一个字符实际是一次一位传输的,每一位都为1或者是0。
1.2 串行通讯的分类
发送端与接收端之间的同步问题是数据通信中的重要问题,在串行传输中,数据是一位一位传输的,每位数据的发送与接收都需要时钟来控制时间,发送端通过发送时钟确定数据位的开始和结束,接收端需在适当的时间间隔对数据进行采样识别。通信过程中收发双方在时间上须保持同步,根据在串行通信中采用的同步技术不同,传输方式分为同步传输和异步传输。
1.2.1 同步传输
同步传输在信号开始处由同步字符“SYNC”指示,由同步时钟来实现收发端同步。同步信号相当于人们一起步行时发出的口令“起步——走”。异步传输一次只传输一帧信息。信息帧包含若干个字符。
信息帧由数据字符、同步字符和校验字符组成,其中同步字符位于信息帧的开头,用于确认数据字符的开始,数据字符位于同步字符之后,没有个数限制,由所需传输的数据长度决定,校验字符位于数据字符的后面1~2个字符,用于检验数据传输的准确性。
1.2.2 异步传输
数据通常以字节或字符为单位组成字符帧传输,字符帧由发送端逐帧进行发送,接收端逐帧进行接收。发送端和接收端由各自时钟来控制,这两个时钟彼此独立,互不同步。当数据未进行传输时或传输已完成时,通信传输线上须一直保持电平逻辑“1”的状态。
一旦接收端检测到传输线上的电平逻辑“0”时,即数据起始位,就表示发送端已开始发送数据;当接收端接收到字符帧中的停止位时,就表示发送端数据已经发送完毕,这就是异步传输。
2 modbus协议
通讯协议是指机器与机器之间交流时遵循的一种约定,约定包括同步方式、数据的格式、校验的方式、传输的速率等,作出了统一的规定,双方必须遵守这个约定。
在标准Modbus网络中,主控制器可以将modbus设置成三种传输模式:ASCII、RTU和TCP。Modbus通信使用主——从技术,即一个主站,其余为从站。主站把从站地址放入信息中以广播的方式将数据发送出去(寻址),从站根据主站发送的信息检查地址,判断是否需要响应主站的,从站不能自已发送信息。
2.1 ASCII模式
Modbus以ASCII模式通信时,消息中每个8位字节作为一个ASCII码(两个16位进制)发送。使用ASCII模式,消息以冒号“:”(3AH)开始,以回车、换行符(0DH、0AH)结束。
2.2 TCP模式
用于通过以太网或互联网连接和传输数据。由于以太网和互联网遵循TCP/IP协议,所以被称为TCP模式。该模式硬件接口是以太网接口。