modbus rtu、无线智能终端
- 格式:pdf
- 大小:1.08 MB
- 文档页数:8
Modbus RTU智能测控装置数据采集终端操作说明书目 录1. 绪论 (2)1.1 前言 (2)2. 产品介绍 (3)2.1 智能测控装置产品简介......................................................................................................32.2 型号说明(具体可参考公司网站选型表或联系我们)..................................................32.3 技术特点 (4)3 电气安装与接线 (6)3.1 产品外观说明......................................................................................................................63.2 设备接线说明......................................................................................................................93.3 安装及结构说明. (10)3.3.1 安装说明 (10)3.3.2 产品尺寸 (11)4. 软件配置参数及调试工具操作说明 (12)5. 通信协议使用说明 (13)5.1 智能测控装置 (13)5.1.1 Modbus命令格式 (13)5.1.2 寄存器地址表 (15)5.1.3 寄存器读写命令说明(拨码为100) (17)6. 注意事项 (18)7. 常见故障分析与排除 (19)1. 绪论1.1 前言尊敬的客户,感谢您使用深圳市信立科技有限公司的产品,衷心希望我们的产品能够为您创造出更多的价值。
本手册详细地介绍了设备的性能特点和技术指标、安装使用方法以及设备的诊断和维护等内容,文中包含许多与产品相关的重要信息,为确保设备的正常、高效使用,请您务必在设备使用之前仔细阅读本手册。
远程终端设备RTU6200硬件手册 V1.00阿尔泰科技发展有限公司版权声明本产品是由阿尔泰科技发展有限公司(art control)开发,受知识产权保护。
任何人未¾\u25480X权不得加以仿冒、盗用、非法拷贝。
此份文件内所述得内容,除了商标、产品和软件名称外,其余皆不得以任何形式复制、转换、重述后储存在任何形式的系统中。
除非¾\u36807X阿尔泰科技发展有限公司的书面同意,否则不得以任何形式或文字转译本手册中所述涉及知识产权的内容。
出现在本手册中的产品、公司名称,或属已注册商标或版权声明,其权利由其后所代表的公司所有,除了用作说明和解释用途外,这些有版权或已注册商标、产品和公司名称不得仿冒。
法律责任这本手册仅作参考之用,不作任何形式的保证。
此文件主要目的在于提供使用者使用安装本产品的相关咨讯,作为参考文件之用。
使用者若沿用本手册内容作其他方面的使用参考而导致任何权益、产品等损害的话,本公司不负任何责任,同时为产品更新之需要,本公司将保留修改本手册的权利,不再另行通知,未按本手册使用后果自负。
第一章 RTU6200概述RTU6200系列远程终端设备是阿尔泰科技发展有限公司集多年的开发、工程经验设计的新型RTU产品,它可实现对工业现场信号的采集和对现场设备的控制。
RTU6200 系列远程终端设备的硬件基于功能强大的32位ARM7 核心的LPC2292处理器,拥有256K flash、512K SRAM。
开关量输入/输出、模拟量输入,RS232/RS485,并带有兼容CAN2.0的总线接口、精确的温湿度传感器和RTC时钟,可为现场应用提供功能强大的硬件平台。
各种总线与外部均采用光藕隔离。
5.7"的带有触摸功能的单色液晶显示屏使与其可以构建完整的用户界面。
更方便开发。
其具有多种配置和多种功能的选择,我们可根据用户的实际需求进行量身定制、系统集成、开发和应用。
RTU6200 是基于白色蓝底显示的图形LCD(320*240 像素)。
什么是RTU?RTU英文全称 Remote Terminal Unit,中文全称为远程终端控制系统。
RTU具有的特点是:1、通讯距离较长2、用于各种恶劣的工业现场3、模块结构化设计,便于扩展。
4、在具有遥信、遥测、遥控领域的水利,电力调度,市政调度等行业广泛使用。
RTU 产品目前与无线设备,工业TCP/IP产品结合使用,正在发挥越来越大的作用。
RTU(Remote Terminal Unit)是一种远端测控单元装置,负责对现场信号、工业设备的监测和控制。
与常用的可编程控制器PLC相比,RTU通常要具有优良的通讯能力和更大的存储容量,适用于更恶劣的温度和湿度环境,提供更多的计算功能。
正是由于RTU完善的功能,使得RTU产品在SCADA系统中得到了大量的应用。
远程终端设备(RTU)是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备。
RTU将测得的状态或信号转换成可在通信媒体上发送的数据格式。
它还将从中央计算机发送来得数据转换成命令,实现对设备的功能控制。
监视控制和数据采集是一个含义较广的术语,应用于可对安装在远距离场地的设备进行中央控制和监视的系统。
SCADA系统可以设计满足各种应用(水、电、气、报警、通信、保安等等),并满足顾客要求的设计指标和操作概念。
SCADA系统可以简单到只需通过一对导线连在远端的一个开关,也可复杂到一个计算机网络,它由许多无线远程终端设备(RTU)组成并与安装在中控室的功能强大的微机通信。
SCADA系统的远程终端设备可以用各种不同的硬件和软件来实现。
这取决于被控现场的性质、系统的复杂性、对数据通信的要求、实时报警报告、模拟信号测量精度、状态监控、设备的调节控制和开关控制。
远程测控终端(RTU)述评一、概述在生产过程自动化装置中,PLC、DCS是两类应用最广泛的控制系统,20世纪80年代之前,这些控制系统的I/O卡件均集中在远离现场的控制室内,与现场装置(其中包括AI/AO模拟量输入输出装置和DI/DO 开关量输入输出装置等)的连接线都是一对一直接接线,我们现在还可以在很多现场看到进出控制室的大量电缆和敷设电缆的大尺寸桥架。
modbusrtu标准协议摘要:1.Modbus RTU 简介2.Modbus RTU 的基本组成部分3.Modbus RTU 的通信原理4.Modbus RTU 的优点和应用正文:【1.Modbus RTU 简介】Modbus RTU 是一种串行通信协议,主要用于工业自动化领域中的数据传输。
它是Modbus 协议的一种实现方式,其中RTU 是Remote Terminal Unit 的缩写,表示远程终端单元。
Modbus RTU 通过在设备和控制系统之间建立通信链路,实现了对设备状态和数据的监控、控制和管理。
【2.Modbus RTU 的基本组成部分】Modbus RTU 协议的基本组成部分包括:a.消息结构:Modbus RTU协议采用客户端/服务器模型。
客户端发送请求消息,服务器端发送响应消息。
消息结构包括:地址、功能代码、数据长度、数据、校验和、结束符。
b.功能代码:Modbus RTU 协议定义了一系列功能代码,用于表示客户端请求的服务类型。
常见的功能代码有:读取保持寄存器、写入保持寄存器、读取输入寄存器、写入输入寄存器等。
c.数据表示:Modbus RTU 协议采用补码表示法,可以表示有符号整数和无符号整数。
d.校验和:Modbus RTU 协议使用CRC 校验和,用于检测数据传输中的错误。
【3.Modbus RTU 的通信原理】Modbus RTU 协议采用串行通信方式,数据位采用8 位二进制表示。
通信过程中,数据按位发送,每个数据位之间有1 位的停止位。
Modbus RTU 协议的数据传输速率较慢,但稳定性较高,适用于工业现场的恶劣环境。
【4.Modbus RTU 的优点和应用】Modbus RTU 协议具有以下优点:a.通用性强:Modbus RTU 协议广泛应用于各种工业自动化设备和控制系统中,具有较强的通用性。
b.稳定性高:Modbus RTU 协议采用串行通信方式,数据传输速率较慢,但稳定性较高,适用于工业现场的恶劣环境。
STC单片机实现的ModBus-RTU协议无线通信服务器许文辉
【期刊名称】《自动化与信息工程》
【年(卷),期】2007(28)1
【摘要】介绍一个基于STC单片机构建的Modbus-RTU主站协议的无线通信服务器.着重介绍其使用的芯片,原理及电路.从低成本的角度,有效地解决了AB的PLC 主站与远方多处的Modicon MicroPLC之间的无线通信问题.为实现异种类型PLC 之间的无线数据交换提供了一个切实可行的方法.
【总页数】3页(P24-26)
【作者】许文辉
【作者单位】湛江市自来水公司
【正文语种】中文
【中图分类】TN92
【相关文献】
1.基于Modbus-RTU协议的串口通信软件实现 [J], 李慧静;刘慧文;李东敬
2.基于MODBUS-RTU协议通信软件的设计与实现 [J], 翟志华;李梦宇
3.利用Modbus-RTU通信协议实现玻璃连线设备控制 [J], 陈向飞;曹勇
4.基于STC单片机实现Modbus协议的研究 [J], 林雨;王瑞
5.改进MODBUS-RTU协议的远传IC卡水量控制仪的设计与实现 [J], 张晶伟;庹少东;熊礼治;刘树波
因版权原因,仅展示原文概要,查看原文内容请购买。
MODBUS-RTU通讯协议简介什么是MODBUS?常用的MODBUS 通讯规约有两种,一种是MODBUS ASCII,一种是MODBUS RTU。
一般来说,通讯数据量少而且主要是文本的通讯则采用MODBUS ASCII规约,通讯数据量大而且是二进制数值时,多采用MODBUS RTU规约。
MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。
首先,主计算机的信号寻址到一台终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。
1.1查询—回应周期1.1.1查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
例如使用功能代码03(读从设备保持寄存器的内容)时,数据段必须包含要告之从设备的相关信息包括:从那个寄存器开始读,以及需要读的寄存器的数量。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
1.2.2 回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。
数据段包括了从设备收集的数据:如寄存器值或状态。
如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
错误检测域允许主设备确认消息内容是否可用。
1.3传输方式传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS 协议– RTU方式相兼容的传输方式。
每个字节的位:· 1个起始位· 8个数据位,最小的有效位先发送·无奇偶校验位· 1个停止位错误检测(Error checking):CRC(循环冗余校验)1.4协议当数据帧到达终端设备时,它通过一个简单的“端口”进入被寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。
无线LORA采集终端MODBUS-RTU协议目录一、概述 (3)二、通讯规约 (3)三、采集终端寄存器和传感器对应关系 (4)四、通讯实例 (8)五、CRC校验C程序参考 (13)一、概述采集终端(从机)具有与上位机(主机)通讯的多点通讯的RS485接口,采集终端的地址可以通过拨码开关进行设置(1~31),遵守MODBUS-RTU协议,上位机可以随时读取或修改采集终端规定的参数。
二、通讯规约三、采集终端寄存器和传感器对应关系用户访问采集终端的传感器采集数据,只需要根据传感器的拨码地址开关做访问的寄存器调整即可,地址开关不允许冲突,有效值为0x00~0xFF(0~255),建议传感器地址连续使用。
空气温湿度和土壤温湿度采样数值须作/ 10调整,光照强度和CO2浓度采样数值即为现场环境的实际监测值。
上位机访问采集终端的寄存器地址由传感器的拨码开关地址决定,不同类型的传感器对应的采集终端的寄存器地址偏移量不同。
寄存器起始地址为0x0000,偏移量=(以传感器拨码开关0x00起始地址的)传感器类型数量的总和,假如中间有空余的拨码开关不用的,对应的采集终端内的寄存器地址也不会被使用,并且默认预留出4个寄存器字节。
为了方便编程和访问数据的高效,建议连续使用拨码开关地址。
以下举例说明:1、非组合传感器拨码开关地址:0x00,0x01,0x02,0x030x00:空气温湿度传感器;0x01:土壤温湿度传感器;0x02:光照强度传感器;0x03:CO2浓度传感器;则:2、组合型传感器拨码开关地址:0x00,0x01,0x020x00:空气温湿度、光照度三合一传感器;0x01:空气温湿度、土壤温湿度四合一传感器;0x02:空气温湿度、CO2浓度三合一传感器;则:3、混合型传感器拨码开关地址:0x00,0x01,0x02,0x03,0x04,0x05 0x00:空气温湿度传感器;0x01:空气温湿度、土壤温湿度四合一传感器;0x02:光照强度传感器0x03:空气温湿度、光照强度三合一传感器0x04:CO2浓度传感器0x05:空气温湿度、CO2浓度三合一传感器;则:4、设备控制定义四、通讯实例MODBUS数据类型上位机:采集终端:1、假如传感器为空气温湿度传感器,拨码开关的地址为0x00,则1.1、空气温度1:-40℃01 04 00 00 00 01 31 CA采集终端返回:01 04 02 FE 70 F8 B4当空气温度为负值时,采样数值为补码表示,已知补码求原码顺续如下:①先让0xFE70减去1,得0xFE6F;②然后取反即得原码:0x0190,即十进制:400;③最后除以10 即得采样实际值,400 / 10 = 40;1.2、空气湿度1:100 %RH上位机发送:01 04 00 01 00 01 60 0A采集终端返回:01 04 02 03 E8 B9 8E0x03E8 = 1000; 1000 / 10 = 100%RH1.3一次读取空气温度1 和湿度1的数值上位机发送:01 04 00 00 00 02 71 CB采集终端返回:01 04 04 FE 70 03 E8 CB 09空气温度1为:-40℃空气湿度1为:100%RH2、假如传感器为土壤温湿度传感器,拨码开关的地址为0x01,则2.1、土壤温度1:-55℃01 04 00 02 00 01 90 0A采集终端返回:01 04 02 FD DA 78 3B当土壤温度为负值时,采样数值为补码表示,已知补码求原码顺续如下:①先让0xFDDA减去1,得0xFDD9;②然后取反即得原码:0x0226,即十进制:550;③最后除以10 即得采样实际值,550 / 10 = 55;2.2、土壤湿度1:100 %RH上位机发送:01 04 00 03 00 01 C1 CA采集终端返回:01 04 02 03 E8 B9 8E0x03E8 = 1000; 1000 / 10 = 100%RH2.3、一次读取土壤温度1 和湿度1 的数值上位机发送:01 04 00 02 00 02 D0 0B采集终端返回:01 04 04 FD DA 03 E8 EB 6D3、假如传感器为光照强度传感器,拨码开关的地址为0x03,则3.1、光照强度1:65535 Lux上位机发送:01 04 00 04 00 01 70 0B采集终端返回:01 04 02 FF FF B8 800xFFFF = 65535 Lux;4、假如传感器为CO2浓度传感器,拨码开关的地址为0x04,则4.1、CO2浓度1:2000ppm上位机发送:01 04 00 05 00 01 21 CB采集终端返回:01 04 02 07 D0 BA 9C0x07D0 = 2000ppm;5、假如传感器为空气温湿度、光照度三合一传感器,拨码开关的地址为0x05,则5.1、空气温度2为80℃,湿度2为67.8%RH,光照度2为1234 Lux 上位机发送:01 04 00 06 00 03 50 0A采集终端返回:01 04 06 03 20 02 A6 04 D2 82 61空气温度2:80℃0x0320 = 800,800 / 10 = 80空气湿度2:67.8%RH0x02A6 = 678,678 / 10 = 67.8光照强度2: 1234 Lux0x04D2 = 12346、假如传感器为空气温湿度、土壤温湿度四合一传感器,拨码开关的地址为0x06,则6.1、空气温度3为23.4℃,湿度3为67.8%RH,土壤温度2为23.5℃,湿度2为56.7%RH上位机发送:01 04 00 09 00 04 21 CB采集终端返回:01 04 08 00 EA 02 A6 00 EB 02 37 56 BA空气温度3 : 23.4 ℃0x00EA = 234,234 / 10 23.4空气湿度3: 67.8%RH0x02A6 = 678,678 / 10 = 67.8土壤温度2:23.5 ℃0x00EB = 235 , 235 / 10 = 23.5土壤湿度2:56.7%RH0x0237 = 567, 567 / 10 = 56.77、用户一次读取上述所有传感器的数据7.1、上位机发送:01 04 00 00 00 0D 31 CF采集终端返回:01 04 1A FE 70 03 E8 FD DA 03 E8 FF FF 07 D0 03 20 02 A6 04 D2 00 EA 02 A6 00 EB 02 37 F9 42空气温度1:-40℃,0xFE70空气湿度1:100 %RH,0x03E8土壤温度1:-55℃,0xFDDA土壤湿度1:100 %RH,0x03E8光照强度1:65535 Lux,0xFFFFCO2浓度1:2000ppm,0x07D0空气温度2为80℃,0x0320空气湿度2为67.8%RH,0x02A6空气光照度2为1234 Lux,0x04D2空气温度3为23.4℃,0x00EA空气湿度3为67.8%RH,0x02A6土壤温度2为23.5℃,0x00EB土壤湿度2为56.7%RH,0x02378.1、用户开启拨码地址为1#的设备DO01,则:上位机发送:01 05 00 00 FF 00 8C 3A终端返回:01 05 00 00 FF 00 8C 3A8.2、用户关闭拨码地址为1#的设备DO01,则:上位机发送:01 05 00 00 00 00 CD CA终端返回:01 05 00 00 00 00 CD CA8.3、用户开启拨码地址为1#的设备DO08,则:上位机发送:01 05 00 07 FF 00 3D FB终端返回:01 05 00 07 FF 00 3D FB8.4、用户关闭拨码地址为1#的设备DO08,则:上位机发送:01 05 00 07 00 00 7C 0B终端返回:01 05 00 07 00 00 7C 0B五、CRC校验C程序参考5.1/*计算法*///CRC_16_MODBUS_RTU//X16+X15+X2+1 POL Y:8005,Init_Value:0xFFFF,#include <STC15F2K60S2.H>#define uchar unsigned char#define uint unsigned int#define ulong unsigned long// uchar Data_Buffer[1] = {0x00};//0x4574;0x00 0x40BF;0x01 0x807E;uchar Data_Buffer[] = {0x01,0x01,0x00,0x00,0x00,0x09};//0x4574;0x00 0x40BF;0x01 0x807E;// uchar Data_Buffer[12] ={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B};//0x4574;0x00 0x40BF;0x01 0x807E;// uchar Data_Buffer[12] ={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B};//0x4574;0x00 0x40BF;0x01 0x807E;uchar CRC_Data_Buffer[(sizeof(Data_Buffer)+2)] = {0x00};uchar Rcvbuf[2] = {0X00,0X00};uchar *Array;unsigned int Len;unsigned int CRC;unsigned char i;unsigned char CRC_L,CRC_H;unsigned short CRC_16_MODBUS_RTU(unsigned char *Array, unsigned char *Rcvbuf,unsigned int Len);void main(void){unsigned char j;unsigned int CRC_Value;Array = Data_Buffer;CRC_Value = CRC_16_MODBUS_RTU(Array,Rcvbuf,sizeof(Data_Buffer));for (j = 0;j < sizeof(Data_Buffer);j++){CRC_Data_Buffer[j] = Data_Buffer[j];}CRC_L = (CRC_V alue & 0X00FF);CRC_H = ((CRC_Value & 0XFF00)>>8);CRC_Data_Buffer[(sizeof(CRC_Data_Buffer)-2)] = CRC_L;CRC_Data_Buffer[(sizeof(CRC_Data_Buffer)-1)] = CRC_H;Array = CRC_Data_Buffer;CRC_Value = CRC_16_MODBUS_RTU(Array,Rcvbuf,sizeof(CRC_Data_Buffer));while(1);}unsigned short CRC_16_MODBUS_RTU(unsigned char *Array, unsigned char *Rcvbuf,unsigned int Len) {unsigned int IX,IY,CRC;CRC=0xFFFF;//set all 1if (Len<=0)CRC = 0;else{Len--;for (IX=0;IX<=Len;IX++){CRC=CRC^(unsigned int)(Array[IX]);for(IY=0;IY<=7;IY++){if ((CRC&1)!=0 )CRC=(CRC>>1)^0xA001;elseCRC=CRC>>1; //}}}Rcvbuf[0] = (CRC & 0xff00)>>8;//高位置Rcvbuf[1] = (CRC & 0x00ff); //低位置CRC= Rcvbuf[0]<<8;CRC+= Rcvbuf[1];return CRC;}/*查表法*//*CRC 生成函数*/unsignedshort CRC16 ( puchMsg,usDataLen ) /* 函数以unsignedshort 类型返回CRC */unsignedchar *puchMsg ; /* 用于计算CRC 的报文*/unsignedshort usDataLen ; /* 报文中的字节数*/{unsignedchar uchCRCHi= 0xFF ; /*CRC 的高字节初始化*/unsignedchar uchCRCLo = 0xFF ; /*CRC 的低字节初始化*/unsigneduIndex ; /*CRC 查询表索引*/ while (usDataLen--) /* 完成整个报文缓冲区*/ {uIndex = uchCRCLo^ *puchMsgg++ ; /* 计算CRC*/uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex};uchCRCHi = auchCRCLo[uIndex] ;}return (uchCRCHi << 8 |uchCRCLo);}/* 高位字节的CRC 值*/static unsigned char auchCRCHi[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00,0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0 x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40} ;/* 低位字节的CRC 值*/static char auchCRCLo[] = {0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,0x05, 0xC5, 0xC4,0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,0x0A, 0xCA, 0xCB,0x0B, 0xC9, 0x09,0x08, 0xC8, 0xD8, 0x18, 0x 19, 0xD9, 0x1B, 0xDB, 0xDA,0x1A, 0x1E, 0xDE,0xDF, 0x1F, 0xDD,0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17,0x16, 0xD6, 0xD2,0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,0x36, 0xF6, 0xF7,0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,0xFF, 0x3F, 0x3E,0xFE, 0xFA, 0x3A,0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B,0x2A, 0xEA, 0xEE,0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24,0x25, 0xE5, 0x27,0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,0x63, 0xA3, 0xA2,0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4,0x6C, 0xAC, 0xAD,0x6D, 0xAF, 0x6F,0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8,0x68, 0x78, 0xB8,0xB9, 0x79, 0xBB,0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD,0xBC, 0x7C, 0xB4,0x74, 0x75, 0xB5,0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94,0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B,0x5B, 0x99, 0x59,0x58, 0x98, 0x88,0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D,0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86 , 0x82, 0x42, 0x43, 0x83,0x41, 0x81, 0x80,0x40}。
modbus rtu 规约
Modbus RTU (Remote Terminal Unit) 是一种串行通信协议,用于在工业自动化系统中传输数据。
它是一种简单而可靠的协议,被广泛应用于监控和控制领域,包括工厂自动化、建筑自动化、能源管理系统等。
Modbus RTU 协议使用串行通信方式,通常在 RS-485 或 RS-232 等物理层上进行数据传输。
它采用了一种简单的主从结构,其中一个主站可以与多个从站进行通信。
主站负责发起通信请求,而从站则负责响应请求并提供数据。
Modbus RTU 协议定义了一系列功能码,用于读取和写入不同类型的数据,如线圈、离散输入、保持寄存器和输入寄存器。
这些功能码使得 Modbus RTU 协议非常灵活,可以满足各种不同应用场景的需求。
由于其简单和可靠性,Modbus RTU 协议已经成为工业自动化领域中的标准之一。
许多工业设备和控制系统都支持 Modbus RTU 协议,使得不同厂家的设备可以方便地进行通信和集成。
然而,需要注意的是,由于其串行通信的特点,Modbus RTU 在传输速度和距离上存在一定的限制。
因此,在设计和部署系统时,需要合理考虑通信距离和速度,以确保系统的稳定性和可靠性。
总的来说,Modbus RTU 协议作为一种简单而可靠的串行通信协议,为工业自动化系统的数据传输提供了有效的解决方案,为工业控制和监控领域的发展做出了重要贡献。
图文详解Modbus-RTU协议前世今生照例简单说下这个协议的历时,Modicon公司于1979年制定了Modbus协议标准,并用在其PLC产品上。
后来Modicon公司被施耐德收购。
已成为一种事实标准协议,同时也被IEC-61158工业通信总线规范收录于type 15子集。
所谓一流的企业做标准,二流的企业做品牌,三流的企业做产品。
这些标准国人都基本是使用者,而非缔造者,所以使用一下,产品上印个标志,做做相关的测试认证都要给老外交钱。
这里只是顺带牢骚几句,与本文想说的无关。
打住!Modbus的应用除了常见的过程控制系统,在其他很多领域都有其身影,比如一些楼宇控制,消防控制等等都有大量的产品采用Modbus协议,因为这个协议实现简单,工作可靠,还是标准化的协议!Modbus分很多实现版本,总的来说是一种应用层协议。
从OSI七层模型来看,位于第七层应用层。
它定义了在不同类型的总线或网络上连接的设备之间提供”客户端/服务器“通信。
对于使用串口的版本,也定义了layer 1 和 layer 2,实现在主站和一个或多个从站之间交换MODBUS 报文。
具体有哪些版本呢?其实主要分两种:Modbus RTU(Remote Terminal Unit 远程终端单元):这种方式常采用RS-485做为物理层,一般利用芯片的串口实现数据报文的收发,报文数据采用二进制数据进行通信。
Modbus ASCII :报文使用 ASCII 字符。
ASCII 格式使用纵向冗余校验和。
Modbus ASCII 报文由冒号 (":")开始和换行符 (CR/LF)结尾构成。
当然其他还根据所使用的物理层不一样,有这么些做法:Modbus TCP/IP 或 Modbus TCP :这是一种 Modbus 变体版本,使用 TCP/IP 网络进行通信,通过 502 端口进行连接。
报文不需要校验和计算,因为以太网底层已经实现了CRC32 数据完整性校验。
modbus RTU 协议设备使用无线代替有线注意事项 1.设备有线连接Modbus 是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
ModBus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。
其系统结构既包括硬件、亦包括软件。
它可应用于各种数据采集和过程监控。
ModBus 网络只有一个主机,所有通信都由他发出。
网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。
采用这个系统,各PC 可以和中心主机交换信息而不影响各PC 执行本身的控制任务。
传统的modbus 通信连线方式如下图所示:Modbus RTU 协议的主机以Modbus RTU 协议发送控制采集命令,对应地址的Modbus RTU 从机地址:0x03Modbus RTU 从机地址:0x01RS485通信Modbus RTU 从机地址:0x02Modbus RTU 主机Modbus RTU 从机进行应答,而主机和从机之前的通信完全依赖于RS485通信总线。
但是,当从机和主机之间通信距离很远的时候,或者使用环境不方便布线的时候,RS485线就体现出了局限性。
2.Modbus RTU 设备无线代替有线连接Modbus RTU 设备无线代替有线设备就是将Modbus 主机和从机的RS485接口分别接到一个485接口的无线数传电台上。
通信全靠无线数传电台进行信号发送和信号接收,摆脱485先的困扰,只要在无线数传电台的通信范围内,Modbus RTU 主设备和从设备可以移到任意的位置,不受传统的RS485线的约束,大大减小的设备成本以及布线的难度。
如下图所示,当ModbusRTU 主设备发起控制采集命令时,命令数据通过485接口传给无线数传电台,无线数传电台再将命令数据发射出去,从机端的无线数传电台收到数据后,通过RS485传给Modbus RTU 从机,从机再进行命令解析,判断是够属于自己的命令,再选择是否回复。
RTU 、物联网 RTU 、 RTU 模块一、 RTURTU , 英文全称 Remote Terminal Units , 中文全称为远程测控终端 , 是 SCADA 系统的基本组成单元。
RTU 是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备,负责对现场信号、工业设备的监测和控制。
RTU 将测得的状态或信号转换成可在通信媒体上发送的数据格式, 它还将从中央计算机发送来得数据转换成命令,实现对设备的功能控制。
物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。
其英文名称是:“ Internet of things(IOT ” 。
顾名思义 ,物联网就是物物相连的互联网。
这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二 , 其用户端延伸和扩展到了任何物品与物品之间 , 进行信息交换和通信,也就是物物相息。
二、 RTU 的分类1. GPRS/CDMARTU —— DATA-7208/7218● 采集、控制、传输一体化设计。
● IC 卡计费管理。
● 大容量 DO 输出 , 直接控制泵、阀。
● 支持多中心、多端口通信。
● 通过水资源、水文相关行业规约检测。
● 交、直流供电均可。
数码管显示 --DATA-7208液晶显示 --DATA-7218产品功能:产品尺寸:电气连接:信息采集:仪表数据、设备状态、现场图像自动采集。
逻辑控制 :自动 /远程控制泵、阀门、闸门等设备。
无线通信 :可匹配多种通信方式, 适应不同现场需求。
IC 卡计费:实现预收费管理 , 支持 IC 卡或无线远程充值。
智能报警 :监测数据越限、现场设备故障 , 立刻报警。
数据存储 :循环存储监测数据, 掉电不丢失。
远程维护 :支持远程设参、远程升级。
通信模块可选配GPRS/CDMARTUGPRS 模块CDMA模块3G/4G模块433M 模块蓝牙模块外形尺寸 :120×120×97.6mm 安装方式 :盘装式安装孔尺寸 :111mm ×111mm实物安装图RTU 、 RTU 物联网、 RTU 模块、 RTU 终端技术参数:产品型号 DATA-7208DATA-7218显示方式数码管液晶IC 卡读写非接触式 IC 卡读写 (读写距离 <5cm串口 2路采集串口(RS232、 RS485可选、 1路 RS232调试串口(DB9AI 6路 (4-20mA/0-5V、精度 0.5% DI/PI 6路 DI (无源接点、 3路 PI (无源接点DO 1路 16A/AC 250V继电器触点输出、 4路 5A/AC 250V 继电器触点输出无线通信方式 GPRS 、 CDMA 、 3G/4G、 433MHz 、蓝牙等可选设参方式串口设参、远程设参、蓝牙设参 (可选远程传输协议 TCP 、 UDP工作制式自报式、应答式、混合式静态值守电流 <1mA/DC 12V 工作电流≤ 10mA/DC 12VCPU 32位处理器、运行频率 100MHz 存储容量 4M 、 8M 、 16M 、 32M (可选串口波特率1200、 2400、 4800、 9600、 19200、 38400、 57600(Bit/S 可选MTBF ≥ 25000h供电电源 DC 10-30V 或 AC 10-24V, 建议 DC 12V、 DC 24V、 AC 18V。
RTU 、物联网RTU 、RTU 模块一、RTURTU , 英文全称Remote Terminal Units , 中文全称为远程测控终端, 是SCADA系统的基本组成单元。
RTU 是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备,负责对现场信号、工业设备的监测和控制。
RTU 将测得的状态或信号转换成可在通信媒体上发送的数据格式, 它还将从中央计算机发送来得数据转换成命令,实现对设备的功能控制。
物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。
其英文名称是:“Internet of things(IOT ”。
顾名思义,物联网就是物物相连的互联网。
这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二, 其用户端延伸和扩展到了任何物品与物品之间, 进行信息交换和通信,也就是物物相息。
二、RTU 的分类1. GPRS/CDMARTU ——DATA-7208/7218●采集、控制、传输一体化设计。
●IC 卡计费管理。
●大容量DO 输出, 直接控制泵、阀。
●支持多中心、多端口通信。
●通过水资源、水文相关行业规约检测。
●交、直流供电均可。
数码管显示--DATA-7208液晶显示--DATA-7218产品功能:产品尺寸:: 电气连接信息采集:仪表数据、设备状态、现场图像自动采集。
逻辑控制:自动/远程控制泵、阀门、闸门等设备。
无线通信:可匹配多种通信方式, 适应不同现场需求。
IC 卡计费:实现预收费管理, 支持IC 卡或无线远程充值。
智能报警:监测数据越限、现场设备故障, 立刻报警。
数据存储:循环存储监测数据,掉电不丢失。
远程维护:支持远程设参、远程升级。
通信模块可选配GPRS/CDMARTUGPRS 模块CDMA模块3G/4G模块433M 模块蓝牙模块外形尺寸:120×120×97.6mm 安装方式:盘装式安装孔尺寸:111mm ×111mm实物安装图RTU 、RTU 物联网、RTU 模块、RTU 终端技术参数:产品型号DATA-7208DATA-7218显示方式数码管液晶IC 卡读写非接触式IC 卡读写(读写距离<5cm串口2路采集串口(RS232、RS485可选、1路RS232调试串口(DB9 AI 6路(4-20mA/0-5V、精度0.5% DI/PI 6路DI (无源接点、3路PI (无源接点DO 1路16A/AC 250V继电器触点输出、4路5A/AC 250V 继电器触点输出无线通信方式GPRS 、CDMA 、3G/4G、433MHz 、蓝牙等可选设参方式串口设参、远程设参、蓝牙设参(可选远程传输协议TCP 、UDP工作制式自报式、应答式、混合式静态值守电流<1mA/DC 12V 工作电流≤10mA/DC 12VCPU 32位处理器、运行频率100MHz 存储容量4M 、8M 、16M 、32M (可选串口波特率1200、2400、4800、9600、19200、38400、57600(Bit/S 可选MTBF ≥25000h供电电源DC 10-30V 或AC 10-24V, 建议DC 12V、DC 24V、AC 18V。
modbus-rtu标准Modbus-RTU(Remote Terminal Unit)是一种基于串行通信的工业通信协议,用于在自动化系统中传输数据。
以下是关于Modbus-RTU标准的详细说明:1. 物理层:- 通信接口:Modbus-RTU使用串行通信接口,常见的接口包括RS-232、RS-485等。
- 传输速率:通信速率可以根据具体需求设置,常见的速率包括9600、19200、38400等。
- 数据位:通常为8位。
- 停止位:通常为1位。
- 奇偶校验:通常为无校验。
2. 数据帧格式:- 起始位:一个起始位,用于标识数据帧的开始。
- 地址:一个8位的地址字段,用于指定从站设备的地址。
- 功能码:一个8位的功能码字段,用于指定从站设备执行的功能。
- 数据:可变长度的数据字段,用于传输具体的数据。
- CRC校验:一个16位的循环冗余校验字段,用于检测数据的完整性。
3. 功能码:- 读取线圈状态:功能码为01,用于读取从站设备的线圈状态。
- 读取输入状态:功能码为02,用于读取从站设备的输入状态。
- 读取保持寄存器:功能码为03,用于读取从站设备的保持寄存器。
- 读取输入寄存器:功能码为04,用于读取从站设备的输入寄存器。
- 写单个线圈:功能码为05,用于写入从站设备的单个线圈状态。
- 写单个寄存器:功能码为06,用于写入从站设备的单个保持寄存器。
- 写多个线圈:功能码为15,用于写入从站设备的多个线圈状态。
- 写多个寄存器:功能码为16,用于写入从站设备的多个保持寄存器。
4. 数据格式:- 线圈状态和输入状态:以位为单位,每个位代表一个线圈或输入的状态(0或1)。
- 保持寄存器和输入寄存器:以字为单位,每个字包含16位数据。
5. 通信流程:- 主站发送请求:主站向从站发送请求数据帧,包括从站地址、功能码和相关参数。
- 从站响应请求:从站接收到请求后,执行相应的功能,并将结果以响应数据帧的形式返回给主站。