OPC通讯配置详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OPC
通讯协议解析
1 通讯步骤
第一问
OPC Client和OPC Server之间通讯谁是主动的
答:当然是OPC Client。
第二问
OPC Client第一次动作做了什么
答:从大多数OPC Client行为来看,一是自动遍历本机已注册的OPC Server列表名称,二是等待用户定义预访问的OPC Server的信息。
第三问
OPC Client第二次动作做了什么
答:OPC Client的第一步动作会产生分支,访问本地OPC Server的这个分支就不再说了。要分析的是网络方式访问OPC Server这个分支。
第二个动作是根据用户指定的IP地址或计算机名去查询远程计算机上已注册的OPC Server列表名称。从这步开始就比较复杂了。
第四问
OPC Client是用什么协议去和远程计算机交流的
答:用的是TCP/IP这个协议。OPC Client用TCP/IP 135端口去打开远程计算机的那一扇门。
简单解释下:在Windows操作系统中,135端口主要用于使用PRC协议并提供DCOM (分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利
地执行远程计算机上的代码。使用DCOM可以通过网络直接进行通信,能够跨包括HTTP 协议在内的多种网络传输。多年来,135端口一直被人利用。
第五问
OPC Client去访问远程计算机的TCP135这扇门时,第一道关卡是谁
答:网络安全防火墙是第一关卡,网络安全放火墙中,如果不允许远程计算机的TCP 135端口,那么连接就被掐断了。后续的通讯就无法进行。要想能向下进行,网络安全防火墙必须允许对TCP 135这扇门的访问。这里需要在防火墙中将135端口例外操作。第六问
各系统的安全策略有什么不同
答:
(一)Windows 2000的安全策略:支持来访者以自己的身份进行验证,且不拒绝来宾用户从网络中访问,来宾用户默认启用。
(二)Windows XP和Windows 2003的安全策略:支持来访者以自己的身份进行验证或将所有来访者都看成是来宾访问,默认将所有来访者都看成来宾访问。且默认拒绝Guest用户从网络访问本机。来宾用户默认禁用。
(三)Windows 7的安全策略:支持来访者以自己的身份进行验证或将所有来访者都看成是来宾访问(经典-对本地用户进行身份验证,不改变其本来身份),默认支持来访者以自己的身份进行验证。且默认拒绝Guest用户从网络访问本机(拒绝从网络访问这台计算机)。来宾用户默认禁用。
(四)Windows 2008的安全策略:支持来访者以自己的身份进行验证或将所有来访者都看成是来宾访问,默认支持来访者以自己的身份进行验证。来宾用户默认禁用。
配置OPC Client和OPC Server之间的网络通讯,先得看看对应的操作系统。选好安全审核机制再说。
举例说明:
例1:OPCClient和OPCServer都在Windows2000操作系统上来举个例子:由于操行系统都是Windows2000,那么安全策略都是来访者以自己的身份进行验证(自己指
OPCServer)。这里的以来访者以自己的身份进行验证是什么意思
就是指OPCClient去敲OPCServer的135这扇门时,会告知OPCClient的登录用户名是谁,我的登录密码是多少。OPCServer所在的操作系统通过来访者告知的用户名和密码去自己的用户列表中去查找是否也存在这个用户,密码是否正确。如果用户名和密码正确,则进入下一步工作。
例2:OPCClient和OPCServer都在WindowsXP操作系统上来举个例子:由于操行系统都是WindowsXP,那么默认的安全策略都是将所有来访者都看成是来宾访问。(对本地用户进行身份验证,其身份为来宾。)且默认拒绝Guest用户从网络访问本机。这里的将所有来访者都看成是来宾访问是什么意思就是指OPCClient去敲OPCServer的135这扇门时,会告知,我的登录用户名是谁,我的登录密码是多少。OPCServer所在的操作系统却不管你是谁,所有来访者一视同仁,都是来宾,而且按照规定,来宾都拒绝掉。这下可好,后面二者之间的通讯也不用继续了。
上面的(一)这种情况工作还能继续往下做,(二)这种情况就完全不行了,啥都不管了。因此(二)这种情况是需要修改安全策略的,一种是将安全策略修改为来访者以自己的身份进行验证;另外一种是将“拒绝从网络中访问此计算机”规则中的来宾用户给去掉,从用户管理中将来宾用户启用,且密码为空。(仅来宾-对本地用户进行身份验证,其身份为来宾)
第七问
网络防火墙允许进入,操作系统的安全审核也通过了,终于可以访问OPC Server 了吧
答:还得问一问DCOM的安全配置同不同意。运行“组件服务”检查一下。
DCOM的“访问权限”默认只有Sell和System,需要添加指定用户或者允许所有人,需要注意的是,“本地访问”与“远程访问”都需要选择“允许”。
DCOM的“启动和激活权限”默认只有“Administrator”和“System”,需要添加指定用户或者允许所有人,需要注意的是,“本地访问”与“远程访问”,“本地激活”和“远程激活”都需要选择“允许”。
总结
小结1
经过上面的一些处理过程,我们在这里可以总结一下都做了些什么
(一)配置防火墙,允许访问OPCServer所在计算机的TCP135端口。
(二)配置操作系统的安全策略,使得可以接受远程计算机的rpc请求,可配置为按照来访者身份验证模式或来宾模式。(直接选择以本地身份验证)
(三)配置操作系统的用户管理。来访者身份验证模式需在OPCServer所在计算机中添加来访者的用户名和密码;来宾模式需要启用Guest用户。
(四)配置计算机全局的DCOM安全配置,使之允许远程访问,已经远程启动和激活。
以上4步基本已将OPCServer这端的访问权限配置得差不多。但在实际操作过程中,还需要检查如下一些内容:
(一)OPC库文件是否安装注册OPC库文件没有正确的安装注册,OPCServer是无法工作的。而现在的不少OPCServer安装时并不会自动安装OPC库文件。
(二)OPC server是否注册OPCServer未注册,是无法访问的,OPCServer必须正确注册。而现在的不少OPCServer安装后也不会自动注册,需要手动在程序界面上提供的功能按钮进行注册。
(三)OPC server的主程序是否存在有的时候OPCServer注册了,但主程序可能被误删除或改名了,这个操作系统可不会告诉你。只能自己检查一下或重新注册一遍。
(四)OPC Server的主程序与其他程序是否有依赖关系因为OPCServer只是软件对外提供数据的一种标准接口,它本身也是通过从其他的软件获取数据,常见的如组态软件,实时数据库等,而现在的一些OPCServer启动时会检查依赖的程序是否启动,如未启动,要么退出,要么啥都提供不了,也不会告诉OPCClient出了啥问题。
(五)OPCServer在DCOM环境中自己的配置信息,OPCServer在DCOM的环境中的配置信息如下图。如OPCServer是NT服务方式启动,那么“标识”这一栏就为系统帐户,不推荐使用“下列用户”。如OPCServer是COM方式注册,那么“标识”这一栏默认为“交互式用户”或“启动用户”(各家OPCServer注册时处理方法不太一样),最