1.如何配置远程运行的OPC服务器?
主要软件版本: 7.1
主要软件修正版本:次要软件: N/A
解答: 如果你正在通过DataSocket,使用opc的网页地址(URL)连接一个OPC服务器并且得到拒绝访问的错误的话,你可以使用windows应用工具,dcomcnfg.exe将OPC服务器配置成为远程运行模式。如果你使用dcomcnfg.exe并选择了一个远程服务器的话,该服务器只能在本地计算机或者远程的计算机上运行一个版本。你不能在多台计算机上运行同样的服务器。
如果你正在通过DataSocket,使用opc的网页地址(URL)连接一个OPC服务器,可以按照以下的步骤完成OPC服务器的配置。
1. 查找并运行dcomcnfg.exe。
2. 单击“应用”标签。
3. 从列表中选择OPC服务器。
4. 单击属性按钮调出属性对话框。
5. 单击“位置”标签。
6. 取消“在本机运行应用程序”复选框的选择,同时选择“在以下的计算机上运行应用程序”的复选框。
7. 输入远程计算机名或者单击”浏览”按钮,选择你的远程计算机。
8. 单击“确定”按钮。
9. 单击“默认属性”标签,设置以下选项。
1. 选择“在本机上使能DCOM功能”。
2. 设置“默认的签证等级”为连接。
3. 设置“默认的身份模拟等级”为识别。
10. 单击“默认安全”标签。
11. 单击“编辑默认”按钮。确保你想要运行OPC服务器的计算机允许你的计算机的访问。这对于远程计算机访问你的计算机上的DSC模块以存储OPC数值,是十分必要的。
12. 单击“确定”按钮。
2.如何进行OPC客户端和服务器端的DCOM配置?
单击开始,单击运行,然后键入 DCOMCNFG。
选择要自动运行的应用程序。应用程序名称如下所示: Microsoft Word 2000/2002/2003 - Microsoft Word 文档 单击属性打开此应用程序的属性对话框。
单击安全性选项卡。验证使用默认的访问权限和使用默认的启动权限已选中。
单击身份标识选项卡。选择指定用户,并键入 一个管理员权限(你的ID) 的用户名和密码。
单击确定,关闭属性对话框并返回主应用程序列表对话框。 在“DCOM 配置”对话框中,单击默认安全机制选项卡。
单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户: SYSTEM INTERACTIVE Everyone Administrators YOUID--- IUSR_* IWAM_* * 这些帐户仅在计算机上安装有 Internet Information Server (IIS) 的情况下才存在。
确保允许每个用户访问,然后单击确定。 单击启动权限的编辑默认值。
验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户: SYSTEM INTERACTIVE Everyone Administrators YOUID--- IUSR_* IWAM_* * 这些帐户仅在计算机上安装有 IIS 的情况下才存在。 确保允许每个用户访问,然后单击确定。
单击确定关闭 DCOMCNFG。 启动 REGEDIT,然后验证对于要自动运行的 Office 应用程序,是否存在下列注册表项和字符串值: Microsoft Word 97/2000/2002/2003: 注册表项:HKEY_CLASSES_ROOT\AppID\WINWORD.EXE AppID:{00020906-0000-0000-C000-000000000046} 其实还有其他同类的错误: Microsoft Access 2000/2002/2003: 是 AppID:{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} Microsoft Access 97: AppID:{8CC49940-3146-11CF-97A1-00AA00424A9F} Microsoft Excel 97/2000/2002/2003: AppID:{00020812-0000-0000-C000-000000000046} Microsoft Word 97/2000/2002/2003: AppID:{00020906-0000-0000-C000-000000000046} 改的方法同上面word的。
2)******************* 系统日志中的大量DCOM错误 内容如下: Access denied attempting to launch a DCOM Server. The server is: {00020906-0000-0000-C000-000000000046} The user is Unavailable/Unavailable, SID=Unavailable. 这种错误只有在拨号上网的时候才发生,如果是通过网关上网,则没有这个问题。初步判断应该是不断的遭到攻击造成这个问题。
于是用netstat命令检查上网时来自公网的Socket连接,发现1025端口和135端口很可疑。在防火墙中屏蔽了这两个端口后,问题解决。
(只屏蔽一个端口似乎不能完全起作用,还会有一部分DCOM错误记录下来,只是频率降低了。) 系统日志中的大量DCOM错误之补充 今天发现还需要屏蔽TCP的445端口才能完全杜绝系统日志中的DCOM错误。
日志文件里出现DCOM错误码是因为我的防火墙的路由器的DMZ指向我的机器。把DMZ一关日志文件马上就没有出现DCOM错误,断定是第二类错误。
3.如何远程连接OPC服务器
小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:
远程桌面连接(,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。
管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。
使用远程桌面连接(MSTSC)登录实例
打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键Win+R来启动运行窗口,输入mstsc后回车启动远程桌面连接。
在远程桌面连接对话框中,输入实例的公网IP地址。单击显示选项。
输入用户名,如小鸟云默认为niaoyun。单击允许我保存凭据,然后单击连接。这样以后登录就不需要手动输入密码了。
4.如何开发OPC Server
一.准备工作:下载opc基金会的OPC Proxy DLL然后按照说明进行安装。
这些动态库是opc程序运行所必须的。1. 将下列文件拷贝至要运行OPC服务器和OPC客户端的机器上的SYSTEM32目录下copy opcproxy.dll C:\WINDOWS\system32copy opccomn_ps.dll C:\WINDOWS\system32copy opc_aeps.dll C:\WINDOWS\system32copy opchda_ps.dll C:\WINDOWS\system32copy aprxdist.exe C:\WINDOWS\system32copy opcenum.exe C:\WINDOWS\system322. 注册这些 dll 文件REGSVR32 opcproxy.dllREGSVR32 opccomn_ps.dllREGSVR32 opc_aeps.dllREGSVR32 opchda_ps.dll3. 如果在windows 系统(\WINDOWS \system32)目下不存在actxprxy.dll,运行aprxdist.exe4. 安装 opcenum.exeopcenum /regserver二.opcserver开发1. 新建vc工程。
比如建一个控制台工程。在工程中包含如下头文件#include "opcda.h"#include "opc_ae.h"#include "WTOPCsvrAPI.h"#include "WtOPCsvrEXTapi.h"以上头文件在例子程序中都能找到,拷贝到自己的工程下。
WTOPCsvrAPI.h是开发包动态库提供的导出函数文件。里面有每个函数的具体说明,调用的时候看一下说明。
2. 在.cpp中定义一个GUID这个guid是用来标识opcserver的唯一id可以通过操作系统的工具生成,也可以编一个。格式如下。
const GUIDCLSID_OPCSimSvr = {0x99b8f472, 0xc037, 0x11d2, {0x80, 0xb8, 0x0, 0x60, 0x97, 0x58, 0x58, 0xbe}};3. 在工程中加入对WtOPCSvr动态库的连接。WTOPCsvr动态库的有关文件都在之前的例子包里面能找到。
WTOPCsvr.lib WTOPCsvr.dll是对应lib和dll4. 初始化(1)调用UpdateRegistry()函数完成注册。下面是一个调用参考例子代码BOOL COPCSimSvrApp::InitInstance(){TCHAR szTokens[] = _T("-/ ");CString HelpPath;CString SvrName, SvrDescrip;int i;HelpPath = AfxGetApp()->m_pszHelpFilePath;i = HelpPath.ReverseFind('\\');HelpPath = HelpPath.Left(i+1);HelpPath += "OPCSIMSVR.EXE"; //// Self-Registration code// (look for cmdline options to register & unregister server)//SvrName = "WinTECH.OPCServer";SvrDescrip = "WinTECH Software OPC Server Simulator";CString tempCmdLine(m_lpCmdLine);LPTSTR lpszToken = _tcstok(tempCmdLine.GetBuffer(1), szTokens);while (lpszToken != NULL){if (_tcsicmp(lpszToken, _T("UnregServer"))==0){UnregisterServer ((BYTE *)&CLSID_OPCSimSvr, SvrName);return (FALSE);}else if (_tcsicmp(lpszToken, _T("RegServer"))==0){UpdateRegistry ((BYTE *)&CLSID_OPCSimSvr,SvrName,SvrDescrip,HelpPath);return (FALSE);}lpszToken = _tcstok(NULL, szTokens);}(2)调用InitWTOPCsvr完成开发包dll初始化。
以上两个步骤不可颠倒。5. 创建item这里的item是服务器所有的item,这些item通过opc库户端能浏览到。
创建item的函数为CreateTag().Opc有两种地址空间形式:扁平和多层结构的。比如调用创建的点为item1、item2、item3.这类结构就是扁平的。
各个点类似与文件系统中的文件。比如调用创建的点为test.item1、test.item2、test.item3这种点名,开发包会自动形成多层的点结构。
Test类似与文件系统中的文件夹,item类似与文件系统中的文件夹下的文件。扁平式和多层结构在客户端浏览点名时体现。
多层结构的点名之间默认是用“.”分隔。为了简单可以将我们的opcserver设计为扁平结构。
创建一个点时会返回一个handle用来标识这个点。我们程序需要自己建立这个handle和数据库中保存设备实时值的对应关系。
这部分可以参考例子代码。6. 建立一个定时器采集设备数据定时从数据库中取得各个handle对应的item的值。
然后比较各个item的值是否和上一次读取的值有变化,如果有变化调用UpdateTagToList放入对应的队列。开发包会自动将变化的值送到客户端。
大致流程为(1) 从数据库中采集一遍所有点的实时值。(2) 调用StartUpdateTags()(3) 循环读取每个item在数据库中的数据,和上一次读取到的进行比较。
如果有变化调用UpdateTagToList()(4) 最用调用EndUpdateTags()完成所有item的更新。7. 客户端控制客户端写tag的值的时候,在opcserver是通过一个回调函数来响应的。
在服务器端必须调用()来指定写值的回调函数。回调函数的格式为:typedef VOID (CALLBACK* WRITENOTIFYPROC)(HANDLE, VARIANT*, DWORD*);然后在回调函数内部实现从HANDLE指定的tag写到具体的控制设备对应的变量中。
8. 其它常用函数RequestDisconnect()一般在opcserver在关闭时调用,用来通知客户端opcserver自己要关闭。()用来计算当前有多少个客户端连接到了()程序退出时清理SetVendorInfo()设置厂商信息三.opc客户端测试下面以本机opcquickclient.exe为例说明服务器和客户端之间的应用关系。
1. 运行opcquickclient.exe2. 点击edit->new server connection 菜单。弹出server properties对话框。
从中展开opc data access server version 2.0.会浏览到本机。
5.win10系统VPN如何设置
win10系统VPN设置方法:右击开始菜单,选择设置。
进入设置的主页面,选择网络和Internet。接下来就可以在左边看到VPN的选项了,选择VPN,选择添加VPN连接前的加号。
接下来按照要求输入服务器地址,用户名和账号就可以完成连接了。1.右击开始菜单,选择设置。
2.进入设置的主页面,选择网络和Internet。3.接下来就可以在左边看到VPN的选项了。
4.选择VPN,选择添加VPN连接前的加号。5.接下来按照要求输入服务器地址,用户名和账号就可以完成连接了。
参考资料搜狗指南.搜狗[引用时间2018-1-17]。
6.opc服务器和客户端如何连接,通讯
服务器的话要看,如果是client-server结构的DCS,服务器位于上位和控制器之间,他将你的指令和现场数据通过服务器来经过交换,服务器一般是冗余配置,如果是并行结构来说没有所谓服务器的概念,只有个工程师站,程序的下装通过工程师站,但是数据的获取和指令的下达通过操作员站就行,这个好处就是当工程师站坏了的话操作员站可以正常工作
OPC服务器的作用是通过OPC协议将DCS的数据取出,并开放,一般一个OPC服务器下面连接一个或多个客户端,客户端通过安装相应的软件(也支持OPC协议),来取得DCS的协议
乐拾芗逸盆然朵邢浏晔链特磊枫待谨璀楷塘丞彰
转载请注明出处windows之家 » opc服务器win10安装