Profibus基础知识学习——报文
转自: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基础知识学习——报文的更多相关文章
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- AXAJ基础知识学习
AXAJ基础知识学习 博客首页 Ajax简介 ajxa全称是Asynchronous Javascript And XML ,就是异步的JS 和XML 通过Ajax可以再浏览器中向服务器发送异步请求, ...
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
- Vue2基础知识学习
Vue2基础知识学习 01.初识 new Vue({ el: '#root', //用于指定当前Vue实例为哪个容器服务,值通常为css选择器符 data () { return { } } }); ...
- C#基础知识学习
C#基础知识整理 学习地址:http://blog.csdn.net/column/details/csarp.html
- 韩天峰博客 php基础知识学习记录
http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...
- 〖前端开发〗HTML/CSS基础知识学习笔记
经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> & ...
- Linq的简介和基础知识学习
学习LINQ之前,我们要知道LINQ是干什么,解决什么问题的,怎样学习? 一.LINQ简介 1.什么是LINQ? 什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated ...
随机推荐
- springboot-web进阶(一)——表单验证
一.概述 1.准备 先把快速入门篇的结构调整一下,按照自己的喜好或者要求调整: 2.需求 基于快速入门篇增加一个女生的需求,禁止添加未成年(18岁以下) 3.实现 第一步:在bean的属性上加对应约束 ...
- PosgreSQL 9.0 High Performance中文版瑕疵
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页 回到顶级页面:PostgreSQL索引页 发表此文不是为了吐槽,而是为了防止更多的受害者出现啊,拿到书后 ...
- 解决 sr 的端口占用问题
只需要在一开机的极短时间内开启 sr 即可提前占用端口,而不是被占用
- 用 Python 给程序加个进度条,让你的看起来更炫酷?
对于开发或者运维来说,使用 Python 去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效地监控任务的进度?除了在任务中加上 Log 外,还能不能有另一种方式来了解任务进展到哪一步 ...
- Docker部署MySQL容器
从仓库下载镜像 sudo docker pull mysql:5.7 创建容器 docker run --name="mysql" \ -p 3306:3306 \ -v /U ...
- 聊聊前段插件之Datatables
在web开发过程中表格数据展示是一个很常见的功能,而且用户对其要求也比较高,性能.易用性等.今天我推荐一款利器给大家——Datatables:Datatables中文网. 一.介绍 Datatable ...
- variadic templates & pass by const reference & member operator [] in const map & gcc sucks
/// bugs code with comments #include <iostream> #include <memory> #include <unordered ...
- Unity3D画面渲染官方教程(一)对光照和渲染的介绍
本系列是对官方教程的翻译加上自己的一些理解译著的,官方网址:https://unity3d.com/cn/learn/tutorials/s/graphics 翻译上尽量保证准确性,但不排除省略或者添 ...
- Unity学习笔记(4): 碰撞相关API
Unity3D中的碰撞: 在unity中,有普通碰撞体Collider和触发器(Trigger)两种碰撞体,两个普通碰撞体会发生碰撞并产生力学现象,触发器则像是个无法触碰而又真实存在的东西,也会触发碰 ...
- FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!
FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级! 项目背景 随着信息化的逐步深入,企业业务运营活动对IT的依赖程度越来越高,传统的局部.粗放.碎片化的IT运维管理模式已经无法满足 ...