1
PROFIBUS 规范—标准部分
第六部分:应用层协议规范
PROFIBUS Specification—Normative Parts
Part 6: Application Layer Protocol Specification
2
第六部分 应用层协议规范
目录
1 范围·················································································································· 6
2 引用标准及附加材料······················································································ 6
3 概论·················································································································· 6
4 编码·················································································································· 6
4.1 概述 ···················································································································6
4.2 编码规则 ···········································································································6
4.3 标识信息的结构································································································6
4.3.1 应用数据的编码································································································7
4.3.1.1 布尔数 ···············································································································7
4.3.1.2 整数 ···················································································································8
4.3.1.3 无符号数 ···········································································································8
4.3.1.4 浮点数 ···············································································································9
4.3.1.5 可视字符串········································································································9
4.3.1.6 八位位组串······································································································· 10
4.3.1.7 日期 ·················································································································· 10
4.3.1.8 日时 ·················································································································· 11
4.3.1.9 时差 ·················································································································· 11
4.3.1.10 位串 ·················································································································· 12
4.3.1.11 空(Null)············································································································· 12
4.3.1.12 打包(Packed) ···································································································· 12
4.3.2 结构信息的编码······························································································· 12
4.3.2.1 序列(SEQUENCE) ······················································································ 12
4.3.2.2 ····序列(SEQUENCE OF)······································································· 13
4.3.2.3 选项(CHOICE)···························································································· 13
5 语法描述··············································································································14
5.1 现场总线报文规范(FMS)协议数据单元(PDU) ···································· 14
5.1.1 固定 PDU 部分的描述····················································································· 14
5.1.2 需确认的服务请求··························································································· 15
5.1.3 需确认的服务响应··························································································· 16
5.1.4 服务出错 ·········································································································· 17
5.1.4.1 出错类型 ·········································································································· 17
5.1.4.2 程序调用(P1)出错类型··············································································· 17
5.1.4.3 对象字典(OD)出错类型·············································································· 18
5.1.4.4 出错类别 ·········································································································· 18
5.1.5 无需确认的 PDU······························································································ 19
5.1.6 拒绝 ·················································································································· 19
5.1.7 启动 PDU·········································································································· 19
5.1.8 一般置换 ·········································································································· 20
5.2 虚拟现场总线设备(VFD)支持···································································· 20
5.2.1 状态 ·················································································································· 20
3
5.2.2 标识 ·················································································································· 21
5.2.3 未经请求的状态······························································································· 21
5.3 对象字典(OD)管理 ····················································································· 21
5.3.1 对象描述及 OD 描述 ······················································································· 21
5.3.2 获得对象字典(GetOD)················································································ 21
5.3.3 启动放置对象字典(PutOD) ········································································ 22
5.3.4 放置对象字典(PutOD)················································································ 22
5.3.5 终止放置对象字典(PutOD) ········································································ 22
5.4 上下关系管理··································································································· 22
5.4.1 存取控制 ·········································································································· 22
5.4.2 启动 ·················································································································· 23
5.5 域管理 ·············································································································· 24
5.5.1 域对象 ·············································································································· 24
5.5.2 启动下载序列··································································································· 24
5.5.3 下载数据段······································································································· 24
5.5.4 终止下载序列··································································································· 25
5.5.5 启动上载序列··································································································· 25
5.5.6 上载数据段······································································································· 25
5.5.7 终止上载序列··································································································· 25
5.5.8 请求域下载······································································································· 26
5.5.9 请求域上载······································································································· 26
5.6 程序调用管理··································································································· 26
5.6.1 程序调用状态··································································································· 26
5.6.2 建立程序调用··································································································· 27
5.6.3 删除程序调用··································································································· 27
5.6.4 起动 ·················································································································· 27
5.6.5 停止 ·················································································································· 28
5.6.6 恢复 ·················································································································· 28
5.6.7 复位 ·················································································································· 28
5.6.8 削除 ·················································································································· 28
5.7 变量存取 ·········································································································· 29
5.7.1 变量表存取保护······························································································· 29
5.7.2 读······················································································································ 29
5.7.3 写······················································································································ 30
5.7.4 定义变量表······································································································· 30
5.7.5 删除变量表······································································································· 30
5.7.6 物理读 ·············································································································· 30
5.7.7 物理写 ·············································································································· 31
5.7.8 信息报告 ·········································································································· 31
5.7.9 带类型的读······································································································· 31
5.7.10 带类型的写······································································································· 31
5.7.11 带类型的信息报告··························································································· 32
5.8 事件管理 ·········································································································· 32
5.8.1 改变事件条件监视··························································································· 32
4
5.8.2 应答事件通告································································································· 32
5.8.3 事件通告········································································································· 32
5.8.4 带类型的事件通告························································································· 33
5.9 具体编码举例································································································· 33
6 低层接口(LLI)·························································································· 35
1.1 概述 ················································································································ 35
6.1.1 LLI的任务 ····································································································· 35
6.1.2 现场总线数据链路(FDL)服务及现场总线管理层 1/2(FMA1/2)
服务的使用····································································································· 35
6.2 LLI模型 ········································································································· 35
6.2.1 LLI编址 ········································································································· 36
6.2.2 通信关系········································································································· 37
6.2.3 LLI用户与 LLI 间的接口·············································································· 44
6.2.4 服务概况········································································································· 44
6.2.5 本地功能的 LLI 与 FMA7 之间的接口························································· 49
6.2.6 LLI通信关系表(LLI CRL) ······································································· 54
6.2.6.1 LLI CRL的结构····························································································· 54
6.2.6.2 连接属性········································································································· 61
6.2.6.3 分配给通信引用的 PDU 和服务原语···························································· 62
6.2.6.4 分配给 LLI 用户的通信关系类型 ································································· 63
6.3 面向连接的通信关系····················································································· 64
6.3.1 连接类型与编址····························································································· 64
6.3.1.1 主从通信关系································································································· 64
6.3.1.2 主主通信关系································································································· 67
6.3.2 连接建立········································································································· 68
6.3.2.1 监视连接的建立····························································································· 70
6.3.2.2 主-从通信关系的联接···················································································· 70
6.3.2.3 主-主通信关系的联接···················································································· 81
6.3.2.4 冲突处理········································································································· 89
6.3.2.5 第 2 层确认原语的说明 ················································································· 90
6.3.2.6 在 LLI 中的上下关系测试··············································································· 90
6.3.3 连接释放········································································································· 90
6.3.3.1 连接释放的监视····························································································· 91
6.3.3.2 主-从通信关系的中止···················································································· 91
6.3.3.3 主-主通信关系的中止···················································································· 96
6.3.3.4 第 2 层确认原语的说明 ················································································· 99
6.3.4 数据传送········································································································· 99
6.3.4.1 为主-从通信关系映象 FMS/FMA7 服务到第 2 层 ······································· 99
6.3.4.2 非从站发起的循环数据传送的连接(MSCY)··········································· 99
6.3.4.3 为主-主通信关系映象 FMS/FMA7 服务到第 2 层 ······································ 133
6.3.4.4 数据传送的监视···························································································· 139
6.3.4.5 LLI内的数据流控制····················································································· 140
6.4 无连接的通信关系························································································ 141
6.4.1 广播数据传送································································································ 141
5
6.4.2 群播数据传送································································································ 141
6.4.3 映象 FMS 服务到第 2 层 ·············································································· 141
6.5 LLI PDU ····································································································· 145
6.6 LLI的起动 ···································································································· 151
6.6.1 操作的准备条件···························································································· 151
6.6.2 LLI CRL动态部分的预定义 ········································································ 151
6.6.3 生成轮询表并传送至第 2 层 ········································································ 152
6.6.4 第 2 层服务存取点的激活 ············································································ 152
6.7 LLI状态机的形式描述················································································· 153
6.7.1 LLI的起动 ···································································································· 156
6.7.2 连接建立与释放···························································································· 165
6.7.2.1 请求方连接建立状态图 ················································································ 166
6.7.2.2 响应方连接建立状态图 ················································································ 181
6.7.2.3 连接释放状态图···························································································· 196
6.7.3 数据传送········································································································ 204
6.7.3.1 主站开放状态图···························································································· 204
6.7.3.2 从站开放状态图···························································································· 220
6.7.3.3 DTC 请求方(主站)在非循环数据传送 M-M 或 M-S)
连接上的状态图···························································································· 228
6.7.3.4 DTC 响应方(主站或从站)在非循环数据传送(M-M 或 M-S)
连接上的状态图···························································································· 230
6.7.3.5 DTC响应方在主站或从站(非循环 M-M 或 M-S)
状态转换描述································································································ 231
6.7.3.6 空闲(IDLE)请求方(主站)在非循环数据传送(M-M 或 M-S)
连接上的状态图···························································································· 232
6.7.3.7 空闲(IDLE)请求方(从站)在非循环数据传送连接上的状态图 ········· 234
6.7.3.8 DTC请求方(主站)在循环数据传送连接上的状态图····························· 235
6.7.3.9 DTC 响应方(从站)在循环数据传送连接上的状态图····························· 239
6.7.3.10 在主站 DTA 请求方的状态图······································································· 245
6.7.3.11 在从站 DTA 请求方的状态图······································································· 247
6.7.2.12 DTA 应答的状态图······················································································· 248
6.7.4 广播与群播···································································································· 252
6.7.4.1 DTU请求方(主站)的状态图 ··································································· 252
6.7.4.2 DTU接收方(主站或从站)的状态图························································ 254
6.7.5 LLI所用的第 2 层服务、原语及 PDU 的概况············································ 256
6.7.6 映象所有 LLI 服务到第 2 层服务作为通信关系的功能 ····························· 258
6.7.7 中止原因代码································································································ 259
6.7.7.1 本地启动的连接中止 ···················································································· 259
6.7.7.2 远程启动的连接中止 ···················································································· 260
6.7.7.3 中止指示的 LLI 原因代码 ············································································ 261
6.7.8 故障指示的 LLI 原因代码············································································ 262