自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (7)
  • 收藏
  • 关注

原创 使用labview创建本地服务器

网上关于使用labview创建本地服务器的例子比较少,所以特地写了篇文章给大家参考。1.在项目里面右键创建web服务,在web资源里面新建VI;2将方法改成post,post和get本质是一样的,只不过post用的比较多。3.在web service1里面将输出设置改成缓冲流;4.给新建的VI httpmothod 1书写逻辑,write response对应步骤3的缓冲流;5.右键点击webwervice1,发布该程序,本地服务器新建完成;6.右键点击httpmothod 1.vi显

2021-07-01 15:42:34 1800

原创 labview强制转换的一个坑

仔细看,枚举的数据类型是U16,"1"的数据类型是U32,所以转换产生了不可预期的结果。所以使用强制转换时一定要保证两个数据类型一致,否则产生不可预期的结果。32位整形强制转换成枚举的结果如何?

2024-04-29 16:46:33 572

原创 labview中TDMS读写波形图

TDMS与二进制读写速度区别不大,但是它具备关系型数据库的一些优点,经常用于存取波形数据。

2024-04-26 08:00:00 339

原创 OpenG中的读写簇函数

4.禁用写入,更改簇的元素,增加或者删除,原来的数据依然可以读取。那么这个函数的优势就体现出来了,在更改簇元素的情况下,原来的数据依然可以重新读取,这样就不用重新设置之前的参数。其实这个读写原理就是查找筛选再赋值,找不到就不赋值,保持默认值。2.找到openG中的读写ini函数,第一组是将簇标签作为段名,第二组是指定段名,本质上都是一样。1.首先需要在Vi Package Manager中安装Open G。3.读写簇到ini文件。

2024-04-25 08:45:00 71 2

原创 labview中如何更快的生成数组

方式一:使用For循环索引创建数组,耗时24ms;方式二:使用"创建数组"函数创建数组,耗时77ms。方式三:使用替换数组子集创建数组,耗时22ms;所以结论是避免频繁地改变数组长度。

2024-04-24 09:28:56 278 2

原创 labview中数字字符串限定输入

主要利用了labview中的过滤事件机制。当字符不是十进制字符串的时候放弃赋值,即禁止输入。labview中的用户界面事件有两种类型:通知事件和过滤事件。废话不多说,直接上代码。

2024-04-22 08:30:00 137 2

原创 labview中循环停止事件的深入研究

第一次值事件运行的时候空白按钮给的F值,第二次值事件运行的时候空白按钮给的T值,这时循环才真正结束。值事件发生以后超时事件将T值赋值给结束条件,也是从同时进行变成了顺序执行。赋值和值改变事件从同时进行变成按顺序执行。

2024-04-21 17:25:08 316

原创 labview中的同步定时结构

单帧定时循环定时比较精确,最常用的功能还是它的定时循环功能,定时循环允许不连接“循环条件”端子,可以连接定时循环“结构名称”端子,通过定时结构停止函数停止循环。

2024-04-14 16:32:44 325

原创 labview中FP.isFrontmost不生效?

如果主GUI程序使用“floating”,子GUI程序使用default动作,则子GUI无法打开到最前。子GUI程序只能使用“模态”才能置顶。主GUI界面中调用子GUI程序FP.isFrontmost不生效?改正的方法很简单,主GUI程序使用“default”方式即可。置顶的优先级是:模态》浮动》默认。

2024-04-11 20:46:41 86

原创 labview中0.42-0.5+0.08=0结果如何?

结果不稳定,这是因为同其他编程语言一样,labview中的浮点数也存在精度损失的问题,只有2的N次方的浮点数可以精确表示

2024-04-05 22:27:13 47

原创 labview如何创建2D多曲线XY图和3D图

使用“索引与捆绑簇数组”函数将多个一维数组捆绑成一个簇的数组,然后将结果赋值给XY图,这样一个多曲线XY图就生成了。也可以自己去手动索引,手动捆绑并生成数组,结果是一样的。在三维图形找到三维线条图形,分别给XYZ数值赋值即可。使用过程非常简单,比其他语言easy很多!1如何使用labview创建2D多曲线图。

2024-04-04 13:36:47 712

原创 lanbiew程序如何提高变量读取速度(全是干货)

为什么属性节点的读写很慢?因为第一,属性节点涉及到界面UI的刷新,它涉及到重绘所有相关控件和背景,它是一个相对耗时的操作,因此效率较低。第二,在多任务的操作系统中,不同的线程为了竞争CPU,内存,会导致属性节点的读写时间不稳定。结果是:应用程序目录和属性节点的方式最慢。所以在追求程序极限性能的环境中应该尽量避免使用属性节点和应用程序目录。3.用应用程序目录生成一个十万个路径的数组。4.用属性节点的方式生成十万个数的数组。1.用局部变量生成一个十万个数的数组。2.用全局变量生成一个十万个数的数组。

2024-04-02 18:14:34 152 2

原创 labview中6种机械动作的区别

3.单击时转换保持到鼠标释放:触发两次,自动恢复原来状态;相当于文本语言的pressed和released;2.释放时转换:释放时时转换,需要手动转换或者赋值回复原来状态;1.单击时转换:单击时转换,需要手动转换或者赋值回复原来状态;6.保持触发直到鼠标释放:触发两次,刷新控件后恢复原来状态;4.单击时触发:单击时转换,刷新控件后恢复原来状态;5.单击时触发:释放时转换,刷新控件后恢复原来状态;相当于文本语言的pressed和released;

2024-03-13 22:12:22 339

原创 labview中三种执行方式的区别

2.预分配副本重入执行:每个线程运行的是这个子VI的副本,其具有单独的数据空间。labview的很多内部函数节点都是可重入执行的,像加、减、乘、除等基本运算函数。其次,修改预分配副本的程序框图必须切换到编辑模式。1.非重入执行:当两个线程同时调用同一子VI时,需要让先满足数据流条件的子VI得到调用权,另外一个线程必须暂时等待,等到上一个线程结束调用时,才能得到调用的控制权。3.共享副本重入执行:在需要的时候创建一个副本,运行完毕之后关闭。需要特别注意的是未初始化的移位寄存器会统一共享数据空间。

2024-03-12 09:47:20 236

原创 labview的常用小技巧

1.切换:labview中控件函数与函数选板的使用非常频繁,而使用菜单来调用他们非常不方便。最简单的调用方法是:右击前面板,弹出控件选板;然后按住Ctrl+E组合键,即可快速在前面板和程序框图之间切换。2.克隆:用鼠标左键选择控件或者控件集合,按下Ctrl键后拖动鼠标,可以直接创建新的控件或控件集合,这种方法称为克隆。对于已经存在的局部变量,通过剪切板复制是不行的,因为粘贴后会创建一个新的控件及局部变量。3.分支切换:对于事件分支或者选择结构分支,可以Ctrl+滑动鼠标滚轮进行事件分支的快速切换;

2024-03-11 15:04:20 139

原创 Qt单步调试时调试指针消失的问题

改成下面就可以了,这应该算QT编译器的一个BUG。

2024-02-21 15:59:36 89

原创 | 和 ||,& 和 && 的区别

和 && 在判断语句中都可以实现“和”这个功能,不过区别在于 & 两边都运算,而 && 先算 && 左侧,若左侧为 false 那么右侧就不运算了。因此从效率上来说,判断语句中推荐使用 &&(换句话就是逻辑运算就老老实实用逻辑运算符,不然它为啥叫逻辑运算符呢?而“||”,是条件“或”运算符 (||) 执行 bool 操作数的逻辑“或”运算,在第一次的情况不存在的时候,才判断第二个条件。| 计算操作数的按位“或”结果,即使第一种情况存在,也要判断第二种情况。

2024-02-05 09:15:31 52

原创 VS无法解析的外部符号

0ShapedClock@@QEAA@PEAVQWidget@@@Z),该符号在函数 “public: __cdecl QtVM::QtVM(class QWidget *)” (?0QtVM@@QEAA@PEAVQWidget@@@Z) 中被引用 QtVM D:\project\C++\QtVM20231205V1.1\QtVM20240125\QtVM20240117\QtVM\QtVM\QtVM.obj 1。

2024-02-01 15:18:02 59

原创 QT5.14+VS2017安装踩过的一些坑

1.在QT中使用MSVC只能用VS2017,相应的调试器的版本只能用15.9,高于15.9的亲测都不行。完整的安装除了需要QT5.15和VS2017,还需要Windows SDK (10.0.22621) 下载地址:https://developer.microsoft.com/zh-cn/windows/downloads/windows-sdk/;2.在VS中使用QT可以用VS2017,VS2019,VS2022,VS2022不能安装在win7上。因为VS2022不支持win7,时代在进步了。

2024-02-01 15:09:26 340

原创 QT信号与槽可以传递的数据类型

QT信号与槽可以传递的数据类型只能是一些简单的数据类型,比如int ,double,QString,bool,QStringList,QImage,不能是QVector,指针,结构体;如果要传递复杂的数据,建议用最笨的方法,把复杂数据分解成多个元数据,不推荐用Q_DECLARE_METATYPE(Type)自定义类型,因为很麻烦!

2024-02-01 14:52:26 309

原创 Qt 一种避免UI线程假死的办法

【代码】Qt 一种避免UI线程假死的办法。

2024-01-31 18:33:57 46

原创 QT中一种隐蔽的死锁

延伸:在同一个线程中,一个事件分支中对锁A已经加锁,并且引用了QCoreApplication::processEvents(QEventLoop::AllEvents, 100)或者QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents, 100);另外一个timeEvent如果也对锁A加锁,那么在事件结构进行的时候锁A被同时加锁两次,造成死锁。所以锁的最好形式是一个线程一把锁,避免在timeEvent中加锁!

2024-01-31 18:27:47 270

原创 QT仪表盘小工具

https://download.csdn.net/download/qwerqwerdhr/88794678,没有积分的可以留言我发你邮箱!

2024-01-30 11:44:00 296

原创 labview高低拼接的理解

计算机的一个字节由8位组成,无符号的8位整形表示的范围为0~255,范围太小了,所以用双字节,即16位整形表示更大范围的数字0 ~65535。2.labview中的高低拼接实质是高8位字节左移8位与低8位字节相加,结果是双字节整形。

2024-01-28 22:09:23 248

原创 labview中如何提高halcon图像的匹配成功率,准确率和速度

之后做了很多项目,发现halcon的识别准确度确实比labview的高。labview的形状匹配GeometricMatch准确度也不低,但是只能应对小图像,比较适合500万以及五百万以下的工业相机。1000万相机/2000万相机创建模板的时候金字塔建议用5,匹配的时候用5-6两种金字塔。1.500万相机创建模板的时候金字塔建议用4,匹配的时候用4-5两种金字塔。金字塔越大,特征越少,匹配的成功率越高。2)缩小匹配角度,halcon的angleExtent指的是终止角度减起始角度。1)缩小搜索区域ROI。

2024-01-21 22:02:09 268

原创 labview树形控件的使用

left cell string 为第一列内容,child text 为后续每列的内容。child position为默认0表示添加的是父项。child postion表示添加子项的位置,child only表示只能添加子项。value表示当前项,删除当前项后树形控件指向前一项。代码在附件里面,代码已经经过验证!

2024-01-14 22:44:01 642 2

原创 labview重入执行一个坑

labview移位寄存器是labveiw的灵魂,运行速度超级快,但是移位寄存器和共享副本重入执行一起使用的时候就会产生一个大坑。共享副本重入执行的VI执行结束之后,里面移位寄存器的数据会传递给下一次打开该VI的移位寄存器,这样就会导致数据相互串。但是如果这个IV一直不结束,使用共享副本重入执行也不会有啥问题,因为这个时候是多份副本一起运行,多个线程之间互相不干涉。这就等同于预分配副本重入执行。如上图,正确的做法是改用预分配副本重入执行。

2023-11-26 12:05:39 859

原创 影响labview程序性能的几个因素

6.labview最好不要使用外部UI控件,尽量使用labview自带的UI。像c#的datagrid的表格控件设甚至会导致软件崩溃!labview是天然的多线程程序,一个超时分支或者一个while循环即是一个线程,要想程序写的好,运行快,必须注意超时分支的代码,4.不能在循环或者超时分支中频繁地使用属性节点,比如fit to panel和zoon to fit等等。2.不能在循环或者超时分支中频繁地读写本地文件,尽量一次读取,多次调用。3.不能在循环或者超时分支中频繁地改变数组长度和字符串的长度。

2023-11-13 17:17:19 380

原创 自己做过的几种笛卡尔坐标系定位

还有一种方式是找到上下相机原点重合处作为右起点,右终点-右起点+视觉位置之差。放料:定位好XY放料的时候可能存在固定偏差,料越高,Z轴移动距离越大,偏差越大。使用示教点补偿即可,即示教终点-起点+视觉补偿=相对运动距离,补偿以基准为偏差。3.下相机固定拍起点,上相机活动拍终点,使用吸嘴吸物料。取料:以相机中的某个点为定位基准,不断靠近基准;起点不需要拍物料,因为物料相对夹爪在Y方向固定。任何放料都需要考虑到起点和终点的误差。起点补偿到视觉基准,终点为理论终点。终点-起点+视觉补偿。

2023-09-27 10:28:41 88

原创 C++常见概念

存储在全局区,声明周期为整个文件;静态全局变量==私有全局变量,静态局部变量为当前函数私有。数组是一块连续的内存空间,可以通过下标访问,而不能修改。指针是一个地址空间,可以访问变量也可以修改变量。3.static变量存储在哪个区域?指针是一个单独的地址空间。引用是一个别名,没有空间。两者都会修改变量的值。

2023-09-26 09:57:48 50

原创 使用labview做的一个软键盘

可以对窗口位置进行设定,代码在附件中,键盘的视觉效果也不错,适合触摸屏使用。

2023-09-06 22:47:36 291 2

原创 labview如何使用代码控制窗口位置

但如果要通过代码来控制,首先我们想到的是如下的程序框图,但结果是一下左,一下右,窗口出现的位置没达到预期。无论是否生成exe,结果都是不稳定。还有一个方法可以控制窗口的位置,实验结果稳定,如下图所示,用到的函数就是“窗口边界”。将窗口设置在屏幕的不同位置,可以使用VI属性来自定义位置,如下所示。

2023-09-05 23:11:10 474

原创 适用于任何语言的编程心法

3.要学会善用工具,能不写算法就不写算法。工具的稳定性和效率在绝大部分情况下比自己写的好,要善于借鉴别人的智慧,提高编程效率,用多出的时间享受人生!1.当我们的程序原来越大,越写越多的时候也要学会删除不常用的变量,不常用的ui,不常用的方法。2.要学着整理归类模块,删除不常用的模块\n多余的程序会成为日后维护的重大阻碍。

2023-08-29 00:23:10 54

原创 opencv任意角度旋转

opencv常规角度旋转就用cv::rotate,参数0,1,2可以进行90,180,270度旋转,运行速度也比较快。

2023-08-27 22:16:13 553

原创 opencv图像修复

1创建掩码mask:1).cv::threshold二值化 2).cv::dilate膨胀,mask中非0像素表示要修复的区域。2.cv::inpaint修复。

2023-08-27 22:04:48 154

原创 opencv 分类器的使用

一,分类器训练,运用到的主要函数为1.opencv hogdescriptor::compute,将原图转化为一维数组,2.resize,将所有图像转化为一样大小,3.cv::svm.train和cv::svm.save。1.resize 2.转化测试图像为一维图像,3.预测。

2023-08-24 22:52:16 185

原创 opencv c++轮廓筛选

第五步:计算多边形和光栅形状的最高达三阶的所有矩;矩用来计算形状的重心、面积,主轴和其它形状特征。第二步:寻找轮廓findcontours。第三步:进行筛选,然后pushback。第一步:二值化threshold。第四步:进行与或运算。

2023-08-22 22:04:23 167

原创 VS+QT+opencv BLOB斑点分析

2.根据参数创建detector,检测。代码只是截取项目中的一段,根据项目删减。1.声明参数params,设置参数。3.在原图中绘制keypoints。

2023-08-20 18:22:31 153

原创 VS2019中如何使不同项目指向同一份.h.cpp?

这里介绍一个小知识,#include除了可以指向当前项目下的文件,还可以指向附加包含目录文件下的文件。在B项目的包含目录中添加A项目的include文件路径,将公有文件放到A的include文件夹下,在B项目中使用“添加现有文件”就可以使B项目指向A项目中的.h .cpp。VS中有时候需要多个项目指向同一份.h.cpp,这样子方便修改!

2023-08-08 17:08:20 272

原创 将其他exe嵌入labview程序

2.将其他exe嵌入labview程序需要用到windows的uer32.dll库函数,实现的思路是用FindWindowA找到本VI窗口句柄和exe窗口的句柄,然后用FindWindowExA找到labview窗口的子句柄,子句柄也就是图片框的窗口句柄。然后用SetParent函数将图片框窗口句柄设置为exe窗口句柄的父句柄。1.本文所运用到的控件为.net里面的图片框或者网页浏览器,两者都可以达到一样的效果。最后的效果如图所示,在WebBrowser控件里面可以操作微信等exe。

2023-07-26 16:30:33 2184 7

labview中的同步定时结构

labview中的同步定时结构

2024-04-14

labview中6种机械动作的区别

labview中6种机械动作的区别

2024-03-13

VS2017c++安装包只有2个G

自己制作的VS2017c++安装包,只有2个G,方便携带

2024-02-01

使用QT5.14制作的仪表盘小工具

改编自QT的例程,使用QT5.14制作的仪表盘小工具

2024-01-30

labview树形控件的使用

labview2019编写

2024-01-14

labview树形控件的使用

使用labview2019编写

2024-01-14

使用labview求无规则圆的质心

使用labview 2019编写

2023-09-09

使用labview2019做的一个软键盘

使用labview2019做的一个软键盘

2023-09-06

labview如何使用代码控制窗口位置

labview如何使用代码控制窗口位置

2023-09-05

opencv 分类器的使用

opencv 分类器的使用

2023-08-24

opencv c++轮廓筛选

opencv c++轮廓筛选

2023-08-22

VS+QT+opencv BLOB斑点个数检测

使用VS2019+QT5.14编写

2023-08-20

将其他exe嵌入labview程序

使用labview2019编写

2023-07-26

labview各种赋值方式的深入研究

使用labview2019编写

2023-07-24

使用labview2019置顶其他exe窗口

使用labview2019置顶其他exe窗口

2023-07-22

使用labview2019设定系统时间

使用labview2019设定系统时间

2023-07-22

经典的三点码盘坐标算法

使用labview2019编写

2023-07-22

basler SDK 转opencv mat

可以使用虚拟相机,可以设置曝光

2023-07-06

使IMAQdx实现图像异步采集

labview2019编写

2023-06-30

分享一个获取曝光属性名字的小技巧

分享一个获取曝光属性名字的小技巧

2023-06-12

相机视野中带倾斜角度的XY运动

使用labview2019编写

2023-06-11

使用labview求无规则圆的质心

使用labview 2019编写

2023-06-11

labview调用halcon匹配详解

使用labview2019和halcon2019

2023-06-07

labview自主学习OCR字符

使用labview2019编写

2023-06-07

Hex String如何转化为数字

使用labview2019编写

2023-06-07

VS2019 CPP调用众为兴运动控制卡dll范例

VS2019 CPP调用众为兴运动控制卡dll范例

2023-06-01

操作者练习-ABC三个程序相互控制

操作者练习-ABC三个程序相互控制

2023-05-29

labbiew显示匹配结果

使用labview2019编写,该函数在labiew逻辑编写页面找不到,需要在example的路径下找到,这里提供一个便利。

2023-02-12

labview自动对焦实现

使用labview2019编写的,需要相机和一个可以控制相机底座的轴来实现

2023-02-12

opencv4的32/64位MingW

QT推荐用64位的,64位可以debug,32位断点调试GDB has no responding

2023-01-15

手眼标定--仅供个人使用

手眼标定--仅供个人使用

2021-10-25

上升沿和下降沿的判断方法

使用labview2018编写

2021-07-01

UI按钮,白蓝风格,四种状态

使用labview2018制作的一下简单的UI按钮,白蓝风格,每种按钮都有四种状态。

2021-07-01

labview HTTP交互.zip

使用labview2018编写,包含新建本地服务器以及如何验证。

2021-07-01

epson机器人原点精确校准步骤

适用于epson机器人初学者

2021-01-19

labveiw modbus传输

本资源是使用labview2016开发的,需要安装dsc模块,tcp和RTU方式都有,包含松下PLC地址转换方式

2021-01-15

使用labview的http协议post 和get ,带解析

1.网页打不开的post不了,不存在的属性post不了,属性不区分大小写 2.post模式下内容格式要对,=赋值不能少 3.get模式下url=不能少 4.header 200表示响应成功,post 的内容要用web services readpostdata,两个VI一起打开,然后点击web开始就可以了

2021-01-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除