“LabVIEW”;司机开始

“LabVIEW”;司机开始,labview,Labview,我已经编写了一个独立的应用程序,通过RS-232端口控制设备,一些客户希望能够通过LabVIEW使用该设备。我见过一些描述学习使用LabVIEW时从何处开始的帖子,但我想知道是否有人有为LabVIEW编写插件/驱动程序的经验(这个词对吗?),也许能为我指明正确的方向 现有的应用程序是GUI,允许人们用更高层次的概念来控制设备,而不必知道串口通信的语法和协议。我还想把它抽象出来,这样用户就可以将一些东西插入LabVIEW,我想它会公开一些动词和方法,允许对设备进行操作,并向客户端提供数据 我认为L

我已经编写了一个独立的应用程序,通过RS-232端口控制设备,一些客户希望能够通过LabVIEW使用该设备。我见过一些描述学习使用LabVIEW时从何处开始的帖子,但我想知道是否有人有为LabVIEW编写插件/驱动程序的经验(这个词对吗?),也许能为我指明正确的方向

现有的应用程序是GUI,允许人们用更高层次的概念来控制设备,而不必知道串口通信的语法和协议。我还想把它抽象出来,这样用户就可以将一些东西插入LabVIEW,我想它会公开一些动词和方法,允许对设备进行操作,并向客户端提供数据


我认为LabVIEW有一个串行端口接口,但我确信使用此设备的人不希望必须编写代码(解析器等)才能与设备通信。

有两个选项可供选择

  • 创建设备用户可以访问的DLL

  • 在LabVIEW中重写应用程序


为了获得尽可能多的潜在客户,选项1将是您的最佳解决方案。如果您的客户特别要求使用LabVIEW驱动程序,那么选项2可能对该特定客户来说是最简单的。原因是LabVIEW在很大程度上是一种利基语言(用于自动化和数据采集),对于许多LabVIEW开发人员来说,它是他们唯一知道的语言(或者说是他们唯一熟悉的语言)。

LabVIEW程序员的最佳资源是。由于LabVIEW只在如此小的一部分中流行,因此没有太多其他web资源


我在LabVIEW中编程时读到的一本书是。它有很多很好的示例代码,如果我没记错的话,它告诉你如何使用C++编写的第三方DLL。但是,它绝对没有告诉您如何编写这些DLL。

LabVIEW可以处理RS232通信,而且没有什么问题-您只需要向客户提供设备使用的命令和语法列表,也许还需要一个小框架或具有基本功能的示例VI

我为您希望提供一个更健壮的驱动程序而鼓掌,该驱动程序不需要用户解析自己的命令;大多数供应商通常称之为LabVIEW“驱动程序”的只是捆绑在简单GUI中的几个命令(“init”、“read”)

您不必重新构建完整的应用程序,只需为它们提供足够的资源就可以开始自己的应用程序=)


开始时,您可能需要使用。

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

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

如果您不想学习如何正确地执行此操作(您的第二篇文章建议您不要这样做),请创建一个公开必要函数的DLL,或者委托LabVIEW程序员为您编写驱动程序。如果你能提供足够的协议文档,而且它并不复杂,那么他们需要一个下午的时间。如果您的用户对LabVIEW很感兴趣,那么其中一个用户可能会很乐意为您提供适当的折扣或奖励——对于LabVIEW中有能力的人来说,这真的不难做到,他们已经掌握了您的设备并了解它的功能。您可能希望首先与其他LabVIEW用户测试结果,因为您无法评估他们自己所做工作的质量

如果选择DLL路径,则需要检查所需的参数是否与LabVIEW数据类型兼容。我不是C/C++程序员,所以我不能详细地告诉您这意味着什么,但可能会有所帮助(Rolf Kalbermatter是将LabVIEW与外部代码接口的专家)

如果你想找到一个LabVIEW程序员,那么国家仪器公司可以通过他们的联盟计划向你推荐一个


(编辑后添加到LAVA论坛关于为LabVIEW编写DLL的帖子的链接)

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

LabVIEW可以与DLL交互。这里的技巧是避免更复杂的数据结构。如果继续传递基本数据类型的值,则不会有问题。LabVIEW还可以处理DLL之间的阵列。避免指向指针或指向结构的指针

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


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

是的,这就是我发现的问题。我将尝试在该网站上寻找更多信息。谢谢-我了解LV有rs232支持,就像你说的,我想让使用该设备变得非常简单。(我不是mnfgr设备-只是一个满足(微小)需求的开发人员)谢谢。当我们有时间的时候,我一定会用正确的方式去做。我只是认为这将是相当简单的工作。哈罗·杰弗里,你知道如何通过TCP/IP编写西门子S7电报头,例如在labview中打开TCP/IP并编写S7取/写电报并发送吗?整个获取或写入头包含的数据将是ADU(应用程序数据单元)?或者在通过tcp/IP发送之前有更多的头?真诚地感谢你。