当前位置: 首页 > news >正文

labview类编程

1.父类的功能是通用功能,所有子类都含有父类的功能,重写会自动执行一次父类的功能。
2.每个子类都用了父类的注册vi,所以在调用的时候,出来的就是子类注册的vi,也就是window.vi。
3.假如要设计一个父类的vi,首先是保存和读取,要能保存所有继承父类的子类。

20190705
1.
管理类:实体类队列,参数类数组
参数类数组用于类型判断,实体类队列用于全局应用
实体类:参数类队列
参数类:设置簇
2.
动态方法不允许动态调用,例如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.表格要反映出之前的信号来源
3.
增加start模块
增加end模块
来管控只执行一次的流程
4.
必须全部短连接
5.
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.不停的出入队列对内存有影响,可以改为预览队列

相关文章:

  • C++模板元编程--函数萃取
  • Cweek2+3
  • 算数运算符
  • 58. 最后一个单词的长度
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • java 对接农行支付相关业务(二)
  • Mac免费软件推荐
  • AI办公自动化:kimi批量新建文件夹
  • 【Python音视频技术】用moviepy实现图文成片功能
  • 【活动】开源与闭源大模型:探索未来趋势的双轨道路
  • 安装WordPress
  • 【Python爬虫】图片验证码的处理
  • DNS 解析过程
  • SpringBoot 微服务中怎么获取用户信息 token
  • 《web应用技术》第9次课后作业
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • ES6之路之模块详解
  • gulp 教程
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Python进阶细节
  • rc-form之最单纯情况
  • Spring Boot快速入门(一):Hello Spring Boot
  • Terraform入门 - 3. 变更基础设施
  • 初探 Vue 生命周期和钩子函数
  • 分布式任务队列Celery
  • 工作中总结前端开发流程--vue项目
  • 后端_MYSQL
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 力扣(LeetCode)21
  • 前端
  • 区块链分支循环
  • 深入浅出webpack学习(1)--核心概念
  • 转载:[译] 内容加速黑科技趣谈
  • FaaS 的简单实践
  • ​如何防止网络攻击?
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $nextTick的使用场景介绍
  • $refs 、$nextTic、动态组件、name的使用
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (70min)字节暑假实习二面(已挂)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (javascript)再说document.body.scrollTop的使用问题
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (译)计算距离、方位和更多经纬度之间的点
  • .bashrc在哪里,alias妙用
  • .equals()到底是什么意思?
  • .Net core 6.0 升8.0
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net core使用EPPlus设置Excel的页眉和页脚