【问题标题】:object required CANoe对象需要 CANoe
【发布时间】:2020-03-13 12:31:24
【问题描述】:

错误是:

需要对象:'';代码:800A01A8。

在这一行:

Set gECU.Name = "random name"

代码:

Dim app, config, generalSetup, XCPSetup, ECUs, ECU, gECU, gDBSignals

Set app          = CreateObject("CANoe.Application")
Set config       = app.Configuration
Set generalSetup = config.GeneralSetup
Set XCPSetup     = generalSetup.XCPSetup
Set ECUs         = XCPSetup.ECUs

'Add a new ECU with XCP on CAN
Set ECU = ECUs.Add("D:\Script_CANoe_Automation\INPUTS\path.A2L", cTlFlex)
Set gECU.Name = "random name"

【问题讨论】:

  • 我对上面的所有变量都使用了 set,因为如果我不使用 Set 就会出错(在现在我使用“Set”的每一行)。如果我使用 WScript.Echo TypeName(ECU),我会得到:“Nothing”
  • @Ansgar Wiechers 如果我使用:WScript.Echo varType(ECU) .... 答案是:9.由于我是这种语言的新手,我不确定这是否是类型它应该返回。感谢任何提示。
  • @Ansgar Wiechers For WScript.Echo TypeName(ECU) ....我得到:“Nothing”
  • @Lankymart 知道某物是一个对象引用并且它不指向一个对象比仅仅知道它是一个对象引用要多得多的信息,不会你同意?无论如何,对我来说,Add() 似乎没有返回 OP 期望的对象。不过,我对 CANoe 的了解还不够。
  • 啊,我的错。出于某种原因,我完全错过了第一条评论。道歉@TomiciBogdan。

标签: vbscript canoe


【解决方案1】:

需要对象:'';代码:800A01A8。

WScript 对象gECU 在这里

Set gECU.Name = "random name"

不存在,因为您尚未为该变量分配对象引用

object.Name 被定义为McMeasurementGroup 的属性之一(对象表示一组参数及其用于 CCP/XCP 测量的测量设置。)

如果您希望将 XCP 连接添加到 ECU 并启用数据库中包含的一个参数以进行 DAQ 测量 - 这样做:

Dim gApp, gConfig, gGeneralSetup, gXCPSetup, gECUs, gECU, gSignals, groups, group, parameters, parameter

'From the Property "ECUs" of "Application.Configuration.GeneralSetup.XCPSetup"
gApp          = CreateObject("CANoe.Application")
gConfig       = gApp.Configuration
gGeneralSetup = gConfig.GeneralSetup
gXCPSetup     = gGeneralSetup.XCPSetup
gECUs         = gXCPSetup.ECUs

‘You can add a new ECU with XCP on CAN
Set gECUs = gECUs.Add("D:\Script_CANoe_Automation\INPUTS\path.A2L", CANoe.eMcTransportLayer.cTlCan)

'You can find an existing ECU
gECU  = gECUs("XCPsim")

'or change settings
gECU.ConnectOnMeasurementStart        = 1
gECU.DisconnectOnMeasurementStop      = 1
gECU.ObserverActive                   = 1
gECU.PageSwitchingActive              = 1
gECU.RAMpage                          = 1
gECU.ResetVariablesAfterDisconnect    = 1
gECU.UseDAQTimestampsOfECU            = 1
gECU.UseDAQTimestampsOfECUDivOperator = 0

'or access the parameters contained in the database
groups     = ECU.MeasurementGroups
group      = groups.Item(1)
group.Name = "random name"
parameters = group.Parameters

'Enable a parameter for DAQ measurement
parameter            = parameters("channel2")
parameter.Configured = 1
parameter.ReadMode   = CANoe.eMcReadMode.cDAQ
parameter.EventCycle = 1
parameter.AutoRead   = 1

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多