一、Profibus概念
PROFIBUS是一种国际化.开放式.不依赖于设备生产商的现场总线标准。PROFIBUS传送速度可在9.6kbaud~12Mbaud范围内选择且当总线系统启动时,所有连接到总线上的装置应该被设成相同的速度。广泛适用于制造业自动化.流程工业自动化和楼宇.交通电力等其他领域自动化。 PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。
PROFIBUS由三个兼容部分组成,即PROFIBUS-DP(Decentralized Periphery).PROFIBUS-PA(ProcessAutomation ).PROFIBUS-FMS(Fieldbus Message Specification )。主要使用主-从方式,通常周期性地与传动装置进行数据交换。
1)PROFIBUS–DP: 是一种高速低成本通信,用于设备级控制系统与分散式I/O的通信。使用PROFIBUS-DP可取代办24VDC或4-20mA信号传输
2)PORFIBUS-PA:专为过程自动化设计,可使传感器和执行机构联在一根总线上,并有本征安全规范。
3)PROFIBUS-FMS:用于车间级监控网络,是一个令牌结构.实时多主网络。

二、PROFIBUS协议结构
PROFIBUS协议结构是根据ISO7498国际标准,以开放式系统互联网络(Open SystemInterconnection-OSI)作为参考模型的。该模型共有七层。 (1)PROFIBUS-DP:定义了第一.二层和用户接口。第三到七层未加描述。用户接口规定了用户及系统以及不同设备可调用的应用功能,并详细说明了各种不同PROFIBUS-DP设备的设备行为。 (2)PROFIBUS-FMS:定义了第一.二.七层,应用层包括现场总线信息规范(Fieldbus Message Specification - FMS)和低层接口(Lower Layer Interface - LLI)。FMS包括了应用协议并向用户提供了可广泛选用的强有力的通信服务。LLI协调不同的通信关系并提供不依赖设备的第二层访问接口。 (3) PROFIBUS-PA:PA的数据传输采用扩展的PROFIBUS-DP协议。另外,PA还描述了现场设备行为的PA行规。根据IEC1158-2标准,PA的传输技术可确保其本征安全性,而且可通过总线给现场设备供电。使用连接器可在DP上扩展PA网络。 注:第一层为物理层,第二层为数据链路层,第三-六层末使用,第七层为应用层。
三、PROFIBUS–DP、PORFIBUS-PA、PROFIBUS-FMS主要区别
Profibus-DP用于现场层的高速数据传送。主要特点就是高速,速率可达12Mbps,在这一级,中央处理器(如PLC,DCS)通过高速串行线同分散的现场设备(i/0,驱动器、阀门等)进行通讯。
Profibus-PA 适用于Profibus过程自动化。主要特点就是本征安全,通信速率为32.15Kbps,PA 将自动化系统和过程控制系统与压力、温度和液位变送器等现场设备连接起来,并可用来替代4-20mA的模拟技术。
Profibus-FMS的设计旨在解决车间监控级通信任务,提供大量的通信服务。可编程序控制器
(如如PLC,PC机等)之间需要比现场层更大量的数据传送,用以完成中等传输速度进行的循环与非循环的通信服务,但通信的实时性要求低于现场层。但是现在用的非常少。
四、profibus、mpi、modbus异同点
1、MPI是Multi-PointInterface,适用于PLC200/300/400、操作面板TP/OP及上位机MPI/PROFIBUS通信卡,MPI网络的通信速率为网络才支持12Mbit/s的通信速率。MPI网络最多可以连接32个接节点,最大通信距离为50m,但是可以通过中继器来扩展长度。
PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。PPI是一种主从协议,主站、从站在一个令牌网。在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主站既可以读写从站的数据,也可以读写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。
MPI是主站之间的通信;PPI可以是多台主站与从站之间通信。
2、MPI协议:西门子内部协议,不公开;
PROFIBUS-DP协议:标准协议,公开。
3、MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规约进行数据通讯或传输,不同的系统就可以通讯。目前,在RS232/RS485通讯过程中,更是广泛采用这种规约。
常用的MODBUS 通讯规约包括,MODBUS ASCII、MODBUS RTU、MODBUS TCP。一般,PPI MPI DP物理层都是RS485通讯,只是通讯协议不一样,MODBUS物理层是RS232、RS485、RJ45网卡通讯。
五、PPI、MPI和PROFIBUS转换为以太网通讯
SCANET产品将西门子现场总线PPI、MPI和PROFIBUS转换为以太网通讯,为西门子S7-200/300/400/1200/1500提供业界最全面的以太网通讯解决方案。 产品系列包括SCANET2(精简版)、SCANET3(基本版)、SCANET4(高级版)以及SCANET5(专业版),每个系列包括两个型号:S7PPI和S7MPI。其中S7PPI型号用于S7-200、200SMART通讯;S7MPI型号用于S7全系列PLC及840D数控系统。SCANET也可用于国产兼容西门子控制器,如欧辰、合信、亿维等品牌。 整个系列产品的功能包括基本的上位机组态软件通讯,STEP7编程调试,ModbusTCP通讯、高级语言编程通讯,OPC服务器通讯,扩展通讯口的HMI通讯、Modbus主站和从站通讯、Modbus-ModbusTCP和透明传输,基于互联网的数据订阅和STEP7远程调试等功能。
六、profibus协议报文格式
Profibus DP通讯协议是一种单一的、一致性通讯协议,用于所有的工厂自动化和过程自动化。Profibus支持多主站系统,每个主站按时间分配其总线控制权,使用令牌(令牌帧协议)在主站之间传递信息,如果主站获得上一个主站传递来的令牌,则立即有对总线的控制权,当其令牌时间到达,则使用此电文将令牌传递给下一个主站。
1、通信端口参数
Profibus-DP的物理层是采用异步串口通信,传输数据格式是UART(串口)格式进行传输的,每个字符有11位长,包括一位起始位、一位数据位、一位偶校验位和一位停止位,其中起始位为0,停止位为1,如下所示。

2、支持的波特率

3、Profibus-DP报文格式
任何通信双方要确保正常地数据通信,必须预先设定报文格式,Profibus-DP协议中传输报文的格式主要有以下五种类型:
1)SD1:无数据域,用于查询总线上激活的站点。

该报文格式用于主站与从站间的站点查询。建立好通讯网络后,主站便会向从站发送总线上在线站点的查询,在线的从站收到查询本从站的请求帧,便会回应相应的应答帧。在通信时,主站会时不时地发送查询帧,确保能于总线上的所有站点进行通信。
2)SD2:可变数据域,参数最多,是Profibus中使用最多的一种帧结构。

3)SD3:固定8字节数字域

4)SD4:令牌帧,用于主站间的令牌传递。

5)SC:用于对主站请求帧的短回应帧,是由从站发出。
上述五种类型帧中的各个参数域的意义如下:

参数域的意义

表2-3 FC功能码说明
其中FC功能码中的第四位(FCB)与第五位(FCV)标志的含义为:

FC功能码中的第四位的含义

第五位(FCV)标志的含义

表2-4 DSAP和SSAP的服务定义表
4、Profibus-DP中几种常见的报文格式
根据Profibus-DP的通信机制,主站与从站建立通信时,预先发送总线查询帧得知哪些从站处于总线激活状态,一旦确定总线上的激活站点后,便开始对激活站点进行参数化、组态并诊断,只有当所有配置正确后才进入数据交换阶段。
1)诊断报文
诊断请求报文:基本请求报文(主站-从站)

诊断响应报文:基本相应报文(从站-主站)

2)参数化报文
参数设置请求:基本请求报文(主站-从站)

基本响应报文(从站-主站)

3)组态报文
检查组态请求:基本请求报文(主站-从站)

基本响应报文(从站-主站)

4)数据交换报文
数据报文(主站-从站)

基本响应报文(从站-主站)

5)、详细报文含义

7、PC访问profibus协议设备的方式
PC访问profibus协议设备方式包括:
1)、购买Profibus网卡CP5611,pc上安装CP5611驱动,CP5611驱动程序提供了User_DP.h和DPnlib.lib文件,利用此文件访问profibus协议设备数据。
2)、串口或网络上走PROFIBUS协议,你需要花费大量的时间来了解这个协议类容的本身。所以 开发周期会很长。
3)、使用OPC的通信方式来做,用VB/VC/C#编写OPC客户机的程序简单多了!至于OPC服务器,你可以选择第三方的OPC服务器也可以选择SIMATICNET OPC。simaticnet是西门子的通信软件,它包含cp5613、cp5614和cp1613、cp1616等通信卡的驱动程序,step7集成的“设置pg/pc接口”工具不支持上述通信卡。将这类cp卡插入计算机,在安装simaticnet时,将自动地为它们安装驱动程序。
4)、组态王软件。
5)、通过profibus转modbus协议模块(比如:西门子以太网通讯处理器unnet-s7),模块内提供了modbus服务,通过串口编程就可以实现数据访问。
8、开源项目
ProfiM - Profibus Master:http://profim.sourceforge.net/