仪表与上位机ModBus通讯协议
KSJ系列仪表Modbus通讯协议_A3V110527(1)
AA
01
BBBB
DDDD
CCCC
通讯地址
功能码
开关量起始地址
开关量个数
CRC校验值
响应:AA 01 01 data CCCC
AA
01
01
data
CCC
通讯地址
功能码
开关量状态字节数
开关量状态
CRC校验值
BBBB表示开关量地址,取值0x0000~0x0001,分别对应第1~2点报警
04
data
CCCC
通讯地址
功能码
参数值字节数
参数值
CRC校验值
例:命令:0103016400028428
响应:01030441A40000AFEC
本命令读取地址为01的仪表的参数地址为32H的参数值
响应表明读取的参数值为41A40000(十进制数为20.5)
4)读开关量输出状态命令(报警输出)
将开关量输出定义为第1~2个线圈,寻址范围0x0000~0x0001,分别对应第1~2点报警
此响应属于异常响应,返回差错码94(0x14+0x80),异常码01
异常码01表示输入的功能码错误(正确的功能码为04)
例2:仪表的通讯地址为01,想要读取仪表的测量值
指令输入为:010400010002200B
仪表响应为:018402C2C1
此响应属于异常相应,返回差错码84(0x04+0x80),异常码02
1)读测量值命令
将测量值定义为4个连续的输入寄存器,分为两组:
累积流量:寻址范围0x0000~0x0001,起始地址BBBB=0000
瞬时流量:寻址范围0x0002~0x0003,起始地址BBBB=0002
MODBUS仪表通信协议
十三、串行通讯接口1、数据格式串行口通讯数据格式为:1位起始位、7位数据位、1位校验位和1位停止位。
通讯方式由mode、addr、bt决定。
含义如下:mode -- 通讯方式:0 -- 指令应答方式,数据格式为:7位ASC码+1位偶校验位•••• 1 -- 指令应答方式,数据格式为:7位ASC码+1位奇校验位••••• 2 -- 指令应答方式,数据格式为:8位ASC码无校验位••••• 3 -- 指令应答方式,数据格式为:7位ASC码+1位偶校验位但接受数据时,不检验校验字(CHK)是否正确或有无。
•••• 4 -- 连续发送方式,数据格式为:7位ASC码+1位偶校验位•• 5 -- 连续发送方式,数据格式为:7位ASC码+1位奇校验位• 6 -- 连续发送方式,数据格式为:8位ASC码无校验位• 7 -- 连续发送方式,数据格式为:7位ASC码+1位偶校验位• 8 -- 作为打印接口,数据格式为:7位ASC码+1位偶校验位• addr -- 通讯地址:1~26 对应A~Z,bt -- 通讯信号波特率:1 -- 600,2 -- 900,3 – 1200,4 – 24005 -- 4800,6 –96007 – 19200 8 – 38400 9 – 57600, 0 -- 1152002、串行通讯的指令方式(XON)起始字,ASC码为02H(CHK)校验字,它的ASC码等于前面所有字的ASC码的异或和然后再与 64D 或的结果(XOF)结束字,ASC码为03H(OK) ASC码为04H(ERR)ASC码为05H(1)--(”A”命令):取当前称量和状态主机命令:(XON)(ADD)A(CHK)(XOF)从机回答:(XON)(ADD)a(±)ggggge f1f2f3(CHK)(XOF)其中:(±)ggggg 为当前重量e 为出错代号例:仪表设置为:addr=1(即地址为“A”),mode=2计算机发送:仪表回答:表示:仪表重量为:+12000, f1=41H 表示仪表“快速”指示灯亮,f2=51H 表示仪表“粘料”指示灯和“稳定” 指示灯亮,f3=41H 表示仪表内存中有一组配料记录,(2)--(”B”命令):读取仪表累计数据主机命令:(XON)(ADD)B(CHK)(XOF)从机回答:(XON)(ADD)byymmddhhnnssiiiiiijjjjjjaaaaaaaaaa(OK)(CHK)(XOF)yymmdd –年月日(累计数据的起始日期)hhnnss –时分秒(累计数据的起始时间)iiiiii –总次数jjjjjj –总合格次数aaaaaaaaaa –总累计重量(3)--(”C”命令):取当前显示内容主机命令:(XON)(ADD)C(CHK)(XOF)从机回答:(XON)(ADD)c p1d1p2d2p3d3 …p12d12(CHK)(XOF)pi(i=1-12)的意义:dI为第i个显示字的显示字符(4)--(”D”命令):读取仪表的控制状态主机命令:(XON)(ADD)D(CHK)(XOF)从机回答:(XON)(ADD)d n1n2o1o2c1c2t(CHK)(XOF)(5)--(”D1”命令):读取仪表的控制状态主机命令:(XON)(ADD)D1(CHK)(XOF)从机回答:(XON)(ADD)d s1s2s3s4s5s6s7n1n2o1o2o3(CHK)(XOF)s1-s7 指示1-7号流程执行器分别正在执行第几步流程(s1-s7的ASC码-20)比如s1=“A”其ASC码为65 65-20=45 表示1号流程执行器正在执行第45步;(6)--(”E命令):读取最后15秤的平均流量主机命令:(XON)(ADD)E(CHK)(XOF)从机回答:(XON)(ADD)exxxxxx(CHK)(XOF)xxxxxx --- 最后15秤的平均流量(7)--(”F”命令):金钟公司的大屏幕方式(8)--(”G”命令):4-20mA电流输出的通讯方式主机命令:(XON)(ADD)G(CHK)(XOF)从机回答:(XON)(ADD)g xxxx mmmm zz rr(CHK)(XOF)xxxx --- 当前量(16进制码)mmmm --- 对应20mA时的量值(16进制码)zz --- 4mA的调整量(16进制码)rr --- 20mA的调整量(16进制码)(9)--(”K”命令):执行某一按键的功能主机命令:(XON)(ADD)K xx(CHK)(XOF)从机回答:(XON)(ADD)k OK(CHK)(XOF)同时从机执行第“xx”号按键的功能(10)--(”N”命令):取最早一次记录主机命令:(XON)(ADD)Nii(CHK)(XOF)从机回答:1.(XON)(ADD)n No(CHK)(XOF)表示无记录2. 当“ii”=“01”~“16”之间时(XON)(ADD)n ii rrrrrr dddddd f(CHK)(XOF)rrrrrr --- 最早一次记录中第“ii”号物料的实际重量dddddd --- 最早一次记录中第“ii”号物料的设定重量f --- 精度情况3.当“ii”=“0”时。
基于modbus的plc与上位机的通信
摘要随着微电子技术和计算机术的进步,可编程控制器以其可靠性高、抗干扰强、开发周期短,已经成为一种较为普及的、适应多种应用环境的工业控制器。
现已从最初的简单顺序控制、逻辑控制发展到可进行模拟量控制、位置控制,特别是PLC与PLC、PLC与计算机通信功能的实现,可组成多级控制系统,形成工厂自动化网络。
PLC可以多种方式如直接采用现有的组态监控软件与上位监控机通信,但针对小规模的控制系统,找到一种高性价比的通信方法,具有积极的实际意义。
本文就是讨论如何利用Modbus通信协议来实现施耐德电器公司的NanoPLC与上位监控PC机的通信。
关键词 modbus;plc;自动化网络;pc1硬件描述及串口设置1.1 接口电路设计PLC与PC间实现通信,可使二者互补功能上的不足,PLC用于控制方面既方便又可靠,而PC机在图形显示、数据处理、打印报表以及中文显示等方面有很强的功能。
因此,各PLC制造厂家纷纷开发了适用于本公司的各种型号PLC机通信的接口模块,不同的通信方式,有着不同的成本价格和不同的适用范围。
NanoPLC的CPU单元本身带有1个RS-485扩展口,可不配备专用通讯模块,而通过此接口与上位机进行串行通信。
在此介绍一种通过PLC的RS485扩展口与PC机的RS-232串行口进行通信的方法。
由于NanoPLC的扩展口采用RS-485标准,RS485是RS422的变型。
RS422为全双工,可同时发送与接收;RS485则为半双工,在某一时刻,1个发送另1个接收。
RS485是一种多发送器的电路标准,允许双导线上1个发送器驱动32个负载设备,负载设备可以是被动发送器、接收器或收发器。
而计算机的串行口采用RS-232标准。
因此,作为实现PLC与计算机通信的接口电路,必须将RS-485标准转换成RS-232标准。
我们利用SC-485转换器实现RS485与RS232之间的转换。
转换电路如图1所示。
图1 RS485与RS232转换电路图1.2 PLC串行口设置施耐德的NanoPLC对通信参数的设置通过设置扩展口来实现,系统采用PC 机作为Modbus通信网络主站,NanoPLC作为从站。
modbus协议各表详细说明
10 指令发送数据格式举例为:
发送数据 01
10
0000
0002
04
0000 0000
CRC
含义
地址
连续下写 连续下写 总字节 指令
的首地址 数据个数 数据个数×2
下写的数据
校验码
—1—
各型号仪表详细说明 XM708 XM708P XM808/908 XM808P/908P XMH XMT XMG/XMG-M
警不存在,为 1 表示报警成立。
7
6
5
4
3
2
1
0
0
0
0
0
AL4 报警 AL3 报警 AL2 报警 AL1 报警
—8—
XMG/XMG-M
1、03 指令参数地址 参数名 AL1 AL2 AL3 AL4 dLY1 dLY2 dLY3 dLY4 Alo1 Alo2 Alo3 Alo4 dF1 dF2 dF3 dF4 PF CHO Bout Loc1 Addr bAud Sn dip
diP
小数点位置
diL
下限显示限值
0BH
CSC
冷端补偿参数
1BH
0CH
SF
超调抑制参数
1CH
0DH
SVL
给定值下限限定
1DH
diH
上限显示限值
Sc
平移修正参数
0EH
SVH
给定值上限限定
1EH
10H
曲线运行状态
16H
(2)曲线设置参数
参数
参数含义
通讯地址
C01
第一段曲线的设定值
1BH
T01
第一段曲线的运行时间
参数含义 平移修正参数 控制输出方式 控制输出下限 控制输出上限 报警输出定义参数 正反作用选择
浙江苍南仪表厂流量计Modbus V1.3协议
苍南仪表流量计MODBUS通信协议―――V1.3一、协议概述1.1 MODBUS协议内容符合GB/Z 19582.1/2/3-2004(IEC60870-5)标准。
1.2该协议适用于本厂的LWQC系列IC卡气体智能涡轮流量计、LUXC系列IC卡气体智能旋进漩涡流量计、LLQC系列IC卡气体智能罗茨流量计、CNRMC系列IC卡气体智能罗茨流量计等产品。
1.3主要特点设备属性:流量计为MODBUS通信总线上的从站通信模式:RTU通信媒介:RS485通信地址:1-247波特率:1200、2400、4800、9600、19200 bps数据位:8位校验位:无校验(2个停止位)、偶校验(1个停止位)、奇校验(1个停止位)1.4 特殊性本协议针对流量计而开发,支持多字节二进制数、ASCII字符串、BCD码等类型变量的数据通信;通信选用MODBUS的03H、07H功能码,并增设用户自定义的66H功能码。
二、支持的MODBUS功能码2.1 功能码03:2.1.1读取起始地址在start_addr起N个字的数据(IC卡流量计部分参数)。
见表1。
主站发送:addr, 03, start_addr_hi ,start_addr_low, N_hi,N_low, CRC从站响应:addr, 03, num, data(0),….,data(num-1), CRC异常响应:addr, 83H, error_code, CRC表1其中:●起始地址:由start_addr_hi、start_addr_low 2个字节组成,依次为起始地址的高字节、低字节;起始地址必须为表1第1列中的数值,否则流量计回复地址出错(error_code =2);●寄存器数目N:由N_hi、N_low 2个字节组成,表示读取N个字(1个字由2个字节组成)的数据;●num:表示数据的个数,data(i),i=0,…,num, num=2N。
●error_code代码参见表5。
宇电 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。
仪表与上位机ModbusRTU通讯协议
仪表与上位机ModbusRTU通讯协议1、接口规格为与PC机或PLC编控仪联机以集中监测或控制仪表,仪表提供RS232、RS485两种数字通讯接口,光电隔离,其中采用RS232通讯接口时上位机只能接一台仪表,三线连接,传输距离约15米;采用RS485通讯接口时上位机需配一只RS232-485的转换器,最多能接近100台仪表,二线连接,传输距离约一千米。
2、通讯协议(适合本厂所有1_16通道仪表)(1)通讯波特率为1200、2400、4800、9600四档可调,数据格式为1个起始位、8个数据位,1个停止位,无校验位。
(2)上位机读一个参数(2字节)仪表编号功能代码(03)参数首地址读取的字数(0001)CRC161byte1byte2byte2byte2byte (3)仪表返回(2字节):仪表编号功能代码(03)读取的字节数(02)参数值CRC161byte1byte1byte2byte2byte (4)上位机写一个参数(2字节)及仪表返回(2字节)(帧格式相同):仪表编号功能代码(6)参数首地址参数值CRC161byte1byte2byte2byte2byte 上表中CRC16校验码按标准ModbusRTU通讯协议计算,低位在前,高位在后。
(5)参数代码及地址见仪表说明书通道显示值地址:(单通道仪表地址为第1通道:1001H)1通道:1001H2通道:1002H3通道:1003H4通道:1004H5通道:1005H6通道:1006H7通道:1007H8通道:1008H9通道:1009H10通道:100AH11通道:100BH12通道:100CH13通道:100DH14通道:100EH15通道:100FH16通道:1010H(6)仪表主控输出状态地址:1通道:1101H2通道:1102H3通道:1103H4通道:1104H5通道:1105H6通道:1106H7通道:1107H8通道:1108H9通道:1109H10通道:110AH11通道:110BH12通道:110CH13通道:110DH14通道:110EH15通道:110FH16通道:1110H(7)仪表报警输出状态地址:1200HD15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0 AL16AL15AL14AL13AL12AL11AL10AL9AL8AL7AL6AL5AL4AL3AL2AL13.功能解说(1)上位机对仪表写数据的程序部分应按仪表的规格加入参数限幅功能,以防超范围的数据写入仪表,使其不能正常工作,各参数代码及范围见《仪表说明书》(2)上位机发读或写指令的间隔时间应大于或等于0.2秒,太短仪表可能来不及应答(3)仪表未发送小数点信息,编上位机程序时应根据需要设置(4)测量值为32767(7FFFH)表示HH(超上量程),为32512(7F00H)表示LL(超下量程)(5)除了CRC校验字节低位在前外,其它所有双字节均高位在前.。
迈特仪表Modbus通讯协议-101218
迈特仪表M版通讯协议本仪表的通讯协议遵照Modbus-RTU,Modbus作为一个标准通讯协议,由施奈德公司在1979年首次提出的,它是一个标准的、真正开放的、在工业自动化领域应用最广泛的网络通讯协议,历经近30年的考验,经久不衰。
至今仍是工业、建筑、基础设施等领域中应用最广泛的标准协议之一。
仪表的波特率一般为9600bps(其他波特率订货时注明),8bit数据,1bit停止位,无奇偶校验。
Modbus 协议中,数据存储、传输均以“寄存器”为单位,每个寄存器都是2字节数据,高字节在先。
通讯帧中,除CRC校验低字节在先以外,其余双字节数据均高字节在先。
Modbus协议概述:其中,各字节含义如下:字节1:呼叫的设备地址。
只有地址一致的仪表才响应通讯请求。
可订货时说明若仪表地址,或联网前用地址设置软件进行地址设置(部分表可用按键在菜单里面修改地址)。
字节2:通讯命令03H表示读命令。
字节3、4:寄存器地址。
在读操作中,表示本次请求读回的寄存器的起始地址。
字节4、5:在读命令中,表示本次请求需要连续读出的寄存器数N。
字节7、8:循环冗余校验码(CRC校验码)前6字节的CRC校验和。
计算方法见附录。
读操作成功,返回数据帧格式如下:其中,各字节含义如下:字节1:回应的设备地址。
和请求的设备地址应一致字节2:若指令正确重复一遍读命令(03H),若错误返回83H字节3:本次返回的字节数(2N)字节4~2N+3:返回的N个寄存器值(共2N字节)。
字节2N+4、2N+5:前2N+3字节的CRC校验和。
若主机发出的读命令超出以上寄存器地址范围,则产生出错信息,错误代码02(无效地址),返回数据如下:通讯范例:只有1号仪表响应,返回数据:地址设置软件使用说明:对于大多数仪表可以用我们配置的地址修改软件来修改地址,将需要被设置或更改地址的仪表单独通过485/232转接器和PC机连接,先不要接通仪表电源,打开MeterConfig软件,界面如上图。
上位机通讯协议(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命令。
TCW-32系列智能精密数显温控仪通讯协议说明(ModBus RTU)
TCW-32系列智能精密数显温控仪通讯协议说明(ModBus RTU)一、功能介绍TCW-32系列智能精密数显温控仪(以下称下位机或仪表)可配置通讯接口与上位机进行通讯,接口电平符合RS485标准。
通讯协议可选择国龙协议或ModBus RTU协议,通讯速率9600bit/s。
一个通讯接口最多可接32台仪表,通讯距离最长500米。
二、通讯协议与指令1、通讯协议选择仪表二级菜单密码5中参数td设为90时,通讯协议为国龙协议;td设为80时通讯协议为ModBus RTU。
国龙协议请参照《TCW-32系列智能精密数显温控仪使用说明书》。
参数td 通讯协议80 ModBus RTU90 国龙协议2、读指令格式 一条完整的读指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成(H高字节,L低字节)。
上位机发送指令格式为:地址 + 功能代码 + 起始地址 + 读取字个数 + 校验码CRC16单字节 单字节 2字节(H+L) 2字节(H+L) 2字节(L+H)① ② ③ ④ ⑤① 仪表地址与地址指令(单字节)工作中,通常一个通讯接口上连有多台仪表,为了方便区分,需将每台仪表进行独立编号,约定称下位机号,设定范围0-99。
如某下位机号b(b在仪表的二级菜单中)=11(16进制为0BH),该下位机的地址指令为: 0BH② 功能代码(单字节)读参数指令代码为:03H③ 起始地址 2字节(H+L)读取内容不同,起始地址编号不同,具体见参数代号表,如读取当前实际温度,则起始地址为:00H。
④ 读取字个数 2字节(H+L)读取参数个数决定读取字个数, 如只读取当前实际温度,则读取字个数为:01H;如同时读取“实际温度、输出功率、设定温度”三个参数,则读取字个数为:03H⑤ 校验码(CRC16) 2字节(L+H)根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字 节在前,高字节在后。
XM系列仪表通讯协议
XM系列仪表通讯协议一、通讯协议格式说明通讯格式为8位数据,2个停止位,无校验位。
数据包采用16位求和校验,它的纠错能力比奇偶校验高数万倍,可确保通讯数据的正确可靠。
XM系列仪表在上位计算机、通讯接口或线路发生故障时,仍能保持仪表本身的正常工作。
仪表读写方式如下:读指令: Addr+80H Addr+80H 52H 要读参数的代号 00 00 CRC校验码写指令: Addr+80H Addr+80H 43H 要写参数的代号 写入数低字节 写入数高字节 CRC校验码读指令的CRC校验码为:52H+Addr 要读参数的代号,Addr为仪表地址参数值范围是0~100写指令的CRC校验码为:43H+要写的参数值+Addr 要写的参数代号。
每2个8位数据代表一个16位整型数,低位字节在前,高位字节在后,热电偶或热电阻输入时其单位都是0.1℃。
1V或0V等线性输入时,单位都是线性最小单位。
因为传递的是16位二进制数,所以无法表示小数点,要求用户在上位机处理。
二、发送返回数据格式说明只要上位机发送的命令格式正确时,将返回以下数据:XX XX XX XX XX XX XX XX XX XX A1 A2 A3 A4 A5每个变量由两个字节组成,前面为低字节、后面为高字节含义如下:第一行的A1、A2、A3、A4、A5为变量名称,第一列为仪表为各仪表的型号 仪表型号A1 A2 A3 A4 A5 XM808、XM908、XM808P、XM908P、XM708、XM708P、XMH 测量值 给定值低字节表示控制输出值,高字节表示报警状态相应的通信地址的参数值CRC校验码XME、XMX 测量值 --- --- 相应的通信地址的参数值CRC校验码XMT、XMG、XMD 测量值 --- 高字节表示报警状态相应的通信地址的参数值CRC校验码XMJM瞬时流量值累计流量低四位累计流量高四位相应的通信地址的参数值CRC校验码正常采集时补偿后流量值累计流量低四位累计流量高四位相应的通信地址的参数值CRC校验码XMJB采集通信地址为FEH时补偿后流量值累计流量低四位累计流量高四位压力测量值 温度测量值控制输出值占用A4的低字节位置。
RS系列仪表MODBUS串行总线通讯协议
大连世有电力科技有限公司RS系列仪表MODBUS串行总线通讯协议RS系列仪表是我公司推出的具备RS485串行通讯功能的智能化仪表。
将32台甚至更多的仪表并联在2条RS485串行通讯总线上,能方便地组成微机温度监测系统。
该RS485串行通讯遵从国际通用的MODBUS通讯协议。
可方便地与其他具备MODBUS通讯功能的设备进行数据交换。
现将我公司RS系列仪表的MODBUS串行总线通讯协议介绍如下:一、仪表通讯参数设置1、设备号正常设定范围是1~32号,0号则相当于取消RS485通讯功能。
如果另加输出驱动扩展,设备号最大范围是1~127。
2、波特率设定范围:1.2K、2.4K、4.8K、9.6K、19.2K。
出厂默认值为9.6K。
3、参数设置操作方法详见仪表说明书。
二、通讯数据帧格式1、本公司MODBUS通讯采用RTU(远程数据终端)传输模式。
数据帧格式为:每一帧数据为10位:1个起始位“0”+8个数据位+1个停止位“1”。
无奇偶校验。
2、遵从MODBUS协议规定:多字节传输时,总是高位字节在前。
当字节之间的时间间隔超过为3.5个字符时间时,则结束该组数据传输。
三、RS系列仪表的标识码目前我公司将具备RS485串行通讯功能的仪表归纳为5种类型,每种型号都有专用的标识码。
可以将不同型号的仪表挂接在同一条RS485串行总线上,主机可通过访问仪表的标识码,来识别不同型号的仪表。
以下分别用1型、2型、3型、4型、5型表来简称。
现将各种型号的仪表功能简介如下:1型(标识码为81H):仅具备一路温度测量与显示功能。
代表型号有:XMZ-10RS。
2型(标识码为82H):具有一路温度测量显示及控制功能,控制参数有上限温度、下限温度、控制回差。
代表型号有:XMT-22RS。
3型(标识码为83H):具有三相温度测量显示及控制功能。
控制参数有跳闸通、跳闸断、报警通、报警断、风机通、风机断。
代表型号有:BWD-3KRS系列。
4型(标识码为84H):在3型的基础上又增加了一路附加温度测量显示与控制。
基于Modbus的智能仪表和上位机通信研究
智能仪表
1
端 子 23/A+
2
端 子 24/B+
ADAM 4570 端 子 1/DATA+ 端 子 4/DATA-
2 软件环境的配置
2.1 智能仪表参数设置 参考说明书分 别 配 置 好 通 道 1 的 分 度 号、数 据 显 示
精度、物 理 量 程 等 相 关 参 数,然 后 设 置 百 特 数 显 表 的 Modbus地址(范围:1~255,此 次 实 验 中 设 置 为 10)及 通 信 速 率 (9 600kb/s)。
智 能 仪 表 是 建 立 在 微 电 子 技 术 基 础 上,采 用 单 片 机 (Micro Control Unit,微控制器 单 元,也 称 作 μC)作 为 核 心 控 制 器 。 单 片 机 具 有 体 积 小 、质 量 轻 、稳 定 性 好 、性 价 比 高 等一系列优势 。 [1] 其 强 大 的 通 信 能 力 使 得 智 能 仪 表 与 上 位机之间的直接 通 信 成 为 可 能,对 于 小 型 控 制 系 统,可 以 构 建 智 能 仪 表 和 上 位 机 直 接 通 信 方 式 的 控 制 架 构 ,省 去 了 构建昂贵的 PLC/DCS系统,有效降低了项目投资。
议的低成本解决方案 ,实现了过程数据从智能仪表到上位机的直接传输 。
关 键 词 Modbus协 议 ;组 态 软 件 ;智 能 仪 表 ;上 位 机
中 图 分 类 号 TP273.5
DOI 10.19769/j.zdhy.2019.08.016
0 引言
在现 代 工 业 尤 其 是 以 石 油、化 工、电 力、冶 金 等 为 代 表的流程工业中,智 能 仪 表 以 其 突 出 的 技 术 优 势 和 高 性 价比的特点得到了广泛应用。常见智能仪表包括智能单 回路和多回路数显表、智能 PID 调节数显 表、智 能 手 动 操 作器等。
记录仪与上位机通讯协议
无纸记录仪与上位机通讯协议本协议适用于存在16个主机节点和64个记录仪节点的通信情况。
一、 通讯格式:在以下的通信协议中,通信格式将参照如下的格式进行。
发送端(PC 机→记录仪)Command Source Dest L1L3L2L4Data1CRC1EndCmdLengthData2……Datan DataCRC2CRC应答端(记录仪→ PC 机)Status Source Dest L1L3L2L4Data1CRC1EndCmdLengthData2……Datan DataCRC2CRC参数划分表地址划分表参数解释:1、Command为一个字节,以0b1010,xxxx或0b1101,xxxx表示。
高四位1010或0b1101为命令标志;低四位xxxx(0000~1111)表示具体的命令。
2、EndCom以一个字节0b1010,1111表示。
3、Status为一个字节,以0b1011,xxxx表示。
高四位1011为状态标志;低四位xxxx 为具体的状态信息,其中0000表示操作成功,0001~1111为常见的通信出错信息。
具体的出错代码请参见错误代码表,并将在日后的程序开发中继续完善。
4、Source为源地址,即通信数据发送者的地址,为一个字节。
具体信息见地址划分表。
5、Dest为目的地址,即通信数据接收者的地址,为一个字节。
具体信息见地址划块表。
6、Length(L1、L2、L3、L4):数据包正文的长度,拆分成四个字节,低字节在前,高字节在后,以0b1011,xxxx表示。
高四位1011为长度标志;低四位xxxx(0000~1111)表示后面紧跟的数据长度。
例如当数据包正文长度为512字节时,Length=0x100,则L1=0xB0,L2=0xB0,L3=0xB1,L4=0xB0。
如果Status不为0xC0,即状态出错,则Length = 0。
7、Data(Data1、Data2 、…Datan):以字节0b1000,xxxx表示。
通讯协议MODBUS—RTU ~~经典
5、写单个保持寄存器:
上位机计算机发送命令:
需下置的寄
设备地址 功能码 存器地址高
8位
11H
06H
00H
需下置的寄 存器地址低
8位 01H
下置的数 据高 8 位
00H
下置的数 CRC 校验 CRC 校验 据低 8 位 的低 8 位 的高 8 位
03H
CRC 低 CRC 高
意义如下: <1>设备地址和上面的相同。 <2>功能码:写寄存器的功能码固定为 06。 <3>需下置的寄存器地址高 8 位,低 8 位:表明了需要下置的寄存器的
例子中为 3 个寄存器。注意,在返回的信息中一个寄存器需要返回两个字节。
设备响应:
设备地址 功能码
11H
03H
返回的 字节个
数
06H
数据 1
02H
数据 2
2BH
数据
数据 数据 CRC 校验 CRC 校验
数据 4
3
5 6 的低 8 位 的高 8 位
00H 00H 00H 64H CRC 低 CRC 高
中为把该开关闭合。注意,此处只可以是 [FF][00]表示输出闭合 ;[00][00]
表示输出断开,其他数值非法。
<5>注意此命令一条只能下置一个开关量的状态。
设备响应:
设备地址
功能码
需下置的寄 需下置的寄
存器地址高 存器地址低
8位
8位
下置的数 据高 8 位
11H
05H
00H
ACH
FFH
下置的数 CRC 校验 CRC 校验 据低 8 位 的低 8 位 的高 8 位
modbus协议各表详细说明
1CH
…… T10
第十段曲线的运行时间
(3)曲线运行状态参数地址:16H,将此数据转换为二进制格式,共有 16 位(0~15),其中的 2、3
位用于曲线的 Stop/Run/Hold 控制
运行状态
Stop
Hold
Run
数据位数
2
1
1
0
3
1
0
0
2、04 指令参数地址
地址
00H
01H
02H
03H
04H
05H
Modbus 通讯协议说明
Modbus 通讯协议介绍
仪表可以采用 Modbus-RTU 模式进行上位机通讯,协议格式为:8 个数据位、1 个停止位、无校验
位,发送接收数据都是以十六进制格式进行。
1、发送数据格式:
发送字节
1
2
3
4
5
6
7
含义
地址
读/写
A1
A2
A3
A4
CRC
仪表地址 03H,04H,06H
仪表通讯波特率
/
dF
报警回差
05H
dL
输入数字滤波
17H
oPAd
PID 控制方式
06H
mAn
运行状态
18H
P
速率参数
07H
Loc
参数密码锁
19H
I
保持参数
08H
SET1~8
现场参数 1~8
/
dt
滞后时间参数
09H
CSC
热电偶冷端修正
81H
T
控制周期
0AH
SF
超限抑制参数
82H
基于MODBUS协议的上位机与PLC及智能仪表之间的通信实现方法
CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。下面是它的VC代码:
{
wCrc >>= 1;
wCrc ^= 0xA001;
}
else
{
wCrc >>= 1;
}
}
}
return wCrc;
}
六、上位机与智能仪表的通讯:
上位机的通讯程序可参照上位机与PLC的通讯程序进行设计,注意将上位机的串口地址设为其它的地址(例如2)。在此不作过多介绍。
多台智能仪表作为MODBUS从站的网络,每个从站必须设为唯一的从站地址,并设定好波特率。仪表要遵循MODBUS规约的通信帧结构对上位机的命令进行解析。非呼叫对象要能及时重新恢复等待接受状态。响应呼叫的仪表要解析命令并进行相应的功能处理,对非法的命令要能回报报错信息。
20读取通用参数(584L)显示扩展存储器文件中的数据信息
21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之
在这些功能码中较长使用的是1、2、3、4、5、6号功能码,使用它们即可实现对下位机的数字量和模拟量的读写操作。
4下表是MODBUS地址映射到S7-200的地址:
MODBUS地址S7-200地址MODBUS地址S7-200地址
三、电气接口:
脉搏血氧仪与上位机通讯协议v7.0(客户)
目录
1. 文档排版说明...................................................................................................................................... 2 2. 协议说明.............................................................................................................................................. 3
设备通知类型 (1byte)
通知信息(6byte)
备注
字节 2
字节 3 字节 4 字节 5 字节 6 字节 7 字节 8
存储数
存储数据状态(字节 3):
0x01
据 状 0x00 0x00 0x00 0x00 0x00 0x01 , 有 存 储 数 据 ;
态。
0x00,无存储数据。
预留
3.3.2.7. Command 数据段
数据段号(1)
用户索引号(1)+ 存储时间(0x07,0x12)
数据段号(1)
5 0~7 脉率
有效数据范围(0,254] bpm(小于等于 0,或大于 254,均作为 0xFF 处理,无效数据,显示 ---)
6 0~7 血氧饱和度
有效数据范围(0,100]%(小于等于 0 或大于 100, 作为 0x7F 处理,表示无效数据,显示 ---)
7 0~7 PI(灌注指数)低字节
存 储 数 据 0x15 用 户 索 引 号 ( 1byte ), 数 据 段 号 上行 9
三种协议:ASCII协议-Modbus协议和自由协议。
串口通讯提供RS232与RS485串行口,以实现与上位机的通讯。
有三种协议:ASCII协议,Modbus协议和自由协议。
ASCII协议1、协议:数据格式:7位数据位,偶校验,1位停止位7位数据位,奇校验,1位停止位7位数据位,无校验,2位停止位8位数据位,偶校验,1位停止位8位数据位,奇校验,1位停止位Z8位数据位,无校验,1位停止位(默认)8位数据位,无校验,2位停止位传输速率:4800、9600(默认)、19200、38400、57600、115200、230400bps节、指令字节和内容字节,即除帧头和帧尾以外的剩余字节,CR LF为回车符号3、应答格式详细的指令集说明如下列章节所述。
5.1 握手指令格式::001CONNECT (001为放大器地址,客户根据自己设定的地址输入。
)返回格式::001OK握手指令主要用于判断设备是否上电初始化、通信是否正常和是否在线状态等。
※握手失败建议检查以下问题:1.线路是否连接正确;2.核实串口号是否与放大器连接串口号一致(放大器串口号怎么看,右击我的电脑,打开管理,选择设备管理器,双击端口,然后看到USB serial port+串口号),;3.电脑上波特率设置是否和放大器一致;4.数据格式是否正确;5.ASC码协议时不要选用十六进制;6.串口是否打开。
5.2地址设置客户可通过2种途径设置地址,一种是通过拨码开关设定,最多可设定63种,具体设置方法已在1.2.4中说明,拨码开关需在通电前拨好位置,第二种通过软件设置,将SW1到SW6的拨码开关都上拨到”off”档。
拨码开关通电前拨才有效。
指令格式::001ADDR=002(使用前需解锁)返回格式::001OK5.3波特率设置放大器出厂时默认波特率为9600,修改为115200,输入格式如下指令格式::001BAUD=7,手动发送指令后将系统波特率选择到115200(使用前需解锁)返回格式::001OK(应答的数据是在变送器切换成新的波特率后返回的,如果上位机未及时切换到新的波特率,则无法收到数据)5.4数据帧格式放大器出厂时默认为5(8位数据位,无校验,1位停止位)选项格式,修改为4(8位数据位,奇校验,1位停止位)选项时指令格式::001FRAME=4,手动发送指令后将校验位、数据位、停止位在上位机上设置成4中内容(使用前需解锁)返回格式::001OK(应答的数据是在变送器切换成新的数据帧格式后返回的,如果上位机未及时切换到新的数据帧格式,则无法收到数据)5.5协议类型设置协议可通过拨码开关设置,参考1.2.4,也可通过软件设置指令格式::001PROCOTOL=1返回格式::001OKPROCOTOL=N,N可以是0(自由协议),1(Modbus 协议),2(ASC协议),协议类型切换后,数字帧格式将恢复成默认值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仪表与上位机ModbusRTU通讯协议
1、接口规格
为与PC机或PLC编控仪联机以集中监测或控制仪表,仪表提供RS232、RS485两种数字通讯接口,光电隔离,其中采用RS232通讯接口时上位机只能接一台仪表,三线连接,传输距离约15米;采用RS485通讯接口时上位机需配一只RS232-485的转换器,最多能接64台仪表,二线连接,传输距离约一千米。
2、通讯协议(适合本厂所有1~16路仪表)
(1)通讯波特率为1200、2400、4800、9600四档可调,数据格式为1个起始位、8个数据位,1个停止位,无校验位。
(2)上位机读一个参数(2字节)
仪表编号功能代码(03)参数首地址读取的字数(0001)CRC16
1byte1byte2byte2byte2byte
(3)仪表返回(2字节):
仪表编号功能代码(03)读取的字节数(02)参数值CRC16
1byte1byte1byte2byte2byte
(4)上位机写一个参数(2字节)及仪表返回(2字节)(帧格式相同):
仪表编号功能代码(6)参数首地址参数值CRC16
1byte1byte2byte2byte2byte
(5)参数代码及地址见仪表说明书
通道显示值地址:
1通道:1001H2通道:1002H3通道:1003H4通道:1004H
5通道:1005H6通道:1006H7通道:1007H8通道:1008H
9通道:1009H10通道:100AH11通道:100BH12通道:100CH
13通道:100DH14通道:100EH15通道:100FH16通道:1010H
(6)仪表主控输出状态地址:
1通道:1101H2通道:1102H3通道:1103H4通道:1104H
5通道:1105H6通道:1106H7通道:1107H8通道:1108H
9通道:1109H10通道:110AH11通道:110BH12通道:110CH
13通道:110DH14通道:110EH15通道:110FH16通道:1110H
(7)仪表报警输出状态地址:
1200H
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0 AL16AL15AL14AL13AL12AL11AL10AL9AL8AL7AL6AL5AL4AL3AL2AL1
3.1).上位机对仪表写数据的程序部分应按仪表的规格加入参数限幅功能,以防超范围的数
据写入仪表,使其不能正常工作,各参数代码及范围见《仪表说明书》
2).上位机发读或写指令的间隔时间应大于或等于0.2秒,太短仪表可能来不及应答
3).仪表未发送小数点信息,编上位机程序时应根据需要设置
4).测量值为32767(7FFFH)表示HH(超上量程),为32512(7F00H)表示LL(超下量程)
5).除了CRC校验字节低位在前外,其它所有双字节均高位在前,。