乐发500

PROFIBUS-DP的数据链路层

乐发500知识 | 2024-08-11| 87

   凭证 OSI 参考模子 , 数据链路层划定总线存取控制、 数据清静性以及传输协媾和报
文的处置惩罚。 在 PROFIBUS - DP 中 , 数据链路层 (第 2 层) 称为 FDL 层 (现场总线数据
链路层)。

图1 FDL 层的报文帧名堂    PROFIBUS - DP 的报文名堂如图1
所示。  
 1. 帧字符和帧名堂    (1) 帧字符    每个帧由若干帧字符 (UART 字符)
组成 , 它把一个 8 位字符扩展成 11 位: 首
先是一个最先位 0 , 接着是 8 位数据 , 之后
是奇偶校验位 (划定为偶校验) , 最后是停
止位 1。    (2) 帧名堂    第 2 层的报文名堂 (帧名堂) 如图
所示。    图中 , L 为信息字段长度; SC 为简单
字符 (E5H) , 用在短应答帧中; SD1 ~
SD4 为最先符 , 区别差别类型的帧名堂:
SD1 =0x10 , SD2 =0x68 , SD3 = 0xA2 , SD4 = 0xDC; LE/ LEr 为长度字节 , 指示数据字
段的长度 , LEr = LE; DA 为目的地点 , 指示吸收该帧的站; SA 为源地点 , 指示发送该帧的
站; FC 为帧控制字节 , 包括用于该帧效劳和优先权等的详细说明; DU 为数据字段 , 包括有
效的数据信息; FCS 为帧校验字节 , 不进位加所有帧字符的和; ED 为帧竣事界定符
(16H)。    这些帧既包括自动帧 , 也包括应答/ 回覆帧 , 帧中字符间不保存空闲位 (二进制 1)。 主
动帧和应答/ 回覆帧的帧前的间隙有一些差别。 每个自动帧帧头都有至少 33 个同步位 , 也就
是说每个通讯建设握手报文前必需坚持至少 33 位长的空闲状态 (二进制 1 对应的电平信
号) , 这 33 个同步位长作为帧同步时间距离 , 称为同步位 (SYN)。 而应答帧和回覆帧前没
有这个划定 , 响应时间取决于系统设置。 应答帧与回覆帧也有一定的区别: 应答帧是指在从
站向主站的响应帧中无数据字段的帧 , 而回覆帧是指响应帧中保存数据字段的帧。 另外 , 短
应答帧只作应答使用 , 它是无数据字段牢靠长度的帧的一种简朴形式。    (3) 帧控制字节    FC 的位置在帧中 SA 之后 , 用来界说报文类型 , 批注该帧是自动请求帧 , 照旧应答/ 回
答帧。 FC 还包括了避免信息丧失或重复的控制信息 , 见表1。

表1 帧控制字节的界说    表中 , Res 为保存位 (发送方将设置此位为二进制 “0”); Frame 为帧类型 , 1 为请求帧 , 0
为应答帧/ 回覆; FCB (Frame Count Bit) 为帧计数位 , 0、 1 交替泛起 (帧类型 B6 = 1);
FCV (Frame CountBit Valid) 为帧计数位有用 (帧类型 B6 = 1) , 0 体现 FCB 的交替功效开
始或竣事 , 1 体现 FCB 的交替功效有用 (后面有详细说明); Stn - Type 为站类型和 FDL 状
态 (帧类型 B6 =0) , 其诠释见表2; Function 为功效码 , 其诠释见表3和4。

表2 Stn -Type 的界说 (帧类型 B6 =0)

表3 自动帧的功效码 (帧类型 B6 =1)

表4 响应帧的功效码 (帧类型 B6 =1)    (4) 扩展帧    在有数据字段的帧 (最先符是 SD2 和 SD3) 中 , DA 和 SA 的最高位 (第 7 位) 指示是否
保存地点扩展位 (EXT) , 0 体现无地点扩展 , 1 体现有地点扩展。 PROFIBUS - DP 协议使用
FDL 的效劳存取点 (SAP) 作为基本功效代码 , 地点扩展的作用在于指定通讯的目的效劳存
取点 (DSAP)、 源效劳存取点 (SSAP) 或者区域/ 段地点 , 其位置在 FC 字节后 , DU 的最
最先的一个或两个字节。 在响应的应答帧中也要有地点扩展位 , 并且在 DA 和 SA 中可能同
时保存地点扩展位 , 也可能只有源地点扩展或目的地点扩展。 注重: 数据交流功效 (data_
exch) 接纳默认的效劳存取点 , 在数据帧中没有 DSAP 和 SSAP , 即不接纳地点扩展帧。    (5) 报文循环    在 DP 总线上一次报文循环历程包括自动帧和应答/ 回覆帧的传输。 除令牌帧外 , 其余 3
种。 无数据字段的牢靠长度的帧、 有数据字段的牢靠长度的帧和有数据字段无牢靠长度的
帧 , 既可以是自动请求帧 , 也可以是应答/ 回覆帧 (令牌帧是自动帧 , 它不需要应答/ 回覆)。    
2. FDL 的 4 种效劳    FDL 可以为其用户 , 也就是为 FDL 的上一层提供 4 种效劳: 发送数据需应答 (SDA) ,
发送数据无需应答 (SDN) , 发送且请求数据需应答 (SRD) 及循环发送且请求数据需应答
(CSRD)。 用户想要 FDL 提供效劳 , 必需向 FDL 申请 , 而 FDL 执行之后会向用户提交效劳
效果。 用户和 FDL 之间的交互历程是通过一种接口来实现的 , 在 PROFIBUS 规范中称之为
效劳原语。    (1) 发送数据需应答    SDA 效劳的执行历程中原语的使用如图2所示。    在图2中 , 两条竖线体现 FDL 层的界线 , 两线之间部分就是整个网络的数据链路
层。 左边竖线的外侧为外地 FDL 用户 , 假设外地 FDL 地点为 m; 右边竖线外侧为远程 FDL
用户 , 假设远程 FDL 地点为 n。

图2 SDA 效劳    效劳的执行历程是: 外地的用户首先使用效劳原语 FDL_DATA_ACK. request 向外地 FDL
装备提出 SDA 效劳申请。 外地 FDL 装备收到该原语后 , 凭证链路层协议组帧 , 并发送到远
程 FDL 装备 , 远程 FDL 装备准确收到后使用原语 FDL_DATA_ACK. indication 通知远程用户
并把数据上传。 与此同时 , 又将一个应答帧发回外地 FDL 装备。 外地 FDL 装备则通过原语
FDL_DATA_ACK. confirm 通知提倡这项 SDA 效劳的外地用户。    外地 FDL 装备发送数据后 , 它会在一段时间内期待应答 , 这个时间称为时隙时间 T SL
(Slot Time , 可设定的 FDL 参数)。 若是在这个时间内没有收到应答 , 外地 FDL 装备将重新
发送 , 最多重复 k = max_retry_limit (最大重试次数 , 是可设定的 FDL 参数) 次。 在重试 k
次仍无应答 , 则将无应答效果通知外地用户。    (2) 发送数据无需应答    SDN 效劳的执行历程中原语的使用如图3所示。

图3 SDN 效劳    从图3中可以看出 SDN 效劳与 SDA 效劳的区别: ① SDN 效劳允许外地用户同时向
多个 , 甚至所有远程用户发送数据。 ② 所有吸收到数据的远程站不做应答。 当外地用户使
用原语 FDL_DATA. request 申请 SDN 效劳后 , 外地 FDL 装备向所要求的远程站发送数据的同
时连忙转达原语 FDL_DATA. confirm 给外地用户 , 原语中的参数 L_status 此时仅可以体现发
送乐成 , 或者外地的 FDL 装备过失 , 不可显示远程站是否准确吸收。    (3) 发送且请求数据需应答    SRD 效劳的执行历程中原语的使用如图所示。    SRD 效劳除了可以像 SDA 效劳那样向远程用户发送数据外 , 自身照旧一个请求 , 请求
远程站的数据回传 , 远程站把应答和被请求的数据组帧 , 回传给外地站。
执行顺序是: 远程用户将要被请求的数据准备好 , 通过原语 FDL _ REPLY _ UP?
DATE. request 把要被请求的数据交给远程 FDL 装备 , 并收到远程 FDL 装备回传的 FDL_RE?
PLY_UPDATE. confirm。 参数 Transmit 用来确定远程更新数据回传一次照旧多次 , 若是回传
多次 , 则在后续 SRD 效劳到来时 , 更新数据都会被回传。 L_status 参数显示数据是否乐成装
入 , 无误后期待被请求。 外地用户使用原语 FDL_DATA_REPLY. request 提倡这项效劳 , 远
程站 FDL 装备收到发送数据后 , 连忙把准备好的被请求数据回传 , 同时向远程用户发送
FDL_DATA_REPLY. indication , 其中参数 updata_status 显示被请求数据是否被乐成地发送出
去。 最后 , 外地用户就会通过原语 FDL_DATA_REPLY. confirm 吸收到被请求数据 L_sdu 和
传输状态效果 L_status。

图3 SRD 效劳    (4) 循环发送且请求数据需应答    CSRD 是 FDL 4 种效劳中最重大的一种。 CSRD 效劳在明确上可以以为是对多个远程站
自动循环地执行 SRD 效劳。    以上就是 FDL 层提供的4 种效劳。 特殊强调的是 SDN 效劳和 SRD 效劳 , 由于 PROFIBUS
-DP 总线的数据传输依赖的是这两种 FDL 效劳 , 而 FMS 总线使用了 FDL 的所有4 种效劳。
别的尚有一点 , 4 种效劳显然都可以发送数据 , 可是 SDA 和 SDN 发送的数据不可为空 ,
而 SRD 和 CSRD 则可以 , 这种情形着实就是纯粹请求数据了。    
3. 以令牌传输为焦点的总线会见控制系统    在 PROFIBUS - DP 的总线会见控制中已经先容过关于令牌环的基本内容 , 为了更好地
明确 DP 系统中的令牌传输历程 , 下面将对此举行较详细的说明。    (1) GAP 表及 GAP 表的维护    GAP 是指令牌环中从本站地点到后继站地点之间的地点规模 GAP 表 (GAPL) 为 GAP
规模内所有站的状态表。    每一个主站中都有一个 GAP 维护准时器 , 准时器溢出即向主站提出 GAP 维护申请。 主
站收到申请后 , 使用询问 FDL 状态的 Request FDL Status 自动帧询问自己 GAP 规模内的所有
地点。 通过是否有返回和返回的状态 , 主站就可以知道自己的 GAP 规模内是否有从站从总
线上脱落 , 是否有新站添加 , 并实时修改自己的 GAPL。 详细如下:    1) 若是在 GAP 表维护中发明有新从站 , 则把它们记入 GAPL。    2) 若是在 GAP 表维护中发明原先在 GAP 表中的从站在多次重复请求的情形下没有应
答 , 则把该站从 GAPL 中除去 , 并挂号该地点为未使用地点。    3) 若是在 GAP 表维护中发明有一个新主站且处于准备进入逻辑令牌环的状态 , 该主站
将自己的 GAP 规模改变到新发明的这个主站 , 并且修改运动主站表 , 在传出令牌时把令牌
交给此新主站。    4) 若是在 GAP 表维护中发明在自己的 GAP 规模中有一个处于已在逻辑令牌环中状态的
主站 , 则以为该站为不法站 , 接下来询问 GAP 表中的其他站点。 转达令牌时仍然传给自己
的 NS , 从而跳过该主站。 该主站发明自己被跳事后 , 会从总线上自动撤下 , 即从 Active_
Idle 状态进入 Listen_Token 状态 , 重新期待进入逻辑令牌环。    (2) 令牌转达    某主站要交出令牌时 , 凭证运动主站表转达令牌帧给后继站。 传出后 , 该主站最先监听
总线上的信号 , 若是在一准时间 (时隙时间) 内听到总线上有帧最先传输 , 不管该帧是否
有用 , 都以为令牌转达乐成 , 该主站就进入 Active_Idle 状态。
若是时隙时间内总线没有运动 , 就再次发出令牌帧。 云云重复至最大重试次数 , 若是仍
然不乐成 , 则转达令牌给运动主站表中后继主站的后继主站。 依此类推 , 直到最大地点规模
内仍然找不到后继 , 则以为自己是系统内唯一的主站 , 将保存令牌 , 直到 GAP 维护时找到
新的主站。    (3) 令牌吸收    若是一个主站从运动主站表中自己的前驱站收到令牌 , 则保存令牌并使用总线。 若是主
站收到的令牌帧不是前驱站发出的 , 则以为是一个过失而不吸收令牌。 若是此令牌帧被再次
收到 , 该主站则以为令牌环已经修改 , 将吸收令牌并修改自己的运动主站表。    (4) 令牌持有站的传输    一个主站持有令牌后 , 事情历程如下:    首先盘算上次令牌获得时刻到本次令牌获得时刻经由的时间 , 该时间为现实轮转时
间 (T RR ) , 体现的是令牌现着实整个系统中轮转一周泯灭的时间。 每一次令牌交流都
会盘算一个新的 T RR ; 主站内有参数目的轮转时间 T TR  , 其值由用户设定 , 它是预设的
令牌轮转时间。 一个主站在获得令牌后 , 就是通过盘算 T TR - T RR 来确定自己可以持有
令牌的时间。 (5) 从站 FDL 状态及事情历程    为了利便明确 PROFIBUS - DP 站点 FDL 的事情历程 , 将其划分为几个 FDL 状态 , 其工
作历程就是在这几个状态之间一直转换的历程。    PROFIBUS - DP 从站有两个 FDL 状态: Offline 和 Passive_Idle。 当从站上电、 复位或发
生某些过失时进入 Offline 状态。 在这种状态下从站会自检 , 完成初始化及运行参数设定 ,
此状态下不做任何传输。 从站运行参数设定完成后自动进入 Passive_Idle 状态。 此状态下监
听总线并对询问自己的数据帧作响应反应。    (6) 主站 FDL 状态及事情历程    主站的 FDL 状态转换图如图4所示。 主站的事情历程及状态转换较量重大 , 这里以
3 种典范情形举行说明。    1) 令牌环的形成。 假定一个 PROFIBUS - DP 系统最先上电 , 该系统有几个主站 , 令牌
环的形成事情历程如下:    每个主站初始化完成后从 Offline 状态进入 Listen_Token 状态 , 监听总线。 主站在一准时
间 Ttime - out (T TO  , 超时时间) 内没有听到总线上有信号转达 , 就进入 Claim_Token 状态 ,
自己天生令牌并初始化令牌环。 由于 T TO 是一个关于地点 n 的枯燥递增函数 , 同样条件下整
个系统中地点最低的主站最先进入 Claim_Token 状态。    最先进入 Claim_Token 状态的主站 , 获得自己天生的令牌后 , 马上向自己转达令牌帧两

图4 FDL 状态转换图     次 , 通知系统内的其他还处于 Listen_Token 状态的主站令牌转达最先 , 其他主站把该主站记
入自己的运动主站表。 然后该主站做一次对全体可能地点的询问 (Request FDL Status) , 根
据收到应答的效果确定自己的 LAS 和 GAP。 LAS 的形成即标记着逻辑令牌环初始化的完成。    2) 主站加入已运行的 PROFIBUS - DP 系统的历程。 假定一个 PROFIBUS - DP 系统已经
运行 , 一个主站加入令牌环的历程如下:    主站上电后在 Offline 状态下完成自身初始化。 之后进入 Listen_Token 状态 , 在此状态
下 , 主站听总线上的令牌帧 , 剖析其地点 , 从而知道该系统上已有哪些主站。 主站会听两个
完整的令牌循环 , 即每个主站都被它作为令牌帧源地点纪录两次。 这样主站就获得了可靠的
运动主站表。    若是在听令牌的历程中发明两次令牌帧的源地点与自己地点一样 , 则以为系统内已有自
己地点的主站 , 于是进入 Offline 状态并向外地用户报告此情形。    在听两个令牌循环的时间里 , 若是主站的前驱站进入 GAP 维护 , 询问 Request FDL Sta?
tus , 则回复未准备好。 而在主站表已经天生之后 , 主站再询问 Request FDL Status , 主站回
复准备进入逻辑令牌环 , 并从 Listen_Token 状态进入 Active_Idle 状态。 这样 , 主站的前驱站
会修改自己的 GAP 和 LAS , 并把该主站作为自己的后继站。    主站在 Active_Idle 状态下 , 监听总线 , 能够对寻址自己的自动帧作应答 , 但没有提倡
总线运动的权力。 直到前驱站传送令牌帧给它 , 它保存令牌并进入 Use_Token 状态。 若是在
监听总线的状态下 , 主站一连听到两个 SA = TS (源地点 = 本站地点) 的令牌帧 , 则以为整
个系统蜕化 , 令牌环最先重新初始化 , 主站转入 Listen_Token 状态。    主站在 Use_Token 状态下 , 凭证前面所说的令牌持有站的传输历程举行事情。 令牌持有
时间抵达后 , 进入 Pass_Token 状态。    特殊说明 , 主站的 GAP 维护是在 Pass_Token 状态下举行的。 如不需要 GAP 维护或令牌
持有时间用尽 , 主站将把令牌转达给后继站。    主站在令牌转达乐成后 , 进入 Active_Idle 状态 , 直到再次获得令牌。    3) 令牌丧失。 假设一个已经最先事情的 PROFIBUS - DP 系统泛起令牌丧失 , 这样也会
泛起总线空闲的情形。 每一个主站此时都处于 Active_Idle 状态 , FDL 发明在超时时间
(T TO ) 内无总线运动 , 则以为令牌丧失并重新初始化逻辑令牌环 , 进入 Claim_Token 状态 ,
此时重复第一种情形的处置惩罚历程。    
4. 现场总线第 1/2 层治理 (FMA 1/2)    前面先容了 PROFIBUS - DP 规范中 FDL 为上层提供的效劳。 而事实上 , FDL 的用户除
了可以申请 FDL 的效劳之外 , 还可以对 FDL 以及物理层 (PHY) 举行一些须要的治理。 例
如 , 强制复位 FDL 和 PHY , 设定参数值 , 读状态 , 读事务及举行设置等。 在 PROFIBUS -
DP 规范中 , 这一部分称为 FMA 1/2 (现场总线第 1/2 层治理)。    FMA 1/2 用户和 FMA 1/2 之间的接口效劳功效主要有:    ● 复位物理层、 数据链路层 (Reset FMA 1/2) , 此效劳是外地效劳。    ● 请求和修改数据链路层、 物理层 , 以及计数器的现实参数值 (Set Value/ Read Value
FMA 1/2) , 此效劳是外地效劳。    ● 通知意外的事务、 过失和状态改变 (Event FMA 1/2) , 此效劳可以是外地效劳 , 也可
以是远程效劳。    ● 请求站的标识和链路效劳存取点设置 (Ident FMA 1/2、 LSAP Status FMA 1/2) , 此服
务可以是外地效劳 , 也可以是远程效劳。    ● 请求现实的主站表 (Live List FMA 1/2) , 此效劳是外地效劳。    ● SAP 激活及扫除激活 ( (R) SAP Activate/ SAP Deactivate FMA 1 /2) , 此效劳是外地
效劳。

相关推荐相关推荐

PROFINET的网络结构

PROFINET的网络结构

   PROFINET 可以接纳星形结构、 树形结构、 总线型结构和环形结构 (冗余)。    PROFINET 的系统结构如图所示。 可以看到 , PROFINET 手艺的焦点装备是署理

乐发500知识 94 2024-08-11
PROFIBUS-DP主站?樵谛滦虳CS系统中的应用

PROFIBUS-DP主站?樵谛滦虳CS系统中的应用

   山东大学为顺应网络手艺的生长 , 特殊是 Internet、 Web、 opc 手艺的生长而研发了基于

乐发500知识 61 2024-08-11
DeviceNet的特征

DeviceNet的特征

    1. DeviceNet 的物理/ 介质特征    DeviceNet 具有如下物理/ 介质特征:    ● 主干线 - 分支线结构。    ● 最多可支持 64 个节点。    ● 无需中止网络即可扫除节点。    ● 同时支持网 ...

乐发500知识 69 2024-08-11
FBPRO-8DI八路隔离型数字量输入智能节点的系统设计

FBPRO-8DI八路隔离型数字量输入智能节点的系统设计

PROFIBUS - DP 从站智能测控节点的系统结构如图所示。 图1 PROFIBUS - DP 从站智能测控节点系统结构图 下面以 FBPRO -8DI 八路隔离型数字量输入智能节点和 FBPRO -4MV 四通道隔离型毫 伏信号输入智能节点为例 , 先容 PROFIBUS - DP 从站智能测控节点 ...

乐发500知识 75 2024-08-11
PROFIBUS-DP的用户层

PROFIBUS-DP的用户层

   1. 概述    用户层包括 DDLM 和用户接口/ 用户 (User Interface/ User) 等 , 它们在通讯中实现种种 应用功效 (在 PROFIBUS - DP 协议中没有界说第 7 层 (应用层) , 而是在用户接口中形貌其 应用)。 DDLM 是预先界说的直 ...

乐发500知识 69 2024-08-11
电力二极管的结构

电力二极管的结构

    电力 二极管 (又称功率二极管) 由一个 PN 结加上相 应的电极引线和管壳组成, 由 P 区引出的电极称为阳极或 正极, 用字母 A 体现; 由 N 区引出的电极称为阴极或负 极, 用字母 K 体现。    电力二极管由一个面积较大的 PN 结和 ...

乐发500知识 62 2024-08-11
PROFIBUS-DP用户接口

PROFIBUS-DP用户接口

    1. 1 类主站的用户接口    1 类主站用户接口与用户之间的接口包括数据接口和效劳接口。 在该接口上处置惩罚与 DP 从站通讯的所有信息交互。 1 类主站的用户接口如图所示。    (1) 数据接口    数据接口包括 ...

乐发500知识 81 2024-08-11
PROFIBUS-DP的数据链路层

PROFIBUS-DP的数据链路层

   凭证 OSI 参考模子 , 数据链路层划定总线存取控制、 数据清静性以及传输协媾和报

乐发500知识 87 2024-08-11
电力二极管伏安特征及应用

电力二极管伏安特征及应用

    电力 二极管的伏安特征曲线如图所示。 曲线中横 轴是电压 (U), 即加到二极管南北极引脚之间的电压, 正 电压体现二极管正极电压高于负极电压, 负电压体现二极 管正极电压低于负极电压。 纵轴是电流 (I), 即流过二 极管的电流, 正偏向体现 ...

乐发500知识 61 2024-08-11
Rockwell的3层网络结构

Rockwell的3层网络结构

   DeviceNet 将基本工业装备 (如限位开关、 光电 传感器、 阀组、 电念头启动器、 历程传

乐发500知识 58 2024-08-11
【网站地图】【sitemap】