系统工作过程:
PROFIBUS-DP的数据通信分为4个阶段:启动、初始化主站、配置及诊断从站、数据
交换。

上电后,主站和从站进入offline状态,执行自检。当所需的参数都被初始化后,主站需要加载总线参数集,从站需要加载相应的诊断响应信息等,主站开始监听总线令牌,而从站开始等待主站对其设置参数。
主站准备好进入总线令牌环,处于听令牌状态。在一定时间内,主站如果没有听到总线上有信号传递,就开始生成自己的令牌并初始化令牌环。然后主站做一次对全体可能主站地址的状态询问,根据收到应答结果确定活动主站表和本主站所管辖站地址范围GPA,GPA是指从本站地址(TS)到令牌环中的后继站地址NS之间的地址范围。LAS的形成即标志着逻辑令牌环初始化的完成。
在主站可以与DP从站设备交换用户数据之前,主站必须设置DP从站的参数并配置此从站的通信接口,因此主站首先检查DP从站是否在总线上。如果从站在总线上,则主站通过请求从站的诊断数据来检查DP从站的准备情况。如果DP从站报告它已准备好接受参数,则主站给DP从站设置参数数据并检查通信接口配置,在正常情况下DP从站将分别给予确认。收到从站确认回答后,主站再请求从站的诊断数据以查明从站是否准备好进行用户数据交换。只有在这些工作正确完成后,主站才能开始死循环地与从站交换用户数据。
交换的数据有以下三种数据。
1、参数数据
参数数据包括预先给DP从站的一些本地和全局参数以及一些特征和功能,参数报文的结构包括标准规定的部分外,必要时还包括DP从站和制造商特有的部分。参数报文的长度不超过244字节,重要的参数包括从站状态参数、看门狗定时器参数、从站制造商标示符、从站分组及用户自定义的从站应用参数等。
使用直接组态的方法,需填写由组态软件的图形用户接口提供的对话框。
使用间接组态的方法,用组态工具存取当前的参数和有关DP从站的GSD数据(电子设备数据库文件)。
2、通信接口配置数据
DP从站的输入/输出数据的格式通过标识符来描述。标识符指定了在用户数据交换时输入输出字节或字的长度及数据的一致刷新要求。在检查通信接口配置时,主站发送标示符给DP主站,以检查在从站中实际存在的输入输出区域是否与标识符所设定的一致。如果一致,则可以进入主从用户数据交换阶段。
在组态数据报文中,DP主站发送标识符格式给DP从站,这些标识符格式告知DP要被交换的输入输出区域范围和结构。这些区域(模块)是按DP主站和从站约定的字节或子结构形成定义的。标识符格式允许指定的输入输出区域,或各模块的输入输出区域。这些区域的大小最多可以有16个字节/字。当定义组态报文时,必须根据DP从站设备类型考虑下列特性。
a、DP从站有固有的输入输出区域
b、依据配置,DP从站有动态的输入输出区域
c、DP从站的输入输出区域由此DP从站及其制造商特指的标识符格式来规定
3、诊断数据
在启动阶段,主站使用诊断请求报文来检查是否存在DP从站和从站是否准备接收参数报文。由DP从站提交的诊断数据包括符合标准的部分以及此DP从站专用的外部诊断信息。DP从站发送诊断报文告知DP主站他的运行状态、出错时间和原因等。
DP从站可以使用第2层(链路层)中“high_prio”(高优先权)的Data_Exchange相应报文发送一个本地诊断中断给DP主站的链路层,在相应时DP主站请求评估此诊断数据。如果不存在当前的诊断中断,则Data_Exchange相应报文具有“Low_priority”(低优先权)标识符。然而,即使没有诊断中断的特殊报文存在时,DP主站也随时可以请求DP从站的诊断数据。
4、用户的交换数据通信
如果前面的过程没有错误而且DP从站的通信接口配置与主站的请求相符,则DP从站发送诊断报文报告它已为循环地交换用户数据做好准备。从此时起,主站与DP从站交换用户数据。在交换用户数据期间,DP从站只相应对其设置参数和通信接口配置检查正确的主站发来的Data_Exchange请求帧报文。其他主站的用户数据报文均被此DP从站拒绝。在此阶段,当从站出现故障或其他诊断信息时,将会中断正常的用户数据交换。DP从站可以使用将应答时的报文服务级别从低优先级改变为高优先级来告知主站当前有诊断报文中断或其他状态信息。然后,主站发出诊断请求,请求DP从站的实际诊断报文或状态信息。处理后,DP从站和主站返回到交换用户数据状态,主站和DP从站可以双向交换最多244字节的用户数据。

Profibus总线最多可接32个站(不带中继器),当站点数超过32个时,必须使用中继器连接,这时最多可连127个。串联的中继器一般不超过3个,中继器没有从地址,但被计算在最多站点数中。

协议规范:
DP协议以ISO/OSI参考模型为基础,并对其进行简化。DP使用了第一层(物理层)、第二层(数据链路层)和用户层,第三到第七层未使用。
Profibus_Dp通信采用半双工方式,编码方式为NRZ(不归零)码,一个字符在Profibus总线上按11为传输,1个起始位,8位数据位,1个奇偶校验位和1个停止位。最低有效位(LSB)被第一个发送,最高有效位(MSB)最后发送当两数据线脚3和脚8之间恒为正差分电压时代表1,负差分时代表0。在位持续期间,二值信号不改变。

物理层和数据链路层接口 :
物理层向数据链路层提供的服务由两个原语实现:请求原语和指示原语,它支持传
送和接收 FDL(数据链路)符号(包括 0、1、SILENCE)。原语如下:
PHY_DATA.request (请求原语):FDL 控制器通过 PHY_DATA.request 原语提出请求,
请求将 FDL 符号发送到总线介质上的服务,它从数据链路层发出到物理层,接收到该原
语后,物理层将 FDL 符号根据 NZR 编码标准进行编码传输,并用自定义的确认原语进行
确认。

Profibus-Dp 工作过程介绍相关推荐

  1. Profibus DP总线隔离器(协议型)产品性能特点介绍

    Profibus DP协议型现场总线隔离器,符合Profibus DP协议标准,通信速率6Mbps(可选12Mpbs),2路总线电接口数据相互转发,电信号隔离并为电缆系统提供星形链接.接下来就由飞畅科 ...

  2. 以太网 传统STP生成树的BPDU介绍、STP端口状态介绍与切换过程,STP详细的工作过程。

    2.10.1 以太网 传统STP生成树(STP BPDU.STP端口状态.STP工作过程) STP生成树协议的之间的交互通过STP BPDU(根协议数据单元,Bridge Protocol Data ...

  3. 简单Profibus/DP实验系统的组建

    简单Profibus/DP实验系统的组建 Writed by 远方 DND-DeviceNet 引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及系统运行机制有一个整 ...

  4. [置顶] 谈谈找工作过程中的那些环节、注意点和经验

    作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/. 声明:版权所有,转载请注明出处,谢谢. 前面写了两篇面试相关的总结性文章,一篇是找工 ...

  5. Express中间件工作原理介绍

    Express中间件工作原理介绍 中间件是Express框架学习中最难的部分,同时也是最为核心的技术,我们的学习路线如下 1.什么是中间件 2.Express中间件的本质及工作原理 3.自定义解析po ...

  6. POE交换机供电原理及工作过程

    POE指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机.无线局域网接入点AP.网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术.就是 ...

  7. rabbitmq 不同的消费者消费同一个队列_消息队列王者--rabbitMQ深入理解--工作过程、消费模式、持久化等...

    概述 之前已经对rabbitMQ的一些基本概念做了介绍和不同MQ之间的比较,今天主要对rabbitMQ的一些方面做扩展. 01 消息队列 Broker:简单来说就是消息队列服务器实体. Exchang ...

  8. 测试或运维工作过程中最常用的几个linux命令?

    大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需要 ...

  9. rsync的介绍及参数详解,配置步骤,工作模式介绍

    rsync的介绍及参数详解,配置步骤,工作模式介绍 rsync是类unix系统下的数据镜像备份工具.它是快速增量备份.全量备份工具. Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主 ...

最新文章

  1. 复杂JSON参数传递后台处理方式
  2. AI初创企业“考拉悠然”获3000万融资
  3. 《Effective C#》读书笔记——条目28:提供粗粒度的互联网API使用C#表达设计
  4. pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  5. css 汉字注音,日本语片假名
  6. wfm扩展_WFM的完整形式是什么?
  7. php计算一段时间工作日,PHP计算8小时工作日的一半
  8. 2015第16周四自控力
  9. 极大似然估计_一文读懂矩估计,极大似然估计和贝叶斯估计
  10. mac下workbench轻松搭建(drools 7.11.0.Final版本)
  11. 上下两个x轴_工业机器人到底有多少个“轴”?
  12. 获取css style值
  13. 项目启动时,出现了Consider defining a bean of type ‘xxx’ in your configuration 问题。
  14. Unity3D游戏开发之反编译AssetBundle提取游戏资源
  15. 淘宝618超级喵运会怎么玩 如何获取喵币?
  16. Java的运行机制(一)
  17. Prometheus 之 Alertmanager告警抑制与静默
  18. 【PG074】1 简略学习Aurora 64B/66B IP核
  19. 即日起,申请美国签证需要提供社交媒体账户
  20. 一个Dom绑定多个事件

热门文章

  1. 现在才发现:敏捷迭代的好处实在太多了
  2. RabbitMQ内存消耗
  3. MySQL 错误. Packet for query is too large (*** 4194304). You can change......
  4. 什么是共模信号_为什么要抑制共模信号
  5. 语言学研究思路(本章为分类,以后有别人论文的思路分析)
  6. 某意大利小哥,竟靠一个缓存中间件直接封神?
  7. Xcode 构建优化全指南
  8. Java到底能不能使用异常来控制流程
  9. python调用ADB接口实现自动打电话(夺命连环call)
  10. 数字化×财务管理,企业财务如何高质量发展 ?