如何将LabVIEW的VI转换为C语言代码
工具链接:
SDK:
CrackTool:
Manul:
如何将LabVIEW的VI转换为C语言代码 (2013-12-11 12:21:34)
如何将LabVIEW的VI转换为C语言代码?
这个问题经常被询问到确实令人感到棘手。在进行软件申报的过程中我们常常会遇到这样的情况即当我们把经过精心整理的图形代码提交后却只收到一句话:不行。一查方知对方只认可文本代码而非图形代码。为此特此简要介绍如何将LabVIEW的图形代码转换为C语言文本代码。时间仓促难免有遗漏之处希望日后能得到补充。
步骤1、下载并安装代码转换工具包
在代码转换方面的问题上,实际上NI提供了多种工具包可供使用。这些工具包虽然都是为了嵌入式开发设计的,但其中的代码转换功能值得借鉴使用。这里推荐 NI 的微处理器 SDK 模块。具体功能此处无需赘述。详细介绍可参看其 介绍页面 。同时提供 下载页面 ,用户可以根据需求进行下载。也可供参考。
步骤2、下载并安装完后就可以进行代码转换了。
如果你只是应用这个工具包的代码转换功能但并非频繁使用,那就无需购买授权了,免费版本即可满足需求.安装完成后,在启动LabVIEW时可以看到微处理器SDK的工具包图标,图1中的红圈部分.
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/eb5943fb3807893e6c22eb3e.jpg) 图1
步骤3:新建一个空的项目。
此处将项目存储为Convert代码。由于NI的这个工具包专为微处理器开发而设计,因此为了使用其中的功能而需创建特定类型的终端。如图2所示
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/5a6082ee181cf1012df53405.jpg) 图2 这个工具包提供的功能还是蛮多的,别的就不管了,我们这里只是想转换代码,选择Code Generation下的Code Generation Only就可以了。见图3.确定进行下一步。
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/fe0c0930873073b1a9018e16.jpg) 图3
步骤4,添加
这个阶段可以直接加入我们之前编写的程序(VI)。这里的关键是'VI'的位置和作用。
准备转向其他领域。
请查看图4中的现有VI示例。
注意:VI文件名,程序中的所有的变量(节点)的标签(Label)要尽量用英文的.原因在本文最后将会提到.
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/873bcff97507ab71252df2ef.jpg) 步骤5:创建代码生成规范(图5),并指定要转换的VI程序(图6)。
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/1fde03ce9ae41e11b600c8f1.jpg) 图5
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/87093097dfd7f64555fb96f3.jpg) 图6
步骤6:转换代码。
完成这几项准备工作后就可以进行转换操作(见图7)。具体步骤如下:首先,在刚生成的C语言源代码编辑窗口中右键点击即可触发C语言码生成功能;随后,在弹出的新界面中选择目标平台并设置必要的参数;最后点击运行按钮即可完成整个转换流程。需要注意的是,在使用该工具时应遵循以下原则:1. LabVIEW的部分功能可能无法实现;2. 遇到无法实现的功能时应先屏蔽对应的模块;3. 该工具并非专为VI文件转换而设计。
[

](http://hiphotos.baidu.com/yongjianspaces/pic/item/1cb47338b0975a0b97ddd8fa.jpg) 图七 步骤七:维护代码库的一致性
当步骤6完成后,在指定目录中查看生成好的C语言源代码的包含文件。图8
[

或许大家会发现图8中红色圆圈标注的文件名存在大量下划线。
实际上这是因为我们在步骤4中提高了对某些特定参数的要求,在这些方面必须采用英文标识符才能满足系统需求。
值得注意的是,在进行VWI到C语言代码转换时,程序部分(如变量名和文件名)仅支持英文字符。
这些特点与其背后的编程语法体系密切相关。
具体来说,在编写C语言代码时我们很少会使用中文变量命名法。
例如:Int 序号;显然这样的做法并不常见。
这就是其中的原因之一。
希望获取下载链接以获取一个可用的NI LabVIEW Microprocessor SDK工具包。其中,请注意将VI转换为文本格式并尽快完成。
[http://www.ed2kers.com/%E8%BD%AF%E4%BB%B6/%E6%97%A0/349428.html](http://www.ed2kers.com/软件/无/349428.html)
<>
<http://wenku.baidu.com/view/23acf21eff00bed5b9f31d7e>
