bu

阅读 / 问答 / 标签

we persuaded him not to do that ,but in vain这句话哪里有错啊

可以将persuaded换成suggested,用persuaded表示已经说服了,而suggested则表示一个建议,因此后面可以接in vain

windbg busy怎么解决

一、DMP文件获取设置 (1)在运行窗口中输入 drwtsn32 -i ,并且点击确定 (2)在(1)确定后弹出如下对话框(3)在(2)弹出的确定框后点击确定按钮完成,将Dr.Watson设置为默认应用程序调试程序。 Dr.Watson系统自带的程序。 (4)再次在运行窗口中输入:drwtsn32,如下图:(5)点击确定按钮,在弹出的对话框中按照下列方式设置(6) 点击确定按钮完成DMP文件设置。二、关闭Dr.Watson方法(1)打开注册表(2)在注册表中进入主键[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionAeDebug],然后将“AUTO”键值设置为0如下图:

win7下windbg开启local kernel debug失败

******************************************************************************** ** Bugcheck Analysis ** ********************************************************************************TARGET_MDL_TOO_SMALL (40)A driver has called the IoBuildPartialMdl() function and passed it an MDLto map part of a source MDL, but the target MDL is not large enough to mapthe entire range of addresses requested. This is a driver bug. The sourceand target MDLs, as well as the address range length to be mapped are thearguments to the IoBuildPartialMdl() function, i.e.;IoBuildPartialMdl(IN PMDL SourceMdl,IN OUT PMDL TargetMdl,IN PVOID VirtualAddress,IN ULONG Length)Arguments:Arg1: 86448230Arg2: 87c55f18Arg3: 864dce44Arg4: 00000000Debugging Details:------------------GetContextState failed, 0xD0000147Unable to read selector for PCR for processor 1DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULTBUGCHECK_STR: 0x40CURRENT_IRQL: 2LAST_CONTROL_TRANSFER: from 00000000 to 00000000STACK_TEXT: 00000000 00000000 00000000 00000000 00000000 0x0STACK_COMMAND: kbSYMBOL_NAME: ANALYSIS_INCONCLUSIVEFOLLOWUP_NAME: MachineOwnerMODULE_NAME: Unknown_ModuleIMAGE_NAME: Unknown_ImageDEBUG_FLR_IMAGE_TIMESTAMP: 0BUCKET_ID: INVALID_KERNEL_CONTEXTFollowup: MachineOwner---------你就是大神了,可能问老神。

win7(32位 专业版)加载了一个有bug的PCIE驱动,导致蓝屏了,用windbg打开dmp文件后,结果什么都没有

更多知识尽在华夏联盟开机马上按F8不动到高级选项出现在松手,选“最近一次的正确配置”回车修复,还不行按F8进入安全模式还原一下系统或重装系统(如果重装也是蓝屏,建议还是检修一下去)。出现这样的问题是软件冲突、驱动不合适、系统问题引起的,可以在安全模式还原一下系统,还是不行重新安装操作系统,不要安装软件、补丁、驱动等,看看开机还有问题吗?如果没有在逐步的安装驱动、补丁、软件,找出不合适的东西就不要安装了。请将你在蓝屏前电脑的表现,和你操作说的详细些。下载什么软件、补丁,升级了什么硬件了吗?详细的说说蓝屏前你做了什么,可能就是这些操作引起的蓝屏的发生,有问题请追问我(我跟据你提供的信息重新回答你)。1、蓝屏前【下载了什么软件、补丁、插件、驱动】等全部卸载试试,如果是驱动不合适,请下载驱动精灵升级驱动。2、如果电脑有木马,请下载Win清理助手、金山卫士、360急救箱查杀木马。3、如果不经常出现蓝屏关机在开机就可以了,还是不行,请开机按F8不动到高级选项出现在松手,选“最近一次的正确配置”回车修复,在不行还原一下系统或重装系统。4、如果是硬件问题引起的,或超频了硬件将BIOS电池放电(恢复BIOS出厂默认值)建议插拔一下显卡、内存等硬件,清理一下电脑里的卫生,并且擦亮显卡、内存的金手指(在测试一下硬件的温度是否过高)。5、电脑在光驱读盘时被非正常打开可以导致蓝屏,一般将光盘重新放入光驱即可。电脑在带电插拔某设备时可以导致蓝屏,重启一下电脑修复或按上面第三项修复。6、还有就是硬盘是否有问题,用系统自带的功能修复一下或下载软件修复硬盘坏道,或格式化硬盘重新分区重装系统,还是不行就需要换硬盘了。7、最近升级了硬件,这些硬件与系统不兼容,比如:内存、显卡等,请更换硬件试试(到升级硬件的地方更换合适为止)。8、如果是硬件问题引起的,自己又找不出问题所在,建议到维修那里检修一下。9、玩游戏蓝屏,一般是游戏本身的问题,电脑的配置与游戏有冲突,显卡、显卡驱动不合适,CPU、显卡的温度过高,内存太小等引起的,另外就是在玩游戏、看视频时,同时在干别的操作最容易蓝屏,因此在玩游戏、看视频时不要在操作别的东西了(看视频蓝屏问题同上)。

用英文分点,简单说明一下bussinesstetter跟personalletter的不同点

分点论述,下面逐点对应的(以下只是对信的内容作区别,信封上的区别没有写):{Personal letter私人书信}1.给好友、熟人的信,可以不写地址,只写日期。有的信笺上已经印好地址,就不必再写。2.称呼是对收信人的尊称语,通常写在信纸的左边,大约在信头下面半英寸左右的地方。在私人书信中,除了Mr.、Mrs.、Miss等称号外,熟人和亲友之间通常以教名(或昵称)相称。3.信的正文应该在称呼下面一行开始,信纸的左边要留有一英寸左右的空白。私人写信话题广泛,可不拘形式,语言随意。私人书信中的结尾套语通常是几个常用的词或词组,接在信的正文下面。结尾的第一个词应该大写,最后一个词的后面有逗号。不同的结尾套语将取决于发信人对收信人的亲密程度。4.在结尾下面空开一点,略偏右的地方签上姓名。如果是打字的,习惯上仍需亲笔签名。私人书信一般只签教名。当然,不太熟悉的人之间也有签全名的。在私人书信中,写信人为了表示对收信人的亲密和尊重,一般不应将自己的职务或职衔写上。{Bussiness letter商业信函}1.收信人的地址要写得详细具体、准确工整。注意不要只写单位名称而不写详细地址,也不要简化单位名称,以免误投。 2.书写收信单位名称时,应特别尊重对方的习惯,不能随意增删公司名称前的冠词The,也不能随意改用繁写及缩写,如Company与Co.之间不能互换,否则会被认为是不礼貌的行为。如果收信人是个人,就应在收信人姓名之前加称谓,如Mr.(先生),Mrs.(夫人),Miss(小姐),Hon(用于称呼市长、部长、大使等),Pres.(总经理、会长、总统等),Prof.(教授)等等。3.信的正文一般包括了: a.向收信人问候; b.写信的事由,例如何时收到对方的来信,表示谢意,对于来信中提到的问题答复等等; c.该信要进行的业务联系,如询问有关事宜,回答对方提出的问题,阐明自己的想法或看法,向对方提出要求等。如果既要向对方询问,又要回答对方的询问,则先答后问,以示尊重; d.提出进一步联系的希望、方式和要求。 e.结尾往往用简单的一两句话,写明希望对方答复的要求。如“特此函达,即希函复。”同时写表示祝愿或致敬的话,如“此致敬礼”、“敬祝健康”等。祝语一般分为两行书写,“此致”、“敬祝”可紧随正文,也可和正文空开。“敬礼”、“健康”则转行顶格书写。4.署名即写信人签名,通常写在结尾后另起一行(或空一、二行)的偏右下方位置。以单位名义发出的商业信函,署名时可写单位名称或单位内具体部门名称,也可同时署写信人的姓名。重要的商业信函,为郑重起见,也可加盖公章。

MODBUS通信协议是什么标准协议?

ModBus协议是应用层报文传输协议。1、Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。2、此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。3、当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

请问一下modbus主要适用与哪些控制场合?modbus ASCII,modbus RTU和modbus TCP都有什么区别?

modbus是专为工业开发的协议,所以主要用于工业场合,当然也可以用于基础设施,如:住宅、商业中心、机场、水处理、电厂等。modbus RTU协议紧凑,可以使用RS232/RS485、无线、等介质,用于速度要求不高的场合,如:楼宇、工业现场、管道输送、远程泵站等;modbusASCII协议比较宽松,时序要求不高,可以用于条形码阅读器、打印机、仪器仪表读取等;modbusTCP速度很高,可以用于实时控制、时钟对时、全局数据、发送邮件、故障设备替换、网络管理、用户网页制定和浏览、固件更新等多种服务。

什么是Modbus网关?Modbus有什么优势

Modbus网关相当于一个网络集线器通信协议转换设备,下接传感器、仪表等数据设备,将下位设备的数据采集到网关,通过Modbus Tcp协议规约将数据传输到云平台。 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。1、标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,佰马科技全系列产品均支持Modbus协议。2、Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。佰马科技全系类产品均支持Modbus协议,BMG800边缘计算网关,兼容多种协议,如MQTT、OPC、MODBUS(MODBUS TCP、MODBUS RTU)、TCP、UDP等主流通信协议,提供模拟量/数字量等数据采集、视频/图像/语音采集、本地存储、安全通信管理、全网通/5G/4G/GPS/WiFi等无线通信、公有云&私有云对接、对设备实现本地与远程联动控制等功能。

MODBUS 的小问题

问题1:在实际使用中要将不同参数(包括数据位 停止位 起始位 波特率)的设备连接在不同的通讯总线中。问题2:通常485总线都是手拉手连接,不要接成星形的,因为每个结点的电位差不同,会影响通讯质量,另外问题1中已提到将不同参数的设备接到一个485通讯总线,虽然可以通讯,也会影响通讯质量。

MODBUS协议有哪几种

Modbus有下列三种通信方式以太网,对应的通信模式是MODBUS TCP。异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。高速令牌传递网络,对应的通信模式是Modbus PLUS。ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。

profibus和modbus的区别

* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示! profibus是现场总线的通讯协议,西门子家的,用于分布式i/o,也就是设备之间的通讯,最后组态到工控机中。而modbus只是电子器件中的一种通讯协议,典型的就是plc与变频器通讯,它的范围比profibus小很多。详见:https://wenku.b***.com/view/9e5023ec19e8b8f67c1cb9db.html

modbus TCP故障代码的返回格式是什么,是TCP,不是RTU

格式还是modbusTCP是物理连接方式,就是以太网

modbus如何使用以及在什么场合下使用?

modbus是一种通讯方式,多用在工业设备上,如一个工业控制系统中,电脑为主站,PLC、变频器等设备为从站。

Modbus地址为什么会偏移

Modbus地址会偏移是为了给数据的传输提供准确的地址参数。通常Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址,ModbusMaster协议库把标准的Modbus地址映射为所谓Modbus功能号读写从站的数据。Modbus地址偏移特点Modbus数据帧都是16进制的,而组态王中的寄存器地址是10进制的,因此需要对数据帧中的地址位做一个从16进制到10进制的转换,比如地址1004对应的就4100,前面再加上功能码对应的寄存器,从而构成变量的寄存器地址。其中03E8是数据转换成10进制后为1000,即读得该设备的心跳时间为1000,0004对应的10进制就是4在组态王中还需要做一个地址偏移,即寄存器地址需要加1就是0005,前面再加上功能码对应的寄存器4即40005,因此在组态王中的寄存器地址就是40005。

modbus和485的区别

modbus和485的区别是RS485是接线口,modbus是协议。他是建立在RS485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开MODBUS,前半部分说的基本正确,RS485是接线口与485也离不开MODBUS回答错误。RS485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信书籍看看,描述有很多特点。Modbus具有以下几个特点:1、标准、开放:用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口:如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

modbus缺点

modbus是一种通用工业数据通讯协议,应用面很广。如果非要说说MODBUS的缺点,那就是大数据量通讯效率很低。每次MODBUS读写,最多读写127个寄存器,如果上万寄存器全部读写一遍,需要将近一百次读写才能完成,按照TCP百兆以太连接计算,每次读写耗时0.2秒,需要20秒左右才能读完,如果是两台电脑直接传送同等的大数据包,用不了一秒就能完成。再有就是数据加密,MODBUS不支持数据加密传送,如果需要加密,需要在MODBUS数据包外部加壳,完成数据加密。

标准modbus通讯协议有哪些?

modbus-rtu是modbus协议的一部分,还有一部分是modbus-ascⅱ。这是这种通讯方式,适合不同的场合,前者适合传输数据,后者更适合传输字符。

Modbus地址是5位还是6位?3区和4区哪个用来读模拟量输入?

一、Modbus地址其实指的是各类寄存器的设备编号,为5位十进制数,各区的编号从1到9999,即: ● 00001 ~ 09999 :离散量输出继电器编号 ● 10001 ~ 19999 :离散量输入继电器编号 ● 30001 ~ 39999 :模拟量输入寄存器编号 ● 40001 ~ 49999 :保持型输出寄存器编号 二、3区是读模拟量输入寄存器,4区是用于写数据到输出寄存器。三、Modbus地址虽然是5位十进制数,但由于功能码的定向作用,如功能码01/05/15就只能操作0X区,不会操作其他区,所以编程时只需要后4位数,而且要把它换成16进制地址(地址从0开始),即:通讯帧里的设备地址=(4位十进制设备编号-1)转换成16进制如用功能码02读取1区中编号为10012的输入继电器的状态,通讯帧里的设备地址就要转换成:0012-1=(0011)十进制 =(000B)十六进制

profibus-DP和modbus的区别

一、主体不同1、modbus:是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。2、rofibus-DP:具有高速低成本,用于设备级控制系统与分散式I/O的通信协议。与PROFIBUS-PA、PROFIBUS-FMS共同组成了PROFIBUS标准。二、协议特点不同1、modbus:在一个数据链路上只能处理247个地址,这种情况限制了可以连接到主控站点的设备数量。只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。2、rofibus-DP:用于现场设备级的高速数据传送,主站周期地读取从站的输入信息并周期地向从站发送输出信息。总线循环时间必须要比主站(PLC)程序循环时间短。除周期性用户数据传输外,PROFIBUS-DP还提供智能化设备所需的非周期性通信以进行组态、诊断和报警处理。三、传输特点不同1、modbus:协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求2、rofibus-DP:协议明确规定了用户数据怎样在总线各站之间传递,但用户数据的含义是在PROFIBUS行规中具体说明的。PROFIBUS主站之间采用令牌传送方式,主站与从站之间采用主从方式。令牌传递程序保证每个主站在一个确切规定的时间内得到总线存取权。参考资料来源:百度百科-Modbus通讯协议参考资料来源:百度百科-PROFIBUS-DP

请教modbus总线的通讯距离

modbus 属于 协议,软件层面的总线 应该是说 RS485 之类的,属于硬件485走双绞线的通讯距离 和速率有关系,通常 9600 可以达 1200米当然,可以转换为光纤传输,数千米

什么是MODBUS,有什么用处,怎么样应用.原理是什么?

什么是Modbus?作者:ICPDAS何谓Modbus协议?Modbus是MODICON公司于1979年开发的一种通讯协议。它是一种在工业领域被广为应用的真正开放、标准的网络通讯协议。SCADA和HMI通过Modbus协议可以很容易将带串行通讯口的设备集成在一起。 什么是Modbus/TCP协议?Modbus/TCP协议是不同于Modbus的另一种协议,产生于1999年。它允许因特网接入以太网设备。 什么软件支持Modbus和Modbus/TCP协议?大部分SCADA(SupervisorControlAndDataAcuisition)和HMI软件支持Modbus协议。例如:组态王、MCGS、Citect、ICONICS、iFIX、InduSoft、Intouch、EntivityStudio、EntivityLive、EntivityVLC、TraceMode、Wizcon、Wonderware...等 为何使用Modbus和Modbus/TCP协议?1.公开的协议,免收许可费用2.被SCADA和HMI软件广为支持3.简单易用4.易于集成不同的设备5.开发成本低6.广泛的知识资源支持 

MODBUS规定的内容,具体是什么意思

可以搜 百度文库有不少文档MODBUS 协议有几类的

modbus怎么读

莫得巴斯

modbus功能码详解

modbus功能码详解:Modbus功能码是Modbus消息帧(报文)的重要组成部分,是Modubs协议中通信事务处理的基础,代表消息将要执行的动作。简而言之,Modbus功能码占用一个字节,取值范围是1127,之所以127以上不能使用,是因为Modbus规定出现异常时,功能码+0x80(十进制128)代替异常状态,因此129(1+128)255(127+128)的取值代表异常码。读取从设备的线圈或离散量输出的状态,即各DO的ON/OFF状态。消息帧中指定了需读取的线圈起始地址和线圈数目。需要注意的一点是,在Modbus协议规定的PDU中,规定所有线圈或寄存器地址从0开始计算。

modbus协议和485协议有什么区别?

modbus和485的区别是RS485是接线口,modbus是协议。他是建立在RS485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开MODBUS,前半部分说的基本正确,RS485是接线口与485也离不开MODBUS回答错误。RS485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信书籍看看,描述有很多特点。Modbus具有以下几个特点:1、标准、开放:用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口:如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

我想问一下can和modbus区别是什么呢?

感谢题主的邀请,我来说下我的看法:can是一种总线类型,它拥有自己的总线协议,而MODBUS则是一种专门的协议类型,它们对比的话是这样的:一般来说,can协议规定了应用层、数据链路层和物理层。其价格比以太网低,但是比UART等RS232或者485要高。但是,实时性在10ms,传输距离远。这一点比别的多数网络都要好。不但用在汽车,工控、电梯等等各方面都有应用。Modbus协议建立在串行接口之上,规定了应用层。在PLC等工控领域有比较广泛的应用。Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使Modbus协议作为他们之间的通讯标准。为了能够更好的利用好CAN和MODBUS,工程师们有时候会想办法让这两种数据相互转化,由此便诞生了CAN转MODBUS网关工具,GCGD什么的就有,网上可以看到。因为CAN总线的发展前景太广阔了,所以这类工具的需求估计也会越来越大,是不是真的这样,我们拭目以待。如果你觉得我说的还行,采纳下啊!

modbus通讯协议是怎么回事?

MODBUS通讯协议及编程的简要概论: ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU通讯协议,如:CH2000智能电力监测仪、CH2000M电力参数采集模块、巡检表、数显表、光柱数显表等。下面就ModBus RTU协议简要介绍如下:一、通讯协议(一)、通讯传送方式: 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与MODBUS RTU通讯规约相兼容: 编 码 8位二进制 起始位 1位 数据位 8位 奇偶校验位 1位(偶校验位) 停止位 1位 错误校检 CRC(冗余循环码) 初始结构 = ≥4字节的时间 地址码 = 1 字节功能码 = 1 字节数据区 = N 字节错误校检 = 16位CRC码 结束结构 = ≥4字节的时间 地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus通讯规约定义功能号为1到127。本仪表只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。 CRC码:二字节的错误检测码。 (二)、通讯规约: 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。1.信息帧结构地址码 功能码 数据区 错误校验码 8位 8位 N × 8位 16位 地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 功能码:主机发送的功能码告诉从机执行什么任务。表1-1列出的功能码都有具体的含义及操作。 代码 含义 操作 03 读取数据 读取当前寄存器内一个或多个二进制值 06 重置单一寄存器 把设置的二进制值写入单一寄存器 数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 错误校验码:主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。2.错误校验 冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。 CRC码的计算方法是,先预置16位寄存器全为1。再逐步把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。 在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。 这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。CRC码中的数据发送、接收时低字节在前。 计算CRC码的步骤为:预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器; 把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器; 把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位; 如果最低位为0:重复第3步(再次移位); 如果最低位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或; 重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理; 重复步骤2到步骤5,进行下一个8位数据的处理; 最后得到的CRC寄存器即为CRC码。 3.功能码03,读取点和返回值:仪表采用Modbus RTU通讯规约,利用通讯命令,可以进行读取点(“保持寄存器”) 或返回值(“输入寄存器” )的操作。保持和输入寄存器都是16位(2字节)值,并且高位在前。这样用于仪表的读取点和返回值都是2字节。一次最多可读取寄存器数是60。由于一些可编程控制器不用功能码03,所以功能码03被用作读取点和返回值。从机响应的命令格式是从机地址、功能码、数据区及CRC码。数据区中的寄存器数据都是每两个字节高字节在前。4.功能码06,单点保存 主机利用这条命令把单点数据保存到仪表的存储器。从机也用这个功能码向主机返送信息。二、编程举例 下面是一个用VC编写的ModBus RTU通讯的例子 (一)、通讯口设置DCB dcb;hCom=CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);if(hCom==INVALID_HANDLE_VALUE){ MessageBox("createfile error,error");}BOOL error=SetupComm(hCom,1024,1024);if(!error) MessageBox("setupcomm error");error=GetCommState(hCom,&dcb);if(!error) MessageBox("getcommstate,error");dcb.BaudRate=2400;dcb.ByteSize=8;dcb.Parity=EVENPARITY;//NOPARITY;dcb.StopBits=ONESTOPBIT;Error=SetCommState(hCom,&dcb);(二)、CRC校验码计算UINT crcvoid calccrc(BYTE crcbuf){BYTE i;crc=crc ^ crcbuf;for(i=0;i<8;i++){BYTE TT;TT=crc&1;crc=crc>>1;crc=crc&0x7fff;if (TT==1)crc=crc^0xa001;crc=crc&0xffff;}}(三)、数据发送zxaddr=11;//读取地址为11的巡检表数据zxnum=10;//读取十个通道的数据writebuf2[0]=zxaddr;writebuf2[1]=3;writebuf2[2]=0;writebuf2[3]=0;writebuf2[4]=0;writebuf2[5]=zxnum;crc=0xffff;calccrc(writebuf2[0]);calccrc(writebuf2[1]);calccrc(writebuf2[2]);calccrc(writebuf2[3]);calccrc(writebuf2[4]);calccrc(writebuf2[5]);writebuf2[6]=crc & 0xff;writebuf2[7]=crc/0x100;WriteFile(hCom,writebuf2,8,&comnum,NULL);(四)、数据读取ReadFile(hCom,writebuf,5+zxnum*2,&comnum,NULL);//读取zxnum个通道数据,可增加错误处理程序,如地址码错误、CRC码错误判断、通讯故障处理等.

Modbus的有关定义和理解

Modbus协议最初由Modicon公司开发出来,现在Modbus已经是工业领域全球最流行的协议。协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。

modbus和485的区别是什么?

modbus和485的区别是RS485是接线口,modbus是协议。他是建立在RS485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开MODBUS,前半部分说的基本正确,RS485是接线口与485也离不开MODBUS回答错误。RS485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信书籍看看,描述有很多特点。Modbus具有以下几个特点:1、标准、开放:用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口:如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

用c语言编写modbus程序

#ifdef MODBUS////******************************************************************************// CRC 16 Data Table// *****************const unsigned int crc_tbl[256]={ 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, 0x7800, 0xB8C1, 0xb981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040};//#pragma end_abs_address//******************************************************************************//#define DEFAULT_ADDRESS 1 // all slaves start with this Modbus address// communication commands://#define CHOOSE_SLOT 0x80//#define POLL_SLOT 0x81//#define POLL_ACK 0x82// positions in a Modbus packet#define ADDR 0#define FCN 1#define REGHI 2#define REGLO 3#define NUMREGSHI 4#define NUMREGSLO 5#define OUTBYTES 2// Modbus exception codes#define FCN_NOT_SUPPORTED 1 // a Modbus function code we can"t handle#define BAD_ADDR_OR_CMD 2 // a Modbus "register" (command or address to us) we don"t know#define BAD_COUNT 3 // num regs != num bytes * 2#define CMD_NOT_COMPLETE 4 // command didn"t complete successfully// other defines#define IN 0#define OUT 1//// SLOT_NUMBER is the 2 byte device configuration// the first byte is the ID// the second byte is the transmission mode coded as follows:// bit 0x01: 0=19200, 1=9600 baud// bit 0x02: 0=even parity, 1=odd parity// bit 0x04: 0=parity, 1=no parity// bit 0x08: 0=1 stop bit, 1=2 stop bits// if bit 0x04 is set and bit 0x08 is not set then it"s 8 bit mode (vs 9 bit mode)////unsigned char receiveBuffer[32] = {0}; // Reserve 32 bytes for packet.unsigned char device_addr = DEFAULT_ADDRESS; // assigned device address - start with disconnected//unsigned char timeout_counter = 10;//unsigned char timeout_duration = 10; // seconds, default//unsigned char pkt_index = 0;// return number of bytes in packet, not including crcunsigned char MDB_get_length(unsigned char in_out, unsigned char* ptr){ if(comControlByte & 0x20) return 6; switch(*(ptr+FCN)) { case 0x06: // write single reg return 6; case 0x03: // read multiple regs if (in_out == IN) // incoming packet return 6; else return *(ptr+OUTBYTES) + 3; case 0x10: // write multiple regs return (*(ptr+NUMREGSLO) << 1) + 7; default: // assume error packet return 3; }}// calculate CRC16 on a packetunsigned int MDB_crc_calc(unsigned char in_out, unsigned char* ptr){ unsigned char c1, c2; unsigned int crc = 0xffff; // initial value unsigned char* ptr_pkt_hdr = ptr; c2 = MDB_get_length(in_out,ptr); for(c1=0; c1<c2; c1++) crc = ((crc >> 8) & 0xFF) ^ crc_tbl[(crc ^ *ptr_pkt_hdr++) & 0xFF]; return crc;}// check crc on an incoming packetunsigned char MDB_crc_check(unsigned char* ptr){ unsigned int i1; unsigned char c1, c2, c3; i1 = MDB_crc_calc(IN, ptr); c1 = *(ptr+MDB_get_length(IN,ptr)+1); // msb of incoming crc c2 = *(ptr+MDB_get_length(IN,ptr)); // lsb of incoming crc c3 = (i1 >> 8); // msb of calculated crc if((c2 == (i1 & 0x00FF)) && (c1 == c3)) // compare msb & lsb return 1; else return 0;}// send Modbus packetsvoid MDB_pkt_sender(unsigned char* ptr){ unsigned char idx, pkt_len; unsigned int i1;// append crc, lsb 1st i1 = MDB_crc_calc(OUT,ptr); pkt_len = MDB_get_length(OUT,ptr); *(ptr+pkt_len++) = (unsigned char)i1; // lsb *(ptr+pkt_len++) = (i1 >> 8); // msb //SCI1C2 = 0x08; // transmit enable //comLedOn(); PTGD |= 0x80; for (idx = 0; idx < pkt_len; idx++) { while(!(SCI1S1 & 0x80)); // wait for tdre=1 i1 = SCI1S1; SCI1D = *(ptr+idx); } while(!(SCI1S1 & 0x80)); while(!(SCI1S1 & 0x40)); //comLedOff(); PTGD &= 0x7f; //SCI1C2 = 0x2c; // back to receive mode}// return a Modbus error packetvoid MDB_error(unsigned char exp_code, unsigned char* ptr){ *(ptr+FCN) |= 0x80; // set error code *(ptr+FCN+1) = exp_code; // set exception code MDB_pkt_sender(ptr);}//void MDB_read_data(unsigned char* ptr){ if(get_data((ptr+2), *(ptr+3))) { // get_data() sticks the length of the data in receiveBuffer[2] // receiveBuffer[3] & on will have actual data // receiveBuffer[0] & receiveBuffer[1] unchanged MDB_pkt_sender(ptr); // appends CRC before sending } else MDB_error(BAD_ADDR_OR_CMD, ptr);}// handle data writesvoid MDB_write_data(unsigned char* ptr){ if((*(ptr+5)<<1) == *(ptr+6)) { switch(*(ptr+3))//receiveBuffer[3]) { //case 0x18: // new timeout value // timeout_duration = receiveBuffer[7]; // MDB_pkt_sender(); // echo received command // break; //case 0x63: // lamp test // clampTest = 40; // MDB_pkt_sender(); // echo received command // break; case ADDRESS: //if(receiveBuffer[8] && (receiveBuffer[8] < 248)) // valid addresses if(*(ptr+8) && (*(ptr+8) < 248)) { //device_addr = *(ptr+8); // not until reset nonvolatile[0] = *(ptr+8); // device ID nonvolatile[1] = *(ptr+7); // transmission mode nonvolatile[2] = ~nonvolatile[0]; nonvolatile[3] = ~nonvolatile[1]; writeToNonvolatile(SLOT_NUMBER, &nonvolatile[0]); comControlByte |= 0x20; MDB_pkt_sender(ptr); comControlByte &= 0xdf; } else MDB_error(BAD_ADDR_OR_CMD, ptr); break; case INSTALLATION_DATE: // installation date readFromNonvolatile(DATE_DATA, &nonvolatile[0]); nonvolatile[4] = *(ptr+7);//receiveBuffer[7]; nonvolatile[5] = *(ptr+8);//receiveBuffer[8]; nonvolatile[6] = *(ptr+9);//receiveBuffer[9]; nonvolatile[7] = *(ptr+10);//receiveBuffer[10]; nonvolatile[12] = ~nonvolatile[4]; nonvolatile[13] = ~nonvolatile[5]; nonvolatile[14] = ~nonvolatile[6]; nonvolatile[15] = ~nonvolatile[7]; writeToNonvolatile(DATE_DATA, &nonvolatile[0]); comControlByte |= 0x20; MDB_pkt_sender(ptr); // echo received command comControlByte &= 0xdf; break; default: MDB_error(BAD_ADDR_OR_CMD, ptr); break; } } else MDB_error(BAD_COUNT, ptr);}//void MDB_parse(char *bufPtr){ unsigned char i = 0; if(MDB_crc_check(bufPtr)) { if(*(bufPtr+ADDR) == device_addr) { switch(*(bufPtr+FCN)) { case 0x03: // modbus read multiple regs MDB_read_data(bufPtr); break; case 0x10: // modbus write multiple regs MDB_write_data(bufPtr); break; default: // modbus function not supported MDB_error(FCN_NOT_SUPPORTED, bufPtr); break; } } }}

RS485和MODBUS的区别是什么?

RS-485又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485。RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得廉价本地网络以及多支路通信链路的配置成为可能。[s1]RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来,而忽悄升略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,原因1是共模干扰:RS-485接口采用差分方式传输信号方式,卜运蚂并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了,但容易忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7到+12V,只有满足上述条件,整个网络才能正常工作;当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口型埋;原因二是EMI的问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。(来百度百科)工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。1. 协议概述物理层:传输方式:RS485通讯地址:0-247通讯波特率:可设定通讯介质:屏蔽双绞线传输方式:主从半双工方式协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。

profibus和modbus的区别

profibus是西门子推出的一种前端设备的现场联网标准,实现前端设备的组网通讯,实现分布式协同控制。modbus是用于前端设备,以及前端与上位机之间的一种数据通讯的对话协议。举个例子,profibus相当于联通,移动等通讯公司的通讯网络,modbus则是利用通讯网络打电话是,通讯双方所采用的语言。这两者不是同一类概念。

modbus协议和modbus tcp/ip协议有什么区别

TCP/IP协议是网络通讯协议。MODBUS是应用与工业现场(电子控制)的通讯协议。两者的应用范围和应用环境有所不同。两者关系不大,modbus是一种应用层的协议,tcp/ip是网络或传输层的协议,modbus可以架在TCP/IP上,也可不。

51单片机MODBUS通讯,RTU中的CRC校验

51默认的数据类型为字符型。这段程序是典型的CRC16查表速算,网上一搜一大把到处都是。

Modbus通讯协议的功能码定义

表1 ModBus功能码 01READ COIL STATUS02READ INPUT STATUS03READ HOLDING REGISTER04READ INPUT REGISTER05WRITE SINGLE COIL06WRITE SINGLE REGISTER15WRITE MULTIPLE COIL16WRITE MULTIPLE REGISTER

什么是MODEBUS?

MODEBUS,也可以写成MODBUSModbus 协议是应用于电子控制器上的一种通用语言。标准的Modbus口是使用一RS-232C兼容串行接口

MBUS 和MODBUS 什么关系啊

暧昧关系

MODBUS协议有哪几种?

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信,已经成为一种工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。这种协议定义了一种控制器能够认识使用的数据结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其他设备的过程,如何回应来自其他设备的请求,以及怎样侦测错误记录,它制定了通信数据的格局和内容的公共格式。在进行多机通信的时候,Modbus协议规定每个控制器必须要知道他们的设备地址,识别按照地址发送过来的数据,决定是否要产生动作,产生何种动作,如果要回应,控制器将生成的反馈信息用Modbus协议发出。Modbus协议允许在各种网络体系结构内进行简单通信,每种设备(PLC、人机界面、控制面板、驱动程序、输入输出设备)都能使用Modbus协议来启动远程操作,一些网关允许在几种使用Modbus协议的总线或网络之间的通信。Modbus有两种通信传输方式,一种是ASCII模式,一种是RTU模式。由于ASCII模式的数据字节是7bit数据位,51单片机无法实现,而且应用也相对较少,所以应用较多的RTU模式。一条典型的RTU数据帧如图所示。起始位和结束符:上图代表的是一个数据帧,前后都至少有3.5个字节的时间间隔,起始位和结束符实际上没有任何数据,T1-T2-T3-T4代表的是时间间隔3.5个字节以上的时间,而真正有意义的第一个字节是设备地址。设备地址:在多个传感器通信的时候,数据那么多,我们依靠什么判断这个数据帧是哪个设备的呢?没错,就是依靠这个设备地址字节。每个设备都有一个自己的地址,当设备接收到一帧数据后,程序首先对设备地址字节进行判断比较,如果与自己的地址不同,则对这帧数据直接不予理会,如果与自己的地址相同,就要对这帧数据进行解析,按照之后的功能码执行相应的功能。如果地址是0x00,则认为是一个广播命令,就是所有的从机设备都要执行的指令。功能代码:在第二个字节功能代码字节中,Modbus规定了部分功能代码,此外也保留了一部分功能代码作为备用或者用户自定义。

modbus和485有什么区别呢?哪个好用呢?

modbus和485的区别是RS485是接线口,modbus是协议。他是建立在RS485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开MODBUS,前半部分说的基本正确,RS485是接线口与485也离不开MODBUS回答错误。RS485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信书籍看看,描述有很多特点。Modbus具有以下几个特点:1、标准、开放:用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口:如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

如何启动modbus

需要在plc安装modbus协议,或者通过modbus路由装置进行映射实现。

Modbus通讯协议的特点

Modbus具有以下几个特点:(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。 标准的Modbus口是使用RS-232-C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 在其它网络上,控制器使用对等技术通信,故任何控制器都能初始化和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。 (1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。(2)回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:像寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。

modbus协议有几种传输模式?

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在中国,Modbus已经成为国家标准GB/T19582-2008。据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)DTU是无线数据传输模块,采用2G、3G网络进行远程数据传输的终端模块。其原理是将串口数据打包成TCP或者UDP包进行数据远传。RTU是模拟量采集终端模块,是将模拟变量采集后,经过A/D转化成数字格式的设备。DTU一般只能传输标准的232、485数据,RTU只能将模拟量采集后转化为串口数据。厦门,为,那公司的DTU采用工业端子接法,可以实现232、485数据传输,同时更具备了强大的功能:1、代替RTU,直接采集模拟量,做逻辑控制2、可以用手机短信配置、可以手机短信作为数据备份3、可以独立加密4、可以通过指示灯了解设备工作状态,信号状态。从功能上说,带DTU及RTU的一体机性价比更高!

modbus协议rtu是什么

ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三种通信方式:1. 以太网,对应的通信模式是MODBUS TCP。2. 异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。3. 高速令牌传递网络,对应的通信模式是Modbus PLUS。

MODBUS通信协议是什么标准协议

ModBus协议是应用层报文传输协议。1、Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。2、此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。3、当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

modbus协议是否就是RS232或者RS485, 如果不是又有哪些区别

MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);又分MODBUS RTU,MODBUS ASCII和后来发展的MODBUS TCP三种模式:其中前两种(MODBUS RTU,MODBUS ASCII)所用的物理硬件接口都是串行(Serial)通讯口(RS232,RS422,RS485)。RS485是一个物理接口,简单的说是硬件。

Modbus 是什么意思?怎么翻译?

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

莫迪康与标准modbus区别

结构不同和作用不同。1、结构不同。莫迪康采用模块化结构和数字技术的应用。标准modbus采用了数据结构的形式。2、作用不同。莫迪康主要用于MCGS软件通过ModbusRTU 协议读写ModiconPLC设备的各种寄存器的数据。标准modbus应用于各种数据采集和过程监控。

modbus 是什么?

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。 Modbus具有以下几个特点:  (1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。  (2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。  (3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

什么是标准MODBUS协议

什么是Modbus? Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus 协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。关于Modbus参考资料:http://www.cnblogs.com/luomingui/archive/2013/06/14/Modbus.html

什么是modbus

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

modbus是什么?

RS-485又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485。RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得廉价本地网络以及多支路通信链路的配置成为可能。[s1]RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来,而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,原因1是共模干扰:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了,但容易忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7到+12V,只有满足上述条件,整个网络才能正常工作;当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口;原因二是EMI的问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。(来百度百科)工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。1. 协议概述物理层:传输方式:RS485通讯地址:0-247通讯波特率:可设定通讯介质:屏蔽双绞线传输方式:主从半双工方式协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。

在MODSCAN调试,怎么一直有“modbus message time-out”是什么原因

Modbus两种协议的编程方法: 1、LRC校验 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC校验比较简单,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它对应的代码: BYTE GetCheckCode(const char * pSendBuf, int nEnd)//获得校验码 { BYTE byLrc = 0; char pBuf[4]; int nData = 0; for(i=1; i<end; i+=2) //i初始为1,避开“开始标记”冒号 { //每两个需要发送的ASCII码转化为一个十六进制数 pBuf [0] = pSendBuf [i]; pBuf [1] = pSendBuf [i+1]; pBuf [2] = ""; 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次。在最后

MODBUS RTU通讯协议中,功能码为15、16的请求格式怎么写,各个字节代表什么含义?

16码是站号,命令,地址,字数,字节数,写入数值 校验15码也是一样

为什么用串口测试工具读取Modbus设备数据时,寄存器地址要加1?

因为寄存器地址要加1是:MODBUS是MODCON公司开发的一个通讯协议。他的起始地址是从1开始的。别的都是从0开始的,正好错开一位。和第三方设备走MODBUS通讯的时候要加1。一、串口串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口)。串行是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送。串行特点是通信线路简单,只要一对传输线就可以实现双向通信。二、串口由来串口的出现是在1980年前后,数据传输率是115kbps~230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。串口也可以应用于两台计算机(或设备)之间的互联及数据传输。由于串口(COM)不支持热插拔及传输速率较低,目前部分新主板和大部分便携电脑已开始取消该接口。目前串口多用于工控和测量设备以及部分通信设备中。

modbus与485的区别?

modbus和485的区别是RS485是接线口,modbus是协议。他是建立在RS485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开MODBUS,前半部分说的基本正确,RS485是接线口与485也离不开MODBUS回答错误。RS485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信书籍看看,描述有很多特点。Modbus具有以下几个特点:1、标准、开放:用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口:如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

请问下,plc里的modbus和DP有什么区别吗

DP是Porfibus技术:支持主—从系统、纯主站系统、多主多从混合系统等几种传输方式。主站具有对总线的控制权,可主动发送信息。MODBUS硬件标准是RS485,但现在多用于POWERBUS总线芯片来替换RS485芯片的应用,因为RS485在现场传输的弊端有以下几点:1, 无带载能力。Rs485使用差分的方式进行信号传输,通过总线无法给后端设备供电,在很多施工现场,传感器端很难找到现场取电的电源,只能从主机端再拉两根24V电源线来供电。2, 有极性,且需要手拉手。这一问题导致施工非常繁琐,而且拓扑结构的固定也侧面反应了抗干扰能力不足,无法与其它种类的线共管,这也不符合现场实际情况。3, 需要加终端匹配电阻且从机需要隔离,成本高昂。这意味着每个从机需要一颗隔离电源B0505芯片,且长线需要加匹配电阻来确保最终总线回声的消除。而这些问题POWERBUS早已解决,现POWERBUS可以透传MODBUS等多种总线协议,在多年的现场应用中,被证明是一种替换485的有效解决方案。

无协议通信 MODBUS通信 有何区别

无协议通信?通信2端必须有协议的,可以简单,或者复杂MODBUS通信modcon的协议,现在成为事实标准,广泛使用

MODBUS 是总线还是协议?

到中国工控网论坛去看看吧。

Modbus地址是5位还是6位?3区和4区哪个用来读模拟量输入?

一、Modbus地址其实指的是各类寄存器的设备编号,为5位十进制数,各区的编号从1到9999,即: x0dx0a● 00001 ~ 09999 :离散量输出继电器编号 x0dx0a● 10001 ~ 19999 :离散量输入继电器编号 x0dx0a● 30001 ~ 39999 :模拟量输入寄存器编号 x0dx0a● 40001 ~ 49999 :保持型输出寄存器编号 x0dx0a二、3区是读模拟量输入寄存器,4区是用于写数据到输出寄存器。x0dx0a三、Modbus地址虽然是5位十进制数,但由于功能码的定向作用,如功能码01/05/15就只能操作0X区,不会操作其他区,所以编程时只需要后4位数,而且要把它换成16进制地址(地址从0开始),即:x0dx0a通讯帧里的设备地址=(4位十进制设备编号-1)转换成16进制x0dx0a如用功能码02读取1区中编号为10012的输入继电器的状态,通讯帧里的设备地址就要转换成:x0dx0a0012-1=(0011)十进制 =(000B)十六进制

Modbus和Profibus的区别

都是主问从答的通讯方式,profibus支持多主站,MODBUS只能单主站,modbus走RS232/422/485总线都可以,profibus走的是DP总线,相当于是加强版的RS485,所以速度比普通的串行总线高很多,理论最高12M/S

modbus通讯是以字为单位还是以字节为单位

以字节为单位。_odbus有下列三种通信方式:_?1)、以太网:对应的通信模式是MODBUS TCPIP。_?2)、异步串行传输(各种介质如有线RS-232-422485;光纤、无线等):对应的通信模式是MODBUS RTU或MODBUS ASCII。_?3)、高速令牌传递网络:对应的通信模式是Modbus PLUS。

MODBUS通信协议是什么标准协议?

ModBus协议是应用层报文传输协议。1、Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。2、此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。3、当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

请问modbus网关是什么?

Modbus串口网关采用高强度IP30防护外壳,工业级EMC设计,支持Auto-Negotiation自适应技术,提供全面的LED状态指示,支持电压12~48VDC电源输入,以增加通讯网络的可靠度。内置ModbusTCP和ModbusRTU协议,用户可轻松实现Modbus以太网设备与Modbus串口设备的连接。基于工业安装需求,提供DIN35导轨安装模式。本产品采用业内优秀的网络方案,-40~85℃工作温度范围,能够满足各种工业现场的要求,提供便捷的串口通讯解决方案。

工业控制的modbus协议是什么?

MODBUS是工业控制装置之间或上位机组态与控制装置之间进行数据对话的一种“语言”。MODBUS提供了不同类型的寄存器读写指令,包括只读型或读写型的模拟量和开关量的数据读写指令,用于获取控制装置的运行数据,或进行数据写入控制。与MODBUS协议类似的协议还有跟多,甚至有厂商自定义的协议。

Modbus通讯协议的传输方式

传输方式 ASCⅡ 和 RTU模式   控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信,选择时应视所用ModBus主机而定。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。  所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。  在其它网络上(象MAP和Modbus Plus)Modbus消息被转成与串行传输无关的帧。

modbus和modelbus 是一回事吗?

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议,工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。model_bus是全称,一般简写成modbus,所以应该是一回事。

关于Modbus主站和从站的区别

主站就是主站,从站是受主站控制的。主站是唯一!从站是多个。mbus总线若是考虑应用,他的主站协议是比较复杂,需要用户搭建。其实有更方便的完全串口透传的二总线技术。POWERBUS二总线和MCU直连即可

Modbus和Profibus的区别

分别是rs485和rs232通讯模块么?

学小易最近是不是出bug了

没有。学小易最近没有出bug,一直都可以正常使用,如果你不能正常使用,建议首先尝试重装app,然后再重新登录,如果还是不行可以联系官方客服处理。学小易由北京子说科技有限公司负责运营。我们是一家专注于大学生学习服务的创业公司,拥有多项软件著作权等知识产权。

关于Modbus主站和从站的区别

Modbus主站和从站区别为:发出指令不同、唯一性不同、对接不同。一、发出指令不同1、Modbus主站:Modbus主站可以主动发出指令。2、Modbus从站:Modbus从站不会主动发出指令。二、唯一性不同1、Modbus主站:Modbus主站具有唯一性。2、Modbus从站:Modbus从站不具有唯一性,可以有多个。三、对接不同1、Modbus主站:Modbus主站可以对接多个Modbus从站。2、Modbus从站:Modbus从站职能对接一个Modbus主站。

什么是modbus

一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。2、在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。3、查询—回应周期

Modbus基础知识

RS485是一个接口,是ModBus协议支持的多种接口之一,如RS-232是其支持的另一种接口。RS485一般是2线制的,即由485A、485B两条接线进行数据传输。由两条线间的电压差不同分别表示0和1(正2-6伏特表示逻辑0,负2-6伏特表示逻辑1)。 Modbus是一个协议。是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。它可应用于各种数据采集和过程监控。 所谓的协议是什么?就是不同实体间,为了相互通讯而进行的一种约定。比如点头表示同意,摇头表示不同意就可以看成一种通讯协议。没有约定好的协议,便无法交流。 任何人都可以使用国际通用的摩尔斯电码救难信号S.O.S(...---...)进行求救,因为全球都接受这个约定。在夜晚可以用手电筒三短三长三短的发光进行求救。 报文(message)是网络中交换与传输的数据单元,即数据交换过程中一次性要发送的数据块。也称为数据帧, 一个报文就是一帧数据,一个数据帧就一个报文。由协议约定,对报文中的数据进行解释,赋予报文以意义,使得通讯各方都能够理解报文,从而能够交流。 先来简单分析一条MODBUS-RTU报文,例如:01 06 00 01 00 17 98 04 01 06 0001 0017 9804 从机地址 功能号 数据地址 数据 CRC校验 这一串数据的意思是:把数据 0x0017(十进制23) 写入 1号从机地址 0x0001数据地址。 数据在传输过程中可能受到干扰或者丢失,为了保证数据的正确性,人们通过CRC校验,来判断报文是否正确,从而决定是接受还是放弃报文。 上面报文最后面的9804就是校验码。他是前面的有效数据 01 06 00 01 00 17通过一系列算法计算出来的。报文接收方通过同样的算法多数据部分进行计算,得到一个CRC校验码。如果接收方计算出的CRC和发送方的CRC不同,则认为报文在发生过程中发生了错误,就拒绝接受报文。

Modbus网关是什么?

Modbus是串口通信协议。Modbus网关,一般是指可以支持多个串口设备并转发到远程网络。例如通过TCP/IP协议,把远程的串口设备,虚拟连接到本地的电脑上,就好像远程设备直接接在本机电脑一样。也有的Modbus网关是支持多路设备交换而已。

modbus协议是什么

Modbus是一种串行通信协议,由于其协议简单易用,且没有版权要求,目前已经成为工业领域通信协议的实施标准。Modbus协议由Modicon公司在1979年提出,目标是为使用可编程逻辑控制器(PLC)通信。Modicon后来被施耐德电气Schneider Electric收购,Modbus 协议现在也成为 工业电子设备之间常用的连接方式。

MODBUS协议有哪几种

RTU TCP ASii

什么是“标准MODBUS协议”?

Modbus协议最初由Modicon公司开发出来,现在Modbus已经是工业领域全球最流行的协议。协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。

modbus端口有什么作用

做MODBUS通讯时会用到

modbus是指的什么?

Modbus 协议定义了一个与基础通信无关的协议数据单元(Protocol Description Unit,PDU),描述协议的基本功能。PDU 属于应用数据单元(Application Data Unit,ADU)的一部分,除此之外,ADU 还包括附加地址域和差错校验域及实际传输的数据,这个数据可能是业务数据,也可能是指令、响应信息或报警信息等。Modbus 协议包括 ASCII、RTU、TCP 三种报文类型,可以使用串口传输数据和指令

什么是modbus

通信协议Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在中国,Modbus已经成为国家标准GB/T19582-2008。据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

modbus是什么意思?

Modbus是一种串行通信协议,广泛应用在工业控制系统中,许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。profibus和profinet也比较常用,但是由于协议不同会造成下级模块无法与主cpu无法通讯,这种情况下只能中间加协议转换网关,yt-pb-04,yt-pn-01, yt-pb-02等都可以进行协议转换。
 首页 上一页  16 17 18 19 20 21 22 23 24 25 26  下一页  尾页