labview类编程

1.父类的功能是通用功能,所有子类都含有父类的功能,重写会自动执行一次父类的功能。

2.每个子类都用了父类的注册vi,所以在调用的时候,出来的就是子类注册的vi,也就是window.vi。

3.假如要设计一个父类的vi,首先是保存和读取,要能保存所有继承父类的子类。

20190705

管理类:实体类队列,参数类数组

参数类数组用于类型判断,实体类队列用于全局应用

实体类:参数类队列

参数类:设置簇

动态方法不允许动态调用,例如window需要重用,而且需要异步不阻碍其他线程

假如需要动态异步调用,则需要新增一个静态方法,这个静态方法去

调用动态方法

3.退出用用户注册的方法有时候无法退出,

用时间超时去读取父类队列的状态,判断父类是否销毁,

假如已经销毁则退出。

2019年8月30日10:13:29

1.VI设置为不可重入,然后设置为异步,可以正常插入子VI

2.window统一用队列状态退出为好

2020年2月26日09:36:36

1.继承windowclass是为了有窗口功能,包含para队列是为了将参数变为全局

2.保存用write

3.manager是一个总览页面

4.如果用window里面的setting作为参数基类来继承和自己写一个参数基类继承是一样功效的

因为windowclass建议少改,所以自己写一个参数基类来满足对应的功能会更好

5.manager中因为要输入路径 而父类create中是没有输入路径的接线端,所以要另外写一个

create

2020年2月27日11:57:11

1.xcotrol 判断状态是否更新,是用于更新寄存器的值

2020年3月3日15:23:43

1.manager类

包含所有设备类的para数组和所有设备类的队列

此处的param是基类的para

此处的queue是基类的queue

不能是子类的,这样会导致基类的参数不完善,也无法解释子类

(基类的意思是设备类,不是串口或者网口类)

para数组用于存储读取出来的para

para类用于存储para

在createmanager的时候读取para数组

在add device的时候,校验参数并赋值给设备类

manager不能直接用create,是因为路径需要开放输入端,父类-window类的create不包含路径的输入端

2.wnd方法里面要register一下vi,并且不能调用父类windows的wnd

2020年3月23日14:35:07

1.C继承B,B继承A,当参数是以A的方式保存下来,则读取的时候必须用A的成员函数来读取,而用B的成员函数读取会发生错误。

2.当出现保存project错误,说VI不在某个库,直接拖曳进去就行

3.全局用来缓存UnitManager,通过名称来获取对应的信号,来触发执行loop中的执行体

4.或者用通知器:比较正规,用名称来索引全局中的UnitManager

2020年3月25日15:34:54

1.在一个流程里面,同一时间只能执行一次。

2.表格要反映出之前的信号来源

增加start模块

增加end模块

来管控只执行一次的流程

必须全部短连接

1)长连接的另外处理

数据库

PLC

用子模块类索引

2)心跳类的另外处理

暂不处理

3)是否创建副本->不创建副本的话用哪个单元类,只限于用哪个单元类的连接参数

而不用功能参数->可用全局索引

2020年3月27日13:58:28

1.新建一个输出参数类。

2.单元类要给输出类配一个解释VI,该解释VI用于将输出类解释成另外的单元类能接受的类型

比如说OCV单元类的输出类包含电压,电流,而SQL单元类需要的格式是字符串数组,那么需要新建一个解释VI,用于将电压和电流解释成字符串数组。

这样可以保证单元类的输出是独立的,可以是任何类型。

通过解释VI中转来适应给到哪个单元类。

3.设置页面需要做成可以关闭的。设置完就不会在后台运行

4.触发有两种方式:

1)所有单元类循环不断读取输入触发源来执行功能,目前存在内存,CPU和界面设置不友好等问题。

2)所有单元类内部不做读取触发源的循环,谁触发谁执行通过一个统筹的应用程序类来管控,比如通过一个FOR循环按照顺序执行功能,目前存在一个问题是,无法解决并行的逻辑运算。

5.界面用图形的方式,通过拖曳的方式显示在画板上,在设置了输入输出后,生成箭头。

6.平台类单独写另外的单元类,而不用原有的类。

7.不停的出入队列对内存有影响,可以改为预览队列

相关推荐
GeW7 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
Brilliantwxx7 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地7 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
father_12278 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum
csdn_aspnet8 小时前
Docker Prune:完整指南与上手示例
运维·docker·容器·prune
ynchyong8 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具
七牛云行业应用9 小时前
DeepSeek Harness(dsh)安装完整指南:Windows、macOS、Linux 三平台 + 桌面端与 Web 端全覆盖
linux·windows·macos·ai·ai编程
乌恩大侠10 小时前
Supermicro 发布六款 NVIDIA ARC 服务器:从 1U 边缘基站到 4U 八卡 AI-RAN 平台,全面对比
运维·服务器·人工智能
十年磨一剑~10 小时前
APT 仓库包查看方法文档
linux·ubuntu
DYWorker00110 小时前
第 1-1 课:启动编排:内核如何把自己装配起来
linux