我正在运行一个用PyQt制作的应用程序,它基本上是从OPC服务器读取信息,并在每次新数据输入时更新绘图。
每次应用程序关闭时,我都希望能够安全地断开与OPC服务器的连接。这包括用户手动关闭窗口和可能发生的任何运行时错误。会是这样的:
from opcua import Client
from matplotlib.backends.qt_compat import QtWidgets
class ApplicationWindow_Realtime(QtWidgets.QMainWindow):
def __init__(self, parent=None):
我不是C#程序员,但出于必要,我尝试使用C#创建一个客户端opc。在网上搜索,我找到了一些例子,但我无法让客户工作。有人能帮我吗?
谨随函附上以下完整代码:
using System;
using Opc.UaFx;
using Opc.UaFx.Client;
using System.Collections.Generic;
// using System.IO.Compression;
// using System.Linq;
namespace Client
{
public class Program
{
static void Main(str
我定义了一个OPC UA客户端
var client = new OpcClient("opc.tcp://localhost:4840");
client.Connect();
它正常工作,并连接到我也编写过的服务器。此外,客户端还可以读取
var status = client.WriteNode("ns=2;s=Temperature", 999);
当我想要向服务器写入一个值时,问题就出现了:
var status = client.WriteNode("ns=2;s=Temperature", 999);
相反,我得到了错误:
“为
我是OpcUA新手,使用Open62541 v3.0-rc2。
我正试图连接到B&R设备上的OpcUA服务器。
当我试图连接到服务器(用户名和密码)时,我会得到这个消息"No suitable UserTokenPolicy found for the possible endpoints"和这个返回值UA_STATUSCODE_BADINTERNALERROR。
UA_StatusCode statusCode = UA_Client_connect_username(client,endpoint,"user","password")
我正在尝试使用OpenOPC作为客户端连接到通过Dymola生成的OPC服务器。
我不明白的是如何从特定的标签中读取信息。
有些标记是可用的(“SimControl”),而另一些则是不可用的(“ModelVariables”),而这些标记在服务器初始化后应该可用。
是否有一种方法可以激活标签,就像它在中所做的一样。
下面是我使用的代码:
# -*- coding: utf-8 -*-
"""
Created on Fri Feb 06 09:48:09 2015
Simple test to connect to the Dymosim server generated
创建了一个与python脚本通信的Hololens应用程序。python脚本以JSON的形式将PLC(西门子S7-1200)变量发送到hololens。C#脚本处理JSON。当脚本从plc读取数据时,也可以使用sendMessage方法控制C#脚本中的变量。我已经制作了一个独立的python脚本来控制plc,这是我不会分享的。
我的Unity3d C#脚本:
using UnityEngine;
using System;
using System.IO;
using System.Text;
using System.Linq;
using HoloToolkit.Unity;
using
我试着使用这个页面上提供的客户机:连接到OPC服务器。使用西门子OPC Scount v10连接到OPC服务器可以正常工作。当使用本文中提供的客户端连接到OPC UA服务器时,我得到以下消息:
无法打开UA TCP请求通道。
异常的堆栈跟踪如下:
Server stack trace:
at Opc.Ua.Bindings.UaTcpRequestChannel.OnEndOpen(IAsyncResult result)
at Opc.Ua.Bindings.UaTcpRequestChannel.OnOpen(TimeSpan timeout)
at S
我使用python和OpenOPC连接到SCADA服务器。我的标签读起来是OK的,除非在随机读取次数之后(在30到50之间),我会得到一个超时错误。
File"test7.py", line 12 in <module>
value=opc.read(group='mygroup')
File "C:\OpenOPC\src\OpenOPC.py" line 619, in read
return list(results)
File "C:\OpenOPC\src\OpenOPC.py" line 537,
我想知道我是否可以将数据从OPC UA客户端发送到服务器。我有一台安装了OPC UA Server和一些Raspberry Pi作为客户端的Windows10 PC。 我已经编写了Python代码来将数据从服务器发送到客户端。现在,我想将数据从Raspberry Pis上的客户端发送到Windows10PC上的服务器。这可以做到吗?或者我必须在Raspberry Pis上设置服务器,在Windows10 PC上设置客户端? 这就是server.py from opcua import Server
from random import randint
import datetime
impo
我在Raspberry pi 4上运行节点-红色OPC-UA客户端,在Omron PLC and 501-1400上运行OPC-UA服务器。在没有安全策略的情况下运行。但是我的客户端无法连接到服务器,在调试器上它会弹出这条消息。
OPC UA connection error: The connection has been rejected by server,
Please check that client certificate is trusted by server.
Err = (connect ENETUNREACH 10.xxx.xxx.x:4840)
知道怎么处理证书吗。还
任何有仿真器示例的OPC,我都在使用OPC项目。
我已经尝试过这个git页面上提到的所有服务器,但是它们都没有为我工作。
我使用org.opcfoundation.ua.examples.SampleClient实用程序来检查连接和示例值,但无法这样做。如果有任何有工作检验的人,请与代码一起分享。一旦此操作正常,我需要在apache中配置此设置,以生成数据管道。
代码:
public class SampleClient {
public static final Locale ENGLISH = Locale.ENGLISH;
public static final Lo
我使用python3.5(32位)、Win10-64位、OpenOPC,并下载了pywin32构建64位。我运行了以下python代码:
import OpenOPC
import time
opc=OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation.1')
tags =['Random.Int4','Random.Real4']
while True:
try:
value = opc.read(tags,group='Group0',upda