发表于:2006-08-07 15:28:00
楼主
Citect在其最新的版本6.10中增加了一些新特性,其中就包括将OPC server DA2.0集成在他的Runtime环境中。听上去似乎很不错,对于初次使用者来说,该如何使用这些功能呢?下面我们就将详细的讨论OPC server的配置方法。
我们以 Windows XP SP2操作系统为例来说明Citect OPC server的配置方法,由于Windows XP SP2操作系统的安全特性非常高,所以配置也相对其他系统而言是最复杂的。第三方客户端测试工具使用FactorySoft的Test Client。
1) Citect OPC server的安装
在安装Citect的过程中,Citect OPC server和OPC的核心组件会自动被安装到计算机上。安装成功后,计算机上会注册有两个服务器:一个是进程OPC服务器——Citect.OPC;一个是本地/远程服务器——Citect.OPCRemote。
2) Windows安全性配置
1.防火墙
第一种方法是关闭防火墙。在控制面板中打开Windows防火墙,在常规页面中选择关闭。
第二种方法是不关闭防火墙,添加一个例外到防火墙并开放DCOM端口。在控制面板中打开安全中心,选择Windows防火墙,在例外页面中选择添加程序。需要添加的程序有Microsoft Management Console,CTOPC32.exe,OPCEnum.exe。选择添加端口,名称填DCOM,端口填135,类型为TCP。
2.启用文件共享
在控制面板中打开网络安装向导,在文件和打印机共享页面选择启用。
3.创建OPC访问用户
在服务器上创建两个用户,一个作为OPC服务器的用户名,一个作为OPC客户机的用户名,加入管理员权限组。同样在客户机上也创建相同的两个用户名和密码。这样,在服务器上就可以用服务器的用户名登录,在客户机上用客户机的用户名登录,不需要两台计算机以相同的用户名和密码来登录了。
3)DCOM配置
在开始菜单中选择运行,输入dcomcnfg,回车。打开组件服务——计算机,右键我的电脑——属性,在默认属性页面,在此计算机上启用分布式COM上打勾;默认身份级别选择无,默认模拟级别选择标识;在默认协议页面,将面向连接的TCP/IP移到最上方;在COM安全页面里,访问权限中编辑限制添加Erevyone并附给所有权限,附给Anonymous Logon所有权限,编辑默认值添加Erevyone并附给所有权限,附给System所有权限;启动和激活权限中编辑限制添加Erevyone并附给所有权限,编辑默认值添加Erevyone并附给所有权限,附给Interactive,System所有权限。
展开我的电脑——DCOM配置,选择Citect.OPCRemote,常规页面身份验证选择无;位置页面在此计算机运行应用程序上打勾;安全页面在配置权限中添加Erevyone并附给所有权限,附给System所有权限;在标识页面中选择交互式用户。
Citect.OPC和OPCEnum的DCOM配置参考Citect.OPCRemote。
注意:配置完必须重起计算机才能生效,客户机可配置参考服务器配置。
4)客户端测试。
在客户机上以客户机用户名登录。
1.FactorySoft Test Client
打开客户端,选择OPC——Connect,ServerName为CitectOPCRemote,ServerNodet填写服务器名称,OK。连接上服务器后,选择OPC——AddItem,可以看到列表中出现Citect服务器中的Tag列表,添加后就可以对Tag进行读写了。
2.Citect
新建Citect工程,Board页面中BoardType选择OPC,Address选择0,Special Opt填写服务器名称;I/O Device页面中Address填Citect.OPCRemote,Protocol选择OPC;Tag页面中Address填服务器中的Tag名称。组态后运行就可以读写服务器上的Tag点了。
Q&A::
1.Dcom 配置中Citect.OPCRemote 属性里为什么“在此计算机运行应用程序”项为灰色,选不了?
这可能是CitectV6.10安装程序的Bug,可以先装一遍CitectV6.0,卸载后再装CitectV6.10就可以了。其实不能选也没什么影响。
2.客户端必须要装Citect吗?
可以不装Citect,但是必须要装OPC组件,并且要把服务器中关于Citect的注册表信息导入客户机的注册表。包括HKEY_CLASSES_ROOT中关于Citect.OPC 和 Citect.OPCRemote的内容以及HKEY_CLASSES_ROOT——CLSID中关于CtOPC32.dll和CtOPC32.exe的内容。当然最省事的方法就是装一下Citect,再把文件删掉也没关系。