转自:http://bbs.ednchina.com/BLOG_ARTICLE_3031246.HTM

Profibus DP通讯协议简单介绍

一、 首先,Profibus DP通讯协议是一种单一的、一致性通讯协议,用于所有的工厂自动化和过程自动化。

这种协议使用“主-从”模式:一个设备(主)控制一个或多个其他设备(从);

协议使用:“令牌”模式:“令牌”通过网络传递,具有令牌控制的站有权访问网络。

Profibus DP以三种版本存在:

DP-V0:Overall command structure循环数据交换

DP-V1:扩展到非循环数据交换等

DP-V2:进一步扩展到及时,时钟同步等。

一种单一的协议适应所有的应用

Profibus DP支持所有的DCS或控制器与单个的现场设备;

工厂设备和过程设备是直接地连接到Profibus DP;

过程自动化设备(PA),聚合在“PA簇”,通过连接器或链环连接到PROFIBUS DP;

Profibus总线访问协议(第二层)对三种Profibus版本(FMS/DP/PA)均相同;

这使得通讯透明和FMS/DP/PA网络区域容易组合;

因为FMS/DP使用相同的物理介质(RS-485/FO),因此他们能组合在同一根电缆上。

二、Profibus-总线访问协议的特征

混合总线访问协议:

主站间的逻辑令牌环

主从站间的主从协议

主站:

主动站在一个限定时间内(Token Hold Time)对总线有控制权。

从站:

从站只是响应一个主站的请求,他们对总线没有控制权。

三、Profibus-总线访问协议(FDL)的特点

主站或从站可以在任何时间点接入或断开,FDL将自动重新组织令牌环;

令牌调度确保每个主站有足够的时间履行它的通信任务;因此,用户必须计算全部目标令牌环的时间;

总线访问协议有能力发现有故障的站、失效的令牌、重复的令牌、传输错误和其他所有可能的网络失败。

所有信息(包括令牌信息)在传输过程中确保高度安全,以免传输错误。海明距离HD=4.

四、Profibus-令牌调度原理

在多主网络中,令牌调度必须确保每个主站有足够的时间完成他的通讯任务;

用户组织全部目标令牌循环时间(TTR)进入所有主站的通信任务账户;

每一个主站根据下列公式计算它接收令牌后完成它的通信任务的时间(TTH):

TTH=TTR-TRR

TTH=持有令牌的时间

TTR=目标令牌循环时间

TRR=实际令牌循环时间

五、Profibus报文结构

六、网络报文的抓取

网络通讯过程中的所有通讯报文的抓取和分析是一项重要的工作,PROFIBUS总线网络中通讯的数据报文该怎么抓取,又该怎么分析?PROFIBUS TESTER 5帮您解决了这个问题,他不仅能够对网络进行基本物理层的测试,包括线缆的短路、断路、交叉、屏蔽层破损等,信号波形、电平、信噪比等等;还能够抓取所有的报文,分析报文,将报文进行详细的解析,便于您的分析。这是一款性价比非常高的产品,本人用着很是不错,需要的可以联系我hxf@hkaco.com

下图是该软件下的几个简单的截图:

Profibus基础知识学习——报文的更多相关文章

  1. (转)Linux基础知识学习

    Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...

  2. AXAJ基础知识学习

    AXAJ基础知识学习 博客首页 Ajax简介 ajxa全称是Asynchronous Javascript And XML ,就是异步的JS 和XML 通过Ajax可以再浏览器中向服务器发送异步请求, ...

  3. GCC基础知识学习

    GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...

  4. Objective-c基础知识学习笔记

    Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...

  5. Vue2基础知识学习

    Vue2基础知识学习 01.初识 new Vue({ el: '#root', //用于指定当前Vue实例为哪个容器服务,值通常为css选择器符 data () { return { } } }); ...

  6. C#基础知识学习

    C#基础知识整理 学习地址:http://blog.csdn.net/column/details/csarp.html

  7. 韩天峰博客 php基础知识学习记录

    http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...

  8. 〖前端开发〗HTML/CSS基础知识学习笔记

    经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> & ...

  9. Linq的简介和基础知识学习

    学习LINQ之前,我们要知道LINQ是干什么,解决什么问题的,怎样学习? 一.LINQ简介 1.什么是LINQ? 什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated ...

随机推荐

  1. NGS检测SNP

    1,Fastq数据质控 2,Fastq转化成bam,包含头文件 bwa aln ref.fa test_1.fq > test_1.sai bwa aln ref.fa test_2.fq &g ...

  2. maven第二天——重要概念与其它操作

    一.在eclipse中建立工程 在day01中我们搭建了eclipse的maven环境,接下来我们开始建立maven项目 1.在eclipse中建立JAVA工程 file->new->ma ...

  3. 20155237 2016-2017-2 《Java程序设计》第3周学习总结

    20155237 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 对象:存在的具体实体,具有明确的状态和行为. 类:具有相同属性和行为的一组 ...

  4. JavaWeb总结(十一)

    JSP简介 虽然Servlet解决了传统CGI编程的缺陷,但是它并不一定是最高效率的方案 - Servlet的编码.部署和调试任务繁琐 - 生成动态网页繁琐,不利于项目分工 为了弥补Servlet这些 ...

  5. 8 功能6:后台管理页面,编辑文章,xss攻击

    1.后台管理页面之文本编辑 # 后台管理url re_path(r'^cn_backend/$', views.cn_backend, name='cn_backend'), re_path(r'^c ...

  6. Codeforces 915 C. Permute Digits (dfs)

    题目链接:Permute Digits 题意: 给出了两个数字a,b(<=1e18),保证a,b都不带前缀0.用a的字符重组一个数字使这个值最大且小于b.(保证这个值存在) 题解: 这题遇到了不 ...

  7. eclipse生成ant build.xml打war包

      背景: 最近想实现jenkins+ant命令一键打war包,部署到测试环境,然后自动化接口测试,结果发现用eclipse本身导出的ant buildfiles文件,打包出来都是空文件.很多代码都没 ...

  8. Docker创建容器

    容器是镜像的一个运行实例,是基于镜像运行的轻量级环境,是一个或者一组应用. 怎样创建容器?将容器所基于的镜像名称传入即可,Docker会从本地仓库中寻找该镜像,如果本地仓库没有,则会自动从远程仓库中拉 ...

  9. numpy技巧

    矩阵旋转: mat_array = np.array([[1,2],[4,3]]) rotate_90 = np.zeros((2,2), np.uint8) rotate_180 = np.zero ...

  10. 006 --MySQL索引原理

    一 .索引的概念? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化 ...