首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用带有安全连接的opc UA服务器的milo创建java OPC客户端

使用带有安全连接的OPC UA服务器的Milo创建Java OPC客户端

OPC(OLE for Process Control)是一种用于实时数据通信的标准协议,它允许不同的硬件和软件系统之间进行数据交换。OPC UA(OPC Unified Architecture)是OPC的下一代标准,它提供了更强大、更安全、更灵活的通信和数据交换能力。

Milo是一个基于Java的OPC UA开发框架,它提供了创建OPC UA客户端和服务器的API和工具。使用Milo,我们可以轻松地创建一个Java OPC客户端来与带有安全连接的OPC UA服务器进行通信。

在创建Java OPC客户端之前,我们需要先了解一些基本概念和步骤:

  1. 安全连接:OPC UA支持多种安全机制,包括基于证书的安全连接。安全连接使用数字证书对通信进行加密和身份验证,确保数据的机密性和完整性。
  2. OPC UA服务器:OPC UA服务器是提供OPC UA服务的设备或应用程序。它可以提供实时数据、历史数据、报警和事件等功能。
  3. OPC UA客户端:OPC UA客户端是与OPC UA服务器进行通信的设备或应用程序。它可以请求实时数据、写入数据、订阅报警和事件等。

下面是使用Milo创建Java OPC客户端的步骤:

  1. 导入Milo库:首先,我们需要在Java项目中导入Milo库。可以通过Maven或手动下载jar包的方式导入。
  2. 创建安全连接:使用Milo的API,我们可以创建一个安全连接对象,指定服务器的地址和安全策略。例如:
代码语言:txt
复制
EndpointDescription endpoint = new EndpointDescription("opc.tcp://example.com:4840");
SecurityPolicy securityPolicy = SecurityPolicy.Basic256Sha256;
KeyStoreLoader loader = new KeyStoreLoader().load();
KeyPair keyPair = loader.getKeyPair();
X509Certificate certificate = loader.getCertificate();
PrivateKey privateKey = keyPair.getPrivate();
SecurityMode securityMode = SecurityMode.SignAndEncrypt;

OpcUaClientConfig config = OpcUaClientConfig.builder()
    .setEndpoint(endpoint)
    .setApplicationName(LocalizedText.english("OPC UA Client"))
    .setApplicationUri("urn:example:client")
    .setCertificate(certificate)
    .setKeyPair(keyPair)
    .setPrivateKey(privateKey)
    .setSecurityPolicy(securityPolicy)
    .setSecurityMode(securityMode)
    .build();

OpcUaClient client = OpcUaClient.create(config);

在上述代码中,我们指定了服务器的地址(opc.tcp://example.com:4840),安全策略(Basic256Sha256),以及客户端的证书和私钥等信息。

  1. 连接服务器:使用创建的客户端对象,我们可以连接到OPC UA服务器。例如:
代码语言:txt
复制
client.connect().get();
  1. 浏览节点:一旦连接成功,我们可以使用客户端对象浏览服务器上的节点。例如:
代码语言:txt
复制
BrowseRequest request = new BrowseRequest(
    new BrowseDescription(
        Identifiers.RootFolder,
        BrowseDirection.Forward,
        Identifiers.ObjectsFolder,
        true,
        Unsigned.uint(NodeClass.Object.getValue() | NodeClass.Variable.getValue()),
        Unsigned.uint(BrowseResultMask.All.getValue())
    )
);

BrowseResponse response = client.browse(request).get();

在上述代码中,我们浏览了服务器上的ObjectsFolder节点,并获取了节点的详细信息。

  1. 读取数据:使用客户端对象,我们可以读取服务器上节点的实时数据。例如:
代码语言:txt
复制
ReadValueId valueId = new ReadValueId(
    nodeId,
    AttributeId.Value.uid(),
    null,
    QualifiedName.NULL_VALUE
);

ReadRequest request = new ReadRequest(
    0,
    TimestampsToReturn.Both,
    Collections.singletonList(valueId)
);

ReadResponse response = client.read(request).get();
DataValue dataValue = response.getResults().get(0).getValue();

在上述代码中,我们读取了指定节点的实时数据,并获取了数据值。

  1. 写入数据:使用客户端对象,我们可以向服务器上的节点写入数据。例如:
代码语言:txt
复制
WriteValue value = new WriteValue(
    nodeId,
    AttributeId.Value.uid(),
    null,
    new DataValue(new Variant(123))
);

WriteRequest request = new WriteRequest(
    Collections.singletonList(value)
);

WriteResponse response = client.write(request).get();

在上述代码中,我们向指定节点写入了一个整数值。

通过以上步骤,我们可以使用Milo创建一个Java OPC客户端,与带有安全连接的OPC UA服务器进行通信。这样,我们可以实现从服务器读取数据、写入数据等功能。

推荐的腾讯云相关产品:腾讯云物联网通信(IoT Hub),它提供了一站式的物联网解决方案,包括设备管理、数据采集、数据存储和数据分析等功能。您可以通过以下链接了解更多信息:https://cloud.tencent.com/product/iothub

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

S7-1500 OPC UA服务器2_安全通道自签署证书

OPC UA服务器端口号使用默认4840;设置安全策略,证书类型为自签署证书,需进行服务器客户端证书导入导出;启用用户身份认证,需输入用户名密码。...住店时间到期后,钥匙卡访问权将失效,即使您保留该卡,也无法再访问房间。 在OPC UA客户端服务器之间建立安全连接过程实际上并没有什么不同。...OPC Security Gateway服务器可用于提供对使用较低安全级别的其他服务器访问,或为用户提供易于管理安全设置。 匿名Web客户端层——最后一层很像在街上露面寻找房间但没有预订的人。...前台服务员必须使用一些方法来证明他们是可信赖OPC UA应用程序将在创建安全连接后通过使用用户名/密码进行身份验证来确保隐私和完整性。...这允许资产所有者使用协议本身而不是附加安全性来保护OPC UA客户端/服务器通信安全。但是,就像旅馆一样,并非所有应用程序都会被平等创建

2.4K20

Siemens TIA使用OPC UA完成2台PLC通讯

随着演示进行,我们将逐步提高通信安全性。 在 TIA Portal 中,我创建了一个新项目,添加了两个 PLC,并运行了安全向导。 配置服务器 在 PLC_2 中,我将启用 OPC UA 服务器。...OPC UA 客户端服务器接口命名空间 现在,我们通过限制向 OPC UA 客户端公开数据数量和类型,使连接更加安全。...使用用户名和密码启用身份验证后,您可以定义 OPC 客户端将用于连接OPC 服务器用户名和密码。...您将看到带有新信息服务器地址更新。 配置服务器 IP 地址 在“安全”选项卡中,向下滚动到“用户身份验证”部分。在用户身份验证下拉菜单中,选择“用户名和密码”。...找到服务器后,选择安全级别“无安全性”并指定正确用户身份验证类型以及用户您之前创建名称和密码。最后,单击“连接”以连接OPC UA 服务器

3.5K20

PCS 7通过OpenPCS 7站组件实现OPC UA通讯

OPC UA传递数据是可以加密,并对通信连接和数据本身都可以实现安全控制。...certs: 受信任证书存储路径 private: 私钥存储路径 rejected: 如果 UA 客户端用来访问 OPC UA 服务器证书不受信任,则 OPC UA 服务器会拒绝安全通信。...OPC UA 服务器会将 UA 客户端证书复制到存放被拒绝证书文件夹。...OpenPCS 7 – OPC UA 证书校验过程 UA客户端首次连接UA服务器时,客户端将获取服务器数字证书,验证是否可信任; UA客户端接受UA服务器证书,并将其存放于Client Certificate...Store; UA客户端发起创建环境请求,并传递Client.der至UA服务器UA服务器自动将Client.der存放于Rejected目录下,用户需要手动剪切至certs目录下。

1.5K20

OPC 统一架构 – 主要技术特点

OPC UA可以部署在不同环境中;从驻留在同一主机上客户端服务器,到位于同一操作网络上主机,这些主机受安全边界保护,将操作网络与外部连接分开,直到使用公共网络基础设施在全球环境中运行应用程序。...为了实现这一目标,安全性被集成到OPC UA服务器客户端设计和实施各个方面。OPC基金会还解决了实施过程中出现安全问题。...OPC UA 客户端服务器应用程序使用 X.509 证书标识和验证自身。客户端将用户身份令牌传递到 OPC UA 服务器OPC UA 服务器对用户令牌进行身份验证。...OPC UA客户端提供了快速检测与传输相关通信故障并从中恢复机制,而无需等待基础协议提供长时间超时。 OPC UA设计确保供应商能够以一致方式创建冗余客户端和冗余服务器。...例如,服务器可以建立无线连接作为从电缆连接故障中恢复方法,或者服务器可以使用绑定到变量许多数据源来提供变量值连续更新,即使其中一个传感器已损坏也是如此。

1.4K20

S7-1200 作为OPC UA 服务器

-2BA0纸质授权 S7-1200全系列CPU均使用该授权(一个PLC一个授权即可)测试客户端Ua Expert可免费下载 一、激活S7-1200 OPC UA服务器并设置相关参数 1.创建PLC站点并设置...IP地址 使用 TIA STEP7 V16 软件,创建S7-1200 CPU版本为V4.4站点,如图1所示。...Secure channel设置 仅当 OPC UA 服务器可向 OPC UA 客户端证明身份时,才能建立服务器客户端之间安全连接服务器证书可用于证实身份。...CPU属性 →OPC UA服务器 →Security →Secure channel,在此对话框内可以设置服务器证书、服务器上可用安全策略、以及可信客户端,如表3所示。...图9.将OPC UA 元素连接OPC UA 服务器接口 OPC UA 测试客户端 S7-1200 CPU目前不支持OPC UA 客户端功能,用户可以采用Unified Automation提供免费

5.5K31

聊聊越来越火OPC DA 和 OPC UA 标准

OPC 安全定义了组织客户端OPC 服务器数据访问权限功能。 OPC XML-DA(XML 数据访问)提供了一种灵活、规则驱动格式,用于通过 XML、SOAP 和 HTTP 交换数据。...为了通过路由器和防火墙传输数据,OPC DA 需要使用中间件,而 OPC UA 在没有这种介质情况下工作。OPC UA 规范包括几个部分,描述了服务器客户端操作逻辑。...用于实时操作 OPC UA OPC UA over TSN旨在支持实时操作,这种 OPC UA 技术可以结合 TSN(时间敏感网络)技术使用发布者/订阅者模型(而不是客户端/服务器模型)。...客户端/服务器模型在点对点连接情况下工作正常,但如果有很多设备,则数据更新会出现延迟。发布者/订阅者模型提供了一对多和多对多关系。...OPC UA 与 TSN 联合使用显着扩展了实时数据传输技术能力。 作者简介: 剑思庭,工控安全研究员,熟悉S7协议和CIP协议,主要从事工业安全渗透和防御。

4K30

OPC UA 技术及Kepware通道冗余配置

OPC UA 不再基于分布式组件对象模型(DCOM),而是以面向服务架构为基础。因此可以连接更多设备。...发行版本等 安全性方面:信息以128位或256位加密级别安全地传输,信息接收时签名与发送时必须完全相同,每个UA客户端服务器都要通过OpenSSL证书标识,提供控制应用程序和系统彼此连接功能...第二,在SCADA软件中打开OPC UA配置画面,输入上一步中URL地址,点击”Discover”,会发现如下所示不同安全策略URL地址,根据需求选择其中之一。...OPC UA 配置画面,“受信任客户端”选项卡中选择此客户端客户端名称前有红叉),然后点击“信任”,此时回到SCADA软件中查看与KEPWARE服务器连接状态为“Connected”。...第四,连接KEPWARE服务器后,将KEPWARE服务器中TAG点在SCADA软件中进行显示。断开其中一个仿真连接,数据则切换为另一个仿真连接数据。

2.4K40

轻松通过OPC UA协议访问西门子1500数据

OPC UA,是在传统OPC技术取得很大成功之后又一个突破,让数据采集、信息模型化以及工厂底层与企业层面之间通讯更加安全、可靠。...功能实现 S7-1500从V2.0开始支持作为OPC UA服务器功能,本例使用KepServer 作为OPC UA客户端与作为OPC UA服务器CPU(CPU1512C-1 PN)实现OPC UA...激活OPC UA服务器功能 打开CPUOPC UA选项,勾选激活OPC UA服务器,并启用SIMATIC服务器标准接口(按需设置最大连接数和端口号)。...图2 图3 4:启用服务器证书,并激活安全策略,并添加可信客户端。 图4 图5 5:启用用户身份认证,这里可以选择访客访问或者用户名访,这里在设置到时在后面客户端用到。...图7 第二部分 OPC UA客户端设置 OPC UA客户端软件很多,根据需要选择,我们此次选择KEPSERVER作为客户端访问。

2.9K30

OPC常见问题(S7-1200)

常见问题 1.什么是服务器接口? 服务器接口将 CPU OPC UA 地址空间节点合并到一个单元中,以便为 OPC UA 客户端提供该 CPU 特定视图。...2.如下图所示,程序编译提示“所选 OPC UA 许可证不足。要使用 OPC UA,请购买并选择正确数量许可证”,该如何解决? 图1.连接UA Server 注意!...CA证书创建,需要在PLC属性内,先启用证书管理器全局安全设置:CPU属性 防护与安全→证书管理器→勾选“使用证书管理器全局安全设置”然后就可以在下方“设备证书”处添加证书,如图5所示。...证书创建以后需要在对应功能里分配证书,S7-1200 OPC UA 服务器证书分配需要在:CPU属性 OPC UA→Secure channel 内选择已经创建证书,当然也可以直接在此处新建,...OPC UA 连接占用六个"可用自由连接"中资源,S7-1200支持OPC UA最大会话数是5个,使用时确保应用程序有足够可用连接

3.7K20

工业物联网协议对比:MQTT Sparkplug vs OPC-UA

会话层:OPC UA 包含负责管理客户端服务器之间连接会话层,处理诸如会话建立、身份验证和加密等任务。相比之下,MQTT 不具备会话层管理功能。...表示层:OPC UA 拥有定义良好信息模型,该模型定义了客户端服务器进行数据交换时数据结构和语义,例如 UA-JSON 和 UA-binary。...MQTT 使用发布/订阅模型,通过主题来组织消息,而 OPC UA 使用客户端/服务器模型,通过分层对象模型来组织数据。OPC UA 发布/订阅规范是对 OPC UA 客户端/服务器模型一种扩展。...比 OPC UA 客户端/服务器模型具有更好可扩展性 集成便利性 使用简单,配置要求最少 使用简单,配置要求最少...支持复杂信息建模,但不及 OPC UA 多 支持复杂信息建模系统,允许创建复杂数据结构和模型支持复杂信息建模系统,允许创建复杂数据结构和模型简而言之,OPC

64940

Wolfram SystemModeler 和 OPC UA 通信机制示例

如您所见,OPC UA 网络中所有设备之间安全通信非常重要。广泛使用 OPC UA 公司包括西门子、SAP、霍尼韦尔和横河电机。...为了方便地设置一个可以使用 OPC UA 协议连接到机器控制系统,Wolfram SystemModeler 既提供简单集成,同时又可以用作高效实惠测试平台。...我们在这个模型中创建了一个完整系统,即在这个测试模型中没有连接任何硬件,并且可以通过 OPC UA 协议进行通信,并测试控制系统及其对系统响应。...OPC UA 与 SystemModeler 中其他程序库 想象一下这样一个场景,您想要将 SystemModeler 模拟连接到外部硬件; 例如,如果要将控制信号从OPC UA服务器发送到简单 Arduino...Raspberry Pi 上安装了 OPC UA 服务器,允许网络上任何其他 OPC 配置客户端轮询服务器当前温度数据。OPCUA 库正是一个这样客户端

1.9K50

赖工教你两台电脑如何通过kepserver EX 6进行OPC UA通讯

通过OPC UA,各种设备和系统可以互相交流和共享数据,实现更高效工业自动化。 在过去,不同厂商生产设备使用不同通信协议,导致设备之间难以互相沟通。...跨平台和跨语言:OPC UA支持多种操作系统和编程语言。无论是Windows、Linux还是嵌入式系统,无论是C++、Java还是Python,都可以使用OPC UA进行通信,降低了集成复杂性。...OPC UA首先是一个服务器/客户端运行模式。以下我们分服务器设置和客户端设置两部分介绍。...图4 登录方式选择 01 步骤三: 右击电脑右下角kepserver运行图标,进入OPC UA配置。添加一个服务器站点,并且将安全策略选择为“无”,这里IP就是你本地IP。...图5 图6 图7 重新初始化 到此为止,服务器设置完毕。 OPC UA客户器设置 本次赖工选择用UaExpert 作为OPC UA客户端,Keperver也同样具备OPC UA

1.2K10

我所了解OPC UA

面对这些威胁,OPC UA使用加密,签名,用户认证,权限访问控制,会话管理等方式一层一层完成深度防御。 OPC UA安全也是得到业内认可,不过世界上也没有绝对安全协议。...这些工具包括客户端和一些模拟服务器,Matrikon, IntegrationObjects, unified-automation这些厂家都有出品,可以去官网免费下载使用也很简单。...opcua安装即可,经过几年更新以后,对OPCUA协议支持也越来越充分,既支持服务器,又支持客户端。...下面是官网给出实例,用不到30行代码就能创建一个包含一个动态点服务器。 缺点:这个库性能差一些;有部分OPC UA协议标准中定义服务还没有支持。最后,在使用过程中发现存在一些bug。...UA-.NETStandard:源代网址为:https://github.com/OPCFoundation/UA-.NETStandard 优点:这个库是OPC基金会官方出品库,包含服务器客户端

4.3K20

【愚公系列】2023年03月 其他-上位机通信面试题(50道)

34、什么是 OPC? 35、什么是 OPC UA? 36、什么是OPC Classic? 37、什么是 OPC 客户端? 38、什么是 OPC 服务器?...35、什么是 OPC UA? 作为新一代 OPC 技术,OPC UA(统一架构)是安全、可靠和平台独立互操作性重大飞跃。 OPC UA 旨在将数据和信息从一级工厂和过程控制设备传输到企业信息系统。...37、什么是 OPC 客户端OPC 客户端是为与 OPC 连接器通信而编写软件。 它使用由特定 OPC Foundation 规范定义消息传递。 38、什么是 OPC 服务器?...“OPC 服务器”不是指正在使用计算机类型,而是反映其与 OPC 对应物 OPC 客户端关系。 39、OPC 客户端可以连接到多少 OPC 服务器? 简短回答是——尽可能多。...此 OPC 服务器随后将允许来自其他应用程序 OPC 客户端将此应用程序用作 OPC 数据源。 41、使用 COM OPC DA 性能与使用 Web 服务 OPC UA 相比如何?

2.7K10

OPC报文详解

OPC UA定义了一套详细服务和信息模型,使得它可以用于不同传输层,比如TCP、HTTP等。OPC UA通信模型中,客户端服务器之间交互是基于一系列服务请求和响应。...Hello报文是OPC UA TCP协议握手过程一个重要部分,通过它,客户端服务器可以交换基本通信参数,为后续更复杂交互建立基础。...Acknowledge报文提供了客户端服务器之间通信所需基本参数,确保双方能够有效地交换后续OPC UA消息。...终端URL 最大4096byte客户端在建立SecureChannel时使用端点URL 对于基于连接协议,如TCP,ReverseHello消息允许防火墙后面的服务器没有打开端口连接客户端,并请求客户端使用服务器创建套接字建立...2.2 OPC UA Secure Conversation报文结构OPC UA Secure Conversation(OPC UA 安全会话)报文格式设计用于在客户端服务器之间建立和维护一个加密和签名通信通道

76110

西门子PLCSIM Advanced仿真S7-1500 OPC UA

图1-2 分配IP地址 ②启动S7-1500 CPUOPC UA服务器,在设备视图中双击CPU(或CPU右击属性)>常规>OPC UA>服务器>激活OPC UA服务器,如图1-3所示。...图1-8 选择网卡 5、开启OPC UA客户端 ①添加OPC UA服务器地址,在菜单栏中Server>Add>Cutom Discovery>Double click to Add Server,输入...图1-9 添加OPC UA服务器地址 图1-10 搜索OPC UA服务器连接OPC UA服务器,菜单栏中Server>Connect,如图1-11所示。...图1-11 连接OPC UA服务器 ③添加OPC UA服务器变量并监控,在左下方中选择PLC_1>Memory,选中变量并拖拽至右侧Data Access View窗口中,如图1-12所示。...图1-12 添加变量并监控 6、OPC UA服务器数据监控,如图1-13所示;OPC UA客户端数据监控,如图1-14所示。

3K30

西门子新品:SIMATIC CN 4100

另外两个接口用于连接 OPC UA 服务器或 MODBUS/TCP 设备。 接口分配如下: 单个 SIMATIC CN 4100 站使用 X1.x 接口。...PCS 7: 使用CNET(CN工程工具)进行用户友好调试 SIMATIC PCS 7与CN 4100块库集成 1.4 安全 由于集成防火墙,系统总线接口(X1和X2)与通过其他接口(如OPC...UA服务器、MODBUS/TCP设备)连接较低层网络之间没有连接。...对于每个CPU,有一个接口用于连接工厂总线,两个单独接口用于连接终端设备(如OPC UA服务器或MODBUS TCP设备) SIMATIC CN 4100既可以单独操作,也可以冗余操作。...一个OPC UA DA客户端仅能与一个OPC UA服务器建立连接。 SIMATIC CN 4100机架为2个CPU模块和2个通信模块提供连接选项。集成以太网接口提供连接

67010

KEPServeEX 6与KepOPC中间件测试

KEPServeEX 6可以组态服务器端和客户端连接很多PLC以及具有OPC服务器设备,以下使用KEPServeEX 6建立一个OPC UA服务器,然后使用KepOPC建立客户端连接服务器做测试。...然后选择安全策略,这个要和上面KEPServeEX6 中设置一致,按照我设置,UA安全策略是None,消息安全策略是签名和加密。...右侧UA身份验证是比较关键一项,我前期没有设置好,能刷出服务器,但一直连接不上就是这里出了问题。...如果是缺省仅做连接OPC UA服务器测试用,就选中标签树中System一栏中时间标签,这些数值是系统时间标签,就和计时器一样,会跟着时间变化,便于观察。  ...标签插入完成后,在软件表栏中就会显示出该标签并且自动格式。然后再点击开始读值,客户端就开始按照设置时间去查询服务器中对应标签数据了。

1.2K00
领券