python freeopcua data:数组元素访问

时间:2017-08-09 07:44:44

标签: python opc-ua

我正在尝试将FreeOpcUa用作与服务器签名和加密连接的测试客户端。此设置运行良好,我可以访问现有节点(get_value)。我的服务器提供测试数据作为数组,但我无法访问数据进行写入(set_value)。我检查过这些例子并搜索了网,但直到现在还没有找到解决方案。应该是这样的:

...

var = client.get_node(ua.NodeId(.., ..))

data = var.get_value()

for x in range (32):

    ...

    var.set_value(data[x])

...

我不是python的专家,所以我的问题:有人能告诉我一个如何让这个工作的例子吗?我知道我必须注意排名和数组维度,但不知道如何处理这个问题。谢谢!...

Python部分:

    #set node value
    print("Data will be read ...")
    var = client.get_node(ua.NodeId(3, 4))
    data = var.get_value()

    print(data)
    for x in range (32):
        data[x] = x

    print("Data will be set ...")
    var.set_value(data)
    print(var.get_value())

输出:

Data will be read ...
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Data will be set ...
[0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0]

我没有收到错误......但即使不是我预期的结果。测试是使用32个UInt32元素,但看起来set_value()访问不同的东西?

0 个答案:

没有答案