LabVIEW“驱动程序” - 入门

时间:2008-10-22 20:01:45

标签: labview

我编写了一个独立的应用程序,通过RS-232端口控制设备,一些客户希望能够在LabVIEW中使用该设备。我已经看到一些线程描述了在学习使用LabVIEW时从哪里开始,但我想知道是否有人有编写插件/驱动程序的经验(这是正确的词?),并且可能指出我正确的方向。

现有应用程序是GUI,允许人们使用更高级别的概念控制设备 - 而不必知道串口通信的语法和协议。我想抽象出来,以便用户只需将某些东西插入LabVIEW中,我想它会暴露一些动词和方法,允许操作设备并向客户提供数据。

我认为LabVIEW有一个串口接口,但我确信使用这个设备的人不想编写代码(解析器等)来与设备通信。

5 个答案:

答案 0 :(得分:8)

如果您准备花一点时间学习如何在LabVIEW中编程,可以找到有关如何开发仪器驱动程序的相关信息herehere

基本上,您应该提供一组VI(LabVIEW代码单元),用于实现设备支持的各种操作。 LabVIEW程序员将使用VISA资源(即串行端口)和VI应提供的错误输入/输出终端将这些序列链接在一​​起。请参阅第二个链接以获取示例。

如果您不想学习如何正确地执行此操作 - 您的第二篇文章建议您不这样做 - 那么要么创建一个暴露必要功能的DLL,要么委托LabVIEW程序员为您编写驱动程序。如果你能提供足够的协议文件,并且它并不是非常复杂,那么它应该花一个下午。如果您有热衷于LabVIEW的用户,那么他们中的一个可能很乐意为您提供适当的折扣或奖励 - 对于任何有能力在LabVIEW中工作的人来说真的不难,而且他们已经掌握了他们的手在您的设备上,了解它的作用。您可能希望首先与其他LabVIEW用户一起测试结果,因为您无法评估他们自己所做的事情的质量。

如果你去DLL路线,你需要检查你需要的参数是否与LabVIEW数据类型兼容。我不是C / C ++程序员所以我不能详细告诉你这是什么意思,但this可能会有所帮助(Rolf Kalbermatter是将LabVIEW与外部代码连接起来的大师)。

如果您想找一个LabVIEW程序员,那么National Instruments可以通过他们的联盟计划将您推荐给他们。

(编辑添加链接到LAVA论坛帖子,为LabVIEW编写DLL)

答案 1 :(得分:3)

您尝试做的事情有两种选择。

  • 创建一个DLL,您的设备用户可以call from LabVIEW

  • 在LabVIEW中重写您的应用程序。

为了吸引尽可能多的潜在客户,选项#1将是您的最佳解决方案。如果您的客户专门要求提供LabVIEW驱动程序,那么选项#2可能对该特定客户来说可能是最不麻烦的。这样做的原因是LabVIEW是一种非常小的语言(用于自动化和数据采集),对于许多LabVIEW开发人员来说,它是他们所知道的唯一语言(或者他们唯一熟悉的语言)。

答案 2 :(得分:3)

LabVIEW可以轻松处理RS232通信 - 您只需向客户提供设备使用的命令和语法列表,或者可能是具有基本功能的小型框架或示例VI。

我赞赏你想要提供一个更强大的驱动程序,不需要用户解析自己的命令;大多数供应商通常所说的LabVIEW“驱动程序”只是在一个简单的GUI中捆绑的几个命令('init','read')。

您不必重建完整的应用程序,只需给予他们足够的开始自己=)

要开始使用,您可能需要使用VISA in LabVIEW

答案 3 :(得分:2)

LabVIEW程序员的最佳资源是National Instruments Knowledge Base。由于LabVIEW仅在如此小的细分市场中流行,因此没有很多其他网络资源。

我在LabVIEW中编程时读过的一本书是LabVIEW Power Programming。它有很多很好的示例代码,如果我没记错的话,它会告诉你如何使用用C ++编写的第三方DLL。但是它确实不会显示你是如何编写这些DLL的。

答案 4 :(得分:0)

您的客户希望在LabVIEW中使用您的代码。这并不意味着你必须编写LabVIEW代码。

LabVIEW可以与DLL交互。这里的诀窍是避免更复杂的数据结构。如果你继续通过基本数据类型的值,你将没有问题。 LabVIEW也可以与DLL一起使用数组。避免指向指针或指向结构的指针。

LabVIEW还可以与.NET程序集交互。

也没有什么可以阻止您通过TCP / IP使用客户端/服务器模型。