This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] USB2ANY:VBA Excel Automation with USB2ANY/LMX2592

Guru**** 2390755 points
Other Parts Discussed in Thread: LMX2592, USB2ANY

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1111883/usb2any-vba-excel-automation-with-usb2any-lmx2592

器件型号:USB2ANY
Thread 中讨论的其他器件:LMX2592

我们正在尝试通过 USB2ANY 控制 LMX2592的自动测试。 我们首选的自动化是 VBA Excel。 我们尝试了 ActiveX 方法,其中提到了几个完美而简单的地方。 但是、与许多其他人一样、从 Excel VBA 中使用 TI 示例代码和 ActiveX 启动 TICS Pro 时、无法与 USB2ANY 建立连接。 它闪烁绿色 LED 上的4次快速闪烁、然后暂停、然后重复。 断开连接和重新连接不起作用、只会导致错误。 在 VBA Excel 之外手动加载 TICS Pro 可以正常工作。
我知道新固件正在转向基于 TCP 的自动化、但在 SDK 中、只有 VB 示例、而不是 VBA 示例。 是否有任何库和说明可以使其正常工作、最好与 ActiveX 方法一样简单。 将 USB2ANY 更新为最新固件(2.9.x)。 我们将会非常感谢您在这方面提供的任何帮助、因为我们的时间已经过了。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    安德烈亚斯

    很抱歉让你在这个问题上呆了这么长时间...

    听起来您可能对 USB2ANY 和 TICS Pro 的相关方式存在一些误解、因此让我澄清一下:TICS Pro (应用)动态链接到任意版本的 USB2ANY dll (从技术上讲、无论应用程序开始目录中名为"USB2ANY.dll"的 DLL 是什么)。  USB2ANY 的固件版本是 USB2ANY dll 关心的问题、不会影响 TCP 服务器或 ActiveX。 TICS Pro 应用程序不再使用 ActiveX 的原因是、现在每个人都有64位 的办公室/MATLAB/LabVIEW/任何内容、并且 无法正确运行32位 TICS Pro。 TICS Pro 依赖于一些 Windows USB 枚举实用程序、如果没有为其显式编译、这些实用程序将在64位模式下中断- COM 互操作实用程序似乎只能为您提供目前为止的信息。 同时、如果我们构建了 x64 TICS Pro、则无法调用 x86 USB2ANY 函数、因为 USB2ANY.dll 不会暴露任何 COM 接口。 TCP 服务器变更的全部内容是为64位应用程序提供一种与32位 TICS Pro 通信的方法、而不会出现大量错误。

    另一方面、在32位 Excel 中、我们可能会遇到另一个问题:您能否尝试 将 TICS Pro 中包含的 USB2ANY DLL 复制到启动 Excel 文件的目录中?  我认为 ActiveX 会更改应用程序开始目录、 这可能会阻止 USB2ANY DLL 加载...  

    您提到了 SDK...您是否正在尝试仅实现  USB2ANY 的自动化? 或 TICS Pro、并通过 TICS Pro 将 USB2ANY? 只有 USB2ANY 提供替代解决方案(假设是32位 VBA)。 下面是一个示例、使用 USB2ANY SDK 导出符号来声明 VBA 函数:

    Public Declare Function u2aFindControllers Lib "usb2any" Alias "_u2aFindControllers@0" () As Long

    为供您参考、4闪烁状态表示设备已连接但已挂起-尚未枚举。  

    --

    话虽如此、程序文件(x86)安装目录中包含一个 TICSPro_TCP.py python 文件、 该文件使用与 ActiveX 类似的 API。。python 文件包含启动和使用 TCP 服务器和客户端的所有文档。 这是向前推进的推荐方法。 对于与 Excel 的互操作、最简单的选项可能是在 python 中收集数据、将 所有内容编写为 csv 或 tsv、以及导入到 Excel 中进行后处理。

    我要将此主题标记为 TI 认为已解决、因为我认为 ActiveX 还有很多其他事情可以做。 此接口已被弃用、我们不打算继续支持它。

    此致、

    Derek Payne  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Derek:

    感谢您的详细解释和背景! 初始目标是使 TICSPro 和 USB2ANY 实现自动化、以便能够利用 LMX2592的寄存器映射等。 我们最终只在 VB 中写入所有内容(从 SDK 中的 VB 示例开始)、修改了 SPI 写入函数以与 LMX2592配合使用。 我们还编写了一个函数、用于从 TICSPro 加载十六进制导出文件并通过 SPI 加载 wite 内容、因此我们不必手动设置所有 LMX 寄存器。 之后、我们只需更改一个寄存器即可更改 LMX 频率以实现自动化。 然后、我们从 VBA 编译并打开了一个 shell、并运行 可执行文件、其中一个参数是频率。 这对我们向前迈进非常有效,尽管不是最干净的方法。 将来、我们可能需要对其进行优化并获得真正的 VBA 实施、但我认为我们现在可以将其关闭。 再次感谢您的帮助。