创建FPGA VI时使用LabVIEW类
- 更新时间2025-05-20
- 阅读时长3分钟
创建FPGA VI时可使用LabVIEW面向对象编程技术部分内容。
支持的LabVIEW类功能
- 类常量、输入控件和显示控件
- 类方法
- 在类内使用全部FPGA支持的数据类型
- 其他类的私有数据包含的类
注: 由于LabVIEW必须能够在编译时转换全部类,因此不能在顶层FPGA VI中使用LabVIEW类。
继承和类的编译时间精度规范
在LabVIEW面向对象编程中,运行时对象的类型可与连线类型一致或为其子孙类。编译FPGA VI至位文件时,数据连线为固定的。即编译器不能动态调用多个代码的实现。该限制意味着编译器必须能够静态判定运行时连线的类型。创建FPGA VI时使用下列类型规范:
- 连线子类接线端至父类接线端。
- 与其他子VI调用相比,由于重写调用是在编译时确定的,因此FPGA VI不会产生动态分配的系统开销。
- 如FPGA VI带有一个LabVIEW类输入且非重入,用户可在VI层次结构中的多个位置调用VI,并在不同的位置使用不同的连线类型。但当编译器分析VI层次结构时,连线类型必须处理全部位置的同一个类。这是用于静态分配和动态分配VI。
- 如程序中包括类的局部变量,请确保全部写入与类的类型匹配。如下所述:
- 对于LabVIEW类输入控件及其相关的写局部变量,请确保全部连线至写局部变量的数据为同一类的类型。如控件位于连线板,必须确保连线至控件对应接线端的数据线为同一类的类型。
- 对于LabVIEW类显示控件及其相关的写局部变量,请确保全部连线至写局部变量和显示控件的数据线为同一类的类型。
- 如程序中包括类的局部变量且某些变量为读取方,请确保全部写入与默认的类的类型匹配。如下所述:
- 如程序包含与输入控件关联的读取局部变量或与已连线的输入控件关联的局部变量,必须确保全部连接至写局部变量的数据线为默认类型。如输入控件位于连线板且已连线控件对应的接线端时除外。
- 如程序包含与显示控件相关的读取局部变量,必须确保全部连线至显示控件和写局部控件的数据线为默认的类型。
- 数组中的全部对象必须处理同一类。
- 所有帧的条件结构隧道必须处理同一类。
- 编译器在初始化接线端处理用于移位寄存器和反馈节点的类,并在后续循环内使用该类型。未初始化的移位寄存器和反馈节点处理连线的类。如在循环内引入子类,编译将失败。在下图中,FPGA VI仅当DynDisp.vi总是在输出端返回与输入端相同的类型时才能执行编译。