如何在使用 ASAM XiL API 接口时从 python 中的 IBaseValue 对象读取值?

问题描述 投票:0回答:1

我只是尝试使用 ASAM XiL API 创建模型访问 (MA) 端口。所以,我用 python 创建了它。现在,当我尝试读取和写入变量的值时,读取命令以 IBaseValue 对象的形式给出输出。

this is the image in which you can see the attributes and methods of the object 'readValue'

我已经阅读了 DSpace 的示例演示文档,他们在我的案例中使用了“readValue.Value”等命令。但事实证明我收到了错误,就像 readValue 对象没有任何像“Value”这样的属性。

所以,我不知道如何读取实际值。也许我缺少任何库。

我在某处读到我需要一个可以支持以 C# 形式编写的代码的库。但我不知道。

该值采用 float 数据类型,结果像 float(readValue) 这样的命令在这里也不起作用,因为“readValue”是 IBaseValue 对象。

python-3.x python.net
1个回答
0
投票

尝试使用

__raw_implementation__
来获取正确的对象。

# Read a value from the probe
raw_probeExp = maPort.Read('Probe1')
probeExp = raw_probeExp.__raw_implementation__
print(str(probeExp.Value))

我假设 XIL API 程序集与新的 pythonnet 库不完全兼容。 更多有关更改的信息: https://github.com/pythonnet/pythonnet/blob/master/CHANGELOG.md#changed-3

© www.soinside.com 2019 - 2024. All rights reserved.