TON90B-1上位机MODBUS通讯协议(V1.1 20100209)
T910及相关设备的简要通讯和编程指南
尊敬的客户:您好!INPUT/OUTPUT都需要设置。
感知传输应用;节能分析调控智能信息环境监控信息大堆传感器监控20°能量的消耗最小的优化目的霍尼韦尔首先,热烈欢迎您试用北京腾控科技有限公司T910款PLC!并预祝您得到一个愉快的体验!当您打开样机包装之后,首先映入眼帘的应该包含:1、T-910可编程控制器产品使用说明书一份;2、腾控科技2011通用产品快速选型表一份;3、可编程控制器资料光盘一份;4、通讯网线一根;5、T-910可编程控制器一台。
请您注意检查。
进行测试之前,请先保证您的计算机运行在windows下,然后再开始安装PLC 或RTU等MODBUS协议主设备的应用程序。
把ModScan软件和PLC编程软件安装在电脑上之后,通过串口或者网口连接到电脑上,就可以使用ModScan 读取和修改数据点。
关于——软件安装和硬件连接篇:1、打开PLC外包装,请您自配一个电源线并接通220V交流电源;连接PLC的POWER端口。
接线时注意电源线不要接错。
2、把光盘装入光驱并打开,点击MODSCAN.rar并安装运行ModScan32测试软件。
3、打开光盘的可编程控制器文件夹,点击T9系列PLC Software5.3.iso.rar。
1.安装NET Framework2.0.exe,如果已经安装,则可以跳过此步骤;2. 安装SETUP.exe;3.安装eCLR21.exe;4.安装PLCdriver.msi;4、用232/485编程电缆将设备或PC的COM1口和PLC的COM2口进行连接,用通讯网线将计算机和PLC的网口进行连接。
硬件测试篇:T910款PLC支持MODBUS RTU和MODBUS TCP/IP协议。
Multiprog软件与PLC之间通讯试用Modbus TCP协议,将一根以太网线分别连接计算机和PLC 的以太网口。
Modscan与PLC之间通讯使用Modbus TCP或Modbus RTU协议,将一根RS232直连串行通讯线分别连接计算机的COM1口和PLC的COM2口。
天正变频器通讯协议
天正变频器通讯协议一、介绍天正变频器通讯协议是指用于天正变频器与其他设备之间进行通信的规则和约定。
在现代工业自动化领域,变频器作为控制电动机转速和输出功率的重要设备,与其他设备之间的通讯非常重要。
通过通讯协议,可以实现变频器与上位机、PLC等设备之间的数据交换和控制指令传输。
二、通讯协议类型天正变频器通讯协议主要分为两种类型:串行通信和以太网通信。
2.1 串行通信串行通信是指通过串行口(如RS485)进行数据传输的通讯方式。
天正变频器支持多种串行通信协议,如Modbus RTU、Profibus等。
其中,Modbus RTU是一种常用的串行通信协议,具有简单、开放和可靠的特点,广泛应用于工业自动化领域。
2.2 以太网通信以太网通信是指通过以太网接口进行数据传输的通讯方式。
天正变频器支持多种以太网通信协议,如Modbus TCP/IP、Ethernet/IP等。
以太网通信具有传输速度快、传输距离远、可靠性高等优点,适用于大规模工业自动化系统。
三、通讯协议功能天正变频器通讯协议具有以下功能:3.1 数据读取通讯协议允许上位机或其他设备读取变频器中的各种数据,如电机转速、输出频率、输出电流等。
通过读取这些数据,可以实时监测变频器的工作状态,进行故障诊断和性能评估。
3.2 参数设置通讯协议允许上位机或其他设备设置变频器的各种参数,如输出频率、输出电流限制等。
通过设置这些参数,可以实现对变频器的远程控制和调节。
3.3 报警监测通讯协议允许上位机或其他设备监测变频器的报警状态,如过流、过载、过热等。
一旦发生报警,可以及时采取措施,保护设备和人员的安全。
3.4 远程诊断通讯协议允许上位机或其他设备通过远程访问变频器,进行故障诊断和排除。
通过远程诊断,可以减少故障维修时间,提高设备的可用性和生产效率。
四、通讯协议实现天正变频器通讯协议的实现需要遵循一定的规则和步骤。
4.1 建立通讯连接在通讯开始之前,需要建立通讯连接。
大禹电子超声波多普流量计 modbus通讯协议-英文版
Ultrasonic Doppler FlowmeterVersion V1.9.1MODBUS—RTU communication protocol1、The hardware is adopted with RS-485, master-slave half-duplex communication, that is, the host calls theslave address, and the slave answers.2、Data frame: 10 digits, 1 start bit, 8 data bits and 1 stop bit, without verification.Baud rate: 1200, 2400, 4800 and 9600 (9600 by default).3、Function code 03H: Read register valueThe first byte, ADR: address of slave machine (=001~254)The second byte 03H: Read the register value function codeThe third and fourth bytes: the start address of the register to be readThe fifth and sixth bytes: the number of the register to be readThe seventh and eighth bytes: CRC16 verification from byte 1 to byte 6The first byte, ADR: address of slave machine (=001~254)The second byte 03H: Return to read function codeThe third byte: Total number of bytes from 4 to M (included)Byte from 4 to M: Register dataThe M+1 and M+2 bytes: CRC16 verification from byte 1 to byte MThe first byte, ADR: address of slave machine (=001~254)The first byte 83H: Register value reading errorThe third byte information code: See the table of information code The fourth and fifth bytes: CRC16 verification from byte 1 to byte 3 4、Function code 06H: Write a single register dataThe first byte, ADR: address of slave machine (=001~254)The first byte 86H: function code of writing error of register number The third byte information code: See the table of information code The fourth and fifth bytes: CRC16 verification from byte 1 to byte 3 5、Function code 10H: Write multiple register numbers in successionThe first byte, ADR: address of slave machine (=001~254)The first byte 90H: function code of writing error of register numberThe third byte information code: See the table of information codeThe fourth and fifth bytes: CRC16 verification from byte 1 to byte 36、Register Definition Table: (Note: Register address coding adopts hexadecimal system.)Remarks:①4-byte floating number: it conforms to the single-precision floating number upon IEEE - 754 standard.E - expoentM - the decimal part of mantissa8-byte double-precision (double type): it conforms to the IEEE—754 standard.②IF alarm mode: 0 – close;1 -- low alarm;2 -- high alarmCF ratio output: = 0,Close;= 1,Open cmChannel type:=0,Square pipe;=1,Rectangular pipe;=2,Trapezoidal pipe;=3,Circular pipe;=4,Oval pipe;=5,River channel;Baud rate:0-2400;1-4800;2-9600;3-19200Cum. flow reset:= 0,No;= 1,YesFlow unit:=0,t/h;=1,l/s;=2,t/sx. level gauge:=0,NO;=1,Ultrasonic l/s;=2,Radart/sSensor Qty.:1-9(0-8)Factory reset: 0-No; 1-Yes;System reset: 0-No; 1-Yes;Address:1-254③Regional read-write operation of registerThe first region: 0000 — 0021 read onlyThe second region: 0022 — 005B read-writeThe third region: 005C— 006B read-writeWithin the same region, a parameter can be read (or write) at a time, and all parameters in the region can be read (or write) in batch. It is not allowed to read and write parameters cross regions.④ All reserved registers are currently undefined, reserved for upgrade compatibility.7、8、Example of Serial Port Data Frame Acquisition Communication Protocol9、PLC address setting (Example: Siemens S7-200 PLC)If there is no function code setting item during the PLC setting, the base address of modbus RTU register corresponding to the function code 03 is 40001.Therefore, the register address of PLC shall be added with 1 during the register address setting.Examples:The MODBUS register address of ultrasonic open channel flowmeter is 2 (0x0002), and when the MODBUS function code is 3, the PLC register address is 40003.Reading table of PLC addressFunction code: 03Description: Read and hold register values.。
易语言串口通讯modbus协议模块上位机必备例子源代码
易语言串口通讯modbus协议模块上位机必备例子源代码1.引言1.1 概述在编写易语言串口通讯modbus协议模块上位机必备例子源代码之前,我们首先需要了解一些基本概念和背景知识。
本文介绍了该例子的目的和结构,以及引言、正文和结论三个主要部分的内容。
1.1概述Modbus协议是一种常用的串行通信协议,广泛应用于工业自动化领域。
它被设计用于在不同设备之间进行数据传输和通信。
Modbus协议简洁明了,易于实现和部署,因此被许多工业设备和上位机所采用。
易语言是一种面向过程的编程语言,易于学习和使用。
它提供了丰富的库和模块,方便我们进行串口通讯编程。
易语言的特点是语法简单易懂,同时也支持调用其他语言编写的DLL函数,可以实现更加复杂的功能。
本例子的目标是演示如何使用易语言编写一个串口通讯的Modbus 协议模块,并结合上位机的必备功能来实现数据的读写和显示。
在正文部分,我们将介绍Modbus协议的简要概述,包括其通信方式、数据格式、功能码等。
同时,我们还将介绍易语言中的串口通讯模块及其基本用法。
在结论部分,我们将提供一些实例源代码示例,以便读者更好地理解和使用这个例子。
此外,我们还将列举一些上位机必备的功能,以供读者参考和扩展应用。
通过这个例子,读者可以学习到如何使用易语言进行串口通讯编程,并了解Modbus协议在实际应用中的运用。
同时,读者也可以根据自己的需求和实际情况,对例子进行二次开发和改进,以适应不同的应用场景。
在下一节中,我们将详细介绍Modbus协议的相关知识,以便读者更好地理解本例子的内容和实现。
文章结构部分主要是对整篇文章的组织和安排进行介绍,以下是1.2 文章结构的内容:1.2 文章结构本文主要分为三个部分,包括引言、正文和结论,具体如下:1. 引言部分介绍了本文的概述、文章结构和目的。
在概述中,我们对易语言串口通讯modbus协议模块上位机必备例子源代码进行了简要介绍,指出了本文的主要内容和目标。
TON90B说明书
6.2.2 控制器与探测器的连接 根据探测器的特性,控制器与探测器可采用三线、两线制连接方式,必须使用屏蔽
电缆连接,电缆屏蔽层与控制器机壳接地螺钉相连并接地。
探测器壳体
控制器壳体
为避免形成接地回路,电缆 屏蔽层只能在探测器或控制 器处接地,而不得同时接地
第9页 共34页
TON90B使用说明书
6.2.1.1三线制4-20mA探测器连接方法(如图6-2-3)
85~265VAC,50~60Hz 。 1.0A AC。 4~20mA,三线或两线制 RS485 每支路 2 组无源常开、常闭触点, 触点容量 250VAC,10A。 使用 24VDC 供电,建议使用特安电子生产的 ESBP2407。
0℃~+40℃。 10-95%RH(非冷凝)。 86-106Kpa。 -20℃~+50℃,10﹪~95﹪RH(非冷凝)。
4、技术特征
TON90B使用说明书
基本参数 安装方式: 报警方式:
显示方式:
容 量: 电气特性 额定电压: 最大电流: 输入信号 通信方式: 继电器输出:
备用电源 环境要求 工作环境温度 工作环境湿度 工作环境压力 存储条件
壁挂式、盘装式、机柜式 声、光和液晶显示。 声报警:在 1 米处声压级≥80dBA; 光报警:正前方 22.5 度视觉范围 3 米内清晰可见。 公共部分:128*64 LCD 点阵; 支路部分:LCD 段码 每个公共模块可带 8 路,每路容量 5W。
五路机 402.4 398.6
六路机 460.8 457.0
七路机 519.2 515.4
八路机 577.6 573.8
5.2.2 控制器壁挂重量 重量如下(单位Kg):
盘装机 一路机 二路机 三路机 四路机 五路机 六路机 七路机 八路机
宇电 AIBUS 通讯协议说明说明书
宇电AIBUS及MODBUS通讯协议说明(V8.0)AIBUS是厦门宇电自动化科技有限公司为AI系列显示控制仪表开发的通讯协议,能用简单的指令实现全面的功能,其特点是写参数的同时亦可完成读功能,因此写参数时不破坏读的循环周期时间,加上指令长度较少,因此具有比MODBUS更快的速率(尤其是有写入指令时,MODBUS的写入指令不能同时完成读下位机数据的功能,会破坏读指令的周期,延长了读的循环周期),AIBUS协议具有组建大规模过程控制系统能力。
AIBUS采用了16位的求和校正码,下位机运算快速且通讯可靠,支持9600和19200等不同波特率,在19200波特率下,上位机访问一台AI-7/8系列高性能仪表的平均时间仅20mS,访问AI-5系列仪表的平均时间为40mS。
仪表允许在一个RS485通讯接口上连接多达80台仪表(为保证通讯可靠,仪表数量大于60台时需要加一个RS485中继器)。
AI系列仪表可以用PC、触摸屏及PLC作为上位机,其软件资源丰富,发展速度极快。
基与PC的上位机软件广泛采用WINDOWS作为操作环境,不仅操作直观方便,而且功能强大。
最新的工业平板触摸屏式PC的应用,更为工业自动化带来新的界面。
这使得采用仪表+上位机结构的测控系统价格大大低于传统DCS系统,而性能及可靠性也具备比传统DCS系统更优越的潜力。
宇电AI-5系列仪表写入寿命可达100万次,而AI-7/8系列仪表则允许连续写参数,如写给定值或输出值,写入寿命高达10亿次,可利用上位机将仪表组成复杂调节系统。
一、接口规格AI系列仪表使用异步串行通讯接口,接口电平符合RS232C或RS485标准中的规定。
数据格式为1个起始位,8位数据,无校验位,1个或2个停止位。
通讯传输数据的波特率可调为4800~19200 bit/S,通常用9600 bit/S,单一通讯口所连接仪表数量大于40台或需要更快刷新率时,推荐用19200bit/S,当通讯距离很长或通讯不可靠常中断时,可选4800bit/S。
半导体上位机通讯协议
半导体上位机通讯协议
甲方(设备供应商):
名称:__________
联系电话:__________
乙方(设备使用方):
名称:__________
联系电话:__________
鉴于甲方同意向乙方提供半导体设备及其上位机通讯服务,为确保通讯的正常进行,双方经协商一致,订立本协议。
第一条通讯内容
1. 设备名称:__________
2. 通讯方式:__________(例如:串行通信、以太网等)
3. 通讯协议:__________(例如:Modbus、CAN等)
第二条通讯参数
1. 波特率:____bps
2. 数据位:____位
3. 停止位:____位
4. 校验位:____(例如:无、奇、偶)
第三条双方权利与义务
1. 甲方提供符合协议规定的通讯接口和服务。
2. 乙方按协议要求正确配置通讯参数。
3. 乙方在使用过程中遇到问题,应及时通知甲方。
第四条故障处理
1. 甲方在接到故障通知后__小时内响应。
2. 甲方提供必要的技术支持,确保通讯正常。
第五条违约责任
1. 甲方未能按协议提供服务,按合同总价的__%支付违约金。
2. 乙方未按协议要求使用设备,导致通讯故障,自行承担责任。
第六条其他事项
1. 本协议一式两份,甲乙双方各持一份。
2. 未尽事宜,双方协商解决;协商不成,提交甲方所在地法院。
第七条生效条件
本协议自双方签字盖章之日起生效。
甲方(签字):_______________ 日期:____年__月__日乙方(签字):_______________ 日期:____年__月__日。
MODBUS协议(功能码和报文解析)
MODBUS协议Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。
事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行[1]。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通讯(serial communication)方式。
RTU 格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为A SCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/T CP变种,这种方式不需要校验和的计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus 有一个扩展版本Modbus Plus(Modbus+或者MB +),不过此协定是Modicon专有的,和Modbus不同。
它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbi t/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
上位机通讯协议(RTU)
上位机通讯协议
采用主从应答式通讯方式,采用RS232通讯接口,支持RS232通讯和MODEM 专线和拨号通讯;波特率支持1200、2400、4800、9600,每帧10位(1位起始位、8位数据、1位停止位)。
* ADDR: 直流电源地址。
* LG: ADDR之后,SUM之前的数据总数。
* SUM: ADDR之后,SUM之前的数据代数和,SUML为低位,SUMH为高位。
2.1 10A系统定值定义:
2.2系统遥测量1定义:
2.3系统遥测量2定义:
2.5 5A系统遥信量定义:
2.7小系统遥测量定义:
2.9系统遥调量定义: DATA 定义:每个遥调量由3字节构成,第1字节为信号编号,第2字节为遥调量低字节,第
3字节为遥调量高字节,每次送1个遥调量。
直流系统接收遥调命令正确执行后返回ACKI 命令,否则返回NAK 命令。
2.10系统遥控量定义:
DATA 定义:每个遥调量由2字节构成,第1字节为信号编号,第2字节为遥控量(00H:信号置0,0FFH:信号置1)。
直流系统接收遥控命令正确执行后返回ACKI命令,否则返回NAK命令。
mudbus协议
MUDbus协议简介MUDbus是一种用于现代工业自动化系统的通信协议。
它是基于Modbus协议的开放协议,用于在不同的设备之间传输数据。
MUDbus 协议广泛应用于工业领域,特别是在工厂自动化和过程控制系统中。
Modbus协议简介Modbus是一种串行通信协议,由Modicon于1979年开发。
它最初是为了连接可编程逻辑控制器(PLC)和电子设备而设计的。
Modbus协议使用简单、轻量级和开放的结构,易于实现和使用。
Modbus协议将数据分为两种类型:线圈和寄存器。
线圈用于表示二进制状态,寄存器用于表示16位整数值。
Modbus协议支持从设备读取数据和向设备写入数据。
MUDbus协议的优势MUDbus协议在Modbus协议的基础上进行了改进和优化,为工业领域提供更可靠和高效的通信。
以下是MUDbus协议的一些优势:1. 更高的数据传输速率MUDbus协议引入了更高的数据传输速率,使得设备之间可以更快地传输数据。
这提高了工业自动化系统的响应速度和效率。
2. 更安全的数据传输MUDbus协议通过使用加密和身份验证技术来保护数据传输的安全性。
这减少了数据被未经授权的访问和篡改的风险,提高了系统的安全性。
3. 更灵活的设备兼容性MUDbus协议兼容性广泛,并适用于不同类型和品牌的设备。
这使得工程师可以选择最适合他们需求的硬件设备,而不受特定协议的限制。
4. 更多的功能MUDbus协议引入了许多新功能和扩展,使得工程师能够更方便地控制和监测设备。
这些功能包括故障检测、报警通知和远程设备管理等。
MUDbus协议的应用MUDbus协议在工业自动化系统中有广泛的应用。
以下是一些常见的应用场景:1. 工厂自动化MUDbus协议用于连接工厂自动化系统中的各种设备,如传感器、执行器和控制器。
它提供了实时数据获取和控制能力,从而实现生产过程的自动化和优化。
2. 过程控制MUDbus协议用于监测和控制各种过程控制系统,如石油和天然气生产、化工工艺和电力系统。
米朗 modbus协议
米朗 modbus协议米朗(MIRAN)是一种常用的工业自动化设备,而Modbus是一种常用的通信协议。
Modbus协议是一种串行通信协议,用于在工业自动化领域中连接不同设备之间进行数据交换。
Modbus协议有多个变种,包括Modbus RTU、Modbus ASCII和Modbus TCP/IP。
其中,Modbus RTU是基于二进制的串行通信协议,Modbus ASCII是基于ASCII码的串行通信协议,而Modbus TCP/IP是基于TCP/IP协议的以太网通信协议。
Modbus协议的主要特点包括简单、开放、可靠和广泛应用等。
它使用简单的读写寄存器的方式进行数据交换,支持多种数据类型,如位、字节、寄存器和浮点数等。
同时,Modbus协议具有开放性,可以在不同厂家的设备之间进行通信,实现设备之间的互联互通。
此外,Modbus协议也具有可靠性,能够在不同通信介质上进行数据传输,并支持纠错机制。
在使用Modbus协议时,通常需要一个主站(Master)和一个或多个从站(Slave)。
主站负责发起通信请求,而从站负责响应请求并提供数据。
主站可以向从站发送读取数据或写入数据的请求,从站则根据请求进行相应的操作,并返回结果给主站。
Modbus协议在工业自动化领域中广泛应用,例如在监控系统中用于读取传感器数据、控制执行器;在PLC(可编程逻辑控制器)中用于与其他设备进行通信;在能源管理系统中用于数据采集和控制等。
总结起来,米朗(MIRAN)是一种常用的工业自动化设备,而Modbus协议是一种常用的通信协议,用于在工业自动化领域中连接不同设备之间进行数据交换。
Modbus协议具有简单、开放、可靠和广泛应用等特点,可以实现设备之间的互联互通,并在工业自动化领域中发挥重要作用。
电力电源监控 JK0203 上位机通信协议 说明书
目录1.概述----------------------------------------------------------------------------------------- 2.ModBus协议-----------------------------------------------------------------------------1)遥测---------------------------------------------------------------------------------------2)遥信---------------------------------------------------------------------------------------3)遥调---------------------------------------------------------------------------------------4)遥控---------------------------------------------------------------------------------------5)错误返回---------------------------------------------------------------------------------6)CRC16校验码计算方法-------------------------------------------------------------- 3.CDT规约----------------------------------------------------------------------------------1)帧定义------------------------------------------------------------------------------------2)重要遥测---------------------------------------------------------------------------------3)遥信---------------------------------------------------------------------------------------4)遥调---------------------------------------------------------------------------------------5)遥控--------------------------------------------------------------------------------------- 4.测试报文-----------------------------------------------------------------------------------1.概述本文所叙述的通信协议仅适用于本公司所生产的第二代电力电源监控系统JK0203系列产品。
Modbus通讯协议
Modbus通讯协议Modbus是由Modicon(莫迪康)(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。
其系统结构既包括硬件、亦包括软件。
它可应用于各种数据采集和过程监控。
ModBus网络只有一个主机,所有通信都由他发出。
网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。
采用这个系统,各PC可以和中心主机交换信息而不影响各PC 执行本身的控制任务。
中文名:Modbus通讯协议外文名:Modbus protocol发明时间:1979年定义:一个工业通信系统连接组成:带智能终端通过公用线路连接目录.1Modbus 协议.2特点.▪Modbus网络传输.▪其它类型传输.▪查询回应周期.3传输方式.▪传输模式特性.▪ASCII模式.▪RTU模式.4数据校验方式.▪CRC.▪LRC.5功能码定义Modbus 协议为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。
在中国,Modbus已经成为国家标准GB/T19582-2008。
据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。
Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
modbus通讯协议
Modbus通讯协议之阳早格格创做图片:图片:图片:Modbus协议最初由Modicon公司启垦出去,正在1979年终该公司成为施耐德自动化(Schneider Automation)部分的一部分,目前Modbus已经是工业范畴寰球最流通的协议.此协议支援保守的RS-232、RS-422、RS-485战以太网设备.许多工业设备,包罗PLC,DCS,智能仪容等皆正在使用Modbus协议动做他们之间的通讯尺度.有了它,分歧厂商死产的统造设备不妨连成工业搜集,举止集结监控. 当正在搜集上通疑时,Modbus协议决断了每个统造器须要知讲它们的设备天面,辨别按天面收去的消息,决断要爆收何种止径.如果需要回应,统造器将死成应问并使用Modbus协议收支给询问圆. Modbus协议包罗ASCII、RTU、TCP等,并不确定物理层.此协议定义了统造器不妨认识战使用的消息结构,而不管它们是通过何种搜集举止通疑的.尺度的Modicon统造器使用RS232C真止串止的Modbus.Modbus的ASCII、RTU协议确定了消息、数据的结构、下令战便问的办法,数据通讯采与Maser/Slave办法,Master端收出数据哀供消息,Slave端接支到粗确消息后便不妨收支数据到Master端以赞同哀供;Master端也不妨间接收消息建改Slave端的数据,真止单背读写. Modbus协议需要对付数据举止校验,串止协议中除有奇奇校验中,ASCII模式采与LRC校验,RTU模式采与16位CRC校验,然而TCP模式不特殊确定校验,果为TCP协议是一个里背对接的稳当协议.其余,Modbus采与主从办法定时支收数据,正在本质使用中如果某Slave站面断启后(如障碍大概关机),Master端不妨诊疗出去,而当障碍建复后,搜集又可自动接通.果此,Modbus协议的稳当性较佳. 底下尔去简朴的给大家介绍一下,对付于Modbus的ASCII、RTU战TCP协议去道,其中TCP战RTU协议非常类似,咱们只消把RTU协议的二个字节的校验码去掉,而后正在RTU协议的启初加上5个0战一个6并通过TCP/IP搜集协议收支进去即可.所以正在那里尔仅介绍一下Modbus的ASCII战RTU协议. 下表是ASCII协媾战RTU协议举止的比较:通过比较不妨瞅到,ASCII协媾战RTU协议相比拥有启初战中断标记表记标帜,果此正在举止步调处理时能越收便当,而且由于传输的皆是可睹的ASCII字符,所以举止调试时便越收的曲瞅,其余它的LRC校验也比较简单.然而是果为它传输的皆是可睹的ASCII字符,RTU传输的数据每一个字节ASCII皆要用二个字节去传输,比圆RTU传输一个十六进造数0xF9,ASCII 便需要传输’F’’9’的ASCII码0x39战0x46二个字节,那样它的传输的效用便比较矮.所以普遍去道,如果所需要传输的数据量较小不妨思量使用ASCII协议,如果所需传输的数据量比较大,最佳能使用RTU协议.底下对付二种协议的校验举止一下介绍.1、LRC校验LRC域是一个包罗一个8位二进造值的字节.LRC值由传输设备去估计并搁到消息帧中,接支设备正在接支消息的历程中估计LRC,并将它战接支到消息中LRC域中的值比较,如果二值不等,证明有过失.LRC校验比较简朴,它正在ASCII协议中使用,检测了消息域中除启初的冒号及中断的回车换止号中的真质.它只是是把每一个需要传输的数据按字节叠加后与反加1即可.底下是它的VC代码: BYTE GetCheckCode(const char *pSendBuf, int nEnd)//赢得校验码 { BYTE byLrc = 0; char pBuf[4]; intnData = 0; for(i=1; i<end; i+=2) //i初初为1,躲启“启初标记表记标帜”冒号 { //每二个需要收支的ASCII码转移为一个十六进造数 pBuf [0] = pSendBuf ; pBuf [1] = pSendBuf [i+1]; pBuf [2] = '\0';sscanf(pBuf,"%x",& nData); byLrc += nData; } byLrc = ~ byLrc; byLrc ++; return byLrc; } 2、CRC校验 CRC域是二个字节,包罗一16位的二进造值.它由传输设备估计后加进到消息中.接支设备沉新估计支到消息的CRC,并与接支到的CRC域中的值比较,如果二值分歧,则有误.CRC是先调进一值是齐“1”的16位寄存器,而后调用一历程将消息中连绝的8位字节各目前寄存器中的值举止处理.仅每个字符中的8Bit数据对付CRC灵验,起初位战停止位以及奇奇校验位均无效.CRC爆收历程中,每个8位字符皆单独战寄存器真质相大概(OR),截止背最矮灵验位目标移动,最下灵验位以0弥补.LSB被提与出去检测,如果LSB为1,寄存器单独战预置的值大概一下,如果LSB为0,则不举止.所有历程要沉复8次.正在终尾一位(第8位)完毕后,下一个8位字节又单独战寄存器的目前值相大概.最后寄存器中的值,是消息中所有的字节皆真止之后的CRC值.CRC增加到消息中时,矮字节先加进,而后下字节.底下是它的VC代码: WORDGetCheckCode(const char * pSendBuf, int nEnd)//赢得校验码 { WORD wCrc = WORD(0xFFFF);for(int i=0; i<nEnd; i++){wCrc ^=WORD(BYTE(pSendBuf));for(int j=0; j<8; j++)2、{if(wCrc & 1){3、wCrc >>= 1; wCrc ^= 0xA001; }else{wCrc >>= 1; }}}return wCrc;}对付于一条RTU协议的下令不妨简朴的通过以下的步调转移为ASCII协议的下令:1、把下令的CRC校验去掉,而且估计出LRC校验与代.2、把死成的下令串的每一个字节转移成对付应的二个字节的ASCII码,比圆0x03转移成0x30,0x33(0的ASCII码战3的ASCII码).3、正在下令的启头加上起初标记表记标帜“:”,它的ASCII码为0x3A.4、正在下令的尾部加上中断标记表记标帜CR,LF(0xD,0xA),此处的CR,LF表示回车战换止的ASCII 码.所以以下咱们仅介绍RTU协议即可,对付应的ASCII协议不妨使用以上的步调去死成.下表是Modbus支援的功能码:正在那些功能码中较少使用的是1、2、3、4、5、6号功能码,使用它们即可真止对付下位机的数字量战模拟量的读写支配. 1、读可读写数字量寄存器(线圈状态):估计机收支下令:[设备天面] [下令号01] [起初寄存器天面下8位] [矮8位] [读与的寄存器数下8位] [矮8位] [CRC校验的矮8位] [CRC校验的下8位] 例:[11][01][00][13][00][25][CRC矮][CRC下] 意思如下:<1>设备天面:正在一个485总线上不妨挂接多个设备,此处的设备天面表示念战哪一个设备通讯.例子中为念战17号(十进造的17是十六进造的11)通讯. <2>下令号01:读与数字量的下令号牢固为01.<3>起初天面下8位、矮8位:表示念读与的启关量的起初天面(起初天面为0).比圆例子中的起初天面为19.<4>寄存器数下8位、矮8位:表示从起初天面启初读几个启关量.例子中为37个启关量.<5>CRC校验:是从启头背去校验到此之前.正在此协议的终尾再做介绍.此处需要注意,CRC校验正在下令中的下矮字节的程序战其余的差同. 设备赞同:[设备天面] [下令号01] [返回的字节个数][数据1][数据2]...[数据n][CRC校验的矮8位] [CRC校验的下8位] 例:[11][01][05][CD][6B][B2][0E][1B][CRC矮][CRC下] 意思如下:<1>设备天面战下令号战上头的相共.<2>返回的字节个数:表示数据的字节个数,也便是数据1,2...n中的n的值.<3>数据1...n:由于每一个数据是一个8位的数,所以每一个数据表示8个启关量的值,每一位为0表示对付应的启关断启,为1表示关合.比圆例子中,表示20号(索引号为19)启关关合,21号断启,22关合,23关合,24断启,25断启,26关合,27关合...如果询问的启关量不是8的整倍数,那么终尾一个字节的下位部分奇尔思,置为0.<4>CRC校验共上. 2、读只可读数字量寄存器(输进状态):战读与线圈状态类似,不过第二个字节的下令号不再是1而是2. 3、写数字量(线圈状态):估计机收支下令:[设备天面] [下令号05] [需下置的寄存器天面下8位] [矮8位] [下置的数据下8位] [矮8位] [CRC校验的矮8位] [CRC校验的下8位] 例:[11][05][00][AC][FF][00][CRC矮][CRC下] 意思如下:<1>设备天面战上头的相共.<2>下令号:写数字量的下令号牢固为05.<3>需下置的寄存器天面下8位,矮8位:标明白需要下置的启关的天面.<4>下置的数据下8位,矮8位:标明需要下置的启关量的状态.例子中为把该启关关合.注意,此处只不妨是[FF][00]表示关合[00][00]表示断启,其余数值非法.<5>注意此下令一条只可下置一个启关量的状态. 设备赞同:如果乐成把估计机收支的下令本样返回,可则不赞同. 4、读可读写模拟量寄存器(脆持寄存器):估计机收支下令:[设备天面] [下令号03] [起初寄存器天面下8位] [矮8位] [读与的寄存器数下8位] [矮8位] [CRC校验的矮8位] [CRC 校验的下8位] 例:[11][03][00][6B][00][03][CRC矮][CRC下] 意思如下:<1>设备天面战上头的相共.<2>下令号:读模拟量的下令号牢固为03.<3>起初天面下8位、矮8位:表示念读与的模拟量的起初天面(起初天面为0).比圆例子中的起初天面为107.<4>寄存器数下8位、矮8位:表示从起初天面启初读几个模拟量.例子中为3个模拟量.注意,正在返回的疑息中一个模拟量需要返回二个字节. 设备赞同:[设备天面] [下令号03] [返回的字节个数][数据1][数据2]...[数据n][CRC校验的矮8位] [CRC校验的下8位] 例:[11][03][06][02][2B][00][00][00][64][CRC矮][CRC下] 意思如下:<1>设备天面战下令号战上头的相共.<2>返回的字节个数:表示数据的字节个数,也便是数据1,2...n中的n的值.例子中返回了3个模拟量的数据,果为一个模拟量需要2个字节所以共6个字节.<3>数据1...n:其中[数据1][数据2]分别是第1个模拟量的下8位战矮8位,[数据3][数据4]是第2个模拟量的下8位战矮8位,以此类推.例子中返回的值分别是555,0,100.<4>CRC校验共上. 5、读只可读模拟量寄存器(输进寄存器):战读与死存寄存器类似,不过第二个字节的下令号不再是2而是4. 6、写单个模拟量寄存器(脆持寄存器):估计机收支下令:[设备天面] [下令号06] [需下置的寄存器天面下8位] [矮8位] [下置的数据下8位] [矮8位] [CRC校验的矮8位] [CRC校验的下8位] 例:[11][06][00][01][00][03][CRC矮][CRC下] 意思如下:<1>设备天面战上头的相共.<2>下令号:写模拟量的下令号牢固为06.<3>需下置的寄存器天面下8位,矮8位:标明白需要下置的模拟量寄存器的天面.<4>下置的数据下8位,矮8位:标明需要下置的模拟量数据.比圆例子中便把1号寄存器的值设为3.<5>注意此下令一条mym级别: 总版主粗华: 41收帖: 3956威视: 9957 面款项: 9431 Gold孝敬值: 601 面伙伴圈: ifix技能群正在线时间:539(小时)备案时间:2005-02-02终尾登录:2008-01-25 Modbus通讯协议MODBUS通讯协议简介工业统造已从单机统造走背集结监控、集集统造,此刻已加进搜集时代,工业统造器连网也为搜集管造提供了便当.Modbus便是工业统造器的搜集协议中的一种.一、概括Modbus 协议是应用于电子统造器上的一种通用谈话.通过此协议,统造器相互之间、统造器经由搜集(比圆以太网)战其余设备之间不妨通疑.它已经成为一通用功业尺度.有了它,分歧厂商死产的统造设备不妨连成工业搜集,举止集结监控.此协议定义了一个统造器能认识使用的消息结构,而不管它们是通过何种搜集举止通疑的.它形貌了一统造器哀供考察其余设备的历程,如果回应去自其余设备的哀供,以及何如侦测过失并记录.它造定了消息域格局战真质的大众要收.当正在一Modbus搜集上通疑时,此协议决断了每个统造器须要知讲它们的设备天面,辨别按天面收去的消息,决断要爆收何种止径.如果需要回应,统造器将死成反馈疑息并用Modbus协议收出.正在其余搜集上,包罗了Modbus协议的消息变换为正在此搜集上使用的帧大概包结构.那种变换也扩展了根据简曲的搜集办理节天面、路由路径及过失检测的要收.1、正在Modbus搜集上转输尺度的Modbus心是使用一RS-232C兼容串止接心,它定义了对接心的针足、电缆、旗号位、传输波特率、奇奇校验.统造器能间接大概经由Modem组网.统造器通疑使用主—只可下置一个模拟量的状态. 设备赞同:如果乐成把估计机收支的下令本样返回,可则不赞同.从技能,即仅一设备(主设备)能初初化传输(查询).其余设备(从设备)根据主设备查询提供的数据做出相映反应.典型的主设备:主机战可编程仪容.典型的从设备:可编程统造器.主设备可单独战从设备通疑,也能以广播办法战所有从设备通疑.如果单独通疑,从设备返回一消息动做回应,如果是以广播办法查询的,则不做所有回应.Modbus协议建坐了主设备查询的要收:设备(大概广播)天面、功能代码、所有要收支的数据、一过失检测域.从设备回应消息也由Modbus协议形成,包罗确认要止径的域、所有要返回的数据、战一过失检测域.如果正在消息接支历程中爆收一过失,大概从设备不克不迭真止其下令,从设备将建坐一过失消息并把它动做回应收支进去.2、正在其余典型搜集上转输正在其余搜集上,统造器使用对付等技能通疑,故所有统造皆能初初战其余统造器的通疑.那样正在单独的通疑历程中,统造器既可动做主设备也可动做从设备.提供的多个里里通讲可允许共时爆收的传输进程.正在消息位,Modbus协议仍提供了主—从准则,纵然搜集通疑要收是“对付等”.如果一统造器收支一消息,它不过动做主设备,并憧憬从从设备得到回应.共样,当统造器接支到一消息,它将建坐一从设备回应要收并返回给收支的统造器.Modbus是Modicon 公司为其PLC与主机之间的通讯而收明的串止通讯协议.其物理层采与RS232、485等同步串止尺度.由于其启搁性而被洪量的PLC及RTU厂家采与.Modbus通讯办法采与主从办法的查询-相映体造,惟有主站收出查询时,从站才搞给出赞同,从站不克不迭主动收支数据.主站不妨背某一个从站收出查询,也不妨背所有从站广播疑息.从站只赞同单独收给它的查询,而不赞同广播消息.Modbus的串止心的通讯参数(如波特率、奇奇校验)可由用户采用.二、MODBUS协议传递办法MODBUS通讯协议有二种传递办法:RTU办法战ASCII办法,二种办法如下所示:名目 RTU办法 ASCII办法字节少度 8 BITS 7 BITS奇奇校验 1 BIT OR 0 BIT 1 BIT OR 0 BIT字节中止 1 BIT OR 2 BITS 1 BIT OR 2 BITS启初标记表记标帜不要 :(冒号)中断标记表记标帜不要 CR,LF数据隔断 < 24 BIT < 1S堕落考验办法 CRC-16 LRC统造器能树坐为二种传输模式(ASCII大概RTU)中的所有一种正在尺度的Modbus搜集通疑.用户采用念要的模式,包罗串心通疑参数(波特率、校验办法等),正在摆设每个统造器的时间,正在一个Modbus搜集上的所有设备皆必须采用相共的传输模式战串心参数.三、Modbus消息帧二种传输模式中(ASCII大概RTU),传输设备以将Modbus消息转为有起面战终面的帧,那便允许接支的设备正在消息起初处启初处事,读天面调配疑息,推断哪一个设备被选中(广播办法则传给所有设备),判知何时疑息已完毕.部分的消息也能侦测到而且过失能树坐为返回截止.1、ASCII帧使用ASCII模式,消息以冒号(:)字符(ASCII码 3AH)启初,以回车换止符中断(ASCII 码 0DH,0AH).其余域不妨使用的传输字符是十六进造的0...9,A...F.搜集上的设备不竭侦测“:”字符,当有一个冒号接支到时,每个设备皆解码下个域(天面域)去推断是可收给自己的.消息中字符间收支的时间隔断最少不克不迭超出1秒,可则接支的设备将认为传输过失.2、RTU帧使用RTU模式,消息收支起码要以3.5个字符时间的停顿隔断启初.正在搜集波特率下百般的字符时间,那是最简单真止的(如下图的T1-T2-T3-T4所示).传输的第一个域是设备天面.不妨使用的传输字符是十六进造的0...9,A...F.搜集设备不竭侦测搜集总线,包罗停顿隔断时间内.当第一个域(天面域)接支到,每个设备皆举止解码以推断是可收往自己的.正在终尾一个传输字符之后,一个起码3.5个字符时间的停顿标定了消息的中断.一个新的消息可正在此停顿后启初.所有消息帧必须动做一连绝的流转输.如果正在帧完毕之前有超出1.5个字符时间的停顿时间,接支设备将刷新不完备的消息并假定下一字节是一个新消息的天面域.共样天,如果一个新消息正在小于3.5个字符时间内接着前个消息启初,接支的设备将认为它是前一消息的延绝.那将引导一个过失,果为正在终尾的CRC域的值不可能是粗确的.3、天面域消息帧的天面域包罗二个字符(ASCII)大概8Bit(RTU).大概的从设备天面是0...247 (十进造).单个设备的天面范畴是1...247.主设备通过将要联结的从设备的天面搁进消息中的天面域去选通从设备.当从设备收支回应消息时,它把自己的天面搁进回应的天面域中,以便主设备知讲是哪一个设备做出回应.天面0是用做广播天面,以使所有的从设备皆能认识.当Modbus协议用于更下程度的搜集,广播大概不允许大概以其余办法代替.4、怎么样处理功能域消息帧中的功能代码域包罗了二个字符(ASCII)大概8Bits(RTU).大概的代码范畴是十进造的1...255.天然,有些代码是适用于所有统造器,有此是应用于某种统造器,另有些死存以备后用.当消息从主设备收往从设备时,功能代码域将告之从设备需要真止哪些止为.比圆去读与输进的启关状态,读一组寄存器的数据真质,读从设备的诊疗状态,允许调进、记录、校验正在从设备中的步调等.当从设备回当令,它使用功能代码域去指示是平常回应(无误)仍旧有某种过失爆收(称做同议回应).对付平常回应,从设备仅回应相映的功能代码.对付同议回应,从设备返回一等共于平常代码的代码,然而最要害的位子为逻辑1.比圆:一从主设备收往从设备的消息央供读一组脆持寄存器,将爆收如下功能代码:0 0 0 0 0 0 1 1 (十六进造03H)对付平常回应,从设备仅回应共样的功能代码.对付同议回应,它返回: 1 0 0 0 0 0 1 1 (十六进造83H)除功能代码果同议过失做了建改中,从设备将一特殊的代码搁到回应消息的数据域中,那能报告主设备爆收了什么过失. 主设备应用步调得到同议的回应后,典型的处理历程是沉收消息,大概者诊疗收给从设备的消息并报告给支配员. 5、数据域数据域是由二个十六进造数集中形成的,范畴00...FF.根据搜集传输模式,那不妨是由一对付ASCII字符组成大概由一RTU字符组成. 从主设备收给从设备消息的数据域包罗附加的疑息:从设备必须用于举止真止由功能代码所定义的所为.那包罗了象不连绝的寄存器天面,要处理项的数目,域中本质数据字节数. 比圆,如果主设备需要从设备读与一组脆持寄存器(功能代码03),数据域指定了起初寄存器以及要读的寄存器数量.如果主设备写一组从设备的寄存器(功能代码10十六进造),数据域则指明白要写的起初寄存器以及要写的寄存器数量,数据域的数据字节数,要写进寄存器的数据. 如果不过失爆收,从从设备返回的数据域包罗哀供的数据.如果有过失爆收,此域包罗一同议代码,主设备应用步调不妨用去推断采与下一步止径. 正在某种消息中数据域不妨是不存留的(0少度).比圆,主设备央供从设备回应通疑事变记录(功能代码0B十六进造),从设备不需所有附加的疑息. 6、过失检测域尺度的Modbus搜集有二种过失检测要收.过失检测域的真质视所选的检测要收而定. ASCII 当采用ASCII 模式做字符帧,过失检测域包罗二个ASCII字符.那是使用LRC (纵背冗少检测)要收对付消息真质估计得出的,不包罗启初的冒号符及回车换止符.LRC字符附加正在回车换止符前里. RTU 当采用RTU模式做字符帧,过失检测域包罗一16Bits值(用二个8位的字符去真止).过失检测域的真质是通过对付消息真质举止循环冗少检测要收得出的.CRC域附加正在消息的终尾,增加时先是矮字节而后是下字节.故CRC的下位字节是收支消息的终尾一个字节.7、字符的连绝传输当消息正在尺度的Modbus系列搜集传输时,每个字符大概字节以如下办法收支(从左到左):最矮灵验位...最下灵验位四、过失检测要收尺度的Modbus串止搜集采与二种过失检测要收.奇奇校验对付每个字符皆可用,帧检测(LRC大概CRC)应用于所有消息.它们皆是正在消息收支前由主设备爆收的,从设备正在接支历程中检测每个字符战所有消息帧. 用户要给主设备摆设一预先定义的超常常间隔断,那个时间隔断要足够少,以使所有从设备皆能动做平常反应.如果从设备测到一传输过失,消息将不会接支,也不会背主设备做出回应.那样超时事变将触收主设备去处理过失.收往不存留的从设备的天面也会爆收超时. 1、奇奇校验用户不妨摆设统造器是奇大概奇校验,大概无校验.那将决断了每个字符中的奇奇校验位是怎么样树坐的. 如果指定了奇大概奇校验,“1”的位数将算到每个字符的位数中(ASCII模式7个数据位,RTU中8个数据位).比圆RTU字符帧中包罗以下8个数据位: 1 1 0 0 0 1 0 1 所有“1”的数目是4个.如果便用了奇校验,帧的奇奇校验位将是0,便得所有“1”的个数仍是4个.如果便用了奇校验,帧的奇奇校验位将是1,便得所有“1”的个数是5个. 如果不指定奇奇校验位,传输时便不校验位,也不举止校验检测.代替一附加的停止位弥补至要传输的字符帧中.2、LRC检测使用ASCII模式,消息包罗了一鉴于LRC要收的过失检测域.LRC域检测了消息域中除启初的冒号及中断的回车换止号中的真质. LRC域是一个包罗一个8位二进造值的字节.LRC值由传输设备去估计并搁到消息帧中,接支设备正在接支消息的历程中估计LRC,并将它战接支到消息中LRC域中的值比较,如果二值不等,证明有过失. LRC要收是将消息中的8Bit的字节连绝乏加,拾弃了进位. LRC简朴函数如下: static unsigned char LRC(auchMsg,usDataLen) unsigned char *auchMsg ; /* 要举止估计的消息 */ unsigned short usDataLen ; /* LRC 要处理的字节的数量*/ { unsigned char uchLRC = 0 ; /* LRC 字节初初化 */ while (usDataLen--) /* 传递消息 */ uchLRC += *auchMsg++ ; /* 乏加*/ return ((unsigned char)(-((char_uchLRC))) ; } 3、CRC检测使用RTU模式,消息包罗了一鉴于CRC要收的过失检测域.CRC域检测了所有消息的真质. CRC域是二个字节,包罗一16位的二进造值.它由传输设备估计后加进到消息中.接支设备沉新估计支到消息的CRC,并与接支到的CRC域中的值比较,如果二值分歧,则有误. CRC是先调进一值是齐“1”的16位寄存器,而后调用一历程将消息中连绝的8位字节各目前寄存器中的值举止处理.仅每个字符中的8Bit数据对付CRC灵验,起初位战停止位以及奇奇校验位均无效. CRC爆收历程中,每个8位字符皆单独战寄存器真质相大概(OR),截止背最矮灵验位目标移动,最下灵验位以0弥补.LSB被提与出去检测,如果LSB为1,寄存器单独战预置的值大概一下,如果LSB为0,则不举止.所有历程要沉复8次.正在终尾一位(第8位)完毕后,下一个8位字节又单独战寄存器的目前值相大概.最后寄存器中的值,是消息中所有的字节皆真止之后的CRC值. CRC增加到消息中时,矮字节先加进,而后下字节.ModBus搜集是一个工业通疑系统,由戴智能终端的可编步调统造器战估计机通过公用线路大概局部博用线路对接而成.其系统结构既包罗硬件、亦包罗硬件.它可应用于百般数据支集战历程监控.ModBus搜集惟有一个主机,所有通疑皆由他收出.搜集可支援247个之多的近程从属统造器,然而本质所支援的从机数要由所用通疑设备决断.采与那个系统,各PC不妨战核心主机接换疑息而不做用各PC 真止自己的统造任务.(1)ModBus的传输办法正在ModBus 系统中有2种传输模式可采用.那2种传输模式与从机PC通疑的本收是共等的.采用时应视所用ModBus主机而定,每个ModBus系统只可使用一种模式,不允许2种模式混用.一种模式是ASCII(好国疑息接换码),另一种模式是RTU(近程终端设备).ASCII可挨印字符便于障碍检测,而且对付于用下档谈话(如Fortan)编程的主估计机及主PC很相宜.RTU则适用于呆板谈话编程的估计机战PC主机. 用RTU模式传输的数据是8位二进造字符.如欲变换为ASCII模式,则每个RTU字符最先应分为下位战矮位二部分,那二部分各含4位,而后变换成十六进造等量值.用以形成报文的ASCII字符皆是十六进造字符.ASCII模式使用的字符虽是RTU模式的二倍,然而ASCII数据的译玛战处理更为简单一些,别的,用RTU模式时报笔墨符必须以连绝数据流的形式传递,用ASCII模式,字符之间可爆收少达1s的隔断,以符合速度较快的呆板. (2)ModBus的数据校验办法 CRC-16(循环冗余过失校验) CRC-16过失校验步调如下:报文(此处只波及数据位,不指起初位、停止位战任选的奇奇校验位)被瞅做是一个连绝的二进造,其最下灵验位(MSB)尾选收支.报文先与X↑16相乘(左移16位),。
埃美柯水表MODBUS-RTU通讯协议
主机发送
发送信息
从机返回
返回信息
地址码
01H
地址码
01H
功能码
03H
功能码
03H
高字节
00H
字节数
04H
起始地址
低字节
00H
高字节
00H
寄存器数据
高字节
00H
低字节
12H
寄存器数量
低字节
02H
高字节
D6H
寄存器数据
高字节
C4H
低字节
87H
CRC 校验码
低字节
0BH
高字节
44H
CRC 校验码
低字节
34H
(2)功能码 10H:写寄存器 功能码 10H 允许用户改变多个寄存器的内容,该仪表中地址、通讯速率等可用此功能号
写入。主机一次最多可以写入 16 个(32 字节)数据。
主机发送
地址码
功能码
起始地址
高字节 低字节
寄存器数量
高字节 低字节
字节数
0015H 待写入 数据
高字节
低字节
Байду номын сангаас
CRC 校验码 高字节
生成一个 CRC 的流程为: 1、预置一个 16 位寄存器为 0FFFFH(全 1),称之为 CRC 寄存器。 2、把数据帧中的第一个字节的 8 位与 CRC 寄存器中的低字节进行异或运算,结果存回 CRC 寄存器。
3、将 CRC 寄存器向右移一位,最高位填以 0,最低位移出并检测。 4、如果最低位为 0,重复第三步(下一次移位);如果最低位为 1,将 CRC 寄存器与一 个预设的固定值(0A001H)进行异或运算。 5、重复第三步和第四步直到 8 次移位。这样处理完了一个完整的八位。 6、重复第 2 步到第 5 步来处理下一个八位,直到所有的字节处理结束。 7、最终 CRC 寄存器的值就是 CRC 的值。 此外还有一种利用预设的表格计算 CRC 的方法,它的主要特点是计算速度快,但是表格需 要较大的存储空间,该方法此处不再赘述,请参阅相关资料。
MODBUS协议(功效码及报文解析)
2.社会主义本质理论对探索怎样建设3.社19会57主年义2月具,有毛重在要《的关实于践正意确义处。理社人会民主内义2.社部本科会矛质学主盾理的义的论1本本问的.邓质质题提小是的》出平创科讲,提新学话为出,内中我“创涵提们社邓新。出寻始会小的邓(找终主平关小1一代义)坚键平种表的我2持在对能.1中本国把科人社9够国质社5发学才会从4先,会展社年,主更进是主作会,人义深生解义为主毛才本层产放制执义在的质次1力生度政理《成所.认社1的产还兴论论长作.识会 发发力刚国和十靠的社主 展展,刚的实大教概会义 才要发建第践关坚育括主本 是求展立一的系2持。,义质 硬、,生,要基》以人一,理 道发大产还务本重发才方从论 理展力力没是成要展资面而把 ,才促,有由果讲社的源强为我 把是进消完中,话会办是调中四们 发(硬先灭全国抓中主法第必国、对 展2道进剥建共住提三义解一)须的科社 生理生削立产“出、经决资采解社学会 产,产,党什(代济前源取放会技主 力是力消还的么1表基进。从和主术义 作)对的除不执是中础科低发义是1的 为吧社3发两完政社9国基的学级展.建第发认 社二国5会展极全地会先本问技到6生设一展识 会、内主,年分巩位主进建题术高产在生才提 主发外义是底化固所义生立,实级力改产是高 义1展一时中我,的决邓产的是力9,革力硬到 建是切间5国最思定怎小力同实和国另3开道了 设党积经共对终想年的样平的时行国家一放理一 的执极验产农达。1,建一发,改民资方中2,个 根政因教党业到(是设月再展我革教本面探是新 本兴素训站、共2对社,强要国开育主指索)适的 任国都的在手一同执会毛调求的放水义出出第创应科 务在的调深时工、富1政主泽,政以平的4了一三造.时学 ,社第动刻坚代.业发裕规义东中一治来,过2解条节性代水 符会一起总持前.和展。律”关社 国个领我始度放发、地主平 合阶要来结社列资才”认这于会 社公域们终形和展社提题。 马级务为。会,本是1识个总主 会有也党是式发更会9出变社 克二关中主保硬的根8路义 主制发的衡。展快主了化会 思6、系国义持道3深本线基 义占生一年量所生、义社.的主社发解用工现理化问的本 基主了条,综谓产人的会需义会生决和业金商,题1完制 本体重主邓合国力民根主要本 基.主变事所平化向业1也,整度 制,大要小国家的享本9义。质 本义化业有方建的是深5的度一变经平力资手受社任理 原6本的服问法设根社对刻表确 的个化验年提和本段到会 1务论 理第质同务题进与本会一党揭.述立 确共,。出社主社和社主基的 ,二理时的行社体主、实示:, 立同确苏“会义会目会3义本提 是节论,基关改会现义社现了.从为 ,富立共社文,社主的主一改矛出 巩、的我本键造主和改会其社中当 使裕了二会明就会义。义、造盾, 固对重国方是。义根造之所会华代 占,中十主程是主基建中的和为 和第社要针这改本基一承主人中 世这国大义度在义本设国基两进 发一会意。靠不造要本本担义民国 界是共以财的国基制内成特本类一 展节主义的(自仅同求完质的本共一 人我产后富重家本度涵果色完矛步 社、义主2己保时。成理历质和切 口们党毛属要直)制的包最伴社成盾推 会中本要的证并,论史,国发 四必领泽于标接正度确括大随会,的进 主国质矛发了举标第的这成展 分须导东人志控确的立(,着主是学改 义特理盾展2社。志五提需是立进 之坚的提民。制处确是1.能社义我说采革 制色论也。会实着章)出要对,步 一持人出,和理立中够会建国,取开 度社的发的践中把。马到奠 的民要社支经,国社充经设强积放 的会提生稳证国解克社定 东民“会配济是历会分济道调极和 必主出了定明历放思会了 方主以下建4广史主体制路要引社 然义变,.史和主主把制 大专苏义的设大上义现度初严导会 要二建化而党上发义义对度 国政为的资和劳最的出和步经格、主 求设。且坚长展的改企基 进党的鉴致本社动深本对社探济区逐义 。确道人极持达生重造业础 入在根社”富主会人刻质资会索结分步现立路民大社数产大基的。 了过本会,是义发民最和本经的构过代社的对的会千力逐发本改社渡原主探全经展真伟根主济理发正渡化会初于促主年概步展完造会时则义索民济中正大本义结论生确的建新主步经进义的括实,成和主期。基自共的成任优构成了处方设中义探济了改阶为现对,对义总本己同国一为社务越的果根理式提国基索文社造级国于这人制 社路政的致家系国会性根本两。供的本化会与剥家建是的度 会线治道富资列家变的一本变类中了成制迅主社削的设一改的 ,第制路。本重的革道、变化不国强立度速义会制社中个造建 这三主度。社大主,路社化,同这大,的发事主度的会国过结立 是节要。会义关人也,1会社性场的标重展业义的本主特.渡合极 世、内人主有系解和是奠主我会质巨思志大的的工结(质义色时起大 界社容民义初。决社2定义国主的大想着意需发业束30。工社期来地 社(会被民原级了会)世了基社义矛而武我义要展化,(业会。,提 会2主概则和3在生把纪理本会经盾深器国同),同实2化主党把高 主对义括专,高一产资中)论制的济,刻。新经遵改总时现新是义在对了 义手制为政第级个资本国强基度阶成在特的通民济循革之并了民党具这资工 运二七度“实一形以料主又调础的级分新别社过主文自4过,举由主在有个本人 动、届 业在一质是式农的.(义一消,初关已民是它会(没主化愿于和的新主过重过主阶 史新社二 的中化上发之民主1工次灭开步系占主要是变4收义不互集平方民()义渡大渡义级 上民会中 社国三已展)分为人商划剥阔确也绝主正中革官能利中改针主3用社时的时工和 又主全 会的改成生坚。主)业时削了立发对义确国,僚命满、的造,主和会期理期商广 一主义会确”为产持初题正者代,广2生优革处革不资阶足典计解对义平的论.的业大 个义改提立。无,积级资的确改的消阔了势命理命仅√本段人型划决于向赎五总和总搞劳 历革造出 改“产第极形本、分造历除前根,理人的没中而民示体了在社3买种路实路糟动 史命的使 造一阶二领式主落(.析成史两景本社论民具有国形基需党范制诸深会的经线践线成人 性理历中 ,化级是导的义后1农为巨极。√的会内体对革成本要的和如刻主)方济的意和为民 的论史国 党”专共、工的村自变分邓中主指部实生命的结建国初实的义积法成主义总自的 伟是经“ 和即政同稳家商半的食。化小国义导矛际产在走社束状设家步现社的极改分体。任食积 大以验稳 政社;致步资业殖阶其们平社革。公下盾出力一农会和况。帮构社会转引造—。务其极 胜一毛步 府会人富前本的民级力吐对1会命有,。发的个村主社之加助想会变导资—要.,力性 利、泽地 采主民。进农社地和的出社第必制中(,发以包义会间强的,变革农本社从是的和 。适东由 取义代”的业会半阶社了会二须已国3不展农围的主党原要革中社民主会根)要社创合为农 了工表这方是、主封层会最主节级走成共拘造民城国义矛的则求与保会组义主本从在会造中主业 积大段针国手义建状主终义、构农为产泥成为市营改盾建,2中经持主织工义上全一主性国要极化会话,家工改的.况义达本社成村我党武于破主、经造,设以央济社义起商性改体个义。特代转 领,制成采对业造东,劳到质会主包国领装已坏体武济阶成,互向发会基来业中质变
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.4 主机对信息处理的说明 3.2 设置功能码-0X80
此功能码用于上位机设置控制器的机型、地址和波特率。
3.2.1 上位机发送的数据格式
从机地址 功能码
ቤተ መጻሕፍቲ ባይዱ
机型
1 字节 1 字节(0x80) 1 字节
地址 1 字节
波特率 1 字节
机型列表:见4.2 控制器机型的定义; 地址:1~250。 254 为广播地址,0 代表不响应; 波特率:见4.3 波特率的定义。
气体单位使用如下定义: #define UNIT_NONE
0 //无单位
-6-
TON90B-1 与上位机的 MODBUS 协议说明
#define UNIT_LEL #define UNIT_PPM #define UNIT_VV #define UNIT_KPPM #define UNIT_PERCENT #define UNIT_01NONE #define UNIT_01LEL #define UNIT_01PPM #define UNIT_01VV #define UNIT_01KPPM #define UNIT_01PERCENT
4.2 控制器机型的定义
控制器代码
所代表的机型
-5-
0. 1. 2. 3. 4. 5. 6. 7.
其他
TON90B-1 与上位机的 MODBUS 协议说明
ES2000 TON80 TON90B ESC2000 ESC3000 TON96 ESC500 FGS1000 预留
4.3 波特率的定义
波特率代码
TON90B-1 与上位机的 MODBUS 协议说明
通道 5 的浓度值 通道 5 的状态 通道 6 的浓度值 通道 6 的状态 通道 7 的浓度值 通道 7 的状态 通道 8 的浓度值 通道 8 的状态 通道 1 的设置 高字节:气体类型,见4.4 气体类型的定义 低字节:气体单位,见4.5 气体单位的定义 通道 1 的设置 量程 通道 1 的设置 高字节:A1 报警点相对量程的百分比 低字节:A2 报警点相对量程的百分比 通道 2 的设置:类型和单位 通道 2 的设置:量程 通道 2 的设置:报警点 通道 3 的设置:类型和单位 通道 3 的设置:量程 通道 3 的设置:报警点 通道 4 的设置:类型和单位 通道 4 的设置:量程 通道 4 的设置:报警点 通道 5 的设置:类型和单位 通道 5 的设置:量程 通道 5 的设置:报警点 通道 6 的设置:类型和单位 通道 6 的设置:量程 通道 6 的设置:报警点 通道 7 的设置:类型和单位 通道 7 的设置:量程 通道 7 的设置:报警点 通道 8 的设置:类型和单位 通道 8 的设置:量程 通道 8 的设置:报警点
3 命令解释
3.1 查询功能码 0X03
此功能用于查询 TON90B-1 的设置信息和各支路的监控状态。
-1-
TON90B-1 与上位机的 MODBUS 协议说明
3.1.1 上位机发送的数据格式
03 命令的主机发送的帧格式:
从机地址 1 字节 说明:
功能码
寄存器开始地址
1 字节(03) 2 字节
寄存器个数 CRC 校验码
4.5 气体单位的定义
0 1 //可燃气体 2 //氢气 3 //一氧化碳 4 //硫化氢 5 //氨气 6 //氯气 7 //氧气 8 //一氧化氮 9 //二氧化硫 10 //二氧化氮 11 //二氧化碳 12 //臭氧 13 //环氧乙烷 14 //氢氰酸 15 //氯化氢 16 //可挥发液体
如果支路模块的量程和单位为:100%LEL,当前检测到的气体浓 度为 50,那么支路模块上传的公共模块时,将数据分解为:量程: 100, 单位:UNIT_LEL,当前气体浓度:50。
如果支路模块的量程和单位为:25.0ppm,当前检测到的气体浓度 为 5.1ppm,那么支路模块上传的公共模块时,将数据分解为:量程: 250, 单位:UNIT_01PPM,当前气体浓度:51。
如果 TON90B-1 收到错误的信息,返回帧格式如下:
地址
功能码 错误码
CRC 校验码
1 字节
1 字节 1 字节
2 字节
返回功能码在收到的功能码基础上加 0X80。 错误码的定义如下:
-2-
TON90B-1 与上位机的 MODBUS 协议说明
错误码 0X02 0X03
定义 校验码错。 数据错误,查询超过 100 个整形数时,会返回此 信息。
如果支路模块的量程和单位为:40.0%LEL,当前检测到的气体浓 度为 5.2%LEL,那么支路模块上传的公共模块时,将数据分解为:量 程:400, 单位:UNIT_01LEL,当前气体浓度:52。
如果支路模块的量程和单位为:5.0(无单位),当前检测到的气体 浓度为 1.2,那么支路模块上传的公共模块时,将数据分解为:量程: 50, 单位:UNIT_01NONE,当前气体浓度:12。
0.
9600
1.
4800
所代表的含义
4.4 气体类型的定义
气体类型使用如下定义: #define GAS_NONE #define GAS_FLA #define GAS_H2 #define GAS_CO #define GAS_H2S #define GAS_NH3 #define GAS_CL2 #define GAS_O2 #define GAS_NO #define GAS_SO2 #define GAS_NO2 #define GAS_CO2 #define GAS_O3 #define GAS_ETO #define GAS_HCN #define GAS_HCL #define GAS_VOC
利用通讯命令,可以进行读取每个 TON90B-1 各支路的状态信息和设置信 息等参数。
为了提高总线利用率,本协议规定,4800 波特率时,从机典型响应最大完 成时间为 200ms。如果主机在发送完一帧命令后,200ms 内没有收完从机的响 应信息,则可认为从机响应超时。
串行通信口 RS-485,异步通讯方式。 数据传输速率:4800/9600 B/S,可设置。设备出厂时默认为 9600B/S。8 位 数据位,1 位停止位,无校验。 当传送 2 字节数据时,高 8 位在前,低 8 位在后;传送 CRC16 校验码时, 也是高 8 位在前,低 8 位在后。 TON90B-1 在系统中的地址为:1~250 可设定。
5 CRC16 的校验算法 _______________________________________________7
-3-
TON90B-1 与上位机的 MODBUS 协议说明
1 适用范围
本协议适用于 ESC2000, TON80, TON90B-1, TON90B-8。
2 通讯约定
TON90B-1 控制器采用标准的 MODBUS RTU 模式(详细说明请参考标准 MODBUS 协议)。本协议定义了控制器能够认识使用的消息结构,制定了消息 域格局和内容的公共格式。
响应 03 命令的帧格式:
从机地址
1 字节 说明:
功能码 数据字节数 数据区
CRC 校验码
长度由数据字
1 字节(03) 1 字节 节数确定
2 字节
功能码固定为 03 。
数据字节数以字节为单位。即:主机读取 1 个整型数,TON90B-1 返回 2 个 字节;
地址表见4.1 地址表。
3.1.3 错误的处理
1 //%LEL 2 //ppm 3 //%V/V 4 //Kppm 5 //% 6 //无单位,带小数点 7 //%LEL,带小数点 8 //ppm,带小数点 9 //%V/V,带小数点 10 // Kppm,带小数点 11 //%,带小数点
从 6~10 的单位,表示气体量程和气体浓度带一位小数点。 比如:
目录
1 适用范围 _______________________________________________________1 2 通讯约定 _______________________________________________________1 3 命令解释 _______________________________________________________1
TON90B-1 与上位机的 MODBUS 协议说明
编写: 审核: 批准:
TON90B-1 与上位机的 MODBUS 协议说明
版本号 V1.0
V1.1 征求意见稿
版本历史
修改人 任善明 王平
修改日期 2010-01-04 2010-02-09
说明 初次版本 修改文档格式 字节定义有改
动。
-2-
TON90B-1 与上位机的 MODBUS 协议说明
第5位
通道 6 是否关闭:1:是;0:否
第6位
通道 7 是否关闭:1:是;0:否
第7位
通道 8 是否关闭:1:是;0:否
通道 1 的浓度值,高位在前
通道 1 的状态
数据位号 数据定义说明
第0位
是否预热:1:是;0:否
第1位
是否故障:1:故障;0:正常
第2位
是否 A1 报警:1:是; 0:否
第3位
是否 A2 报警:1:是; 0:否
0002 0003
0004 0005 0006 0007 0008 0009
通道关闭状态:
数据位号 数据定义说明
第0位
通道 1 是否关闭:1:是;0:否
第1位
通道 2 是否关闭:1:是;0:否
第2位
通道 3 是否关闭:1:是;0:否
第3位
通道 4 是否关闭:1:是;0:否
第4位
通道 5 是否关闭:1:是;0:否
第4位
是否自检:1:是;0:否