1.如何开发OPC Server
一.准备工作: 下载opc基金会的OPC Proxy DLL然后按照说明进行安装。
这些动态库是opc程序运行所必须的。 1. 将下列文件拷贝至要运行OPC服务器和OPC客户端的机器上的SYSTEM32目录下 copy opcproxy.dll C:\WINDOWS\system32 copy opccomn_ps.dll C:\WINDOWS\system32 copy opc_aeps.dll C:\WINDOWS\system32 copy opchda_ps.dll C:\WINDOWS\system32 copy aprxdist.exe C:\WINDOWS\system32 copy opcenum.exe C:\WINDOWS\system32 2. 注册这些 dll 文件 REGSVR32 opcproxy.dll REGSVR32 opccomn_ps.dll REGSVR32 opc_aeps.dll REGSVR32 opchda_ps.dll 3. 如果在windows 系统(\WINDOWS \system32)目下不存在actxprxy.dll,运行aprxdist.exe 4. 安装 opcenum.exe opcenum /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 GUID CLSID_OPCSimSvr = {0x99b8f472, 0xc037, 0x11d2, {0x80, 0xb8, 0x0, 0x60, 0x97, 0x58, 0x58, 0xbe}}; 3. 在工程中加入对WtOPCSvr动态库的连接。 WTOPCsvr动态库的有关文件都在之前的例子包里面能找到。
WTOPCsvr.lib WTOPCsvr.dll是对应lib和dll 4. 初始化 (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自己要关闭。 ()用来计算当前有多少个客户端连接到了opcserver UninitWTOPCsvr()程序退出时清理 SetVendorInfo()设置厂商信息 三.opc客户端测试 下面以本机opcquickclient.exe为例说明服务器和客户端之间的应用关系。
1. 运行opcquickclient.exe 2. 点击edit->new server connection 菜单。弹出。
2.win10系统添加vpn连接服务器名称或地址填什么
根本实际情况填就可以,每个人都不一样。
如下参考:1. 首先打开电脑,点击任务栏右下角的wifi图标,如果连接的是网线,则为小电脑图标。2. 此时将弹出一个附近可用网络的列表,单击列表底部的网络和Internet设置按钮,并输入与网络相关的设置。
3.在弹出窗口的右侧,有一个VPN按钮,这是VPN的设置。4. 这是所有VPN连接的列表,但是由于目前没有连接,所以是空白的。
单击顶部的add VPN connection按钮。5,在新弹出窗口,输入VPN相关信息,可以任意连接名称,主要是为了区分不同的VPN连接,将准备输入服务器名称或地址的对应位置,可能是一个网络地址或IP地址,如果不知道可以引用内部网络管理员。
3.win10dhcp server怎么安装
方法/步骤
>01
打开“程序和功能”:
在控制面板”中打开“程序和功能”,单击“打开或关闭Windows功能”选项。“在服务器管理器”窗口中选择“角色”选项,然后点击“添加角色”
>02
添加“DHCP服务器角色”:
在“添加角色向导”窗口中选择“服务器角色”选项,然后选择“DHCP服务器”,单击“下一步”按钮。
>03
DHCP服务器简介:
在“DHCP服务器”窗口中直接单击“下一步”
>04
选择“网络连接绑定”
选择用于向客户端提供DHCP服务的网络连接,单击“下一步”按钮。
>05
指定DNS服务器设置:
不添加父域名和DNS服务器的地址,单击“下一步”按钮。
>06
指定WINS服务器设置:
选择“此网络是那个的应用程序不需要WINS”,单击“下一步”按钮
>07
添加DHCP作用域:
在“添加或编辑DHCP作用域”窗口中单击“添加”,指定分配飞客户端的IP地址发范围。
>08
添加作用域:
输入作用域的名称、起始地址、结束地址、子网掩码,并选择“激活此作用域”。单击“确定”按钮。
>09
DHCP作用域:
添加完作用域后,在“添加或编辑DHCP作用域”窗口中会显示该作用域,单击“下一步”按钮。
>10
配置DHCPv6无状态模式:
选择“对此服务器禁用DHCPv6无状态模式”、单击“下一步”按钮。
>11
确认安装选择:
早“确认安装选择”窗口中会显示前面几步的配置信息,确认无误后单击“安装”按钮。
>12
安装结果:
完成完成后会在“安装结果”窗口中显示是否成功及相关的提示信息,单击“关闭”完成整个安装配置过程。
4.win10系统蓝屏, 自动修复也不行
一、禁用Win10系统驱动程序强制签名(但是使用此方法必须每次都要进入选项禁用驱动签名才能启动)
1、电脑重启进入选项,选择“疑难解答”。
2、选择“疑难解答”后,选择“高级选项”。
3、选择“高级选项”后、选择“启动设置”。
4、选择“启动设置”后,点击“重启”。
5、按提示输入“7”禁用驱动程序强制签名即可。
二、命令提示符
1、在开始按钮点击右键,选择“命令提示符”右键点击“更多”再点击“以管理员身份运行”。
2、输入以下命令并回车:bcdedit.exe
/set nointegritychecks on。
3、若想恢复默认验证,执行如下命令即可:bcdedit.exe /set
nointegritychecks off。
5.win10系统SSDP Discovery启动不了怎么回事
ssdp discovery打不开了,是设置错误造成的,解决方法如下:
1、首先启动Windows Server 2012 R2操作系统,点击"管理工具"磁贴。
2、唤出"管理工具"程序窗口,鼠标双击右侧"服务"图标。
3、鼠标右击"服务→SSDP Discovery"图标,弹出快捷菜单选择"属性"项。
4、弹出"SSDP Discovery的属性"对话框,点击"常规→启动类型"文本框向下箭头。
5、弹出下拉选项列表,选择"自动"项,点击确定,这样就完成排除无法启用网络发现的故障了。
转载请注明出处windows之家 » win10opcserver设置方法