串口通信协议modbus(串口通信协议在建筑智能化系统中存在的目的和意义)

      最后更新:2023-04-20 12:34:17 手机定位技术交流文章

      串口、485 、232 、modbus之间是什么关系啊?

      串口 包含485 、232 是 硬件接口modbus 通信协议,有RTU ASCIITCP 等等 modbus 可以 基于 串口,但不完全,也可以 基于 TCP/IP
      串口、485 、232 、modbus之间是什么关系啊?

      MODBUS协议有哪几种?

      Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。大多数Modbus设备通信通过串口EIA-485物理层进行。对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。
      Modbus有下列三种通信方式以太网,对应的通信模式是MODBUS TCP。异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。高速令牌传递网络,对应的通信模式是Modbus PLUS。ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。
      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协议有哪几种?

      Modbus和Profibus的区别

      一、主体不同1、modbus:是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(Defacto),并且现在是工业电子设备之间常用的连接方式。2、Profibusrofibus-DP:具有高速低成本,用于设备级控制系统与分散式I/O的通信协议。与PROFIBUS-PA、PROFIBUS-FMS共同组成了PROFIBUS标准。二、协议特点不同1、modbus:在一个数据链路上只能处理247个地址,这种情况限制了可以连接到主控站点的设备数量。只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。2、Profibusrofibus-DP:用于现场设备级的高速数据传送,主站周期地读取从站的输入信息并周期地向从站发送输出信息。总线循环时间必须要比主站(PLC)程序循环时间短。除周期性用户数据传输外,PROFIBUS-DP还提供智能化设备所需的非周期性通信以进行组态、诊断和报警处理。三、传输特点不同1、modbus:协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求。2、Profibusrofibus-DP:协议明确规定了用户数据怎样在总线各站之间传递,但用户数据的含义是在PROFIBUS行规中具体说明的。PROFIBUS主站之间采用令牌传送方式,主站与从站之间采用主从方式。令牌传递程序保证每个主站在一个确切规定的时间内得到总线存取权。通信和设备Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启动指令)。一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令(地址0例外,指定地址0的指令是广播指令,所有收到指令的设备都会运行,不过不回应指令)。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。基本的ModBus命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。有许多modems和网关支持Modbus协议,因为Modbus协议很简单而且容易复制。它们当中一些为这个协议特别设计的。有使用有线、无线通信甚至短消息和GPRS的不同实现。不过设计者需要克服一些包括高延迟和时序的问题。
      Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 PROFIBUS– DP的DP即DecentralizedPeriphery。它具有高速低成本,用于设备级控制系统与分散式I/O的通信。它与PROFIBUS-PA(Process Automation)、PROFIBUS-FMS (Fieldbus Message Specification )共同组成了PROFIBUS标准。PROFIBUS–DP协议明确规定了用户数据怎样在总线各站之间传递,但用户数据的含义是在PROFIBUS行规中具体说明的。另外,行规还具体规定了PROFIBUS-DP如何用于应用领域。使用行规可使不同 厂商所生产的不同设备互换使用,而工厂操作人员毋须关心两者之间的差异。因为与应用有关的含义在行规中均作了精确的规定说明。
      PROFIBUS中最早提出的是PROFIBUS FMS(FMS代表Field bus Message Specification),是一个复杂的通信协议,为要求严苛的通信任务所设计,适用在车间级通用性通信任务。,Modbus是一种串行通信协议,广泛应用在工业控制系统中,许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。profibus与Modbus协议不同,需要连接协议转换网关yt-pb-02进行协议转换,这样主从站将可以顺利进行通讯。
      简单的说就是通讯协议的不同,也就是通讯的数据组合格式与位数的不同。机器间的通讯协议是以二进制数据串来发送和接收的,你说的modbus和DP就是其中两个标准协议。modbus通讯数据量要小于DP通讯,而且modbus是对等数据传输通讯,就是说双方的通讯是自由交换的 ,没有控制与被控方。而DP通讯是有控制与被控制方的,DP通讯里,主站不要求你发数据,你是不能发数据的,而且必须要有主站。 DP并不是串行通讯,而MODBUS的硬件设备RS485是串行通讯,现在多用POWERBUS代替RS485进行串口通讯,POWERBUS技术的总线供电能力非常适合现场使用。
      一、主体不同 1、modbus:是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(Defacto),并且现在是工业电子设备之间常用的连接方式。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和Profibus的区别

      串口通信如何使用MODBUS协议?

      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>= 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码。 掌握两种协议的编程方法,剩下的就是C语言的问题了。
      编串口只要把要执行的命令通过串口发过去就可以了,具体MODBUS命令需要很长时间研究
      串口通信如何使用MODBUS协议?

      canbus和modbus协议各自的优缺点都有哪些

      MODBus的Can总线与485总线的不同之处在于:不同的主从结构,不同的错误检测机制,不同的训练成本。1、主从结构不同超过1,can总线的can总线是一种主从结构,每个节点有可以控制设备,多个节点发送,发送自动仲裁的ID号,这样你就可以实现总线数据,和一个节点发送,另一个节点可以检测到总线空闲,并立即发送,这个省去主机要求,提高总线的利用率提高速度。485公交车,485总线是一个主从结构,还有只有一个主机在公共汽车上,沟通是由它,它没有订单,下面的节点不能发送,并且想要发送答案,暴露于答案后,主机到下一个节点要求,这是防止多个节点发送数据总线,数据混乱造成的。2、不同的错误检测机制Can总线:Can总线有一个Can控制器,它可以检测总线中的任何错误。如果错误超过128,它将被自动阻止。保护公共汽车。如果在另一个节点或它自己的节点上检测到错误,一个错误帧被发送到总线,以指示另一个节点数据是不正确的。485总线:485总线只指定了物理层,而没有数据链路层,所以无法识别错误,除非发生短路等物理错误。这很容易导致一个节点损伤,发送数据到总线上,导致汽车事故。3、不同的培训成本Can总线:Can总线要求底层工程师了解Can的复杂层,上位机软件了解Can的协议。培训成本很高。485总线:从485总线通信的软件是很方便的,只要你懂串口通信,就可以编程。培训成本更低。扩展资料:CAN总线通过CAN收发接口芯片82C250的两个输出端CANH和CANL连接到物理总线,CANH端只能处于高电平或挂起状态,CANL端只能处于低电平或挂起状态。这保证了RS-485网络中不会出现系统出现错误,多个节点同时向总线发送数据时,总线会出现短路,造成部分节点损坏的现象。节点可以自动关闭输出功能的严重错误,使总线上的其他节点的操作将不受影响,以确保公共汽车不会在“死锁”由于单个节点的问题,如网络。完美的通信协议可以实现的控制器芯片及其接口芯片,从而大大减少了系统开发的难度,缩短开发周期,这是无与伦比的rs-485的只有电子协议。与其他现场总线相比,CAN总线是一种国际标准的现场总线,具有通信速率高、易于实现和性价比高的特点。这也是CAN总线应用于许多领域并具有较强市场竞争力的重要原因。参考资料:百度百科-Modbus通讯协议参考资料:百度百科-485参考资料:百度百科-CAN总线
      CANBUS是物理层的协议;MODBUS是应用层的协议
      CAN的协议和modbus协议根本就不是一个概念,怎么评定优缺点,不过CAN也能走MODBUS的协议,前提是遵守CAN总线的标准协议
      canbus和modbus协议各自的优缺点都有哪些

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/79619.html

          热门文章

          文章分类