仪表与上位机ModBus通讯协议
- 格式:pdf
- 大小:71.77 KB
- 文档页数:1
十三、串行通讯接口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”时。
摘要随着微电子技术和计算机术的进步,可编程控制器以其可靠性高、抗干扰强、开发周期短,已经成为一种较为普及的、适应多种应用环境的工业控制器。
现已从最初的简单顺序控制、逻辑控制发展到可进行模拟量控制、位置控制,特别是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通信协议―――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及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通讯协议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校验字节低位在前外,其它所有双字节均高位在前.。
迈特仪表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软件,界面如上图。
上位机通讯协议
采用主从应答式通讯方式,采用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系列智能精密数显温控仪(以下称下位机或仪表)可配置通讯接口与上位机进行通讯,接口电平符合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)低字 节在前,高字节在后。
仪表与上位机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校验字节低位在前外,其它所有双字节均高位在前,。