在 CANoe 中使用 Visual Studio 中的 .NET 设置信号值

Posted

技术标签:

【中文标题】在 CANoe 中使用 Visual Studio 中的 .NET 设置信号值【英文标题】:Set signal value using .NET from Visual studio in CANoe 【发布时间】:2021-10-18 12:07:57 【问题描述】:

如何在 Visual Studio 中从 C# 更改 CANoe 中的信号值?我不想制作一个测试模块并从 CANoe 运行它,我只想从 Visual Studio 运行并更改信号值。尝试设置信号值时出现此错误:

Vector.CANoe.Runtime.Internal.DBTypeNotFoundException: '在配置中找不到类型 SignalName。'

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Vector.PanelControlPlugin;
using NetworkDB;
using Vector.CANoe.Runtime;
using Vector.CANoe.Runtime.Internal;
using Vector.CANoe.Runtime.ValueEntitiesInternal;
using Vector.PostCompiler;
using Vector.CANoe.Sockets;
 
using Vector.CANoe.VTS;
 
using Vector.CANoe.VTSInternal;
using Vector.Diagnostics;
using NetworkDB;
 
 
namespace Demo

    public class Class1// : IPanelControlPluginLibrary
    
        [OnChange(typeof(NetworkDB.PAAK_WELCOME_LIGHTS))]
        public static void OnSignalLockState()
        
            double value = 1;
            NetworkDB.PAAK_WELCOME_LIGHTS.Instance.GetValue();
            
        
        static void Main(String[] args)
        
            OnSignalLockState();
        
    

【问题讨论】:

请分享您的代码。无法猜测您的设置是什么样的,您正在使用哪些 API,等等。 pastebin.com/nqW2CYeW - 这是我的代码,我正在使用来自 CANoe 15 @M.Spiller 的引用 将代码添加到问题中。不能作为进入 cmets 的链接...除此之外,Vector.CANoe.Runtime 程序集只能在 CANoe 内部使用,即作为节点或 sn-p 运行时。如果你想改变信号从外部你必须使用COM接口。 现在代码被添加到问题中,所以我必须使用COM接口吗?有相关文件吗? 您可以在 Technical References -> COM Interface 的 CANoe 文档中找到它。 【参考方案1】:

程序集Vector.CANoe.Runtime 只能用于在 CANoe 中运行的 .NET 代码中,即在节点、测试、片段等中。

如果你想从外部与 CANoe 交互,你必须使用 CANoe 的 COM 接口。

【讨论】:

以上是关于在 CANoe 中使用 Visual Studio 中的 .NET 设置信号值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2010 中使用 Visual Studio 2008 创建的 DLL?

如何在 Visual Studio 2008 中打开使用 Visual Studio 2005 创建的 rdl?

我可以在 Visual Studio 2008 中使用 Visual Studio 6 编译的 C++ 静态库吗?

visual studio 中 如何还原.bak数据文件

如何在visual studio开发android程序

visual studio 2012中如何查看一个工程需要哪些dll文件???