千家论坛_智能建筑与智能家居技术交流社区

标题: [原创]细数协议点滴 [打印本页]

作者: steven1982    时间: 2007-8-14 09:55
标题: [原创]细数协议点滴
<div class="content" id="BodyLabel" style="padding: 0px 10px; display: block;">       BACnet与Lonwork协议已经被大家所熟知,那么行业所涉及的其他协议又有哪些呢?这里为大家编辑整理了一些协议,供大家学习与参考。下面向大家介绍一下其他协议:<br/><br/><span style="font-weight: bold;">(1)OPC</span><br/>      
OPC(用于过程控制的OLE)是一个工业标准。它由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(Microsoft)紧密合作而建立的。
这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。它是在Microsoft
COM、DCOM和Active
X技术的功能规程基础上开发一个开放的和互操作的接口标准,这个标准的目标是促使自动化/控制应用、现场系统/设备和商业/办公室应用之间具有更强大的互
操作能力。<br/><br/><span style="font-weight: bold;">(2)ODBC</span><br/>      
开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。Microsoft引进这种技术的一个主要原因
是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问 DBF文件或Access
Basic以得到MDB文件中的数据时,无需懂得Xbase程序设计语言。事实上,Visual
C++就是这样一个程序设计平台,即Microsoft最初是以ODBC为目标的。ODBC的确能履行承诺,提供对数据库内容的访问,并且没有太多的问
题。它没有提供数据库管理器和C之间尽可能最好的数据转换,这种情况是有的,但它多半能像广告所说的那样去工作。唯一影响ODBC前程的是,它的速度极
低,至少较早版本的产品是这样。ODBC最初面世时,一些开发者曾说,因为速度问题,ODBC永远也不会在数据库领域产生太大的影响。然而,以
Microsoft的市场影响力,ODBC毫无疑问是成功了。今天,只要有两种ODBC驱动程序的一种,那么几乎每一个数据库管理器的表现都会很卓越。<br/><br/><span style="font-weight: bold;">(3)Socket</span><br/>      
一个完整的socket有一个本地唯一的socket号,由操作系统分配。最重要的是,socket
是面向客户/服务器模型而设计的,针对客户和服务器程序提供不同的socket系统调用。客户随机申请一个socket
(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个socket号;服务器拥有全局公认的 socket ,任何客户都可
以向它发出连接请求和信息请求(相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。Socket利用客户/服务器模式巧妙地解决了进程之间建立通信
连接的问题。服务器socket
半相关为全局所公认非常重要。读者不妨考虑一下,两个完全随机的用户进程之间如何建立通信?假如通信双方没有任何一方的socket
固定,就好比打电话的双方彼此不知道对方的电话号码,要通话是不可能的。<br/>      
在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同
的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏
交流电, 有的提供110伏交流电,有的则提供有线电视节目。客户软件将插头插到不同编号的插座,就可以得到不同的服务。<br/><br/><span style="font-weight: bold;">(4)RS232</span><br/>      
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了
多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同
的设备可以方便地连接起来进行通讯。RS-232-C接口(又称 EIA
RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共
同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间
串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。<br/><br/><span style="font-weight: bold;">(5) RS-485</span><br/>       RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。该规范满足所有RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V至+12V)。<br/>       接收器输入灵敏度为±200mV,这就意味着若要识别符号或间隔状态,接收端电压必须高于+200mV或低于-200mV。最小接收器输入阻抗为12k,驱动器输出电压为±1.5V(最小值)、±5V(最大值)。<br/>       驱动器能够驱动32个单位负载,即允许总线上并联32个12k的接收器。对于输入阻抗更高的接收器,一条总线上允许连接的单位负载数也较高。RS-485接收器可随意组合,连接至同一总线,但要保证这些电路的实际并联阻抗不高于32个单位负载(375)。<br/><br style="font-weight: bold;"/><span style="font-weight: bold;">(6) EtherNet/IP协议</span><br/>      
EtherNet/IP是ODVA发起的基于以太网传输的协议标准,全称为“以太网工业协议”。现在这个协议受到三大组织的支持:ControlNet
International(CI),the Industrial Ethernet Association(IEA),the Open
DeviceNet Vender Association
(ODVA)。这个协议旨在应用层建立一个开放的网络协议,以构建开放式的工业控制网络。我个人理解,以太网也就是IEEE802.3只是定义了网络下两
层的规范,对于网络层,是由IP协议规范的,运输层由TCP和UDP,会话层向上由包含TFTP、SMTP、FTP、
DNS、NFS等协议的应用程序来构成。这就象现场总线CAN协议规范底层传输,DeviceNet基于CAN定义应用层一样。现在
EtherNet/IP和DeviceNet一样,都是在传输层以上寻找结合二者特点的规范,也就是建立一种基于以太网上的,具有DeviceNet协议
扩展特性的协议,那就是EtherNet/IP。<br/>这个协议对于原有DeviceNet产品的供应商来说,具有以较少投资换来以太网接入方案的实惠,根据前面的分析,是混合型网络结构方案的一种。<br/><br/><span style="font-weight: bold;">(7)Modbus协议</span><br/>      
Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider
Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以
太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业
网络,进行集中监控。当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要
回应,控制器将生成应答并使用Modbus协议发送给询问方。<br/>      
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信
的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方
式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请
求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。<br/>      
Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外
规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关
机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。</div>
作者: buddie    时间: 2007-8-23 21:24
这类从硬件到软件的协议真是很多啊.
作者: bluehate    时间: 2007-8-27 09:59
<p>谢谢分享 </p><p></p>
作者: penelope    时间: 2007-8-31 16:48
真不错,学习中!
作者: hrh027    时间: 2007-9-1 01:34
<p>收录!</p><p></p>
作者: iGateWay    时间: 2007-9-8 00:25
<p>LZ挺有心的,真不错!</p><p>但是按照上面的来分的话有点乱,其实每个协议都应该包括1.物理层 2.数据链路层 3.网络层 4.应用层</p><p>像上面的RS232&nbsp;RS485属于物理层,OPC ODBC MODBUS等属于应用层,EtherNet/IP协议应该包含物理层和数据链路层了吧,不在一个层上就不能互相比较,最典型的就是MODBUS了,它的物理层可以是RS232,也可以是RS485(包括RS422),也可以是ISO 8802-3,还可以是ARCNET等。</p><p>所以我们不能说RS232和MODBUS是不一样的协议(这2个不在同一层上面,根本就不能比较啊)!</p><p>不对的地方请大家指正!</p>
[此贴子已经被作者于2007-9-8 0:32:49编辑过]


作者: hvacr777    时间: 2007-9-13 15:52
真不错,学习中!
作者: conglong66    时间: 2007-9-28 09:11
<p>值得参考,顶一下.</p><p></p>
作者: rafiki    时间: 2007-9-28 15:09
shuo de luan qi ba zao <br/><br/>mei shen me jia zhi<br/>
作者: symn    时间: 2007-10-9 11:31
<p>.....</p><p>学起来好困难</p>
作者: 天马楼控    时间: 2007-10-11 11:12
学习学习。顶
作者: szsxiaoh    时间: 2007-10-19 15:30
学习!楼主辛苦了!
作者: cyl800530    时间: 2007-10-24 15:25
<p>6楼说的很正确</p><p>的确RS232 RS485其实是一个物理层的电气标准,在RS485上可以跑的软件协议其实很多 </p><p>比如通用的MODBUS GE的SNP SIEMENS的PPI MPI JC的N2等等....</p>
作者: zhangkai1390533    时间: 2007-10-25 16:10
学习&nbsp;&nbsp;&nbsp; 楼主辛苦了
作者: 一见如故    时间: 2007-10-27 11:35
不错,楼主辛苦了。谢谢楼主。。。
作者: realize    时间: 2007-10-29 11:36
虽然说是各个技术都熟悉,但是这么详细的具体的统计还是头一次/
作者: liuyin0616    时间: 2007-11-7 11:06
看的不是很懂,学习一下
作者: caiprc    时间: 2007-12-6 16:06
好帖,楼主辛苦了,
作者: jingxingbdl    时间: 2007-12-23 09:59
<p>楼主辛苦了!!!</p>
作者: realize    时间: 2008-1-3 11:34
回来重温该帖!
作者: liub78    时间: 2008-1-10 13:01
学习中,谢谢分享
作者: 慈悲    时间: 2008-1-18 14:44
<p>学习了</p>
作者: zhangqing    时间: 2008-1-30 14:39
<p>xuexi</p>
作者: yinkangqi    时间: 2008-1-31 15:39
学习啊,平时就知道用,还没有总结啊,辛苦了,楼主!
作者: realize    时间: 2008-2-1 09:13
楼主该贴,属于常青树啊。
作者: coogar    时间: 2008-2-19 14:29
支持。
作者: 1000bbsbody    时间: 2008-2-22 10:23
<p>支持。</p>
作者: hldzym0314    时间: 2008-2-29 09:43
<p>好,多多学习</p>
作者: youyouxueyue    时间: 2008-2-29 14:12
<p>谢谢,学习中</p>
作者: laoeer    时间: 2008-3-1 12:50
还不是很细
作者: sunjacky    时间: 2008-3-15 16:57
我觉得6楼的补充是有道理的,学习,谢谢!
作者: bbqdqq    时间: 2008-4-9 22:35
<p>保存了,回帖表示敬意</p>
作者: water233    时间: 2008-4-10 14:36
值得学习。。。
作者: wghno1    时间: 2008-4-14 12:18
<p>还有API、DDE等协议。</p>
作者: 漂流者    时间: 2008-4-25 09:51
<p>六楼兄弟说的很对, 看来大家都对协议很有研究啊. 顺便打下广告: 我公司主要从事通讯网关产品的研发和销售, 大家如有协议通讯方面的问题,或许可以找到合作的机会.</p><p>&nbsp;</p><p>QQ: 449819851</p>
作者: luckzy    时间: 2008-5-4 16:52
<p>学习中!!!</p><p>谢谢楼主。</p>
作者: dreamsun    时间: 2008-5-26 08:53
xuexi
作者: bluesky79    时间: 2008-6-11 10:11
<p>浙江有需要接口调试的,可以和我联系,QQ:11726647.</p>
作者: toury    时间: 2008-6-28 22:35
ding <br/>!1!!
作者: yyang    时间: 2008-6-29 09:00
<p>真不错,学习中!</p><p></p><p>楼主辛苦了。</p>
作者: xmxyy    时间: 2008-7-21 21:41
请问楼主什么是1.物理层 2.数据链路层 3.网络层 4.应用层说的通俗一点?<br/><br/>
作者: bfnet    时间: 2008-7-25 11:27
不错!
作者: michael504    时间: 2008-8-4 10:11
学习了
作者: bossgun    时间: 2008-9-12 16:10
这块真的是很欠缺
作者: li2008    时间: 2008-9-16 13:00
<p>好啊好啊</p><p></p>
作者: guosnail7758    时间: 2008-9-28 10:35
学习中!
作者: 大权子    时间: 2008-11-19 09:21
<p>不错,但我是新手~不是很明白,学习中,谢谢各位大侠</p>
作者: zhaozonglai    时间: 2008-12-18 22:34
<p>最烦的就是学协议</p>
作者: paninua    时间: 2009-2-4 14:28
能回我就顶
作者: yongho    时间: 2009-2-26 13:58
6楼说的很正确
作者: ahwhsqf    时间: 2009-2-27 13:26
学习中,谢谢 楼主!
作者: fller    时间: 2009-3-1 22:52
6楼的补充解决了我心中长久以来的一个疑惑,其实有些东西以前有了解过,就是没有做到融会贯通。期待大家更深的讨论。
作者: jcigehw    时间: 2009-3-3 23:49
很好,又重新了解了一次这些系统,虽然Socket还是有点不明白。
作者: sun2636899    时间: 2009-3-7 22:10
一位残疾人的创业致富之路
http://blog.sina.com.cn/s/blog_5e9ecf640100dy5l.html



夏天的一次同学聚会 竟让我改变了命运
http://blog.sina.com.cn/s/blog_5e9ecf640100dy1t.html

作者: monica13    时间: 2009-3-8 17:16
<p>值得参考 很好</p>
作者: dbxqz    时间: 2009-3-9 13:58
<div class="quote"><b>以下是引用<i>iGateWay</i>在2007-9-8 0:25:00的发言:</b><br/>
<p>LZ挺有心的,真不错!</p>
<p>但是按照上面的来分的话有点乱,其实每个协议都应该包括1.物理层 2.数据链路层 3.网络层 4.应用层</p>
<p>像上面的RS232&nbsp;RS485属于物理层,OPC ODBC MODBUS等属于应用层,EtherNet/IP协议应该包含物理层和数据链路层了吧,不在一个层上就不能互相比较,最典型的就是MODBUS了,它的物理层可以是RS232,也可以是RS485(包括RS422),也可以是ISO 8802-3,还可以是ARCNET等。</p>
<p>所以我们不能说RS232和MODBUS是不一样的协议(这2个不在同一层上面,根本就不能比较啊)!</p>
<p>不对的地方请大家指正!</p>
<p>&nbsp;</p>
<p>有同感!</p></div>
<p></p>
作者: ht47    时间: 2009-3-19 20:11
学习
作者: huahu1232    时间: 2009-3-23 16:24
2213232
作者: szsimon    时间: 2009-3-24 09:17
<p>学习,谢谢,支持,顶</p>
作者: cgwithclassic    时间: 2009-3-25 10:43
学习一下,谢谢你们。
作者: a168000836    时间: 2009-3-31 10:26
ddddddd
作者: lizd1985    时间: 2009-4-6 13:28
好东西,辛苦楼主了。
作者: teng2002s    时间: 2009-4-7 13:24
学习下
作者: curarpikt    时间: 2009-4-13 12:10
协议 是很庞大的集成呀
作者: gaoxp007    时间: 2009-4-14 19:45
不错!
作者: gaoxp007    时间: 2009-4-14 19:45
同意
作者: quyadong09    时间: 2009-4-18 21:29
谢谢楼主
作者: ghostion    时间: 2009-4-20 12:26
谢谢分享。顶起来学习一下。
作者: miyaa    时间: 2009-4-20 21:04
新人,呵呵,学习阶段,受教受教!谢谢楼主!
作者: huchao0421    时间: 2009-4-21 08:22
大幅度如野人当事人而已色有色弱说的容易野丫头
作者: miyaa    时间: 2009-4-22 19:07
thank you very much
作者: dod1024    时间: 2009-4-23 17:42
<p>楼主很专业阿。。顶一个</p>
作者: hanxu777    时间: 2009-4-25 02:04
我们正在做的楼控用的是什么协议呢?不好意思,别骂我哦,正在学习呢!!
作者: SZMJF    时间: 2009-4-27 16:48
好帖,楼主辛苦了,
作者: lgenxi    时间: 2009-5-3 22:37
支持
作者: w6868620    时间: 2009-5-6 04:17
真不错
作者: w6868620    时间: 2009-5-6 04:18
还顶下
作者: guosong858    时间: 2009-5-6 21:50
<p>学习</p>
<p>&nbsp;</p>
作者: teng2002s    时间: 2009-5-7 16:17
<p>了解下,有时间学学</p>
作者: shewoqishui    时间: 2009-5-10 00:09
受教了,谢谢
作者: invade119    时间: 2009-5-11 11:25
<strong>好贴,顶!!!</strong>
作者: dod1024    时间: 2009-6-9 09:21
<p>协议这么多 如何学习呢???</p>
作者: jinjinsun    时间: 2009-6-10 11:21
<p>楼主辛苦啦,总结得很好!</p>
作者: ft3329232    时间: 2009-6-11 22:23
谢谢分享。。
作者: hankcheng88    时间: 2009-6-13 10:52
<p>没看懂,
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div id="textstyle_20" style="FONT-SIZE: 9pt; OVERFLOW: hidden; WORD-BREAK: break-all; TEXT-INDENT: 24px; WORD-WRAP: break-word">
<p>楼主辛苦了!!!</p></div></td></tr></tbody></table></p>
作者: slw312    时间: 2009-7-3 18:03
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:04
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:05
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:05
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:05
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:07
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:07
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:09
积分还没到啊,要多学习学习
作者: slw312    时间: 2009-7-3 18:11
积分还没到啊,要多学习学习
作者: luoliangmao    时间: 2009-7-7 14:04
<p>谢谢楼主!</p>
作者: quyadong09    时间: 2009-7-12 21:25
谢谢分享
作者: bobo6102    时间: 2009-7-18 15:57
谢谢分下
作者: wallew    时间: 2009-7-19 20:03
不错,分析的很详细
作者: Arsung    时间: 2009-7-24 12:57
俺 靠批了,谢谢
作者: 熊猫大神    时间: 2009-7-27 23:24
太棒了!!!谢谢




欢迎光临 千家论坛_智能建筑与智能家居技术交流社区 (http://bbs.qianjia.com/) Powered by Discuz! X3.2