Pub-Sub в python -freeopcua - PullRequest
       112

Pub-Sub в python -freeopcua

0 голосов
/ 19 июня 2020

Я только начал использовать freeopcua и в настоящее время работаю над клиентом, который должен что-то делать (например, печатать строку), когда определенный узел на сервере меняет свое значение. По-видимому, существует класс подписки , который должен обрабатывать подобные вещи. Но я просто не понимаю, как это работает ... После подписки, насколько я понимаю, события передаются в SubHandler, но как я могу получить к ним доступ? Как я могу, например, получить доступ к значению, которое изменилось в следующем коде?

from opcua import Client

class SubHandler(object):

    def datachange_notification(self, node, val, data):
        print("Python: New data change event", node, val)

    def event_notification(self, event):
        print("Python: New event", event)

if __name__ == "__main__":

client = Client(some_url)

try:
    client.connect()

    obj = client.get_node(some_nodeID)

    handler = SubHandler()
    sub = client.create_subscription(500, handler)
    handle = sub.subscribe_data_change(obj)

finally:
    client.disconnect()
...