Я работаю с клиентом Python OPC-UA для получения значений с сервера OPC UA. Я столкнулся с проблемой, когда мне нужно убедиться, что я получаю эти значения как числа с плавающей запятой. Используя быстрый клиент OPC, я подтвердил, что сервер хранит значения в различных типах данных, включая числа с плавающей запятой, поэтому их действительно можно читать как таковые.
Однако я изо всех сил пытаюсь получить значение в виде числа с плавающей запятой напрямую с помощью библиотеки Python OPC-UA. Вот что я пробовал:
Вызов get_value() без указания типа данных, что не гарантирует получение значения в виде числа с плавающей запятой.
Я пробовал указать тип данных напрямую в вызове метода get_value() (как get_value(datatype=ua.VariantType.Float)), но получил ошибку, что get_value() не принимает аргумент «тип данных».
Вот фрагмент кода, над которым я работаю с:
Код: Выделить всё
from opcua import Client
import logging
from opcua import ua
# Setup logging to debug level
# logging.basicConfig(level=logging.DEBUG)
url = "opc.tcp://xxx:1111"
client = Client(url)
try:
client.connect()
print("Client connected to:", url)
node_id = "ns=2;s=xxx_lf_V.Rpc.30043"
node = client.get_node(node_id)
current_value = node.get_value()
print("Current value from node:", current_value)
except Exception as e:
print(f"Error accessing node {node_id}: {str(e)}")
finally:
client.disconnect()
print("Client disconnected")
как точно получить значение с сервера OPC в типе данных, отличном от того, который я получаю сейчас
Подробнее здесь: https://stackoverflow.com/questions/784 ... using-pyth