用OPCUA做客户端,可以连接已经建立好的OPC服务器么?
你先得确认那个OPC服务器是OPC DA的还是OPC UA的才行,如果是早期的OPC DA服务器,肯定是不支持OPC UA的。
如果那个服务器支持OPC UA,那么只要你的客户端写的规范点,应该可以连接上。
更改winccopcua服务器的端口号在控制台里输入Admin也就是设置op指令,设置自己就可以了。未转变者在控制台里面就可以给自己op。未转变者的玩家可以游戏里输入指令,选择控制台,在控制台里输入Admin也就是设置op指令,设置自己就可以了。
因为传统的OPC技术已有3种不同的OPC服务器数据访问服务器。
OPC UA是一个独立于平台的,面向服务的架构规范集成了所有来自现有OPC Classic规范的功能。
管理OPC标准的组织是OPC基金会,其前身是一个由多家著名大公司组成的专门工作组。
可以通过上位机或者HMI读写这个变量。OPCUA(UnifiedArchitecture,统一架构)是下一代的OPC标准,通过提供一个完整的,安全和可靠的跨平台的架构,以获取实时和历史数据和时间。访问就是可以通过上位机或者HMI读写这个变量。
确认西门子S1200是否开通OPC UA步骤如下:
1、打开UAExpert,点击+号,添加服务器,服务器节点输入opctcp://192168133:4840。2、双击展开,安全策略选择None-None,然后点击OK。
3、添加完成后,右击选择。4、下方的Address Space中出现了一些OPCUA的节点信息,说明已经连接上了Connect。
OPC是用于在工业自动化领域和其他行业中安全可靠地交换数据的互操作性标准。它独立于平台,确保来自多个供应商的设备之间的信息的无缝流动。OPC基金会负责开发和维护本标准。
今天我把我在项目中封装的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
转载,仅供参考,祝你愉快,。
0条评论