如何学习c#开发opcclient

如何学习c#开发opcclient,第1张

展开全部

新建C#应用程序,命名为OPC

Client,将OPCAutomation.dll引用,如图。

using

OPCAutomation

2.

定义OPC的三个接口类OPCServer类、OPCGroup类和OPCItem类;

OPCServer

KepServer

OPCGroups

KepGroups

OPCGroup

KepGroup

OPCItems

KepItems

OPCItem

KepItem

3.

枚举网络OPC服务器

枚举OPC服务器用到GetOPCServers()函数

//获取计算机IP,计算机名称

IPHostEntry

IPHost

=

Dns.Resolve(Environment.MachineName)

if

(IPHost.AddressList.Length

>

0)

{

strHostIP

=

IPHost.AddressList[0].ToString()

}

else

{

return

}

//通过IP来获取计算机名称,可用在局域网内

IPHostEntry

ipHostEntry

=

Dns.GetHostByAddress(strHostIP)

strHostName

=

ipHostEntry.HostName.ToString()//获取本地计算机上的OPCServerName

try

{

KepServer

=

new

OPCServer()

object

serverList

=

KepServer.GetOPCServers(strHostName)

//枚举网络所有OPC服务器并写入ComboBox控件

foreach

(string

turn

in

(Array)serverList)

{

cmbServerName.Items.Add(turn)

}

cmbServerName.SelectedIndex

=

0

btnConnServer.Enabled

=

true

}

catch

(Exception

err)

{

MessageBox.Show("枚举本地OPC服务器出错:"

+

err.Message,

"提示信息",

MessageBoxButtons.OK,

MessageBoxIcon.Warning)

}

4.

连接OPC服务器

try

{

KepServer.Connect(remoteServerName,

remoteServerIP)

if

(KepServer.ServerState

==

(int)OPCServerState.OPCRunning)

{

tsslServerState.Text

=

"已连接到-"

+

KepServer.ServerName

+

"

"

}

else

{

//这里你可以根据返回的状态来自定义显示信息,请查看自动化接口API文档

tsslServerState.Text

=

"状态:"

+

KepServer.ServerState.ToString()

+

"

"

}

}

catch

(Exception

err)

{

MessageBox.Show("连接远程服务器出现错误:"

+

err.Message,

"提示信息",

MessageBoxButtons.OK,

MessageBoxIcon.Warning)

return

false

}

5.

创建组和列出OPC服务器中所有节点

//创建组

try

{

KepGroups

=

KepServer.OPCGroups

KepGroup

=

KepGroups.Add("OPCDOTNETGROUP")

SetGroupProperty()

KepGroup.DataChange

+=

new

DIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange)

KepGroup.AsyncWriteComplete

+=

new

DIOPCGroupEvent_AsyncWriteCompleteEventHandler(KepGroup_AsyncWriteComplete)

KepItems

=

KepGroup.OPCItems

}

catch

(Exception

err)

{

MessageBox.Show("创建组出现错误:"+err.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning)

return

false

}

//列出OPC服务器中所有节点

//展开分支

oPCBrowser.ShowBranches()

//展开叶子

oPCBrowser.ShowLeafs(true)

foreach

(object

turn

in

oPCBrowser)

{

listBox1.Items.Add(turn.ToString())

}

Regsvr32命令修复系统故障实例的activex知道的activex不注册是不被系统识别和使用的,一般安装程序会自动注册使用ActiveX控件,但如果你拿到的一个控件需要手动注册怎么办呢?如果注册表太麻烦了,在windows系统文件夹窗口的ActiveX注册和反注册工具自带的regsvr32.exe的程序。

2000 Regsvr32.exe的WINNT \ system32文件夹中

WinXP系统Regsvr32.exe的窗口\ system32文件夹

REGSVR32用法:

“REGSVR32 / ] [/ N] [/ I(命令行)] DLLNAME。DLLNAME ActiveX控件文件名,建议在安装之前复制到系统文件夹。<BR /

参数具有以下涵义: BR />/ U - 反注册控制

/ s的 - 不管注册成功与否将显示提示框

/ C - 控制台输出

/ - 跳过控制选项安装的(注册)

/ n - 不注册控件,此选项必须一起使用/ i选项

执行命令:

1,在“开始” - “运行”,弹出运行对话框中,你可以用WIN + R热键,然后直接输入字段输入

2,在开始 - 运行“,输入cmd调出'命令提示符'窗口,然后运行regsvr32命令。

两个REGSVR32错误消息

使用Regsvr32.exe时,它会尝试加载该组件并调用它的DLLSelfRegister功能如果此尝试成功,Regsvr32.exe会显示一个指示成功的对话框。如果此尝试失败,Regsvr32.exe会返回一条错误消息,其中可能包括一个Win32错误代码。

以下列表描述的Regsvr32错误消息和可能的原因。

无法识别的标志:/ invalid_flag

键入的标志或开关组合无效(请参阅这篇文章的“Regsvr32.exe的用法”一节)

未指定DLL名称。

不包括在内。dll文件名(请参阅本文中的“Regsvr32.exe的用法一)

DLLNAME的加载,但中的DllRegisterServer,或DllUnregisterServer的入口点没有被发现。

DLLNAME是不是一个DLL或OCX文件。例如,键入regsvr32 wjview.exe就会生成该错误消息

例如,键入regsvr32 icwdial.dll后就会返回该错误消息,不能自行注册,因为icwdial.dll后就会文件,如果您怀疑内存损坏的Dllname版本,请尝试重新启动计算机,或重新提取该文件的原始版本,如果您运行的是Windows NT,您可能需要使用在Microsoft Windows NT Server 4.0的资源工具包杀或PVIEW工具的其他信息,请点击查看以下Microsoft知识库文章:197155如何终止孤立进程OleInitialize的失败(或失败OleUninitialize)。

Regsvr32必须先初始化COM库,然后才能调用所需的COM库函数并库初始化关闭

轻松修复IE浏览器

REGSVR32 Shdocvw.dll的 BR />REGSVR32 Oleaut32.dll的

REGSVR32 actxprxy.dll中

REGSVR32 Mshtml.dll中

REGSVR32 Urlmon.dll的

REGSVR32 BROWSEUI.DLL

作用:

1,在同时运行上面的命令不仅可以解决IE不能打开新窗口,用鼠标点击超链接没有任何反应

2,但也解决大大小小的其它IE问题,比如网络不完整,JAVA效果不出现,网页不自动跳转,打开某些网站时总提示“该页面无法显示”

解决Windows无法网上

REGSVR32 wupdinfo.dll

角色:

Windows漏洞很多的时间间隔的时间,你需要使用Windows Update升级程序在线升级升级,但“视窗更新“往往不能利用这段时间,我们可以使用regsvr32来解决这个问题。

三,防范网络脚本病毒的新战术

REGSVR32 / U scrrun.dll的

作用:

网络脚本病毒嵌在网页中,互联网在不知不觉中机器就会被感染了这种病毒,我相信,单纯使用杀毒软件并不能有效地防止这些脚本病毒,必须从病毒传播的机制。网络脚本病毒的复制,传播都离不开FSO对象(文件系统对象,文件系统对象),因此禁用FSO对象就能有效地控制脚本病毒的传播。

如果您需要使用FSO对象类型“REGSVR32 SCRRUN.DLL的”命令可以

四,卸载用Win XP自带的ZIP功能

REGSVR32 / U zipfldr.dll的 BR p>作用:

Win XP是强大的,但有些功能是人们经常“鸡肋”感,比如Win XP内置的ZIP功能和图片预览功能,不仅占用系统资源,是远不如强大的第三方软件。事实上,用的Regsvr32命令可以很容易地卸载这些功能。

五,不能修复的视图文件以缩略图的问题

2000:开始→运行,输入。 REGSVR32 thumbvw.dll

XP:开始→运行,输入regsvr32 shimgvw.dll中

六WMP播放器支持RM格式

很多朋友喜欢使用Windows Media Player播放器(WMP ),但它不支持RM格式,不安装其他播放软件吗?我有办法。

WIN XP为例,首先下载一个RM格式插件,解压缩后的两个文件夹:发布(用于Windows 9x)和Release的Unicode(用于Windows 2000/XP系统)发行统一文件夹RealMediaSplitter.ax文件复制到系统驱动器\ WINDOWS \ SYSTEM32 \目录下键入“regsvr32 RealMediaSplitter.ax”,在“开始→运行”,点击“确定”按钮。接着下载解码器,如安装的WMP播放RM格式的音频和视频文件就能真正替代。

七WMP9球员

一些音乐在线点歌需要使用媒体播放器的网页,和一些朋友明明安装了WMP9,但在线听音乐,只看到枯燥的WMP6播放器面板,想要漂亮的WMP9面板,当然没有问题。

常见问题的操作系统多数WIN 98,关闭IE浏览器“开始→运行”,键入“regsvr32 wmpdxm.dll”,您可以点击“OK”。

八解决打开系统功能反应REGSVR32 shdocvw.dll中

作用:

有时从“开始”菜单中,单击“XP系统的搜索功能,帮助和支持或管理工具,但没有反应,这是他们缺乏相关开放,只要我们注册Regsvr32的动态链接库文件,他们需要调用就行了

九,添加/删除程序不打开REGSVR32 APPWIZ.CPL的

REGSVR32 mshtml.dll中

REGSVR32的Jscript。 DLL

REGSVR32 MSI.DLL

REGSVR32“C:\ Program Files文件\共同文件\系统\ OLE DB \ oledb32.dll的”

REGSVR32“C:\ Program Files文件\共同文件\系统\ ADO \ MSADO15.DLL“

REGSVR32 mshtmled.dll

REGSVR32 / I SHDOCVW.DLL

REGSVR32 / I shell32.dll中

当你打开控制面板中的“添加/删除程序”,单击双击其图标没有任何反应,或者打开自动关闭,请尝试使用上面的命令可以解决的。

10 XP用户帐户,以发挥不开REGSVR32 nusrmgr.cpl

REGSVR32 mshtml.dll中

REGSVR32 JSCRIPT.DLL

REGSVR32 / I SHDOCVW.DLL

11,有新的战术防范网络脚本病毒

REGSVR32 / U scrrun.dll的禁用FSO对象

使用REGSVR32 SCRRUN.DLL

的FSO对象12。解决该问题的Windows无法在线升级REGSVR32 wupdinfo.dll

以下症状,我把它叫做IE的活动脚本漏洞,这两个命令来修复,但患者的症状,而不是问题的根源,我建议朋友遇到这个问题Microsoft Web站点安全更新的IE浏览器,打的bug修复。

REGSVR32 JSCRIPT.DLL

REGSVR32 VBSCRIPT.DLL

作用:

1,使用上面的方法修复IE浏览器(不配) ,可以是一个很好的解决方案,以查看某些页面不正常显示和功能不正常,如:

代码

b的一些验证

C不显示动态图像显示一些论坛帖子列表

D论坛快速跳转功能无用

E邮宝的论坛上,按Ctrl + Enter提交无反应

2,维修的空白窗口,如XP的'搜索'功能的搜索助理操作面板空白,系统还原空白页空白和用户帐户页面。 (维修把握度100%)

3,解决的Windows Media Player 9或以上版本打开提示“内部应用程序错误”出现。 (维修把握度100%)

维修赢得2000'添加/删除程序“打开空白。 (可修复把握度99%)

解决赢得2000 Web查看Program Files文件夹和Winnt文件夹,看不到任何文件,以及'控制面板'的图标跑到左去

>

解决网际快车网页上的上下文菜单中不能使用。

在网站上,点右键“下载链接”弹出菜单中,选择“删除软件下载”,会弹出FLASHGET的下载任务页面,如果你觉得这个功能没有任何反应,这可能是因为这个原因菜单,这被称为FlashGet的目录jc_link.htm文件,这个文件是用VB语言,所以它的作用是失去动态链接库VBSCRIPT.DLL的未注册和调用。

但是,这仅仅是运气的原因,望采纳

因为是软件冲突,造成opc端口配置失败,或者系统安装软件过多,启动操作系统是同时运行软件多,占用系统内存大,系统cpu运行超负荷,造成opc软件启动超时。

建议卸载或禁用部分软件,从电脑资源管理器中查找与opc软件端口配置有冲突的软件,把它卸载或找到其他解决办法!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/326335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存