Modbus/TCP 协议介绍,工业控制领域的通用通讯标准
在当下的(de)(de)(de)工业(ye)控制领域(yu),Modbus/TCP 协(xie)议(yi)作为(wei)一项自动化领域(yu)的(de)(de)(de)关键标准(zhun),已(yi)然(ran)获得极(ji)为(wei)广(guang)泛的(de)(de)(de)运用(yong)。Modbus 协(xie)议(yi)属于(yu)通(tong)(tong)用(yong)型通(tong)(tong)讯协(xie)议(yi),它不仅对诸如 RS232、RS485 这类多种电气接口(kou)予以(yi)支持,还(hai)支持以(yi)太网接口(kou),从而(er)让控制器之(zhi)间以(yi)及(ji)控制器与其他设备(bei)之(zhi)间的(de)(de)(de)通(tong)(tong)信变得简便(bian)且(qie)高效。Modbus 协(xie)议(yi)之(zhi)所以(yi)能被广(guang)泛应用(yong),主要归因(yin)于(yu)其具备(bei)开放性(xing)、标准(zhun)性(xing)以(yi)及(ji)易用(yong)性(xing)等特性(xing)。
Modbus 协议的基础概念
Modbus 协议最初是由施耐德电(dian)气(qi)在 1979 年(nian)为实现可(ke)编程(cheng)逻辑控制(zhi)器(PLC)之间的通(tong)信而研(yan)发(fa)出(chu)来的,发(fa)展至今,它已成为工业领(ling)域通(tong)信协议方面的行业标准。Modbus 协议属(shu)于一种应(ying)用层报文传输协议,对多种电(dian)气(qi)接口以(yi)及(ji)传输介(jie)质都提供(gong)支持,涵盖(gai)了 RS232、RS485 以(yi)及(ji) TCP/IP 。
Modbus 协议采(cai)用(yong)主(zhu)(zhu)(zhu)从式(shi)的(de)通(tong)信模式(shi),也就是由主(zhu)(zhu)(zhu)设(she)(she)备(bei)(bei)主(zhu)(zhu)(zhu)动对(dui)从设(she)(she)备(bei)(bei)展开查询以(yi)及操作。常见的(de)主(zhu)(zhu)(zhu)设(she)(she)备(bei)(bei)包含工控机以(yi)及工业控制器等,而(er)从设(she)(she)备(bei)(bei)则包含 PLC 可编(bian)程控制器等。这种通(tong)信模式(shi)有(you)效(xiao)保障了(le)数(shu)据(ju)传(chuan)输过程的(de)有(you)序性与可靠性。
Modbus 协议的通信流程
Modbus 协议的通信进(jin)程涵盖以下(xia)步骤:
主设备向(xiang)(xiang)从(cong)设备发出(chu)请(qing)求(qiu):主设备主动发起通信请(qing)求(qiu),向(xiang)(xiang)从(cong)设备发送携带特定指令的数据帧。
从(cong)设(she)备解(jie)(jie)析并处理请(qing)求(qiu):从(cong)设(she)备接(jie)收请(qing)求(qiu)后,对数据帧(zhen)进行解(jie)(jie)析,进而执行相应(ying)的(de)操作(zuo)。
从(cong)设备向(xiang)主设备反馈结(jie)果:从(cong)设备将操作产生的结(jie)果或(huo)者数据反馈给主设备。
异常情况处理:倘若在处理过程中出现(xian)任何差错,从设备会(hui)返回一个异常功(gong)能(neng)码(ma),以此告知(zhi)主设备通信失败的(de)具体(ti)缘(yuan)由。
Modbus 协议的特性
标准性与开放性
Modbus 协(xie)议(yi)是(shi)公开对外发布的(de)(de),用(yong)户能够免费使(shi)用(yong),无需(xu)缴纳许可(ke)证费用(yong)。当前,支持 Modbus 协(xie)议(yi)的(de)(de)厂家(jia)数量超过(guo)(guo) 400 家(jia),支持 Modbus 的(de)(de)产(chan)品种类超过(guo)(guo) 600 种,正是(shi)这些因素促使(shi) Modbus 协(xie)议(yi)成为工(gong)业控制(zhi)领域的(de)(de)通用(yong)标准。
多电气接口支持
Modbus 协议对(dui)多种(zhong)电气接口予以(yi)支持,像 RS232、RS485 等,并(bing)且还(hai)能够(gou)借助双(shuang)绞线、光纤、无线等多种(zhong)介质来进行数据(ju)传输。这种(zhong)高度(du)的灵活性,使得 Modbus 协议能够(gou)适配(pei)各类工业环境(jing)以(yi)及应用场景。
简单易用
Modbus 协议的(de)帧(zhen)格(ge)式(shi)简洁、紧凑(cou),易(yi)于理解(jie)和运用。用户能够快速(su)上手,厂商也能够便捷地开(kai)发出支持 Modbus 协议的(de)设备与(yu)系统。
Modbus 协议的功能代码解析
Modbus 协议支持多(duo)种(zhong)功能代(dai)(dai)码,用于执行不同的操作任务(wu)。这些功能代(dai)(dai)码可划分为位操作和字操作这两类(lei):
位操作
读线(xian)圈(quan)状(zhuang)态(01):读取从(cong)设备(bei)的(de)线(xian)圈(quan)状(zhuang)态情况。
读离散(san)输入状(zhuang)态(02):获取从(cong)设(she)备的离散(san)输入状(zhuang)态信息。
写(xie)单个线圈(05):对从设备的(de)单个线圈实施写(xie)操作。
写(xie)多个线(xian)圈(quan)(15):针对从设备(bei)的多个线(xian)圈(quan)进行(xing)写(xie)操作。
字操作
读保(bao)持寄存(cun)器(03):读取从设备保(bao)持寄存(cun)器内的(de)数(shu)据。
写(xie)单个寄(ji)存器(06):对从(cong)设备的单个寄(ji)存器执行写(xie)操(cao)作。
写多个(ge)保(bao)持寄存器(qi)(10):对从(cong)设备的多个(ge)保(bao)持寄存器(qi)进行写操作。
Modbus 协议的报文模型
理解 Modbus 协议的报文模型是达成有效通(tong)信(xin)的核心要(yao)点。在此需要(yao)知(zhi)悉两(liang)个缩略词:
ADU(应用数(shu)(shu)据(ju)单元):包含完整的报文信息,其中涵盖(gai)地址、功能码、数(shu)(shu)据(ju)以及校验码。
PDU(协议数据单元):仅包(bao)(bao)含功能(neng)码和(he)数据部(bu)分(fen),不包(bao)(bao)含地址和(he)校验码。
Modbus 协议的传输模式
Modbus 协议(yi)主要支持两种传输模式(shi):ASCII 模式(shi)和 RTU 模式(shi)。每种模式(shi)都具备各自的特(te)点以及适用场景。
ASCII 传输模式
在 ASCII 模式下,报(bao)文(wen)中的(de)每 8 位字(zi)(zi)(zi)节以(yi)两个(ge) ASCII 字(zi)(zi)(zi)符的(de)形(xing)式进行(xing)发送。举例来说,字(zi)(zi)(zi)节 0x5B 会被(bei)编码成(cheng)两个(ge)字(zi)(zi)(zi)符:0x35 和 0x42(ASCII 编码中 0x35 代表(biao) “5”,0x42 代表(biao) “B”)。这种模式的(de)优点在于(yu)便(bian)于(yu)调(diao)试和监(jian)控(kong),然(ran)而其传输效率相对较低(di)。报(bao)文(wen)以(yi)冒号(:)作(zuo)为(wei)起始标志,以(yi)回(hui)车 - 换(huan)行(xing)(CRLF)作(zuo)为(wei)结束(shu)标志,设备通过识别这些特殊字(zi)(zi)(zi)符来判定帧的(de)起始与结束(shu)位置(zhi)。
RTU 传输模式
RTU 模式(shi)(shi)(shi)是(shi) Modbus 协议(yi)的(de)另一种(zhong)传(chuan)输方式(shi)(shi)(shi),每(mei)个报文(wen)中(zhong)的(de)每(mei)个 8 位字(zi)节包含两(liang)个 4 位十六(liu)进(jin)制字(zi)符(fu)。该模式(shi)(shi)(shi)的(de)主要优势在(zai)(zai)于数据密度(du)较高,在(zai)(zai)相同的(de)波(bo)特(te)率条件下,比 ASCII 模式(shi)(shi)(shi)具备更(geng)高的(de)传(chuan)输效率。报文(wen)必须以连(lian)续(xu)的(de)字(zi)符(fu)流(liu)(liu)形式(shi)(shi)(shi)进(jin)行(xing)传(chuan)送,设备通过检测字(zi)符(fu)流(liu)(liu)中(zhong)的(de)特(te)定模式(shi)(shi)(shi)来识(shi)别帧的(de)起始和结(jie)束。
Modbus/TCP 协议
随着以太网技术在工业控制领域的广泛普及,Modbus/TCP 协议应运而生。Modbus/TCP 协议是 Modbus 协议在以太网环境下的具体实现形式,它继承了 Modbus 协议的简洁性和灵活性,同时充分利用了以太网的高速传输能力。Modbus/TCP 协议支持多种功能代码,适用于工业自动化、电力(li)通(tong)讯、智能仪表等多个领域的网络通(tong)信(xin)场(chang)景。