您现在所在的是:

现场总线

回帖:34个,阅读:8831 [上一页] [1] [2] [3] [4] [下一页]
1863
mawenxi
文章数:268
年度积分:50
历史总积分:1863
注册时间:2005/3/3
发站内信
发表于:2009/11/30 15:46:03
#0楼
附件


不管是什么类型的通讯方式,只要是串行通讯(包括RS232 , 485, 基于485的PROFIBUS总线,以太网等等) 在接收数据的时候都是差不多的(都是差不多),空闲的时候一直为1(也或者一直为0),先检测起始位,如果来了一个0,或者来了一个1,就认为是起始位的开始,然后下面的数位就认为是字节部分,
等到字节部分结束,就自动检查字节中1的个数,跟接收过来的校验位做比较,如果和接收过来的校验位一致,就代表这个字节是正确的,如果不一样,就代表是错误的,(对于错误的处理,如何解决?如果说对于错误的数据都扔掉,那是不是会导致数据传输不到位?因为发送方根本不知道数据有没有准确无误的到达,如果联络发送方重新发送?)

拿MODBUS举例 ,我们发送比如
附件
则从串口发送出

这个功能是从从站读0001存储区取0001个数据到主服务器。从站会返回一系列的数据依据一定格式到端口。

从站接收到的数据流是否应该是:
附件

我的理解,02  03  00  01  00  01  D5  F9  是否就按上面这样的数据流发出去?接收方接收到后,如果数据没有错误,去除起始位和校验位,将数据位存入缓冲区,这个仅仅是物理层做的,但MODBUS被接收后,数据链路层又将数据帧的各项进行计算,如果CRC一致,同时地址又同自己地址相同,则剥掉地址和校验部分,取有效的数据部分进行分析,再将请求的数据发送到端口。

而以太网拥有多层协议,从物理层到应用层,每层都有不同的协议,但我的理解以太网再复杂,协议再多,估计也跟上面的MODBUS协议差不多,从网卡接收到得是数据帧,网卡也是先接收比特位,去除停止,起始,校验,取数据,应该在数据帧中规定了数据帧的长度,否则,网卡不会知道数据什么时候结束。网卡等数据接收完后网卡取出来的数据后分析, (这个时候计算机并不知道已经接收到数据)如果发过来的MAC地址和自己的MAC地址一致,则表明是发送给自己的,则网卡会剥离MAC地址部分,通知CPU,
让CPU来接收已经被网卡剥离MAC地址的数据,这样就进入了网络层,网络层就判断是给哪个应用程序的,判断好后,剥离其IP地址和端口号,将数据给相应的应用程序,等应用程序接收到后,看以哪种格式来处理,比如HTTP则要以一种格式显示,而其他的应用程序估计要以其他格式显示。

总的理解,我觉得协议就是穿衣服和脱衣服的过程,在有用的数据前面加上标志,在一层一层的包装,等到接收的时候,再一层一层的卸装,得到有用的数据
这个只是我个人理解,肯定有不对的地方,希望大家讨论!
996
xgshadow
文章数:32
年度积分:50
历史总积分:996
注册时间:2008/4/7
发站内信
发表于:2009/12/1 7:50:43
#1楼
看法拿出来讨论,,,谢谢分享~!
1329
pgl100
文章数:135
年度积分:50
历史总积分:1329
注册时间:2008/8/26
发站内信
发表于:2009/12/1 21:06:23
#2楼
不错哦,顶下
879
yhbxnjd
文章数:34
年度积分:50
历史总积分:879
注册时间:2009/10/13
发站内信
发表于:2009/12/4 15:05:41
#3楼
嗯,不错,顶一下
919
louiiis
文章数:29
年度积分:50
历史总积分:919
注册时间:2009/7/30
发站内信
发表于:2009/12/31 16:30:07
#4楼
楼主很牛,通俗易懂,退休后可以去中专大专教书,不开玩笑。表情
申精吧
919
louiiis
文章数:29
年度积分:50
历史总积分:919
注册时间:2009/7/30
发站内信
发表于:2009/12/31 16:34:05
#5楼
大学老师是不是说:封装,楼主说穿衣,高
1377
Jackyzhu2008
文章数:167
年度积分:50
历史总积分:1377
注册时间:2009/1/18
发站内信
发表于:2010/2/7 17:51:47
#6楼
楼主很牛,通俗易懂!
3199
ye_w 版主
文章数:849
年度积分:56
历史总积分:3199
注册时间:2003/12/13
发站内信
发表于:2010/2/22 14:07:00
#7楼
数据通讯,只有分清楚报文,就容易理解了。当然工具是必须的,基本理论同样如此。
-------------------------------------------------------------------------------------------------------------
***想交流ABB品牌AC31 90系列和AC 500系列 PLC,请加群1*9*8*4*1*2*7*2*9***
-------------------------------------------------------------------------------------------------------------
2078
479225838
文章数:161
年度积分:53
历史总积分:2078
注册时间:2010/2/25
发站内信
发表于:2010/2/25 20:03:13
#8楼
支持楼主,
16067
xilinxue
文章数:2441
年度积分:50
历史总积分:16067
注册时间:2007/12/27
发站内信
发表于:2010/3/2 22:27:18
#9楼
听楼主的讲解,很不错。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

109.2007