1、总线访问协议 (FDL)
1.1、多主通信
多个主设备间,使用逻辑令牌环依次向从设备发送命令。
特征:
- 主站间使用逻辑令牌环、主从站间使用主从协议
- 主站在一个限定时间内 (Token Hold Time) 对总线有控制权
- 从站只是响应一个主站的请求它们对总线没有控制权
1.2、总线访问协议 (FDL)
1.2.1 特点
- 主站或从站可以在任何时间点接入或断开 FDL 将自动地重新组织令牌环
- 令牌环调度确保每个主站有足够的时间履行它的通信任务 因此 用户必须计算全部目标令牌环时间 (TTR)
- 总线访问协议有能力发现有故障的站 失效的令牌 重复的令牌 传输错误和其他所有可能的网络失败
- 所有信息(包括令牌信息)在传输过程中确保高度安全 以免传输错误
- 海明距离 HD = 4
1.2.2 什么是海明距离?
在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。
举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。
1.2.3 海明距离的作用
用于编码的检错和纠错。
为了检测d个错误,需要一个海明距离为d+1的编码方案。
因为在这样的编码方案中,d个1位错误不可能将一个有效码字改编成另一个有效码字。当接收方看到一个无效码字的时候,它就知道已经发生了传输错误。
类似地,为了纠正d个错误,需要一个距离为2d+1的编码方案,因为在这样的编码方案中,合法码字之间的距离足够远,因而即使发生了d位变化,则还是原来的码字离它最近,从而可以确定原来的码字,达到纠错的目的。
1.3、令牌调度原理
在多主网络中 令牌调度必须确保每个主站有足够的时间完成它的通信任务;
每个主站需要多少令牌循环时间 (TTR),由用户来设置;
每一个主站根据下列公式计算它接收令牌后完成它的通信任务的时间(TTH):
T T H = T T R − T R R TTH = TTR - TRR TTH=TTR−TRR
TTH = 持有令牌时间
TTR = 目标令牌循环时间
TRR = 实际令牌循环时间
1.4、 总线访问协议 (FDL)状态机
0: 离线 (Offline)
1: 听从令牌 (Listen Token)
2: 主动空闲 (Active Idle)
3: 申请令牌 (Claim Token)
4: 使用令牌 (Use Token)
5: 等待数据响应 (Await Data Response)
6: 检查访问时间 (Check Access Time)
7: 传递令牌 (Pass Token)
8: 检查令牌传递 (Check Token Pass)
9: 等待状态响应 (Await Status Response)
10: 被动空闲 (Passive Idle)
1.5、报文
1)令牌报文:
SD4 = 开始分界符4 (Start Delimiter 4)
DA = 目的地址( Destination Address)
SA = 源地址 (Source Address)
2) FDL 状态请求报文
SD1 = 开始分界符1(Start Delimiter 1)
DA = 目的地址( Destination Address)
SA = 源地址(Source Address)
FC = 功能码(Function Code)
FCS = 帧检查顺序(Frame Check Sequence)
ED = 结束分界符(End Delimiter)
3)数据报文
SD2 = 开始分界符2(Start Delimiter 2)
LE = 长度(Length)
LEr = 重复长度 Repeated Length
DA = 目的地址( Destination Address)
SA = 源地址(Source Address)
FC = 功能码(Function Code)
DSAP = 目的服务存取点(Destination Service Access Point)
SSAP = 源服务存取点(Source Service Access Point)
DU = 数据单元(Data Unit)
FCS = 帧检查顺序(Frame Check Sequence)
ED = 结束分界符(End Delimiter)
1.6、主从站通信时序
1.7、数据链路层服务及其用法
1.8、服务存取点 (SAP)
SAP:在 PROFIBUS 数据链路层与应用层之间的接口处 服务存取点被用来交互作用
SSAP:请求站的服务存取点叫做源服务存取点
DSAP:响应站的服务存取点叫做目的服务存取点
服务存取点对 FMS 和 DP/PA 有着不同的功能:
- 对 FMS: 它们被用于区分站之间的逻辑连接
- 对 DP/PA: 它们被用于选择不同的功能
2、PROFIBUS-DP
2.1 三种设备类型
1)DP-1类主设备 (DPM1)
中央控制器, 它与分散的 I/O 设备 (DP-从) 交换数据,允许若干个DPM1 典型的设备是 PLC, PC, VME
2)DP-2 类主设备 (DPM2)
组态 监视或工程工具 它被用来设定网络或参数、监视 DP-从设备
3)DP-从设备
直接连接 I/O 信号的外围设备,典型的设备是输入 输出 驱动器 阀 操作面板等等
2.2 系统分类
1)单主系统
2)多主系统
2.3 数据交互
2.4 时间计算
2.4.1 单主循环时间
1)总线循环时间和从站个数的关系:从站越多,总线循环时间越大
2)总线循环时间和带宽的关系:带宽越高,总线循环时间越小
2.4.2 循环时间计算
例如:每个DP-从设备有 2 字节的输入和 2 字节的输出数据,最小的从间隔时间是 200 微秒
循环时间计算方法:
- 一个八位二进制数 一字节 按 11位传输;
- 一个报文头和尾由11 个字节或 9 个字节组成;
- 当波特率为1.5M时,1个位时间 0.6667µs,1 个八位二进制数 11位时间 7.33 µs;
- 当波特率为12M时,1个位时间 83ns,1个八位二进制数 11个位时间 0.913ns;
- 实际中需要再加上10~20%的余量
2.4.3 请求响应时间计算
回顾上面的时序图:
T
M
C
=
(
T
S
Y
N
+
T
I
D
1
+
T
S
D
R
+
H
e
a
d
e
r
+
I
∗
11
T
B
i
t
+
O
∗
11
T
B
i
t
)
∗
S
l
a
v
e
s
TMC = ( TSYN + TID1 + TSDR + Header + I * 11TBit + O * 11TBit ) *Slaves
TMC=(TSYN+TID1+TSDR+Header+I∗11TBit+O∗11TBit)∗Slaves
TMC = 信息循环时间按位时间计
TID1 = 在主站的空闲时间 = 典型的75 个位时间
TSDR = 在从站的站延迟时间 = 典型的11个位时间
Header = 在请求和响应帧中的电文头 = 198 个位时间
I = 每个从站的输入数据字节数
O = 每个从站的输出数据字节数
Slaves = 从站个数
例如:PROFIBUS-DP 系统的组成 包括1 个主站和 20 个从站 每个从站有 2 个字节的输入和 2 个字节的输出。
T
M
C
=
(
33
+
75
+
11
+
198
+
22
+
22
)
x
20
=
7220
T
B
i
t
TMC = ( 33 + 75 + 11 + 198 + 22 + 22 ) x 20 = 7220 TBit
TMC=(33+75+11+198+22+22)x20=7220TBit
对于1.5M带宽:4.8 ms
对于12M带宽:0.6 ms
2.4.4 响应时间
1)从传感器到驱动器的全部响应时间
总线运行时间为两个1ms(下图黑粗线),约占全部时间的的4%
2)从传感器到接触器的全部响应时间
总线运行时间为两个1ms(下图黑粗线),约占全部时间的的3%
2.5 DP功能
1)功能概述
2)基本功能
2.6 状态机
1)状态划分
- 参数化阶段:从站由 DP- 主站用现行总线参数 监控时间和从站的特定参数进行参数化;
- 组态阶段:DP- 主站对DP- 从站所需要的配置和现行的配置进行比较;
- 数据传输阶段:在参数化和组态成功后 DP- 从站改变其状态进入用户数据交换阶段。
注意:
在数据传输阶段,从站的参数可以被更改,更改过程中不必中断数据传输;
在以上三个阶段中,都可以附加诊断数据和控制命令的传输。
2)从站状态机
- Power-on. 只有在此状态下 从站能从2类主站接收 Set_Slave_Add 报文来改变它的地址
- WAIT_PRM. 等待参数化完成
- WAIT_CFG. 等待组态完成
- DATA_EXCH. 数据交换
- 若组态或数据交换不成功,再回到参数化阶段
3) 参数化信息交互
参数化阶段,DP-主站传送下列信息给DP-从站:
- 从站用 不用看门狗 watch dog 控制
- 定义站延迟时间 (TSDR)
- 支持的锁定 同步方式
- DP-从站对其他主站的锁闭或不锁闭
- 组 group 的定义
- 确定相关主站的地址
4)组态阶段信息交互
- 在组态阶段,确定从站的输入、输出的数据量,还要规定周期性
- 用户数据交换时的用户数据长度
- 组态数据可以分成若干部分,每部分16 个字节
- 定义数据域,数据域将被一致性地传输
- 制造商指定数据的定义
5)控制命令
除与用户数据传输有关的站以外,DP-主站可以发送控制命令给一个、一组或全部DP-从站。
这些控制命令设计为全局控制 Global-Controls:
- 输入同步 (锁定模式)
- 输出同步 (同步模式)
- 输出清除进入失效安全状态 (清除模式)
2.7 诊断
诊断分为三级
1)与站有关的诊断:站一般运行状态的信息,如温度过高,电压过低….
2)与模块有关的诊断:设备中相关模块的信息,如输出模块 8A 有故障 …
3)与通道有关的诊断:输入或输出某一信号位的信息 如输出线 3 断了…
2.8 安全性检查
PROFIBUS-DP 的安全性功能确保如下检查:
- 参数化错误
- 站脱落
- 传输介质脱落
- EMC (电磁兼容性)
- 硬件和软件失效
2.9 系统行为
系统行为主要由 DP-主站 (1 类)的系统行为来确定:
- 停止 STOP :在DP-主和DP-从之间无数据传输
- 清除 CLEAR :DP-主读取DP-从的输入数据并保持输出在失效安全状态
- 运行 OPERATE DP-主处在数据传输阶段。在后继的周期中DP-从的输入被读,且将输出数据写给DP-从
2.10 识别码
每一类 DP-从设备和每一类 DP-主设备 (1 类) 都必须分别有一个识别号:
- 用一个识别号,DP-主能识别已联接的DP-从的类型,而无须在前面特别议定
- 如果设备类型和设备地址都正确,这就为在总线上运行做好了准备,此时DP-主将开始用户数据传输
- 识别号用 0 到 FFFF 间的16进数
- 识别号由 PROFIBUS 用户组织发放,如在德国的PNO,在美国的PTO
2.11 服务存取点 (SAP)
1)服务存取点被用来选择不同的DP-功能:
- Default-SAP:用户数据交换
- SAP 54: 主-主功能
- SAP 55: 设定 / 更改从地址
- SAP 56: 读输入
- SAP 57: 读输出
- SAP 58: 控制命令
- SAP 59: 读组态数据
- SAP 60: 读诊断数据
- SAP 61: 设定参数化数据
- SAP 62: 检查组态数据
2)读取服务的时序图
2.12 GSD文件
1)在GSD文件中,描述每一个 PROFIBUS-DP 设备的特性。
2)每个设备的GSD 文件用设备的电子数据单来表示。
3)GSD 文件包含所有设备的特定参数 如:
- 支持的波特率
- 支持的信息长度
- 输入 / 输出的数据量
- 诊断信息的含义
- 对模拟设备有效的选择
4)GSD文件由设备制造商建立
5)每一个设备类型分别需要一个GSD文件
6)PROFIBUS 用户组织提供GSD编辑程序,它使得建立GSD文件非常容易
7)GSD编辑程序包括GSD检查程序,它确保GSD文件符合PROFIBUS 标准
8)在PROFIBUS 网页 http://www.profibus.com 中构成了一个GSD文件库
3、PROFIBUS-PA
3.1 什么是PROFIBUS-PA?
PROFIBUS-PA = PROFIBUS-DP 通信 + 对现场设备优选的传输技术
PROFIBUS-PA = 用于过程自动化的 PROFIBUS
3.2 用途
1)应用范围
- 用在从设备为:变送器、阀、执行器等等
- 通过串行总线系统连接
- 在化学工业和过程控制中使用
- 通过数据线对现场设备供电
- 在危险区域 (EExi 型保护区域)应用
2)用于防爆
对防爆和非防爆区域过程自动化的低端应用,PROFIBUS-PA 是优选的;
PROFIBUS-PA 完全满足化学工业用户组织(如 NAMUR)对数字现场总线的要求。
防爆区划分:
- Zone 0: 危险的爆炸瓦斯气体经常或长期存在的区域
- Zone 1: 在正常运行期间危险的爆炸瓦斯气体有可能存在的区域
- Zone 2: 不希望在正常运行期间存在危险的爆炸瓦斯气体的区域
3) 代替传统电流信号线
3.3 总线
1)总线接入点
PROFIBUS-PA 接在 PROFIBUS-DP 现场总线系统的从站上,如下图所示:
2)拓扑
3)供电
4)耦合器
耦合器在不同的传输技术之间提供一个网关 gateway)
5)链接器
6)循环时间
3.4 协议
1)PROFIBUS-PA 和 PROFIBUS-DP的关系
- PROFIBUS-PA 以 PROFIBUS-DP 为基础;
- 通过标准的 DP 周期性数据交换功能传输量值和状态;
- 对于设备参数的传输和用工程工具的设备运行,使用扩展PROFIBUS-DP的非周期性读/写功能;
- PROFIBUS-PA 行规定义有关 PA 功能映象
2)DP协议周期的和非周期的区别
3.5 设备行规
1)举例
2)行规确保互操作性
- 定义运行、识别、维护、诊断等参数
- 定义数据 (如温度、压力、流量等)的含义
- 定义一个模拟量,含范围、工程单位和状态
- 依据国际承认的功能块技术
- 定义通信子集和设备行为
- 支持简单的(单变量)和复杂的(多变量)设备
- 结合化学工业的应用开发的
3)AB类行规
PROFIBUS - PA 行规定义了两类:
A 类:
- 描述简单设备的公共参数
- 对运行阶段的基本功能限定了范围
- 参数包括过程变量(如温度、压力、液位等)的被测量值,附加特征名称和工程单位
B 类:
- 对 A 类的扩展,包括识别、委派、维护和诊断等更复杂的应用功能
这两类的参数关系在行规的一致性陈述中被说明
4)行规内容
行规包括两部分:
-
一般定义
- 对所有类型的设备都有效
- 定义此设备与 PROFIBUS-PA 间的关系
- 定义操作、起动和再起动
-
设备数据单
- 每个设备类型 (如变送器、阀) 有各自的设备数据单
- 定义此设备的特定参数和操作
3.6 设备参数
PA 设备的标准参数:
PA行规标准化的设备参数:例如,功能块模拟输入、压力变送器
3.7 状态字
对每一个过程变量都附有一个状态字节
4、PROFIBUS - FMS
4.1 介绍
1)协议结构
2)特点
- 为连接智能现场设备而设计,如 PLC、PC、MMI
- 强有力的应用服务提供广泛的功能
- 面向对象的协议
- 多主和主-从通信
- 点对点、广播和局部广播通信
- 周期性和非周期性的数据传输
- 每个设备的用户数据多达 240 个字节
- 得到所有主要 PLC 制造商的支持
- 可以提供大量的产品,如 PLC、PC、VME、MMI、I/O…
4.2 面向对象
1)面向对象设计
PROFIBUS-FMS是面向对象设计的:
- 变量、参数、程序均设计为对象
- 每个对象都有确定的特性(读、写…)
- 所有对象被列在对象字典 (OD) 中
- 对象字典根据每个设备单独构成
2)通信对象的类型
3)对象的特征
每个对象包括:
- 指针:访问此对象的号
- 对象代码:此对象的数据类型
- 对象属性:如,不删除
- 名称:对象全名 (可选)
- 内部地址:对象的实六位地址
- 访问权:如,写保护
- 扩充:用户定义
所有 FMS 对象都进入对象字典(OD)
4)对象字典 (OD)
对象字典包括如下部分:
- 头部:包含此 OD 的结构信息
- 数据类型字典:包括所支持的静态数据类型表(如:布尔、整数、浮点数 …)
- 静态对象字典:包括静态通信对象表(如:停机时间、故障率 …)
- 动态变量表的表:包括所有现今已知变量表的表
- 动态程序表:包括所有现今已知程序的表
例如:一个简单设备的OD
5)支持的对象
PROFIBUS-FMS 支持如下类型的对象
- 静态通信对象:这些对象登入静态对象字典
- 简单变量:变量类型如整数、布尔数 …
- 数组:同类型的简单变量的数组
- 记录:各种类型的简单变量的数组
- 区域:大数量的数据
- 事件:事件信息
- 动态通信对象:这些对象登入动态对象字典
- 程序调用:程序的描述
- 变量表:简单变量、数组或记录的记录
4.3 服务
4.4 通信关系
1)通信关系
站之间的数据传输通过通信关系来执行,通信关系允许存取保护和自动的联接监视
2)通信关系表(CRL)
所有通信关系被登入通信关系表 (CRL)
4.5 GSD
- 对每一个 FMS设备有一张由制造商定义的电子数据单 (GSD文件)
- FMS GSD文件包括所有相关设备的通信能力
- 在组态期间,FMS 组态工具读 GSD文件并将所有信息放入账号
- 在PROFIBUS导则 No. 2.101 中,描述了FMS GSD文件的格式