




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、OPC通讯协议解析1通讯步骤1.1 第一问OPCClient和OPCServer之间通讯谁是主动的?答:当然是OPCClient.1.2 第二问OPCClient第一次动作做了什么?答:从大多数OPCClient行为来看,一是自动遍历本机已注册的OPCServer列表名称,二是等待用户定义预访问的OPCServer的信息.1.3 第三问OPCClient第二次动作做了什么?答:OPCClient的第一步动作会产生分支,访问本地OPCServer的这个分支就不再说了.要分析的是网络方式访问OPCServer这个分支.第二个动作是根据用户指定的IP地址或计算机名去查询远程计算机上已注册的OPCSe
2、rver列表名称.从这步开始就比拟复杂了.1.4 第四问OPCClient是用什么协议去和远程计算机交流的?答:用的是TCP/IP这个协议.OPCClient用TCP/IP135端口去翻开远程计算机的那一扇门.简单解释下:在Windows操作系统中,135端口主要用于使用PRCft、议并提供DCOM分布式组件对象模型效劳,通过RPCM以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码.使用DCOMT以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输.多年来,135端口一直被人利用.1.5 第五问OPCClient去访问远程计算机的TCP135a扇门时,第一道关卡是谁?
3、答:网络平安防火墙是第一关卡,网络平安放火墙中,如果不允许远程计算机的TCP135端口,那么连接就被掐断了.后续的通讯就无法进行.要想能向下进行,网络平安防火墙必须允许对TCP135这扇门的访问.这里需要在防火墙中将135端口例外操作.1.6 第六问各系统的平安策略有什么不同?答:一Windows2000的平安策略:支持来访者以自己的身份进行验证,且不拒绝来宾用户从网络中访问,来宾用户默认启用.二WindowsXP和Windows2003的平安策略:支持来访者以自己的身份进行验证或将所有来访者都看成是来宾访问,默认将所有来访者都看成来宾访问.且默认拒绝Guest用户从网络访问本机.来宾用户默认
4、禁用.三Windows7的平安策略:支持来访者以自己的身份进行验证或将所有来访者都看成是来宾访问经典-对本地用户进行身份验证,不改变其本来身份,默认支持来访者以自己的身份进行验证.且默认拒绝Guest用户从网络访问本机拒绝从网络访问这台计算机.来宾用户默认禁用.四Windows2021的平安策略:支持来访者以自己的身份进行验证或将所有来访者都看成是来宾访问,默认支持来访者以自己的身份进行验证.来宾用户默认禁用.配置OPCClient和OPCServer之间的网络通讯,先得看看对应的操作系统.选好平安审核机制再说.举例说明:例1:OPCClient和OPCServer都在Windows2000操
5、作系统上来举个例子:由于操行系统都是Windows2000,那么平安策略都是来访者以自己的身份进行验证自己指OPCServer.这里的以来访者以自己的身份进行验证是什么意思?就是指OPCClient去敲OPCServer的135这扇门时,会告知OPCClient的登录用户名是谁,我的登录密码是多少.OPCServer所在的操作系统通过来访者告知的用户名和密码去自己的用户列表中去查找是否也存在这个用户,密码是否正确.如果用户名和密码正确,那么进入下一步工作.例2:OPCClientsOPCServe都在WindowsXP操作系统上来举个例子:由于操行系统都是WindowsXP,那么默认的平安策略
6、都是将所有来访者都看成是来宾访问.对本地用户进行身份验证,其身份为来宾.且默认拒绝Guest用户从网络访问本机.这里的将所有来访者都看成是来宾访问是什么意思?就是指OPCClient去敲OPCServe的135这扇门时,会告知,我的登录用户名是谁,我的登录密码是多少.OPCServe所在的操作系统却不管你是谁,所有来访者一视同仁,都是来宾,而且根据规定,来宾都拒绝掉.这下可好,后面二者之间的通讯也不用继续了.上面的一这种情况工作还能继续往下做,二这种情况就完全不行了,啥都不管了.因此二这种情况是需要修改平安策略的,一种是将平安策略修改为来访者以自己的身份进行验证;另外一种是将拒绝从网络中访问此
7、计算机规那么中的来宾用户给去掉,从用户治理中将来宾用户启用,且密码为空.|仅来宾-对本地用户进行身份验证,其身份为来宾1.7 第七问网络防火墙允许进入,操作系统的平安审核也通过了,终于可以访问OPCServer了吧?答:还得问一问DCOMJ平安配置同不同意.运行“组件效劳检查一下.DCOMT'访问权限默认只有Sell和System,需要添加指定用户或者允许所有人,需要注意的是,“本地访问与“远程访问都需要选择“允许.DCOMJ启动和激活权限默认只有“Administrator和“System,需要添加指定用户或者允许所有人,需要注意的是,“本地访问与“远程访问,“本地激活和“远程激活都
8、需要选择“允许.1.8总结1.8,1小结1经过上面的一些处理过程,我们在这里可以总结一下都做了些什么?一配置防火墙,允许访问OPCServer所在计算机的TCP135端口.二配置操作系统的平安策略,使得可以接受远程计算机的rpc请求,可配置为根据来访者身份验证模式或来宾模式.直接选择以本地身份验证三配置操作系统的用户治理.来访者身份验证模式需在OPCServer所在计算机中添加来访者的用户名和密码;来宾模式需要启用Guest用户.四配置计算机全局的DCOMe全配置,使之允许远程访问,已经远程启动和激活.以上4步根本已将OPCServer这端的访问权限配置得差不多.但在实际操作过程中,还需要检查
9、如下一些内容:一OPC¥文件是否安装注册?OPC$文件没有正确的安装注册,OPCServer是无法工作的.而现在的不少OPCServer安装时并不会自动安装OPC$文件.二OPCserver是否注册?OPCServer未注册,是无法访问的,OPCServer必须正确注册.而现在的不少OPCServer安装后也不会自动注册,需要手动在程序界面上提供的功能按钮进行注册.三OPCServer的主程序是否存在?有的时候OPCServer注册了,但主程序可能被误删除或改名了,这个操作系统可不会告诉你.只能自己检查一下或重新注册一遍.四OPCServer的主程序与其他程序是否有依赖关系?由于OP
10、CServer只是软件对外提供数据的一种标准接口,它本身也是通过从其他的软件获取数据,常见的如组态软件,实时数据库等,而现在的一些OPCServer启动时会检查依赖的程序是否启动,如未启动,要么退出,要么啥都提供不了,也不会告诉OPCClient出了啥问题.五OPCServer在DCOIW境中自己的配置信息,OPCServer在DCO的环境中的配置信息如以下图.如OPCServer是NT效劳方式启动,那么“标识这一栏就为系统帐户,不推荐使用“以下用户.如OPCServer是COMf式注册,那么“标识这一栏默认为“交互式用户或“启动用户各家OPCServer注册时处理方法不太一样,最好都使用.“
11、交互式用户,不推荐使用“启动用户和“以下用户.具体原因后期再说.OPCServer是NT效劳方式启动,标识这栏为“系统账户仅用于效劳OPCServer是CO®式注册,标识这栏为“交互式用户1.8.2 小结2到了这一步,可能绝大局部人都会觉得这完成没有问题了.OPCServer都连接上了,增加个OPC&还不是轻而易举的事情吗?而实际上,OPC勺组是一个大有深意的设计.OPC勺组是用来给OPCClient灵活定义数据采集方式的一个方法,如希望对OPCServer中测点,一些测点的采样频率是1秒,一些测点的采样频率是5秒,一些测点数据变化即采集,一些测点数据变化超过量程多少才采集等
12、等.而且还定义了数据采集的两种模式,SynchronousI/O同步和AsynchronousI/O异步.对同步和异步进行一个简单的说明:同步模式:OPCClient向OPCServer要5000个测点的数据,必须等到OPCServer将5000个测点的数据都返回后才做后面的事情.异步模式:OPCClient向OPCServer要5000个测点的数据,OPCClient告诉OPCServer“我为你留了一个通道,我要的这5000个点,只要任何点有变化,你就立马根据预定的周期告诉我",于是OPCServer就根据预定的周期将数据发生变化的测点通过OPCClient预留的通道告知OPCC
13、lient0异步模式中,就会发生OPCServer反向连接OPCClient的情况,那么就会再次发生前面9个问题的所有事情.这也是很多时候OPCServer配置完成了,但OPC勺通讯还是不正常的缘故.由于现在的绝大多数OPCClient默认都是采用异步方式与OPCServer进行通讯,这就要求OPCClient所在计算机的网络防火墙、操作系统的平安策略,DCOMJ全局平安配置也需要配置正确.某OPCClient客户端添加OPCffl时的属性配置.此处给各位留下一个问题:既然异步方式增加了对OPCClient端的配置要求,那为何大家默认不使用同步模式呢?1.8.3 小结3到了这一步,还问这样的问
14、题,估计有人会很愤怒了,这种弱爆了的问题还要问吗?,其实不然,在很多实际的案例中,就遇到了OPC勺通讯配置问题解决了.但却看不到测点,一般会有如下几种原因:一OPCServer真的没有测点.二仔细阅读第10问中的检测要点的第4条.OPCServer中的测点来自于组态软件或实时数据库,当组态软件和实时数据库未启动或OPCServer启动在组态软件和实时数据库之前时,OPCServer中很可能就没有测点.如何解决?重启一下就好了嘛.2OPCClient/OPCServer2.1 问题现象目前市场上的OPCClient与OPCServer软件在Windows上的运行方式有Windows桌面程序和Wi
15、ndowsNT效劳.本来也没啥.但由于OPCClient是一个厂家的软件,而OPCServer是另一家的软件,正由于软件的多样性,也就导致了如下一些现像:1: OPCClient连接目标OPCServer,发现无法连接,但在OPCServe计算机上明明看见OPCServe进程已经启动.2:OPCClient连接目标OPCServer,能连接,也能看见测试点,但无法获取到数据.经过屡次现场的积累后,发现此类问题多出现在OPCClient和OPCServer软件在Windows上运行方式不同导致的.也就是说,OPCClient和OPCServer软件的运行方式不一样.譬如:OPCClient是Wi
16、ndows桌面程序方式,OPCServer是WindowsNT®务时,发现上面的现象根本不出现.这是为什么呢?2.2 问题解决原因如下:OPCClient和OPCServer都是基于DCOM1应用,DCOM1特点是OPCServer无需先运行或启动,等待OPCClient请求时,由操作系统在将OPCServer拽起来.这种机制的好处就是随用随启.但这种机制如果处理不好吧,就会导致一些问题.当OPClient是WindowsNT效劳时,OPCServer被拽起来后,是运行在System这个系统帐户下面的.相对于Windows的桌面用户来说,是另外一个隔离开的空间.因此当桌面运行类型的OPCServer®WindowsNT效劳方式的OPCClient拽起来后,被运行在System这个系统帐户的空间.而如果这个OPCServer程序又做了全局唯一进程运行的限制或与数据库只允许一个TCP1接时,上述的两种现象根本就会出现.这就是这段时间好几个朋友遇到的OPCffl讯故障现象.如何让自己开发的OPCE序兼容Tt更好的?1:当开发OPCClient程序时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《建筑工程施工技术》课件
- 教导处范文编写学案竞赛方案
- 《护理管理研讨班学习成果分享 - 张强课件》
- 走过回顾 展望未来
- 《桥梁建设》课件
- 2025企业办公室租赁终止合同模板
- 2025版小产权房购房合同
- 《心律失常心电图诊断与应用课件》
- 2025年度采购合同采购战略合作协议
- 2025购买设备合同范本
- 《风电安全生产培训》课件
- 常见病用药指导技术知到智慧树章节测试课后答案2024年秋天津生物工程职业技术学院
- 2025年日历(日程安排-可直接打印)
- 保密法律法规
- 智慧社区平台运营方案
- 铸牢中华民族共同体意识-形考任务1-国开(NMG)-参考资料
- 踝关节骨折的分型与治疗
- 建筑工程质量与安全控制手册
- 2024-2025学年广东省深圳市高三下学期质量调研(二模)生物试题试卷含解析
- 高标准农田设计实施方案(技术标)
- 苹果酒的家庭做法-苹果酒的效果和作用
评论
0/150
提交评论