1、TCP/IP的诞生
每种网络协议都有自己的优点,但只有TCP/IP允许与Internet完全的连接。TCP/IP是美国政府资助的高级研究计划署(ARPA)在二十世纪七十年代的一个研究成果,用来使全球的研究网络联在一起形成一个虚拟网络,也就是国际互联网。原始的Internet通过将已有的网络如ARPAnet转换到TCP/IP上来而形成,而这个Internet最终成为如今的国际互联网的骨干网。正因为Internet的普遍性促进TCP/IP至今仍然使用,用户在TCP/IP协议的情况下,就在自己的PC上安装了TCP/IP栈,从而使该网络协议在全球应用最广。
2、TCP/IP协议簇简介
TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。在任何一个物理网络中,各站点都有一个机器可识别的地址,该地址叫做物理地址。
物理地址有两个特点:
(1)物理地址的长度、格式等是物理网络技术的一部分,物理网络不同,物理地址也不同。
(2)同一类型不同网络上的站点可能拥有相同的物理地址。
以上两点决定了,不能用物理网络进行网间网通讯。
在网络术语中,协议是为了在两台计算机之间交换数据而预先规定的标准。TCP/IP并不是一个而是许多协议,这就是为什么你经常听到它代表一个协议集的原因,而TCP和IP只是其中两个基本协议而已。
普通计算机-的TCP/IP软件提供了一个包括TCP、IP以及TCP/IP协议集中其它协议的工具平台。特别是它包括一些高层次的应用程序和FTP(文件传输协议),它允许用户在命令行上进行网络文件传输。
如今TCP/IP如此重要的原因,在于它允许独立的网格加入到Internet或组织在一起形成私有的内部网(Intranet)。构成内部网的每个网络通过一种-做路由器或IP路由器的设备在物理上联接在一起。路由器是一台用来从一个网络到另一个网络传输数据包的计算机。在一个使用TCP/IP的内部网中,信息通过使用一种独立的叫做IP包(IPpacket)或IP数据报(IP datagrams)的数据单元进--传输。TCP/IP软件使得每台联到网络上的计算机同其它计算机“看”起来一模一样,事实上它隐藏了路由器和基本的网络体系结构并使其各方面看起来都像一个大网。如同联入以太网时需要确认一个48位的以太网地址一样,联入一个内部网也需要确认一个32位的IP地址。
TCP/IP提供了一个方案用来解决属于同一个内部网而分属不同物理网的两台计算机之间怎样交换数据的问题。这个方案包括许多部分,而TCP/IP协议集的每个成员则用来解决问题的某一部分。如TCP/IP协议集中最基本的协议-IP协议用来在内部网中交换数据并且执行一项重要的功能:路由选择--选择数据报从A主机到B主机将要经过的路径以及利用合适的路由器完成不同网络之间的跨越(hop)。
TCP允许运行在在不同主机上的应用程序相互交换数据流。TCP将数据流分成小段叫做TCP数据段(TCP segments),并利用IP协议进行传输。在大多数情况下,每个TCP数据段装在一个IP数据报中进行发送。TCP将把数据段分成多个数据报,而IP数据报则与同一网络不同主机间传输位流和字节流的物理数据帧相容。由于IP并不能保证接收的数据报的顺序相一致,TCP会在收信端装配TCP数据段并形成一个不间断的数据流。
FTP和Telnet就是两个非常流行的依靠TCP的TCP/IP应用程序。
3、TCP/IP网络的七层结构模型
网络设计者在解决网络体系结构时经常使用ISO/OSI(国际标准化组织/开放系统互连)七层模型,TCP/IP与ISO/OSI模型类似。当一个数据单元从网络应用程序下流到网络接口卡,它通过了一列的TCP/IP模块。这其中的每一步,数据单元都会同网络另一端对等TCP/IP模块所需的信息一起打成包。这样当数据最终传到网卡时,它成了一个标准的以太帧(假设物理网络是以太网)。而接收端的TCP/IP软件通过剥去以太网帧并将数据向上传输过TCP/IP栈来为处于接收状态的应用程序重新恢复原始数据(一种最好的了解TCP/IP工作实质的方法,是使用探测程序来观察网络中的到处流动的帧中被不同TCP/IP模块所加上的信息)。为了勾勒TCP/IP在现实网络世界中所扮演的角色,请考虑当使用HTTP(超文本传输协议)的Web浏览器从连接在Internet上的Web服务器上获取一页HTML数据时所发生的情况。为形成同Web服务器的虚链路,浏览器使用一种被抽象地称为套接口(socket)的高层软件。为了获取Web页,它通过向套接口向套接口写入HTTPGET命令来向Web服务器发出该指令。接下来套接口软件使用TCP协议向Web服务器发出包含GET命令的字节流和位流,TCP将数据分段并将各独立段传到IP模块,该模块将数据段转换成数据报并发送给Web服务器。
如果浏览器和服务器运--在不同物理网络的计算机上(一般情况如此),数据报从一个网络传到另一个网络,直到抵达服务器所在的那个网。最终,数据被传输到目的地址并被重新装配,这样Web服务器通过读自己的套接口来获得数据主干,并进而查看连续的数据流。对浏览器和服务器来说,数据在这一端写入套接口而在另一端出现如同魔术一般,但这只是底下发生的各种复杂的交互,它创造了数据经过网络无缝传输的假象。
4、TCP/IP优点
1、TCP/IP是一族用来把不同的物理网络联在一起构成网际网的协议。TCP/IP联接独立的网络形成一个虚拟的网,在网内用来确认各种独立的不是物理网络地址,而是IP地址。
2、TCP/IP使用多层体系结构,该结构清晰定义了每个协议的责任。TCP向网络应用程序提供了高层的数据传输服务,并都需要IP来传输数据包。IP有责任为数据包到达目的地选择合适的路由。
3、在Internet主机上,两个运行着的应用程序之间传送要通过主机的TCP/IP堆栈上下移动。在发送端TCP/IP模块加在数据上的信息将在接收端对应的TCP/IP模块上滤掉,并将最终恢复原始数据。
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication language or protocol of the Internet. It can also be used as a communications protocol in a private network (either an intranet or an extranet).
When you are set up with direct access to the Internet, your computer is provided with a copy of the TCP/IP program just as every other computer that you may send essages to or get information from also has a copy of TCP/IP.
TCP/IP is a two-layer program. The higher layer, Transmission Control Protocol, manages the assembling of a message or file into smaller packets that are transmitted over the Internet and received by a TCP layer that reassembles the packets into the original message. The lower layer, Internet Protocol, handles the address part of each packet so that it gets to the right destination. Each gateway computer on the network checks this address to see where to forward the message. Even though some packets from the same message are routed differently than others, they'll be reassembled at the destination.
TCP/IP uses the client/server model of communication in which a computer user (a client) requests and is provided a service (such as sending a Web page) by another computer (a server) in the network. TCP/IP communication is primarily point-to-point, meaning each communication is from one point (or host computer) in the network to another point or host computer. TCP/IP and the higher-level applications that use it are collectively said to be "stateless" because each client request is considered a new request unrelated to any previous one (unlike ordinary phone conversations that require a dedicated connection for the call duration). Being stateless frees network paths so that everyone can use them continuously. (Note that the TCP layer itself is not stateless as far as any one message is concerned. Its connection remains in place until all packets in a message have been received.) Many Internet users are familiar with the even higher layer application protocols that use TCP/IP to get to the Internet. These include the World Wide Web's Hypertext Transfer Protocol (HTTP), the File Transfer Protocol (FTP), Telnet (Telnet) which lets you logon to remote computers, and the Simple Mail Transfer Protocol (SMTP). These and other protocols are often packaged together with TCP/IP as a "suite."
Personal computer users with an analog phone modem connection to the Internet usually get to the Internet through the Serial Line Internet Protocol (SLIP) or the Point-to-Point Protocol (PPP). These protocols encapsulate the IP packets so that they can be sent over the dial-up phone connection to an access provider's modem.
Protocols related to TCP/IP include the User Datagram Protocol (UDP), which is used instead of TCP for special purposes. Other protocols are used by network host computers for exchanging router information. These include the Internet Control Message Protocol (ICMP), the Interior Gateway Protocol (IGP), the Exterior Gateway Protocol (EGP), and the Border Gateway Protocol (BGP).
OPC技术在ASI Controls系统中的实际应用
OPC技术的产生为应用软件和现场设备提供了通用的接口标准。基于OPC技术的几种OPC软件产品在ASI Controls系统中的实际应用,大大增强了ASI Controls系统的开放性能。OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。OPC是作为解决应用软件与各种设备驱动程序的通信而产生的一项工业技术规范和标准。它采用客户/服务器体系,基于COM/DCOM技术,为硬件厂商和应用软件开发者提供了一套标准的接口。
OPC规范包括OPC服务器和OPC客户两个部,其实质是在硬件供应商和软件开发商之间建立一套完整的“规则”。只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商无须考虑应用程序的多种需求和传输协议,软件开发商也就无须了解硬件的实质和操作过程。应用程序作为OPC接口中的客户端,硬件驱动程序作为OPC接口中的服务器端。每一个OPC客户端应用程序可以连接若干个OPC服务器,每一个硬件驱动程序可为从若干个应用程序提供数据,这里的OPC客户端和服务器可以是任何厂家的任何产品,OPC的访问关系如下图所示(图OPC-1)
OPC技术的产生使得硬件厂商和应用软件开发双方的工作效率都有了很大的提高,现已成为工业界系统互联的标准方案。
OLE (Object Linking and Embedding)简介
OLE的中文意思是“对象连接与嵌入”,是在Windows环境下实现不同Windows实用程序之间共享数据和程序功能的一种方法,是各类开发工具中不可忽视的一种编程技术。
OLE DB是Microsoft最新的数据访问工具,它可以提供访问各种各样的数据源的手段。OLE DB不能从Visual Basic直接进行访问,但可以通过称为ADO的com接口对它进行访问,ADO可用于各种程序设计语言,包括象VBScript和active server page这样的语言。
DDE简介
DDE(动态数据交换)允许应用程序之间共享数据,它在功能上类似OLE,但不嵌入,即客户程序(Client)和服务程序(Server)是单独运行的。它们之间的会话经由一条通道(Channel)来进行,整个会话过程由程序控制,不需用户进行任何干涉。
尽管DDE正逐渐被OLE取代,但其作为一种应用程序之间共享数据的手段,仍然受到广泛的使用和支持。相比之下,OLE服务器通过嵌入到客户程序中来为其提供服务,激活速度较慢。因此,在某些情况下OLE是无法取代DDE的。
一、DDE应用实例
1、如何通过应用程序向Word的当前光标下输入字符串?
这一问题可以很容易用DDE加以解决,实现的过程非常简单,下面以PB为例进行说明:
设计如下图所示的窗口(w—dde),sle—1用于接收要插入字符串的Word文档名,它将作为应用程序和Word之间建立会话的主题。mle—1用于接收要插入的字符串。在“建立通道”的Clicked事件中加入如下代码:
ChannelNum=OpenChannel(″WinWord″,sle—1.Text,Handle(w—dde))
If ChannelNum<0 Then MessageBox(′DDE消息′,′建立通道失败′)
“发送数据”的Clicked事件中加入如下代码:
If ChannelNum>0 Then ExecRemote(′[Insert″′+mle—1.Text+′″]′,ChannelNum)
它的作用是向Word发送一个Insert命令,让其把mle—1中的内容插入到当前光标所在的位置。
在“关闭通道”的Clicked事件中加入如下代码:
CloseChannel(ChannelNum)
// 关闭DDE会话通道
Close(Parent)
//关闭应用程序
到此问题就解决了。若想把Word文档当前选中的内容复制到应用程序的mle—1中,可在“获取数据”的Clicked事件中加入如下代码:
ExecRemote(′[EditCopy]′,ChannelNum)
//命令Word把当前选中内容复制到剪贴板
mle—1.Paste()//粘贴剪贴板上的数据
事实上,通过DDE可以在Word文档的任何位置插入数据,下面的代码在文档头插入数据:
SetRemote(′\StartOfDoc′,mle—1.Text,ChannelNum)// \StartOfDoc为Word内部标签
Modbus协议简介
Modbus 协议是世界上自动化协议中最为普遍使用的一个协议,它是一种在工业领域被广为应用的真正开放、标准的网络通讯协议。SCADA和HMI通过Modbus协议可以很容易将带串行通讯口的设备集成在一起。Modbus协议支持传统的RS-232/422/485设备和最新发展出来的以太网设备。许多工业设备,包括:PLC、DCS、HNI、仪器和仪表都使用Modbus协议作为他们之间的通讯标准。然而,Modbus协议在串口和以太网之间运行是非常困难的,这就需要一个通讯的网关作为二者的桥梁来帮助整合他们。Modbus/TCP协议是不同于Modbus的另一种协议,产生于1999年。它允许因特网接入以太网设备。
大部分SCADA ( Supervisor Control And D ata Acuisition ) 和HMI软件支持Modbus协议。例如:组态王、MCGS、Citect、 ICONICS、iFIX、InduSoft、 Intouch、Entivity Studio、Entivity Live、Entivity VLC、Trace Mode、 Wizcon、Wonderware... 等。
使用Modbus 和Modbus/TCP协议的优势
公开的协议,免收许可费用
被SCADA和HMI软件广为支持
简单易用
易于集成不同的设备
开发成本低
广泛的知识资源支持
RS485简介
RS-485是一种平衡传送的串行接口标准,比最早的采用非平衡方式传送的RS-232串行接口标准在电气指标上有了大幅度的提高。由于RS-485总线通讯距离远,抗干扰能力强,结构简单,可靠性高,广泛应用于多机远距离通信系统中。其最大传输距离在数据传输速率为100kbps时1.2Km,传输速率为10kbps时为1.2km,传输速率降为300bps时可超过4km。最大传输距离的增加是牺牲传输速率为代价的。如果既要保证传输速度,而传输距离又超过RS-485的可靠通讯距离时,必须加中继器延长其通讯距离。




