LabVIEW使用G#框架实现面向对象编程

软件程序应该可重复使用,具有灵活性和扩展性。面向对象编程(Object Oriented Programming,OOP)可以让程序具有这些特点。面向对象程序设计把客观世界中的实体抽象为对象,以对象为核心,定义了类,数据抽象,继承,动态绑定,数据封装,多态性,消息传递等。类是客观世界的抽象,具有静态属性的数据和对数据的操作,对象是类的实体化,对象之间通过消息实现通讯。对象是组成程序的基本模块。“天下武功,唯快不破”。LabVIEW是图形化的编程语言,无需记住繁琐的编程语句和语法,可以象“搭积木”一样轻松,快速地编程,在工业应用中实现高效软件研发。G#框架是一个免费的LabVIEW插件,在LabVIEW中实现了面向对象编程。

1.使用VI Package Manager安装 G# Framework 软件包并重启 LabVIEW。

2.创建一个新项目并保存。鼠标右键点击我的电脑(MyComputer)->新建(NEW)->G#类(G# Class)。

3.在出现的对话框中输入类名(Class Name)和保存数据的类文件夹(Class Folder), 点击创建类按钮(Class)。

4.稍等片刻,出现类图标编辑器对话框(Class Icon Editor)。设置类图标头部文字(Header Text)和颜色,点击应用按钮(Apply)确认。

5.G#类定义完成, 定义的类名出项在项目管理对话框中。

6.在类中添加一个方法。鼠标右键点击类名->G#IDE->创建方法(Create Method…)。

7.  在出现的创建方法对话框中(Create Method),选定方法模板(Method Template),输入将创建的方法名称(Name)和相关信息(Description),设置创建的方法类型(Method Type),范围(Scope)等。点击创建方法按钮(Create Method)确认。

8.稍等片刻,出现图标编辑器对话框(Icon Editor),颜色在创建类时已经提前设定。输入方法图标文字(Body Text),点击应用按钮确认(Apply)。

9.方法定义完成。现在给类添加一个属性(Attribute)。在项目管理对话框中,展开被保护的文件夹(Protected Folder),鼠标左键双击对象属性控件(ObjectAttributes.ctl)或者鼠标右键点击类名,选择编辑属性(Edit Attributes…)。

10.在簇中添加一个新的属性元素。保存并关闭类型定义控件面板(Type def control)。

11. 使用功能方法 GetAttributes.vi访问属性。在LabVIEW中, G# 使用数据值调用(Data Value Reference,DVR) 访问属性。

12.请参考 G# 范例,进一步了解类如何工作。

G# Framework Examples 框架范例

G#框架范例: <LabVIEW>/examples/AddQ/G#

查找范例,在 LabVIEW “Find Examples…”中输入关键词 “G#”。

 

 

G# Templates 模板

创建类时有很多不同的模板供参考:

  • G#Template – 创建类的标准模板。基础或子类. 推荐(Recommended)。
  • G#Interface – 创建接口(Interface)的标准模板。
  • G#StaticTemplate – 创建仅具有静态成员(Static Member)的静态类(Static class)的模板,不能被继承。
  • LvNative – LabVIEW 母类(Native Class), 不基于引用。
  • G#InterfaceImplementation – 使用接口时的模板。
  • G#BaseTemplateG3 –用于创建和Endevo GOOP3兼容的基础类模板, 用于把类从GOOP3转换到G#。创建新类时,不推荐使用。
  • G#SubTemplateG3 – 用于创建和Endevo GOOP3兼容的子类模板,用于把类从GOOP3转换 到G#。创建新类时,不推荐使用。 

所有模板位于:<LabVIEW>/vi.lib/addons/_AddQ/G#Templates

G# Classes File Structure 类文件结构

所有G# 类具有如下相同的结构。 一个G# 类位于名为 <ClassName>_class的文件夹中,具有如下的结构:

  • <top> - lvclass-文件和公共方法。
  • protected – 被保护的方法和属性定义类型定义控件 type def controls。
  • private – 类的私有方法。
  • properties – 类的属性方法. 若使用LabVIEW 2010,将包含新属性定义文件夹。
  • utils – G# 应用支持 VIs 和控价。 用于访问属性的GetAttributes 和GetClassAttributes Vis保存于此。

 

Property Definition 属性定义

属性定义文件夹将被用于包含属性。在代码中,可以使用LabVIEW类调用属性节点(Property Nodes),通过属性定义方法访问属性。

G# Wire Appearance 连线外观

G# 使用2种连线外观:

  • G#对象 – 所用的 G# 对象调用获得这样的连线外观,一条绿实线。

  • G#接口–所有的G# 接口调用获得这样的连线外观,一条绿虚线。

参考资料:http://addq4.se/gsharp/gsharponlinemanual.htm

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LabVIEW实现面向对象编程框架是G#框架。G#框架是一个免费的LabVIEW插件,通过使用VI Package Manager来安装G# Framework软件包并重启LabVIEW,就可以在LabVIEW实现面向对象编程的功能。该框架使用面向对象编程的概念,将客观世界中的实体抽象为对象,并定义了类、数据抽象、继承、动态绑定、数据封装、多态性和消息传递等特性。如果你想学习LabVIEW中的面向对象编程,可以参考G#框架的文档,该文档详细介绍了使用LabVIEW语言进行面向对象编程的过程,并提供了范例供参考学习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [LabVIEW使用G#框架实现面向对象编程](https://blog.csdn.net/LEOKINGKING/article/details/105229953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [第16章 LabVIEW中的面向对象编程,labview面向对象的框架,LabView](https://download.csdn.net/download/weixin_42696333/22368613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值