PLC
直播中

王利祥

7年用户 1406经验值
私信 关注

基于面向对象的LabVIEW编程有哪些优势

基于面向对象的labview编程有哪些优势?
如何去学习基于面向对象的LabVIEW编程?

回帖(1)

颜婷

2021-8-24 16:49:05
  众所周知,面向对象的程序设计是一种设计思想,它不依托于某种编程语言。C++、C#、LabVIEW都可以使用这种模式进行编程。同样的,面向对象编程设计也是近几年LabVIEW软件版本升级的主要方向,比如LabVIEW2020版本就新增了接口类和多继承的支持,相信基于面向对象的LabVIEW编程是未来的发展趋势。
  相比C#等文本语言由于LabVIEW工程师的数量较少,国内几乎找不到什么像样的资料。虽说各个语言的编程思想是相通的,但面向对象在具备思想的同时,还需要一些编译器的底层支持(比如写PLC程序就没办法完全面向对象,因为编译器不支持)。捧着C#的教材很难与LabVIEW编程环境结合起来。同时,LabVIEW工程师大多偏硬件层,大家对于编程思想的平均基础难以与纯软件工程师相提并论。LabVIEW的面向对象教材需要从更基础的层面开始。
  面向对象的好处这里不过多介绍,可拓展、可复用、低耦合是其最基本的优势。这里我给大家规划一下针对LabVIEW的学习路线。围绕面向对象的特点:学习路线应依次为:封装-》继承/多态-》多继承(LabVIEW2020版本及以后),各阶段的学习标准:
  封装学习:
  类的组成和使用,类的属性节点概念,访问权限的定义,私有数据的好处,属性和方法的LabVIEW表达形式。你可是试着把之前自己写的模块用类来重写。
  继承和多态(LabVIEW里叫动态VI)的学习:
  继承的LabVIEW实现方法,父类私有数据与自身私有数据的区别,访问父类私有数据,访问父类方法,动态VI的定义和用法,重写父类方法,自定义方法,调用父类同名方法。在VI中是如何实现动态调用的等等。有精力可以看看自带的AF架构。
  多继承(接口类):
  LabVIEW2020版本新增了接口类的支持,这是面向对象的一个重要概念。因此,本人也建议您使用2020版本的软件进行面向对象学习。你需要重点理解接口类存在的意义,为什么接口类没有自己的私有数据,在什么情况下需要使用接口类以及一些使用规则(比如:谁调用,谁创建。)
  接下来一段时间我会持续更新一些LabVIEW面向对象的教材。由于本人的面向对象学习主要依靠LabVIEW帮助和动手做验证,几乎没有参考第三方资料(主要是找不到什么靠谱资料)。网上一些人写的“正统”学习方法本人并不认同,学习编程应该以实际操作为主线循序渐进,以一个个阶段性小项目为基石一步步提升自身水平。一上来就看什么设计模式,什么OOP设计六大原则,对于LabVIEW学习者很不友好。这些东西固然重要,但等自身能力到达那个层次后再看这些会有更好的效果。我一直坚信LabVIEW帮助+动手做验证是最好的教材。因此我的教材也会相对非主流一点,希望大家予以谅解。
  
1 举报

更多回帖

发帖
×
20
完善资料,
赚取积分