.

Profibus和Modbus的区别

PROFIBUS 是目前国际上通用的现场总线标准之一,以其独特的技术特点、严格的认证规范、开放的标准、众多厂商的支持和不断发展的应用行规,已成为最重要的和应用最广泛的现场总线标准。

现场总线通讯协议包括三个主要部分:


(1). Profibus-DP:主站和从站之间采用轮循的通讯方式,主要应用于自动化系统中单元级和现场级通信;


(2). PROFIBUS PA:电源和通信数据通过总线并行传输,主要用于面向过程自动化系统中单元级和现场级通讯;


(3). PROFIBUS FMS:定义了主站和主站之间的通讯模型,主要用于自动化系统中系统级和车间级的过程数据交换;


其中,Profibus-DP 是高速网络,通讯速率达到2M。Profibus-DP可以连接远程I/O、执行机构、智能马达控制器、人机界面HMI、阀门定位器、变频器等智能设备,

一条Profibus-DP总线可以最多连接123 个从站设备。

Profibus-DP的拓扑结构可以是总线型、星型和树型,通讯介质可以是屏蔽双绞线、光纤,也支持红外传输,采用双绞线时,不加中继器最远通讯距离可达1.2公里,最多可以采用9 个中继器,最远通讯距离可达9公里。采用光纤时,最远通讯距离可达100 公里以上,其中采用多膜光纤,两点间最远距离可达3公里,采用单膜光纤时,两点间最远距离可达3 公里。


Modbus协议是一种适用于工业控制领域的主从式串口通讯协议,它采用查询通讯方式进行主从设备的信息传输,可寻址1-247个设备地址范围。

协议包括广播查询和单独设备查询两种方式,二者区别就是广播查询不需要从设备回应信息。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

  在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)。

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

传输模式特性

ASCII可打印字符便于故障检测,而且对于用高级语言(如Fortran)编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。

  用RTU模式传输的数据是8位二进制字符。如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符都是十六进制字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译码和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较慢的机器。

控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。

ASCII模式

  当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,一个信息中的每8位字节作为2个ASCII字符传输,如数值63H用ASCII方式时,需发送两个字节,即ASCII“6"(0110110)和ASCII”3“(0110011),ASCII字符占用的位数有7位和8位,国际通用7位为多。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

代码系统

· 十六进制,ASCII字符0...9,A...F

· 消息中的每个ASCII字符都是一个十六进制字符组成

每个字节的位

· 1个起始位

· 7个数据位,最小的有效位先发送

· 1个奇偶校验位,无校验则无

1个停止位(有校验时),2个Bit(无校验时)

错误检测域

· LRC(纵向冗长检测)

RTU模式

  当控制器设为在Modbus网络上以RTU模式通信,在消息中的每个8Bit字节按照原值传送,不做处理,如63H,RTU将直接发送01100011。这种方式的主要优点是:数据帧传送之间没有间隔,相同波特率下传输数据的密度要比ASCII高,传输速度更快 。

代码系统

8位二进制,十六进制数0...9,A...F

消息中的每个8位域都是一或两个十六进制字符组成

每个字节的位

1个起始位

8个数据位,最小的有效位先发送

1个奇偶校验位,无校验则无

1个停止位(有校验时),2个Bit(无校验时)