浙大中控opc服务器在电脑怎么查找

浙大中控opc服务器在电脑怎么查找,第1张

ForeverCreditOPCServer服务器软件,简称OPCServer。

OPC客户端的使用方法:

建立和删除OPC设备:

组态王中支持多OPC服务器

在使用OPC服务器之前,需要先在组态王中建立OPC服务器设备。

在组态王工程浏览器的设备”项目中选中OPC服务器”,工程浏览器的右侧内容区显示当前工程中定义的OPC设备和新建OPC”图标。

双击新建”图标,组态王开始自动搜索当前的计算机系统中已经安装的所有OPC服务器,然后弹出查看OPC服务器”对话框。

OPC设备定义:

网络节点名”编辑框中为要查看OPC服务器的计算机名称,默认为本机”。

如果需要查看网络上的其它站点的OPC服务器,在编辑框中输入节点的UNC路径。

如计算机名称为数据采集站”,则输入数据采集站”,然后单击查找”按钮,如果查找成功,则在右边的OPC服务器”列表中显示目标站点的所有已安装的OPC服务器名称,如果没有查找到,则提示查找失败。

OPC服务器信息”文本框中显示OPC服务器”列表中选中的OPC服务器的相关说明信息,如选中KingViewView1”,则在信息中显示KingViewView”。

读写方式”是用来定义该OPC设备对应的OPC变量在进行读写数据时采用同步或异步方式,尝试恢复间隔”和最长恢复时间”用来设置当组态王与OPC服务器之间的通讯出现故障时,系统尝试恢复通讯的策略参数。

订阅频率”,目前组态王异步读是按照订阅的方式实现的,可以根据不同的需要进行设置,使用动态优化”是组态王对通讯过程采取动态管理的办法。

尝试恢复间隔”,最长恢复时间”,使用动态优化”的具体含义与IO设备定义向导中的相同。

用户可以在列表中选择所需的OPC服务器。

单击确定”按钮,查看OPC服务器”对话框自动关闭,OPC设备建立成功。

OPC服务器的建立:

对于已经建立的OPC设备,如果您确认不再需要,可以将它删除。

选中要删除的OPC设备,单击鼠标右键,在弹出的快捷菜单中选择删除,弹出的提示信息,如果选择是”,则将该设备从组态王中删除。

使用NI OPC服务器查看现有的PLC标签

1 选择开始》程序》National Instruments》NI OPCServers》NI OPCServers,启动NI OPC服务器。使用NI OPC服务器,您可以创建、配置、查看与PLC关联的标签。

2 NI OPC服务器需要与已经载入的PLC仿真工程一起启动。这个工程仿真在NI OPC服务器中已经建立配置的PLC。

说明:如果没有载入仿真工程,在NI OPC服务器中选择文件》打开,浏览C:\Program Files\National Instruments\Shared\NI OPC Servers\Projects\simdemoopf。工程如图1所示。

图1:显示仿真PLC的NI OPC服务器

展开Channel_0_User_Defined,选择Sine,查看正弦标签。标签在最右边的窗口中显示。这些标签被绑定到PLC的寄存器上,由LabVIEW读取。

通过PLC OPC标签查看数据。

1 在NI OPC服务器中,选择Tools»Launch OPC Quick Client。这样可以启动OPC快速客户端,您可以用来查看OPC标签数据。

2 展开National InstrumentsNIOPCServers文件夹,选择Channel_0_User_DefinedSine。这样可以选定需要监视的设备。

3 请注意所有的正弦标签都列出在右边的窗口中,且如图2所示正在更新显示仿真正弦数据。

图2:NI OPC快速客户端显示仿真正弦OPC标签

说明:要获取NI OPC支持的设备/驱动程序列表,请访问nicom/opc。

通过创建I/O服务器将LabVIEW连接到OPC标签

在本小节中,将创建OPC标签的LabVIEW接口,称为I/O服务器。I/O服务器以您指定的速率,用当前标签数值更新LabVIEW。

1 在LabVIEW的使用入门窗口中,点击文件》新建项目。这将打开新建LabVIEW项目。

2 如果即时帮助窗口不可见,按Ctrl+H键显示窗口。保持窗口打开,可以得到鼠标指针所指向对象的帮助信息。

3 在LabVIEW项目浏览器窗口中,右键点击我的电脑,选择新建》I/O服务器,如图3所示。

图3:通过LabVIEW项目新建I/O服务器

4 在新建I/O服务器窗口中选择OPC客户端,点击继续。

5 仍已注册OPC服务器框中选择National InstrumentsNIOPCServers,设置更新速率(ms)为100。这将创建LabVIEW与OPC标签的连接,每隔100 ms更新。

Figure 4 Configuring the OPC Client I/O Server

6 选择确定。在您的项目浏览器窗口中自动创建了库,用于管理I/O服务器。

7 仍项目浏览器窗口中选择文件》保存所有,将项目保存为OPCDemoProject,将库保存为OPCDemoLibrary。

创建通过I/O服务器连接到OPC标签的共享变量

在本小节中,将创建绑定到OPC标签上的共享变量,仍而可以在LabVIEW中本地访问PLC数据。使用共享变量,您可以在一台计算机或是网络中,在多个LabVIEW应用程序间共享数据。

创建绑定到PLC OPC标签上的新共享变量。

在LabVIEW项目窗口中,右击我的电脑,选择新建》库。这样可以为共享变量建立一个新库,用于连接到PLC的OPC标签。

右击新建的库,选择创建绑定变量……

在创建绑定变量窗口中,选择OPC标签,通过浏览来自OPC服务器的仿真正弦数据,选择共享变量所需绑定的OPC标签,如图5所示。

图5:选择需要绑定到共享变量的OPC标签

4 选择所有正弦项目,点击添加确定。这样就创建了绑定到PLC OPC标签上的共享变量,将它们载入到多变量编辑器中。

5 在多变量编辑器中,选择完成。这将把新的共享变量添加到前所建立的库中。

说明:LabVIEW DSC模块通过为数据库直接添加记录数据、报警和事件的功能,在无需编写LabVIEW应用程序的情冴下,增强了共享变量。

通过右击库,选择另存为,将新库以OPCItemlvlib为文件名保存在项目浏览器窗口中。

通过右击OPCItems库,选择部署,对共享变量部署。这样就可以収布共享变量,使它们可以在网络上通过其他计算机、OPC客户端和LabVIEW实时自动化控制器(PAC)使用。

您现在可以通过共享变量在LabVIEW中本地访问PLC数据。

第62行的代码,DCOM既然是远程服务器,那它就应该是可以运行在另外一台机器上,然后被其他机器的客户端所使用。所以C++的客户端代码里,你可以通过编程的方式指定服务器的名称,但是对于C#来说,因为连接到DCOM服务器并激活COM对象的操作是由CLR完成的,没有办法在代码里指定。不过不用着急,指定DCOM服务器还有另外一个方式,就是修改注册表的键值,告诉本机的COM运行库,服务器在另外一台机器上,请把下面的键值添加到客户端机器的注册表里:

HKEY_CLASSES_ROOT\APPID\{5e9ddec7-5767-11cf-beab-00aa006c3606}\RemoteServerName=<机器名>

下面的是我的代码

public void ListAll(Guid catid, out OpcServers[] serverslist)

{

serverslist = null;

Dispose();

Guid guid = new Guid("13486D51-4821-11D2-A494-3CB306C10000");

Type typeoflist = TypeGetTypeFromCLSID(guid);

OPCListObj = ActivatorCreateInstance(typeoflist);

ifList = (IOPCServerList)OPCListObj;

if (ifList == null)

MarshalThrowExceptionForHR(HRESULTSE_ABORT);

ifListEnumClassesOfCategories(1, ref catid, 0, ref catid, out EnumObj);

if (EnumObj == null)

MarshalThrowExceptionForHR(HRESULTSE_ABORT);

ifEnum = (IEnumGUID)EnumObj;

if (ifEnum == null)

MarshalThrowExceptionForHR(HRESULTSE_ABORT);

int maxcount = 300;

IntPtr ptrGuid = MarshalAllocCoTaskMem(maxcount 16);

int count = 0;

ifEnumNext(maxcount, ptrGuid, out count);

if (count < 1)

{ MarshalFreeCoTaskMem(ptrGuid); return; }

serverslist = new OpcServers[count];

byte[] guidbin = new byte[16];

int runGuid = (int)ptrGuid;

for (int i = 0; i < count; i++)

{

serverslist[i] = new OpcServers();

MarshalCopy((IntPtr)runGuid, guidbin, 0, 16);

serverslist[i]ClsID = new Guid(guidbin);

ifListGetClassDetails(ref serverslist[i]ClsID,

out serverslist[i]ProgID, out serverslist[i]ServerName);

runGuid += 16;

}

MarshalFreeCoTaskMem(ptrGuid);

Dispose();

}

用此代码连接本地OPC服务器是没有问题的,但是通过上面对注册表的编辑,将服务器换成远程服务器,就不能访问,代码运行起来还是连接的是本地OPC服务器。请教各位我该如何设置才能连接远程OPC服务器

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 浙大中控opc服务器在电脑怎么查找

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情