转自: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. CentOS7 安装.netcore 2 部署应用出现An assembly specified in the application dependencies manifest (xxx.deps.json)

    # dotnet xxx.dll Error: An assembly specified in the application dependencies manifest (xxx.deps.jso ...

  2. Java基础——类加载机制

    什么叫类加载 JVM把 .class 字节码文件加载到内存,并进行相关的校验.解析.初始化,最终转换为虚拟机可用的JAVA类型的过程,称为JVM类加载机制. (当然,JVM并不关心class文件的来源 ...

  3. redis集群搭建+lua脚本的使用

    详细参考这篇文章(windows) https://blog.csdn.net/qiuyufeng/article/details/70474001 一.使用JAVA代码操作redis集群 publi ...

  4. python基础学习1-第一个网络爬虫程序

    #!/usr/bin/env python # -*- coding:utf-8 -*- 煎蛋网抓妹子图 import urllib.request import os import random d ...

  5. python基础学习1-计数器实例

    #!/usr/bin/env python # -*- coding:utf-8 -*- import time as t class MyTimer: def __init__(self):#重写初 ...

  6. 【SHOI2016】黑暗前的幻想乡

    题面 题解 如果没有建筑公司的限制,那么就是个\(\mathrm{Matrix\;tree}\)板子 其实有了也一样 发现\(n\leq 17\),考虑容斥 每次钦定一些建筑公司,计算它们包含的边的生 ...

  7. 「PKUSC2018」最大前缀和

    题面 题解 可以想到枚举成为最大前缀和的一部分的数 设\(sum_i=\sum\limits_{j\in i}a[j]\) 设\(f_i\)表示满足\(i\)的最大前缀和等于\(sum_i\)的方案数 ...

  8. 将windows上.net core 发布的程序部署到linux(ubantu等)上

    首先在linux安装相应的.net core 环境,根据官方的示例安装即可:参考地址:https://dotnet.microsoft.com/learn/dotnet/hello-world-tut ...

  9. Codeforces 908 D.New Year and Arbitrary Arrangement (概率&期望DP)

    题目链接:New Year and Arbitrary Arrangement 题意: 有一个ab字符串,初始为空. 用Pa/(Pa+Pb)的概率在末尾添加字母a,有 Pb/(Pa+Pb)的概率在末尾 ...

  10. cogs2479 偏序 cdq+树套树

    cdq+树状数组套替罪羊树. cdq归并a,树套树解决b,c. 记住平衡树树根不能暴力清零!!! // It is made by XZZ #include<cstdio> #includ ...