如何通过Python的COM接口设置CANoe中的字符串型系统变量
如何通过Python COM接口设置CANoe字符串型系统变量?
我通过Python的COM接口操作CANoe系统变量,已经成功设置整数型变量,代码如下:
self.Application = win32com.client.dynamic.Dispatch("CANoe.Application") Ver = self.Application.Version self.Namespaces = self.Application.System.Namespaces self.Namespace = self.Namespaces('BOT') Machine = self.Namespace.Variables('Machine') Machine.value = 8
但当CANoe中的系统变量为字符串类型时,直接调用函数赋值会导致脚本崩溃:
Machine = self.Namespace.Variables('Machine') Machine.value = getText() // 返回字符串"8"
报错信息:
File "C:\Python39\lib\site-packages\win32com\client\dynamic.py", line 707, in __setattr__ raise AttributeError( AttributeError: Property '<unknown>.value' can not be set.
解决方法
问题已解决,需要先将函数返回的字符串存入一个中间变量,再赋值给系统变量,代码如下:
Machine = self.Namespace.Variables('Machine') var = getText() // 返回字符串"8" Machine.value = var
目前原因未知,但该方法可正常设置CANoe的字符串型系统变量。
内容的提问来源于stack exchange,提问作者Ostpanaka
相关产品推荐
相关产品推荐

