不同 *** 作系统能够进行远程OPC通讯吗

不同 *** 作系统能够进行远程OPC通讯吗,第1张

OPC只是一个接口,与 *** 作系统无关,理论上任何支持相应通讯协议的硬件之间都是可以通讯的(比如Linux主机与Windows,或者PC机与手机)
至于是不是能远程这要看你的的协议本身了,比如TCP的话通常是要求服务端一方是要用公网地址的,然后用的端口是宽带商允许的。

opc通讯协议传数据步骤:1、从数据库读取数据,放入程序内存。(通常技术)2、建立OPC Client连接OPC server,将数据写入OPC server。 本人靠这个吃饭。步骤告诉你了。如果想要现成的程序,那是要付费的哦。
扩展资料
OPC是世界上最受欢迎的基于标准的数据通信方法。它旨在解决自动化行业中的最大的挑战:如何摆脱传统的基于特制驱动器的通信方式,在不同设备、控制器、和/或应用程序之间实现通讯。
OPC之所以能够成功地创造真正独立于供应商的通讯是因为,OPC从双方提取了数据发送设备(例如PLC)和数据接收端(例如HMI)的执行细节,因此可以在它们之间进行数据交换而不需要了解彼此的本地通信协议和内部数据组织形式。
这与特制驱动器的要求满足只针对于通信方两端的编写方法形成了鲜明的对比。OPC可以代表为一个位于数据发送端和数据接收端之间的“提取”界面,这个界面允许在数据发送端和数据接收端之间交换数据而不需要对对方有任何了解。
OPC的“设备细节提取”是通过运用两个称为OPC客户端和OPC服务器的OPC构件得以实现的。其中每一个构件将在以下章节予以描述。需要注意的是,数据发送端和数据接收端能够彼此通过OPC进行通讯并不意味着它们各自的本地协议就不需要了,或者是被OPC取代了。
相反,这些本地协议和/或接口仍然存在,但只是与两个OPC构件的其中某一个通讯。然后,OPC构件之间进行数据交换,从而结束数据传递。数据也可以从应用程序端被传输至设备,而不需要彼此直接联系。

用了3款OPC客户端工具都看不到远程机器上的OPC服务器,做服务器的那台机器直接运行OPC客户端是可以看到OPC服务器的。。远程就是看不到。。。
服务器上装了3款测试的OPC服务器Matrikon的两种和组态王自带的一种。
希望回答能给你带来帮助~
如果满意,请采纳,如还有疑问,可继续追问!
您也可以向我们团队发出请求,会有更专业的人来为您解答!

KEPServerEX管理员必须按顺序进行远程OPC DA连接配置Windows安全(包括DCOM身份验证)到服务器是成功的。

DCOM;还需要配置本地安全策略,开启相关的服务,如workstation,computerbrown等服务。本地安全策略里面需要设置远程可访问的用户,本地登录模式等。

OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

本文档根据各种不同的情况,讲述如何进行OPC DCOM配置。
对于远程访问OPC服务器,需要在客户和服务器计算机上都进行DCOM设置,以前我们采用的方式是: 客户、服务器都建立一个名字、密码相同的具有管理员权限的帐号,并分别以次登录,在服务器端将OPC服务器的启动方式设为交互式用户。这种方法虽然方便,但安全性较差,不利于在实际应用中推广。这里提供一些较合理的解决方案。(假定都是在工作组里)
(1) 序言
在使用了OPC技术,并有网络数据访问的应用系统中,不可避免地要进行OPC DCOM权限配置。
DCOM配置与windows *** 作系统的安全体系结合在一起,而各版本的 *** 作系统(9x、NT、2000、XP等)的安全体现又或多或少地有所区别;同时,OPC服务器运行的方式也不尽相同(进程内、进程外、系统服务、有无界面……);而且,不同的应用系统对安全的要求也不同。总之,要想根据具体情况尽量合理地完成OPC DCOM配置并不是一件很轻松的事。
本文档根据各种不同的情况,讲述如何进行OPC DCOM配置。
(2) 准备
要进行DCOM安全配置, *** 作者通常必须拥有客户和服务器计算机的管理员权限。
注意一般情况下,DCOM通信是基于TCP/UDP的,所使用的端口不固定,很可能被一些防火墙软件屏蔽。如果本文下述配置不成功的话,请尝试关闭客户和服务器计算机上的防火墙,或者以带网络连接的安全模式启动系统(这时防火墙软件一般不被自动运行)。
(3) 最简单的情况
如果用户对网络安全基本上没有要求,或者处于客户、服务器程序开发阶段,
(4) 服务器计算机始终有用户登录的情况(NT/2000)
这也是实际应用中比较常见的情况,但对于以NT服务方式运行的OPC服务器不适合。设置方法如下:
Ø 在服务器计算机上建立一个用户,如OPCUser,可以是管理员,也可以是一般用户,服务器计算机在运行OPC服务器时必须以这个用户登录。
Ø 在服务器计算机上建立一个用户组,如OPCClients。
(单一客户情况下可以不建立,建这个组的目的是管理方便)
Ø 在各个OPC客户计算机中,分别建立OPCUser用户,口令也要与服务器上的一致,可以设为普通用户以保证安全。
Ø 客户计算机运行时不必以OPCUser登录,比如使用ClientA登录,就要在服务器上建立相同的用户ClientA及相同的密码。并在服务器计算机上将ClientA加入到OPCClients组中。ClientA在客户和服务器计算机上都可以是普通用户。
Ø 服务器端DCOM配置
运行dcomcnfg,进行如下设置:
默认属性:
启用DCOM;
默认身份验证级别:连接
默认模拟级别:标识
默认安全机制:
默认访问权限:
至少要保证OPCClients组允许访问,也可放宽至Everyone;
默认启动权限:至少保证允许INTERACTIVE用户调用;
默认配置权限:一般情况下不需修改。
默认协议:保证面向连接的TCP/IP在最上,其它可以删除。
具体的服务器配置:
常规:身份验证级别为默认值;
位置:在这台计算机上运行;
安全性:使用默认的访问和启动权限,配置权限不要修改;
身份标识:交互式用户。
终结点:不修改。

OPCEnum程序配置:
在dcomcnfg程序的应用程序列表里找到opcenumexe,对其按照上面具体服务器的配置进行设置。
Ø 客户计算机的配置:
为了保证OPC数据订阅等回调机制能正常运行,需要对客户计算机的DCOM权限进行配置。
默认属性、默认协议的配置和服务器端基本一致;
默认安全机制只需要修改默认访问权限。保证允许OPCUser访问。也可放宽至Everyone。
注意
在服务器没有用户登录的情况下,远程将无法启动OPC服务器;
对于有用户界面,并需要界面交互的OPC服务器,建议(可能必须)采用这种方式。
(5) OPC服务器为后台程序的情况(NT/2000)
这种情况下,服务器计算机可以没有用户登录。
做为后台程序,OPC服务器有两种运行方式:系统服务(service)方式和普通用户程序。
这里只介绍普通程序方式,系统服务方式的配置说明以后添加。
OPC服务器做为普通方式运行的后台程序,一般没有用户界面。完全可以按照(1)中有界面的方式进行配置,即设置为交互式用户启动。
但是(1)的配置方式限定了服务器计算机必须有用户登录,而且登录用户必须在客户计算机上有DCOM访问权限。所以,无界面的后台OPC服务器可以用另一种更灵活的方式运行。
配置方法:(未明确说明的部分与(1)相同)
在服务器端按照(1)中所述建立一个OPCUser用户,专门用来运行OPC服务器。然后在OPC服务器属性配置中,将启动方式改为指定用户,注意要输入用户密码。
这样,OPC服务器计算机可以用任意用户登录,当客户计算机发出连接请求时,系统负责以OPCUser的身份运行OPC服务器,如果已经运行则使用已有的OPC服务器。
注意还有一种启动方式,是“启动”用户。即系统以发连接请求的用户的身份启动OPC服务器,这可能造成服务器计算机上同时运行多个OPC服务器的实例,显然不妥。所以一般情况下不建议设置为“启动”用户,虽然它是缺省选项。
(6) Windows XP系统下的配置说明
在XP *** 作系统(SP1,不包括SP2及其以后版本)下,OPC的配置实际上和NT/2000基本一样,这体现在OPC DCOM相关的各项配置在注册表中的位置、名称都是一致的。
二者只是配置界面不同

今天我把我在项目中封装的OPC自定义接口的程序分享一下。下面将会简单简单介绍下OPC DA客户端数据访问,以及搭配整个系统的运行环境。
OPC(OLE for Process Control)其实就是一套标准,我对这套标准理解不多,使用过程中就把它理解一套协议或者规范,主要用于工控领域。OPC中有很多规范,我主要使用OPC DA规范来进行数据的读写 *** 作。还有其他规范,比如OPC UA、OPC HDA等。如果你做的是OPC Server开发查下这方面的资料了解下,这篇博文主要介绍OPC Client开发的知识。
使用OPC DA进行Client的读写 *** 作时,我们使用Custom接口,出此之外还有Automation接口。以下是Custome接口开发时涉及到的三个关键对象:OpcServer、OpcGroup、OpcItem,下图是他们之间的逻辑关系:
在客户端开发时,要使用OpcServer对象来实现客户端与Opc服务器之间的连接。一个OpcServer对象下有多个OpcGroup,一个OpcGroup下有多个OpcItem,在自定义接口下的Client开发,是以Group为单位的 *** 作,数据读写都是通过OpcGroup进行的。
搭建程序运行环境
程序运行需要的软硬件环境:
Net Framework 40
Simatic Net 2008(Or Other) HF1
西门子300(Or Other) PLC
我们可以通过本机的配置来实现OPC的远程连接,我没有采用这种方式,一是这种配置比较麻烦,而是这种方式不稳定。所以我采用本机安装一个OPCServer来实现与PLC的交互。
对于OPCServer软件,我选择的是SimaticNet 2008 HF1(安装WinCC的时候会有选择安装SimaticNet的选项),没有特别的原因,就是比较熟悉了而已,而且PLC选用的是西门子的。
我们可以不写OPC Client程序来测试,如何通过OPCServer与PLC之间的交互。首先当我们安装完毕SimaticNet之后,需要对Station Configuration Editor进行配置,如下图:
首先我们要指定Station的名称,上图叫PCStation,点击下方的StationName可以进行更改。下一步在1号栈上选择一个OPCServer,3号栈上选择一个通信网卡。
接下来我们需要在Step 7中建立Station Configuration Editor与PLC之间的连接,我们暂且叫组态。组态的过程中要建立与Station Configuration Editor中对应的Opc Server和IE General(所在栈号相同),Station Configuration Edition起到桥接的作用 用,主要让PLC与Opc Server之间建立一条S7连接。暂时没有拿到组态图,以后补上。
当我们组态完毕时,如何判断组态是否正确呢?在SimaticNet的目录上有个叫Opc Scout(Opc Scout V10)的软件,打开如下图:
上图列出来了本机所有的Server,我们能使用名为OPCSimaticNET的Server。双击这个Server添加一个组,多次双击这个Server可以添加多个组,验证了上图的Server与Group的关系了。
我们双击新建的Group,进入如下图的界面:
上图列出了所有的连接。上文说到的组态中建立的S7连接可以在S7节点中看到,展开这个节点可以看到我们建立的S7连接,如下图:
上图列出了名为S7 connection_1的S7连接,展开Object对象,列出PLC的结构。我们选择一种来新建我们的Item,由于我这里没有PLC模块,所以无法截图给大家看。
至此我们的OPC Client的运行环境搭建完毕。
编写OPC Client端程序。
我们需要使用OPC Foundation提供的自定义接口来进行开发,在Visual Studio引用名为:OpcRcwComndll和OpcRcwDadll这两个DLL。
我们定义一个名为OpcDaCustomAsync的类,让这个类继承自:IOPCDataCallback,IDisposable
转载,仅供参考,祝你愉快,。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/12974634.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存