OPC通讯配置详解_第1页
OPC通讯配置详解_第2页
OPC通讯配置详解_第3页
OPC通讯配置详解_第4页
OPC通讯配置详解_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选文档OPC通讯协议解析1 通讯步骤1.1 第一问OPC Client和OPC Server之间通讯谁是主动的?答:当然是OPC Client。1.2 其次问OPC Client第一次动作做了什么?答:从大多数OPC Client行为来看,一是自动遍历本机已注册的OPC Server列表名称,二是等待用户定义预访问的OPC Server的信息。1.3 第三问OPC Client其次次动作做了什么?答:OPC Client的第一步动作会产生分支,访问本地OPC Server的这个分支就不再说了。要分析的是网络方式访问OPC Server这个分支。其次个动作是依据用户指定的IP地址或计算机名去查

2、询远程计算机上已注册的OPC Server列表名称。从这步开头就比较简单了。1.4 第四问OPC Client是用什么协议去和远程计算机沟通的?答:用的是TCP/IP这个协议。OPC Client用TCP/IP 135端口去打开远程计算机的那一扇门。简洁解释下:在Windows操作系统中,135端口主要用于使用PRC协议并供应DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺当地执行远程计算机上的代码。使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输。多年来,135端口始终被人利用。1.5 第五问OPC Client去访问远程计算

3、机的TCP135这扇门时,第一道关卡是谁?答:网络平安防火墙是第一关卡,网络平安放火墙中,假如不允许远程计算机的TCP 135端口,那么连接就被掐断了。后续的通讯就无法进行。要想能向下进行,网络平安防火墙必需允许对TCP 135这扇门的访问。这里需要在防火墙中将135端口例外操作。1.6 第六问各系统的平安策略有什么不同?答:(一)Windows 2000的平安策略:支持来访者以自己的身份进行验证,且不拒绝来宾用户从网络中访问,来宾用户默认启用。(二)Windows XP和Windows 2003的平安策略:支持来访者以自己的身份进行验证或将全部来访者都看成是来宾访问,默认将全部来访者都看成来

4、宾访问。且默认拒绝Guest用户从网络访问本机。来宾用户默认禁用。(三)Windows 7的平安策略:支持来访者以自己的身份进行验证或将全部来访者都看成是来宾访问(经典-对本地用户进行身份验证,不转变其原来身份),默认支持来访者以自己的身份进行验证。且默认拒绝Guest用户从网络访问本机(拒绝从网络访问这台计算机)。来宾用户默认禁用。(四)Windows 2008的平安策略:支持来访者以自己的身份进行验证或将全部来访者都看成是来宾访问,默认支持来访者以自己的身份进行验证。来宾用户默认禁用。配置OPC Client和OPC Server之间的网络通讯,先得看看对应的操作系统。选好平安审核机制再说

5、。举例说明:例1:OPC Client和OPC Server都在Windows 2000操作系统上来举个例子:由于操行系统都是Windows 2000,那么平安策略都是来访者以自己的身份进行验证(自己指OPC Server)。这里的以来访者以自己的身份进行验证是什么意思?就是指OPC Client去敲OPC Server的135这扇门时,会告知OPC Client的登录用户名是谁,我的登录密码是多少。OPC Server所在的操作系统通过来访者告知的用户名和密码去自己的用户列表中去查找是否也存在这个用户,

6、密码是否正确。假如用户名和密码正确,则进入下一步工作。例2: OPC Client和OPC Server都在Windows XP操作系统上来举个例子:由于操行系统都是Windows XP,那么默认的平安策略都是将全部来访者都看成是来宾访问。(对本地用户进行身份验证,其身份为来宾。)且默认拒绝Guest用户从网络访问本机。这里的将全部来访者都看成是来宾访问是什么意思?就是指OPC Client去敲OPC Server的135这扇门时,会告知,我的登录用户名是谁,我的登录密码是多少。OPC Server所在的操作系统却

7、不管你是谁,全部来访者一视同仁,都是来宾,而且依据规定,来宾都拒绝掉。这下可好,后面二者之间的通讯也不用连续了。上面的(一)这种状况工作还能连续往下做,(二)这种状况就完全不行了,啥都不管了。因此(二)这种状况是需要修改平安策略的,一种是将平安策略修改为来访者以自己的身份进行验证;另外一种是将“拒绝从网络中访问此计算机”规章中的来宾用户给去掉,从用户管理中将来宾用户启用,且密码为空。(仅来宾-对本地用户进行身份验证,其身份为来宾)1.7 第七问网络防火墙允许进入,操作系统的平安审核也通过了,最终可以访问OPC Server了吧?答:还得问一问DCOM的平安配置同不同意。运行“组件服务”检查一下

8、。DCOM的“访问权限”默认只有Sell和System,需要添加指定用户或者允许全部人,需要留意的是,“本地访问”与“远程访问”都需要选择“允许”。DCOM的“启动和激活权限”默认只有“Administrator”和“System”,需要添加指定用户或者允许全部人,需要留意的是,“本地访问”与“远程访问”,“本地激活”和“远程激活”都需要选择“允许”。 1.8 总结1.8.1 小结1经过上面的一些处理过程,我们在这里可以总结一下都做了些什么?(一)配置防火墙,允许访问OPC Server所在计算机的TCP 135端口。(二)配置操作系统的平安策略,使得可以接受远程计算机的r

9、pc恳求,可配置为依据来访者身份验证模式或来宾模式。(直接选择以本地身份验证)(三)配置操作系统的用户管理。来访者身份验证模式需在OPC Server所在计算机中添加来访者的用户名和密码;来宾模式需要启用Guest用户。(四)配置计算机全局的DCOM平安配置,使之允许远程访问,已经远程启动和激活。 以上4步基本已将OPC Server这端的访问权限配置得差不多。但在实际操作过程中,还需要检查如下一些内容:(一)OPC库文件是否安装注册?OPC库文件没有正确的安装注册,OPC Server是无法工作的。而现在的不少OPC Server安装时并不会

10、自动安装OPC库文件。(二)OPC server是否注册?OPC Server未注册,是无法访问的,OPC Server必需正确注册。而现在的不少OPC Server安装后也不会自动注册,需要手动在程序界面上供应的功能按钮进行注册。(三)OPC server的主程序是否存在?有的时候OPC Server注册了,但主程序可能被误删除或改名了,这个操作系统可不会告知你。只能自己检查一下或重新注册一遍。(四)OPC Server的主程序与其他程序是否有依靠关系?由于OPC Server只是软件对外供应数据的一种标准接口,它本身也是通过从其他的软件猎取

11、数据,常见的如组态软件,实时数据库等,而现在的一些OPC Server启动时会检查依靠的程序是否启动,如未启动,要么退出,要么啥都供应不了,也不会告知OPC Client出了啥问题。(五)OPC Server在DCOM环境中自己的配置信息,OPC Server在DCOM的环境中的配置信息如下图。如OPC Server是NT服务方式启动,那么“标识”这一栏就为系统帐户,不推举使用“下列用户”。如OPC Server是COM方式注册,那么“标识”这一栏默认为“交互式用户”或“启动用户”(各家OPC Server注册时处理方法不太

12、一样),最好都使用。“交互式用户”,不推举使用“启动用户”和“下列用户”。具体缘由后期再说。(OPC Server是NT服务方式启动,标识这栏为“系统账户(仅用于服务)”)(OPC Server是COM方式注册,标识这栏为“交互式用户”)1.8.2 小结2到了这一步,可能绝大部分人都会觉得这完成没有问题了。OPC Server都连接上了,增加个OPC组还不是轻而易举的事情吗?而实际上,OPC的组是一个大有深意的设计。OPC的组是用来给OPC Client机敏定义数据采集方式的一个方法,如期望对OPC Server中测点,一些测点的采样频率是1秒,一些测点的采样频率

13、是5秒,一些测点数据变化即采集,一些测点数据变化超过量程多少才采集等等。而且还定义了数据采集的两种模式,Synchronous I/O(同步)和Asynchronous I/O(异步)。对同步和异步进行一个简洁的说明: 同步模式:OPC Client向OPC Server要5000个测点的数据,必需等到OPC Server将5000个测点的数据都返回后才做后面的事情。异步模式:OPC Client向OPC Server要5000个测点的数据,OPC Client告知OPCServer:“我为你留了一个通道

14、,我要的这5000个点,只要任何点有变化,你就立马依据预定的周期告知我”,于是OPC Server就依据预定的周期将数据发生变化的测点通过OPC Client预留的通道告知OPC Client。异步模式中,就会发生OPC Server反向连接OPC Client的状况,那么就会再次发生前面9个问题的全部事情。这也是很多时候OPC Server配置完成了,但OPC的通讯还是不正常的原因。由于现在的绝大多数OPC Client默认都是接受异步方式与OPC Server进行通讯,这就要求OPC Client所在

15、计算机的网络防火墙、操作系统的平安策略,DCOM的全局平安配置也需要配置正确。某OPC Client客户端添加OPC组时的属性配置。此处给各位留下一个问题:既然异步方式增加了对OPC Client端的配置要求,那为何大家默认不使用同步模式呢? 1.8.3 小结3到了这一步,还问这样的问题,估量有人会很生气了,“这种弱爆了的问题还要问吗?”,其实不然,在很多实际的案例中,就遇到了OPC的通讯配置问题解决了。但却看不到测点,一般会有如下几种缘由:(一)OPC Server真的没有测点。(二)认真阅读第10问中的检测要点的第4条。OPC Server

16、中的测点来自于组态软件或实时数据库,当组态软件和实时数据库未启动或OPC Server启动在组态软件和实时数据库之前时,OPC Server中很可能就没有测点。如何解决?重启一下就好了嘛。2 OPC Client/OPC Server2.1 问题现象目前市场上的OPC Client与OPC Server软件在Windows上的运行方式有Windows桌面程序和Windows NT服务。原来也没啥。但由于OPC Client 是一个厂家的软件,而OPC Server是另一家的软件,正由于软件的多样性,也就导致了如下一些现像:1:OPC Client 连接目标OPC Serve

17、r,发觉无法连接,但在OPC Serve计算机上明明观察OPC Serve进程已经启动。2:OPC Client连接目标OPC Server,能连接,也能观察测试点,但无法猎取到数据。经过多次现场的积累后,发觉此类问题多消灭在OPC Client和OPC Server软件在Windows上运行方式不同导致的。也就是说,OPC Client和OPC Server软件的运行方式不一样。譬如:OPC Client是Windows桌面程序方式,OPC Server是Windows NT服务时,发觉上面的现象基本不消灭。这是为什么呢?2.2 问题解决缘由如下:OPC Client和OPC Server都

18、是基于DCOM的应用,DCOM的特点是OPC Server无需先运行或启动,等待OPC Client恳求时,由操作系统在将OPC Server拽起来。这种机制的好处就是随用随启。但这种机制假如处理不好吧,就会导致一些问题。当OPC Client是Windows NT服务时,OPC Server被拽起来后,是运行在System这个系统帐户下面的。相对于Windows的桌面用户来说,是另外一个隔离开的空间。因此当桌面运行类型的OPC Server被Windows NT服务方式的OPC Client拽起来后,被运行在System这个系统帐户的空间。而假如这个OPC Server程序又做了全局唯一进程运行的限制或与数据库只允许一个TCP连接时,上述的两种现象基本就会消灭。这就是这段时间好几个伴侣遇到的OPC通讯故障现象。如何让自己开发的OPC程序兼容性更好的?1:当开发OP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论