`
tonynju
  • 浏览: 76006 次
  • 性别: Icon_minigender_1
  • 来自: 浙江嘉善
社区版块
存档分类
最新评论

Java OPC客户端的试用

阅读更多
Opc客户端使用说明:
概述:
    *使用openscada中的子项目UtgardProject实现opc客户端,与opc服务器进行连接.
    *使用DA2.0通讯
    *UtgardProject是基于DCOM实现的访问方式,使用了j-Interop作为DCOM通讯的工具.
使用方式:
    1 不使用AccessBase方式,使用for循环轮询查看item的数值
        样例:org.openscada.opc.lib.myopcdemo.ItemReadTest
        步骤:
            > String groupName = "testGroup";
            > String itemId = "Numeric._I4";
            > ConnectionInformation ci = new ConnectionInformation();
            > ... ...
            > Server server = new Server ( ci, new Scheduler ( true ) );
            > server.connect ();
            > Group group = server.addGroup ( "test_group" );
            > group.setActive ( true );
            > group = server.findGroup ( groupName);
            > Item item = group.addItem ( itemId);
            > item.setActive ( true );
            >   for ( int i = 0; i < 10; i++ )
                {
                    Thread.sleep ( 100 );
                    dumpItemState ( item, item.read ( false ) );
                }

   
    2 使用AccessBase方式,分为两类:Sync和Async
        2.1 使用SyncAccess方式,jar包中样例:org.openscada.opc.lib.myopcdemo.SyncItemRead
            步骤:
                > String itemId = "Numeric._I4";
                > server.connect();
                > AccessBase access = new SyncAccess ( server, 100, false );     //100(ms)是同步频率
                > access.addItem ( itemId, new DataCallbackDumper () );
                > access.bind ();
               
        2.2 使用Async20Access方式
            步骤:
                > String itemId = "Numeric._I4";
                > server.connect();
                > //server.setDefaultUpdateRate(100);       //指定100ms作为接受频率
                > AccessBase access = new Async20Access ( server, 100, true );     //100(ms)不起作用,false表示初始话是否访问
                > access.addItem ( itemId, new DataCallbackDumper () );
                > access.bind ();

分享到:
评论
4 楼 w649553254 2016-05-03  
LeoLi_1221 写道
AccessBase access = new Async20Access ( server, 100, true );     //100(ms)不起作用,false表示初始话是否访问
access.addItem ( itemId, new DataCallbackDumper () );
这是订阅模式是吗?
请问楼主 我按这种方式运行一段时间后会报下面的错误呢?
WARN - JIComOxidRuntimeHelper$1.run(92) | Oxid Resolver Thread/run
java.io.IOException: Socket Closed
at rpc.DefaultConnection.receiveFragment(DefaultConnection.java:393)
at rpc.DefaultConnection.receive(DefaultConnection.java:87)
at rpc.ConnectionOrientedEndpoint.receive(ConnectionOrientedEndpoint.java:250)
at org.jinterop.dcom.transport.JIComRuntimeEndpoint.processRequests(JIComRuntimeEndpoint.java:94)
at org.jinterop.dcom.core.JIComOxidRuntimeHelper$1.run(JIComOxidRuntimeHelper.java:88)
at java.lang.Thread.run(Thread.java:662)

3 楼 LeoLi_1221 2014-11-18  
AccessBase access = new Async20Access ( server, 100, true );     //100(ms)不起作用,false表示初始话是否访问
access.addItem ( itemId, new DataCallbackDumper () );
这是订阅模式是吗?
请问楼主 我按这种方式运行一段时间后会报下面的错误呢?
WARN - JIComOxidRuntimeHelper$1.run(92) | Oxid Resolver Thread/run
java.io.IOException: Socket Closed
at rpc.DefaultConnection.receiveFragment(DefaultConnection.java:393)
at rpc.DefaultConnection.receive(DefaultConnection.java:87)
at rpc.ConnectionOrientedEndpoint.receive(ConnectionOrientedEndpoint.java:250)
at org.jinterop.dcom.transport.JIComRuntimeEndpoint.processRequests(JIComRuntimeEndpoint.java:94)
at org.jinterop.dcom.core.JIComOxidRuntimeHelper$1.run(JIComOxidRuntimeHelper.java:88)
at java.lang.Thread.run(Thread.java:662)
2 楼 lrvberg 2013-09-13  
你好,请教一下:
jeasyopc 和 openscada的utgard如何选择呢?
utgard在使用中,有没有啥问题

还请多多指教,非常感谢

我的邮箱 lrvberg@gmail.com
1 楼 ezwuhai 2013-04-28  
楼主能详细说明下吗,新手求指导。

相关推荐

    java实现opc服务客户端代码

    Java 实现 OPC 服务客户端代码是一种在 Java 应用程序中与 OPC (OLE for Process Control) 服务器进行通信的方法。OPC 是一个工业标准,它允许不同厂商的自动化设备和软件通过接口进行数据交换,主要应用于制造业、...

    java开发opc客户端jar包

    Java开发OPC客户端涉及到的关键知识点主要集中在OPC(OLE for Process Control)协议、Utgard项目以及Java编程技术。OPC是一种工业自动化领域的标准接口,它允许不同的硬件和软件系统之间进行数据交换,特别是用于...

    基于springboot实现的opc 客户端

    - 在Java中,通常使用第三方库如J-OPC或OPC UA Java SDK来实现OPC客户端功能。 3. **SpringBoot框架** - SpringBoot简化了Spring框架的初始化和配置,提供了自动配置、内嵌Web服务器等功能。 - 在OPC客户端项目...

    OPC 客户端源代码C++

    在本文中,我们将深入探讨“OPC客户端源代码C++”的相关知识点,包括OPC技术的基础、OPC客户端的角色、以及如何利用C++进行OPC编程。 首先,OPC技术的核心在于提供一个统一的接口,使得各种自动化设备和软件能够...

    VC++开发的OPC客户端

    在"VC++开发的OPC客户端"项目中,开发者已经成功地创建了一个可以实际使用的OPC客户端。以下是一些关键的知识点: 1. **OPC概念**:OPC是一种基于COM(Component Object Model)的技术,它定义了一组接口和数据传输...

    opc client 很好的Opc客户端工具,测试非常好用

    标题中的"opc client"指的是一个OPC客户端软件,这种工具通常用于从OPC服务器获取数据或者控制OPC服务器上的设备。描述中提到“测试非常好用”,暗示这款OPC客户端工具在功能测试和实用性上表现出色。 OPC客户端是...

    java实现的opc ua 客户端/服务端的简单例子

    这个“java实现的opc ua客户端/服务端的简单例子”是一个很好的起点,对于初学者来说,可以帮助理解 OPC UA 的核心概念和Java实现。 首先,OPC UA 包含了客户端和服务端两部分,客户端用于请求和访问服务器上的数据...

    OPC客户端的Java实现方法.pdf

    Java作为一种跨平台的编程语言,在开发OPC客户端时能够提供良好的跨平台能力,这对于需要在多种操作系统上部署OPC客户端的应用场景来说尤为重要。 从文档中摘录的内容可以提炼出以下几个关键知识点: 1. OPC技术...

    OPC客户端(C#完整源码)

    在本项目中,我们关注的是一个使用C#语言编写的OPC客户端的完整源码。这个客户端可以连接到OPC服务器,读取或写入数据,实现设备间的交互。 C#作为.NET框架的主要编程语言,非常适合开发这种类型的工业应用,因为它...

    OPC客户端仍然无法找到服务器的解决方法

    ### OPC客户端仍然无法找到服务器的解决方法 #### 一、问题背景 在处理一个WinForm项目的过程中,项目已经进入到了测试与验收阶段。在为测试团队部署测试环境时,遇到了一个问题:即按照OPC配置手册配置了OPC...

    java编写的OPCclient

    Java编写的OPC客户端(OPCclient)是一种用于与工业自动化设备进行数据交换的软件工具。OPC(OLE for Process Control)是微软Windows环境下的一个标准接口,它允许不同的应用程序之间共享过程控制数据。在本场景中...

    OPC客户端测试软件

    本软件包“OPC客户端测试软件”主要针对OPC客户端进行功能测试,确保其能正确地连接到OPC服务器并获取或设置数据。 测试OPC客户端的核心目的是验证其兼容性、稳定性和性能。以下是一些关键知识点: 1. **OPC客户端...

    OPC 客户端

    OPC(OLE for Process Control)客户端是工业自动化领域中一种重要的数据交换标准,它允许不同的自动化设备和软件之间进行通信。在本文中,我们将深入探讨OPC客户端的概念、功能、工作原理以及如何在实际应用中使用...

    大量OPC的客户端,各种OPC的客户端

    1. **多平台支持**:可能包含了针对Windows、Linux、Unix等不同操作系统的OPC客户端实现,每个客户端可能使用不同的编程语言如C++、C#、Java等编写。 2. **不同接口实现**:不同的客户端可能实现了OPC UA(Unified ...

    JAVA_OPC_客户端和服务端源码程序_java.rar

    本资源"JAVA_OPC_客户端和服务端源码程序_java.rar"提供的是使用Java连接OPC服务器的客户端和服务端源代码,主要涉及了两种方法:Utgard和Jeasyopc。 1. Utgard库: Utgard是Unosquare公司开发的一个开源OPC UA...

    基于 springboot 实现的opc客户端

    本项目是将OPC客户端功能集成到SpringBoot应用中的实践,对于理解如何在工业自动化环境中利用Java技术进行设备通信具有重要的参考价值。 首先,我们需要了解OPC的基本概念。OPC提供了一种标准接口,使得不同的硬件...

    OPC.rar_C# opc客户端_OPC C++_OPC 客户端_OPC客户端C_c#opc

    本压缩包文件“OPC.rar”包含了一个用C#编写的OPC客户端示例,以及可能与OPC C++和C语言客户端相关的资源,对于理解和实现OPC技术的开发者来说是非常有价值的。 首先,我们要了解OPC客户端的作用。OPC客户端是应用...

    VC++ OPC客户端程序

    【VC++ OPC客户端程序】是基于Microsoft的Visual C++编程环境,用于实现OPC(OLE for Process Control)技术的客户端应用程序。OPC是一种工业自动化领域的标准接口,它允许不同的硬件和软件系统之间进行数据交换,...

    OPC客户端集锦 工具

    本压缩包文件“OPC客户端集锦 工具”显然包含多个不同版本的OPC客户端工具,这对于开发、测试或维护OPC兼容系统的人来说是一份宝贵的资源。 OPC客户端是OPC技术中的一个重要组成部分,它的主要功能是连接到OPC...

    Java通过UA协议操作OPC的demo和客户端工具

    在资源中可能包含了一个Java实现的OPC UA客户端,这可能是一个开源库,如JOPCUA或 OPCFoundation的Java SDK,它们提供了API,让开发者能用Java语言与OPC UA服务器进行交互,读取或写入数据、订阅变化等。 3. **Net...

Global site tag (gtag.js) - Google Analytics