一、基本认知
1、参考的网络资料
2、历史发展与现状
这里主要讲解的是PROFIBUS_DP,它的前身是1987年联邦德国合作开发的PROFIBUS_FMS;PROFIBUS_DP主要运用在PROFIBUS主站与远程从站之间的确定性通信(
就是网络中的每个设备都有固定的ID编号)。目前,PROFIBUS可以分为两种,分别是PROFIBUS_DP和PROFIBUS_PA;其中,DP的应用最为广泛。
3、PROFIBUS DP和PA的区别:
PROFIBUS DP:分布式周边,应用在工厂自动化应用中;可以由中央控制器控制许多传感器和执行器,也可以使用标准或选用的诊断机制得知各个模块的状态。
PROFIBUS PA:过程自动化,应用在过程自动化系统中,
可适用于防爆区域(工业防爆危险区分类中的Ex-zone0及Ex-zone1
)
;其物理使用的线缆匹配IEC61158-2,
允许由通信线缆给现场设备供电,因此,一个PROFIBUS PA所可以连接的设备数量也受到限制。
共同特点:在通信协议方面,DP与PA遵循相同的通讯规范,PA只要有专业的转换设备就可以与DP联网;
4、PROFIBUS的网络协议架构:
OSI模型
|
PROFIBUS
|
|
|
|
|
7
|
应用层
|
DPV0
|
DPV1
|
DPV2
|
网络管理
|
6
|
表示层
|
--
| |||
5
|
会话层
| ||||
4
|
传播层
| ||||
3
|
网络层
| ||||
2
|
数据链路层
|
FDL
| |||
1
|
物理层
|
光纤
|
MBP*
|
物理层:支持RS485传输和光纤线路传输。
应用层:
(这些模式全部由下面介绍的基本数据帧组合来实现)
-
DP-V0:循环式的数据交换,诊断机能。
-
DP-V1:循环式及非循环式的数据交换,警告处理。
-
DP-V2:时钟同步数据模式,从机和从机之间的数据广播。
/
二、PROFIBUS DP通讯协议与数据报
在物理层
,可以采用异步串口通信实现。也就是说,数据传输的格式是以UART数据格式来传输的,
基本格式包括:启始位(1bit)、数据位(8bit)、偶校验(1bit)和停止位(1bit),通信
支持的波特率为:9.6、19.2、45.45、93.75、187.5、500、1500、3000、6000、12000。
在应用层,Profibus dp协议主要支持
五种类型的数据报文,每种报文的数据帧格式都有所区别。
(这个是开发工程师最需要关心的)
SD1:无数据域,用于查询总线上的激活的站点
|
![]() |
SD2:可变数据域,参数最多,是Profibus中使用最频繁的数据帧。
|
![]() |
SD3:固定8字节的数据域,PDU数据部只传输一个字节
|
![]() |
SD4:令牌帧,用于
主站间的令牌传递。
|
![]() |
SD5:这个是从站接收主站消息后,最短的应答帧
|
![]() |
在这五种基础数据帧中,每一个数据域的含义如下
:

FC所有功能码的定义
(重要):
FC功能把占用了数据帧的
一个字节,细化到该字节的
每个位的含义如下图所示:

B6
|
B5(FCB)
| B4(FCV) |
含义
|
0(响应帧)
|
0
|
0
|
从站对主站的响应
|
0(响应帧)
|
0
|
1
|
主站告诉从站(或另一个主站),主站未准备好
|
0(响应帧)
|
1
|
0
|
主站告诉从站(或另一个主站),主站已经准备好,无令牌
|
0(响应帧)
|
1
|
1
|
主站告诉从站(或另一个主站),主站已经准备好,在令牌环上
|
1(请求帧)
|
0
|
|
FCB标记位不可以使用
|
1(请求帧)
|
1
|
|
FCB标记位可以使用
|
1(请求帧)
|
X
|
|
根据FCV来决定FCB是否可用
|
FC功能码低四位的含义:

注意:
这里说明一下数据帧中的DA和SA,其实就是通信双方的地址,各占用一个字节,但其中的最高位用来分别决定通信双方是否使用了扩展的地址(一个字节代表的设备数量有限)。
DU中纯用户数据部分(PDU)内容的规定:未作实际测试验证,暂无法确认是否有固定的规范。
ProfiNet DP网络总线协议:
是基于TCP/IP网络协议的应用层协议,属于TCP/IO四层协议中的应用层,物理层上可以支持标准的网口或wifi无线信号传输。
/
三、基于Linux系统编程的C语言实现
测试设备正在采购的路上,敬请期待测试结果和笔记的进一步完善。。。。。
/