版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、合 同 模 版注意事项为了维护您的合法权益,确保交易的安全,请在使用本合同范本前仔细阅读下列注意事项:1、本合同为根据相关法律规定制定的通用性示范文本;2、如有必要,请根据具体的交易背景、交易目的等适当修改、调整本合同范本的相关条款;modbus rtu常见问题汇总2013年04月22日 10:57注:本资料由网络搜索,答案仅供参考(持续更新中)点击查看modbus rtu产品详情1、modbus rtu通讯协议与modbus通讯协议有什么区别? modbus协议是应用层报文传输协议(osi模型第7层),它定义了一个与通信层无关的协议数据单元(pdu),即pdu=功能码+数据域。 modbus
2、协议能够应用在不同类型的总线或网络。对应不同的总线或网络,modbus协议引入一些附加域映射成应用数据单元(adu),即adu=附加域+pdu。目前,modbus有下列三种通信方式: 1.以太网,对应的通信模式是modbus tcp。 2.异步串行传输(各种介质如有线rs-232-/422/485/;光纤、无线等),对应的通信模式是modbus rtu或modbus ascii。 3.高速令牌传递网络,对应的通信模式是modbus plus。2、关于modbus rtu通讯协议的提问? modbus 主要由站地址(一个字节)+功能码(一个字节)+首地址(两个字节)+访问字数(两个字节)+校验码
3、(crc16或lrc两个字节)总共8个字节组成。其实vb中编程很简单从组建添加mscomm组建就行了,难的是校验,3、modbus、rtu、modbus rtu分别是什么? modbus协议是工控行业的标准协议,前身为莫迪康所写,现已被施奈德收购 而modbus分为两种协议:即串口协议(modbus rtu)和网口协议(modbus tcp)协议,一般的工控机只支持rs232或者rs485的串口模式,这个时候工控机的协议栈里就只有modbusrtu协议,当他从串口接收到数据时,会直接根据报文中的数据进行控制,如果需要用modbustcp协议进行传输,则需要使用带有网口的plc具体的帧格式如下m
4、odbus rtu 地址域 功能码 数据 差错校验modbus tcp 目的地址 协议id 长度 单元号 功能码 数据简单的说 tcp是由rtu加工而来的而rtu则是另外一种概念,不包含在modbus协议内是工控行业对监控设备的简称。4、关于modbus_rtu协议主机发送的命令的一些问题 01 读保持线圈状态(read coil status) 02 读输入线圈状态(read input status) 03 读保持寄存器(read holding register) 04 读输入寄存器(read input register) 05 写单个线圈(force single coil) 06
5、写单个寄存器(preset single register) 15 写多个线圈(force multiple coils) 16 写多个寄存器(preset multiple registers)这些都是什么意思答:01 读取逻辑线圈组状态02 读取离散量线圈组状态03 读取一个或多个保持寄存器的二进制值04 读取一个或多个输入寄存器的二进制值05 改变逻辑线圈状态06 改变单个寄存器的二进制值15 改变多个寄存器的二进制值16 指定多个操持寄存器的二进制值5、opc 转modbus rtu 方式 我现在有一个opc服务器,里面很多tag,tag是ab里出来的,怎么将tag连到modbus?
6、profibus、fielbus、modbus、cc-link等等是各中plc硬件支持的通讯协议,这个是各厂商的硬件属性一样只是现在计算机组态软件都支持很多种协议的plc你理解反了 profibus、fielbus、modbus、cc-link这些协议,是一种通讯协议,一般不需要你去编程,就好象你使用计算机,你不需要编写ip协议一样,只是要遵循它 遵循的意思就是,你必须按照该厂家所支持的协议在plc或者dcs硬件组态的时候按照该通讯协议设置硬件其实这个很简单 这里简单指的是,你学编程,重点是编写执行控制的动作的程序,硬件通讯协议不需要你自己动手写。6、什么是modbus rtu master?
7、就是选rtu模式,因为modbus分为ascii模式和rtu模式,maser就是设置为主站,一般为plc端,变频器设为从站,还要注意主站和从站地址的设置。7、modbus rtu 为什么没有开始和结束标记? 由于modbus rtu帧的每个字节是16进制数,数值范围在00ff,若像modbus ascii那样用02、03表示开始和结束标记,则与数值2、3发生冲突,无法判断其是标记还是数值,无法数据解包。8、modbus tcp 到 rtu的转换?请仔细查看帧格式,modbus rtu 地址域 功能码 数据 差错校验modbus tcp 目的地址 协议id 长度 单元号 功能码 数据写一个tcp
8、转rtu的程序放到设备里做modbus网桥即可9、modbus rtu通讯线被烧? 用万用表量一下出来的通讯线,电压不超过5v应该没问题,一般不会烧东西,接的时候区分正和负。很多产品b是正,量一下看看。10、触摸屏modbus rtu怎么设置? 一般是通过宏指令自己编程实现,当然也有支持rtu的,在通讯类型菜单11、modbus rtu协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数?浮点数保存的字节格式如下:地址 +0 +1 +2 +3内容 seee eeee emmm mmmm mmmm mmmm mmmm mmmm这里s 代表符号位,1是负,0是正e 偏移127的幂,
9、二进制阶码=(eeeeeeee)-127。m 24位的尾数保存在23位中,只存储23位,最高位固定为1。此方法用最较少的位数实现了较高的有效位数,提高了精度。零是一个特定值,幂是0 尾数也是0。浮点数-12.5作为一个十六进制数0xc1480000保存在存储区中,这个值如下:地址 +0 +1 +2 +3内容0xc1 0x48 0x00 0x00浮点数和十六进制等效保存值之间的转换相当简单。下面的例子说明上面的值-12.5如何转换。浮点保存值不是一个直接的格式,要转换为一个浮点数,位必须按上面的浮点数保存格式表所列的那样分开,例如:地址 +0 +1 +2 +3格式 seee eeee emmm
10、mmmm mmmm mmmm mmmm mmmm二进制 11000001 01001000 00000000 00000000十六进制 c1 48 00 00从这个例子可以得到下面的信息: 符号位是1 表示一个负数 幂是二进制10000010或十进制130,130减去127是3,就是实际的幂。 尾数是后面的二进制数10010000000000000000000在尾数的左边有一个省略的小数点和1,这个1在浮点数的保存中经常省略,加上一个1和小数点到尾数的开头,得到尾数值如下:1.10010000000000000000000接着,根据指数调整尾数.一个负的指数向左移动小数点.一个正的指数向右移动
11、小数点.因为指数是3,尾数调整如下:1100.10000000000000000000结果是一个二进制浮点数,小数点左边的二进制数代表所处位置的2的幂,例如:1100表示(1*23)+(1*22)+(0*21)+(0*20)=12。小数点的右边也代表所处位置的2的幂,只是幂是负的。例如:.100.表示(1*2(-1)+(0*2(-2)+(0*2(-2).=0.5。这些值的和是12.5。因为设置的符号位表示这数是负的,因此十六进制值0xc1480000表示-12.5。12、rs-485的设备,遵守modbus-rtu协议。怎样用的电脑读取信息? 用电脑的串口,接个485转换器,接到设备的485接
12、口,再找个串口软件,根据设备资料上的寄存器地址发送modbus报文,modbus报文通过串口软件发送啊,报文格式:01 03 00 00 00 01 84 0a 读寄存器命令。13、vb modbus给modscan32 rtu发送数据应该怎么写? 确定两个软件哪个是主,哪个是从。然后再确定通讯协议是rtu、ascii还是tcp。如果是tcp,就用socket控件。rtuascii就用com控件。然后给对应的口按照协议收发数并解析就可以了。14、modbus rtu通讯协议与modbus通讯协议有什么区别?modbus 协议包括了modbus rtu15、modbus rtu通讯协议 如何判断
13、超时? 设置一个标志量用来表示是否超时;再用一个定时器,定时时长为发送3.5个字符的时间(当然为了保险时间可以长一些);在定时器中置超时标志;在串口中断中每收到一个字节时定时器清零;主程序中根据超时标志做相应处理。16、如何理解modbus协议rtu模式中的1.5和3.5字符间隔? 发送两帧数据之间要有一定的时间间隔,以保证接收方uart能够区分。这个时间间隔在modbus rtu模式中要求是1.5和3.5字符间隔,也即是传输1.5和3.5个字符的时间,它与设置的通信参数有关,计算为:若串口通信参数设置为(注:开始位固定为1):数据位8,奇偶校验位1,停止位1,波特率9600bps,则传输一个
14、字符(即1个字节)的时间为:(1+8+1+1)/9600=0.00114583s=1.1454583ms1.5字符间隔=1.5x1.1454583ms=1.71818745ms3.5字符间隔=3.5x1.1454583ms=4.00910405ms17、modbus rtu 测试软件?推荐:modscan3218、modbusrtu协议,上位机与仪表通信,读写数据都正确,为什么仪表掉电,写入的参数又丢失了?怎么保存?两种可能:如果在仪表上设置参数掉电后都保存不了的话,基本可以确定是仪表问题;有些仪表写入参数后还需要向固定的寄存器写入确认参数,为了保证写入参数真确,需要检查仪表通信部分说明书。m
15、odbus结论总结2012年04月20日 10:22 modbus协议最初由modicon公司开发出来,现在modbus已经是工业领域全球最流行的协议。支持传统的rs-232、rs-422、rs-485和以太网设备。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。当在网络上通信时,modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用modbus协议发送给询问方。 modbus协议包括ascii、rtu、tcp等,并没有规定物理层。协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行
16、通信的。标准的modicon控制器使用rs232c实现串行的modbus。modbus的ascii、rtu协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用maser/slave方式,master端发出数据请求消息,slave端接收到正确消息后就可以 发送数据到master端以响应请求;master端也可以直接发消息修改slave端的数据,实现双向读写。 modbus协议需要对数据进行校验,另外,modbus采用主从方式定时收发数据,在实际使用中如果某slave站点断开后(如故障或关机),master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,modbus协议的可靠性较好。
17、ascii协议和rtu协议进行的比较:协议开始标记结束标记校验传输效率程序处理ascii:(冒号)cr,lflrc低直观,简单,易调试rtu无无crc高不直观,稍复杂 lrc校验:lrc域是一个包含一个8位二进制值的字节。lrc值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算lrc,并将它和接收到消息中lrc域中的值比较,如果两值不等,说明有错误。lrc校验比较简单,它在ascii协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。 crc校验:crc域是两个字节,包含一16位的二进制值。它由传输设备计算后加
18、入到消息中。接收设备重新计算收到消息的crc,并与接收到的crc域中的值比较,如果两值不同,则有误。 1、读可读写数字量寄存器(线圈状态):计算机发送命令:设备地址 命令号01 起始寄存器地址高8位 低8位 读取的寄存器数高8位 低8位 crc校验的低8位 crc校验的高8位例:100100130025crc低crc高意义如下:设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。例子中为想和16号(十进制的16是十六进制的10)通讯。命令号01:读取数字量的命令号固定为01。起始地址高8位、低8位:表示想读取的开关量的起始地址(起始地址为0)。比如例子中的起始地
19、址为19。寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。例子中为37个开关量。crc校验:是从开头一直校验到此之前。在此协议的最后再作介绍。此处需要注意,crc校验在命令中的高低字节的顺序和其他的相反。设备响应:设备地址命令号01返回的字节个数数据1数据2.数据ncrc校验的低8位crc校验的高8位例:100105cd6bb20e1bcrc低crc高意义如下:设备地址和命令号和上面的相同。返回的字节个数:表示数据的字节个数,也就是数据1,2.n中的n的值。数据1.n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。比如例子
20、中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合.如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。crc校验同上。2、读只可读数字量寄存器(输入状态):和读取线圈状态类似,只是第二个字节的命令号不再是1而是2。3、写数字量(线圈状态):计算机发送命令:设备地址命令号05需下置的寄存器地址高8位低8位下置的数据高8位低8位crc校验的低8位crc校验的高8位例:100500acff00crc低crc高意义如下:设备地址和上面的相同。命令号:写数字量的命令号固定为05。需下置的寄存器地址高8位,低8位:表明了需
21、要下置的开关的地址。下置的数据高8位,低8位:表明需要下置的开关量的状态。例子中为把该开关闭合。注意,此处只可以是ff00表示闭合0000表示断开,其他数值非法。注意此命令一条只能下置一个开关量的状态。设备响应:如果成功把计算机发送的命令原样返回,否则不响应。4、读可读写模拟量寄存器(保持寄存器):计算机发送命令:设备地址命令号03起始寄存器地址高8位低8位读取的寄存器数高8位低8位crc校验的低8位crc校验的高8位例:1003006b0003crc低crc高意义如下:设备地址和上面的相同。命令号:读模拟量的命令号固定为03。起始地址高8位、低8位:表示想读取的模拟量的起始地址(起始地址为0
22、)。比如例子中的起始地址为107。寄存器数高8位、低8位:表示从起始地址开始读多少个模拟量。例子中为3个模拟量。注意,在返回的信息中一个模拟量需要返回两个字节。设备响应:设备地址命令号03返回的字节个数数据1数据2.数据ncrc校验的低8位crc校验的高8位例:100306022b00000064crc低crc高意义如下:设备地址和命令号和上面的相同。返回的字节个数:表示数据的字节个数,也就是数据1,2.n中的n的值。例子中返回了3个模拟量的数据,因为一个模拟量需要2个字节所以共6个字节。数据1.n:其中数据1数据2分别是第1个模拟量的高8位和低8位,数据3数据4是第2个模拟量的高8位和低8位
23、,以此类推。例子中返回的值分别是555,0,100。crc校验同上。5、读只可读模拟量寄存器(输入寄存器):和读取保存寄存器类似,只是第二个字节的命令号不再是2而是4。6、写单个模拟量寄存器(保持寄存器):计算机发送命令:设备地址命令号06需下置的寄存器地址高8位低8位下置的数据高8位低8位crc校验的低8位crc校验的高8位例:100600010003crc低crc高意义如下:设备地址和上面的相同。命令号:写模拟量的命令号固定为06。需下置的寄存器地址高8位,低8位:表明了需要下置的模拟量寄存器的地址。下置的数据高8位,低8位:表明需要下置的模拟量数据。比如例子中就把1号寄存器的值设为3。注
24、意此命令一条只能下置一个模拟量的状态。设备响应:如果成功把计算机发送的命令原样返回,否则不响应。modbus通讯协议与r485通讯协议的区别?可以通用吗?strura3级被浏览269次2013.07.12检举longtech采纳率:54%4级2013.07.13rs485是接线口 modbus是协议。他是建立在rs485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开modbus 前半部分说的基本正确,(rs485是接线口)与(485也离不开modbus) 回答错误 rs485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信书籍看看,描述
25、有很多特点; 485也离不开modbus,理解也狭隘了,用485通信的规约很多,modbus只是其中比较常用的有一种规约,如iec103,cdt等全是rs485通信方式,还有一点modbus不完全在rs485通信方式,还有tcp方式,modbus plus有详细介绍,很简单modbus通讯协议 通讯格式及模式区别的疑问lnn00323级被浏览20次2013.11.21检举资料上都是说 :“ascii 模式:一个信息中的每8位字节作为2个ascii字符传输的,这种模式的主要优点是允许字符之间的时间间隔长达is,也不会出现错误。 rtu模式:,信息中的每8位字节分成2个4位16进制的字符,该模式的
26、主要优点是在相同波特率下其传输的字符的密度高于ascii模式,每个信息必须连续传输。“ 能否各据一个实例。 另外,两种模式传输的一个字节的格式:“1起始位 ,7位数据,奇/偶校验时1位;无奇偶校验时0位,(lrc)1位 ,带校验1停止位;无校验2止位” 总长度超过了一个字节8位的长度,是不是数据位是软件给定,其他是在传输中由硬件根据设定自动产生。qq124914603采纳率:51%4级2013.11.21回答第一个问题: ascii协议的起始和结束有固定字符表示,比如收到:就认为报文开始,收到回车就认为报文结束。其报文均为ascii码可见字符,因此较16进制字节使用效率较低。 rtu协议使用数据传输的间隔
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《电动汽车再看回首》课件
- 小学六年级科学课件教科版第2课 怎样放得更大
- 《颈部包块临床诊断》课件
- 《法国教育中心》课件
- 《科学决策》课件
- 《法制知识竞赛》课件
- 2024年湖南省常德市公开招聘警务辅助人员(辅警)笔试高频必刷题试卷含答案
- 2021年陕西省安康市公开招聘警务辅助人员(辅警)笔试经典自测卷(2)含答案
- 2023年山东省莱芜市公开招聘警务辅助人员(辅警)笔试自考练习卷一含答案
- 2023年安徽省池州市公开招聘警务辅助人员(辅警)笔试必刷测试卷(2)含答案
- 2024年度工矿企业设备维修与保养合同3篇
- 食品生产小作坊培训
- 2024年度电商平台商家入驻协议
- 河北省石家庄市2023-2024学年六年级上学期期末科学试卷(含答案)
- 幕墙施工重点难点及解决方案
- 年度成本管控的实施方案
- 2024年中国板钉式空气预热器市场调查研究报告
- 人教版八年级上册数学期末考试试卷附答案
- DB1331T 041-2023 雄安新区绿色街区规划设计标准
- 北京市海淀区2022届高三上学期期末考试政治试题 含答案
- 初中七年级主题班会:如何正确对待自己的错误(课件)
评论
0/150
提交评论