python与opc ua Expert endpoint 连接问题

刚开始在python中设置endpoint时常常链接不上

server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/')

0.0.0.0是任意地址的意思,按理来说连接本机是没有问题的,但是我的连接不上

端口号(4840)刚开始也连接不上

所以我将地址和端口号更换如下:

server.set_endpoint('opc.tcp://127.0.0.1:52520/freeopcua/server/')

 

为注意红色框里面的URL地址一开始会默认为如下形式opc.tcp://localhost:52520

一定要改成opc.tcp://127.0.0.1:52520

你问我为啥,我也不知道,但是我的电脑里只能这样使用

将URL添加后点击ok  点击local小箭头下面就有自己的opcua Server了

如果没连接上 右键local有一个Rebrowse点击多刷新几次试试

 但是用了一段时间之后我发现4840端口也可以用了,不知道怎么回事

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 答:下面是一个使用Python实现opc ua的示例代码:from opcua import Client# 创建一个客户端 client = Client("opc.tcp://localhost:4840/")# 连接到客户端 client.connect()# 获取一个变量 node = client.get_node("ns=2;s=MyVariable")# 读取变量的值 value = node.get_value()# 设置变量的值 node.set_value(1.0)# 关闭连接 client.disconnect() ### 回答2: 要使用Python实现OPC UA的代码,首先需要安装opcua库。可以通过以下命令使用pip安装: ``` pip install opcua ``` 接下来,我们可以使用以下的示例代码来连接OPC UA服务器,并获取一个节点的数据: ```python from opcua import Client # OPC UA服务器的地址 url = "opc.tcp://localhost:4840" # 创建一个OPC UA客户端 client = Client(url) # 连接OPC UA服务器 client.connect() # 获取根节点对象 root = client.get_root_node() # 获取名为"Objects"的子节点 objects_node = root.get_child(["0:Objects"]) # 获取名为"Server"的子节点 server_node = objects_node.get_child(["0:Server"]) # 获取名为"ServerStatus"的子节点 server_status_node = server_node.get_child(["0:ServerStatus"]) # 获取"CurrentTime"属性的值 current_time = server_status_node.get_value() print("Current Time: ", current_time) # 断开与OPC UA服务器的连接 client.disconnect() ``` 以上代码连接到指定的OPC UA服务器,获取了Server对象的ServerStatus的CurrentTime属性的值,并打印出来。你可以根据实际情况修改代码中的URL和节点路径来适配你的OPC UA服务器和节点。 ### 回答3: 这里提供一个简单的示例代码,使用Python实现opc ua的功能: ``` from opcua import ua, Server # 创建OPC UA服务器 server = Server() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") # 添加命名空间 uri = "MyNamespace" idx = server.register_namespace(uri) # 创建一个对象节点,用于存储数据 data_obj = server.get_objects_node().add_object(idx, "MyDataObject") # 添加一个变量节点,用于存储整数值 var_node = data_obj.add_variable(idx, "MyVariable", 0) var_node.set_writable() # 设置变量可写 # 启动服务器 server.start() # 循环更新变量值 count = 0 while True: count += 1 var_node.set_value(count) # 更新变量值 print("Updated variable value to:", count) ``` 这段代码首先创建了一个OPC UA服务器,并为其指定了一个端点。然后,创建了一个命名空间和一个用于存储数据的对象节点,以及一个用于存储整数值的变量节点,并设置了变量可写。最后,通过循环更新变量的值,并通过打印语句显示变量的最新值。 要运行此代码,需要先安装`opcua`库,可以使用以下命令进行安装: ``` pip install opcua ``` 运行代码后,服务器将在`opc.tcp://0.0.0.0:4840/freeopcua/server/`端点上运行,可以使用OPC UA客户端连接到该服务器,并读取或写入变量的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值