- 博客(362)
- 收藏
- 关注
原创 QT c++ QWaitCondition 线程等待条件
数据也像工厂一样,有它相应的数据链条,一级一级传输。用QT QWaitCondition是一种办法。要让现场B先启动,等待条件变量满足,执行汇集、数据处理等。如果不让线程B先启动,可能造成遗漏。
2024-04-19 16:36:28 1039
原创 QT c++ 读写锁简单举例
//读写锁是一种同步工具,用于保护可以进行读写访问的资源。//如果您希望允许多个线程同时进行只读访问,则这种类型的锁非常有用,//但是,一旦一个线程想要写入资源,就必须阻止所有其他线程,直到写入完成。//在许多情况下,QReadWriteLock是QMutex的替代品。//如果有许多并发读取并且写入不频繁,那么QReadWriteLock是一个不错的选择。
2024-04-19 11:57:20 444
原创 QT c++ 将浮点数数组转换成 QByteArray
//本文描述2种方法将浮点数数组转换为字节数组QByteArray//在QT6.2.4 MSVC2019 调试通过
2024-04-18 19:38:19 541
原创 QT sqlite BLOB类型 写入数组
//sqlite数据库的BLOB类型常常用来存数组,不同类型和长度的数组,需要转化为一个个//字节。//哪些数组呢,整型、浮点型、字符串都可以。图像的raw数据也是数组。
2024-04-18 16:58:41 427
原创 QT Sqlite 内存模式 简单读写
//本文描述了QT Sqlite 内存模式 ,写入和读取。//QT 6.2.4 MSVC2019调试通过。
2024-04-18 14:20:33 728
原创 QT 线程之movetothread
本文以实例的方式描述了movetothread()这种线程的方法,将QObject的子类移动到指定的线程。优点:克服了重写run的缺点,比较灵活简洁,缺点:但是不能在线程里面实现常驻任务(死循环的任务)。
2024-04-06 23:46:49 759
原创 QT 创建线程的几种方法
QT 创建线程的几种方法1.继承QThread类重写run方法2.使用Qt的QRunnable类3.使用Qt的QThread的moveToThread方法4.使用Qt的QRunnable和QThreadPool5.使用Qt的 Concurrent
2024-04-06 20:15:15 394
原创 QT 线程的启动
线程拥有自己的事件循环,使它能够关联其它线程的信号到本线程的槽上,这使用了队列关联机制,就是在使用connect()函数进行信号关联时,将QT::ConnectionType类型的参数指定为QTimer和QTcpSocket等。每个线程都可以从操作系统获得自己的堆栈,操作系统会决定堆栈的默认大小,也可以使用setStackSize()来设置一个自定义的堆栈大小。QT 提供了线程对线程的支持,这包括一组与平台无关的线程类、一个线程安全的发送事件的方式以及跨线程的信号-槽的关联。,直到线程结束执行。
2024-04-03 23:44:27 464
原创 信捷 XD/XL plc 单精度/双精度浮点数比较 ECMP,EDCMP
信捷 XD/XL plc 单精度/双精度浮点数比较 ECMP,EDCMP
2024-04-02 19:02:17 311
原创 QT C++ QButtonGroup应用
QT 中,按钮数量比较少,可以分别用各按钮的信号和槽处理。当按钮数量较多时,用QButtonGroup可以实现共用一个槽函数,批量处理,减少垃圾代码,减少出错。
2024-03-16 14:29:09 818
原创 QT c++ 双精度数拆分和组合 Tool
本文描述QT c++的双精度数拆分和合并,即双精度浮点数拆为四个16位无符号整数以及将四个16位无符号整数组合为双精度浮点数。
2024-03-14 13:44:57 1003
原创 QT6 界面中嵌入第三方程序中的窗口
本文描述QT6界面中嵌入第三方程序中的窗口。第三方程序也是用QT6编写。QT的编译器版本都为QT6.2.4 MSVC2019 64 bit第三方程序为QT写的能调试成功。但不是QT写的还不可以。使用场景:将软件分成几个模块,多人写或者一个人先后写。integrate()函数和GetWinHwndByTitle(QString title)函数很容易稍加修改,放入你自己的GUI类中。注意:头文件中需要加#include #pragma comment (lib
2024-03-12 14:00:24 540
原创 QT6 libModbus 用于ModbusTcp客户端读写服务端
本文使用开源库libModbus,进行modbusTcp通讯,客户端写软件读写服务端。性能:读1次和写1次约各用时2ms。
2024-03-02 23:40:46 1345
原创 基于QT和Visa的安捷伦(keysight)34970A温度采集
在以前的文章中,描述了如何在labview开发读取34970A仪器采集的温度。也描述了如何安装keysight IO Libraries Suits.那么本文更进一步,描述QT平台c++语言开发软件,读取34970A仪器采集的温度。以下是c++代码,因为采集耗费时间长,所以用线程的方式。
2024-02-28 14:48:35 942
原创 QT c++ 海康红外热像仪
/0- TCP 方式,1- UDP 方式,2- 多播方式,3- RTP 方式,4-RTP/RTSP,5-RSTP/HTTP。//0- TCP 方式,1- UDP 方式,2- 多播方式,3- RTP 方式。//码流类型:0-主码流,1-子码流,2-三码流,3-虚拟码流,以此类推。//码流类型:0-主码流,1-子码流,2-三码流,3-虚拟码流。
2024-02-24 17:03:13 3097 6
原创 QT c++ 双精度浮点数转换成4个16位数
在进行modbus通讯中,将双精度数写入设备中,需要把它拆成4个寄存器,再发出去。在从设备中读取很多个寄存器时,其中可能包含双精度数,那么需要4个寄存器合成双精度数。之前的文章中介绍了labview的方法。那么在c++中如何办呢,用联合体union是一种方法将下面的函数拷贝如你自己的项目cpp文件中,记得将函数添加头文件。
2024-01-09 18:24:33 525
原创 QT5.14 实现ModbusTCP客户端 Demo
本文在QT5.14平台,基于QModbusClientTcp类,实现了客户端对单个寄存器的读写,用ModbusSlave做服务器做测试。(2)更改写按钮的名称为bt_Write。(1)更改读按钮的名称为bt_Read。3.修改mainWindow.h。2.修改pro文件的第三行。
2024-01-05 14:54:15 1128
转载 转:AUTOIT 获取 exe文件的控件(用c# 或MFC)
文章浏览阅读278次。痛点(创建这个工程的目的)在软件自动化的过程中,常常遇到一些windows弹出框,上传文件等,常用的解决方案如AutoItv3,该项目使用Python 简单封装了一下 autoitv3,用于Windows MFC UI的自动化操作和测试。python 桌面自动化autoit3_GitHub - hichuck/autoit-v3-py: 使用python封装autoitv3,提供python测试MFC UI的入口...-CSDN博客。
2023-11-29 14:13:14 171
原创 labview 安捷伦 34970A 采集温度等
本文详细描述了怎么用安捷伦34970A采集温度,并列出了labview的下载链接,具有一定的参考价值。
2023-11-23 15:00:28 689
原创 松下A6B伺服 马达不动问题解决
本人在用信捷XDH plc ethercat总线,连松下A6B伺服,轴配置完成轴调试时,出现能使能,但。上图把SI2 SI3 SI4 输入屏蔽掉,也即屏蔽掉“正方向驱动禁止输入”,“负方向 驱动禁止输入”、用USB线连接伺服,打开PANAPARM软件,自动找伺服型号,确定,然后在其它里面点IO脚定义。另外:可在B站搜索框内输入“ 松下 A6B”,也可直接看如下网址视频。修改完成后,在信捷PLC能调试让伺服马达动,也能用指令让马达动。开始总怀疑时信捷PLC的原因,后面查明是输入口定义引起的。
2023-10-29 20:28:28 314
原创 c# ManualResetEvent WaitHandle 实现同步
//本文演示了ManualResetEvent 类的非静态set()、Reset()、WaitOne()和//WaitHandle类的静态方法WaitAllWaitAll()//它们用于线程间的同步控制。//实现了如下功能:线程1(定时控制)通知线程2和线程3采集数据//线程2和3数据采集完了,各自通知线程1情况。//那么线程1采集收到了两个线程的通知,则进行下一轮采集
2023-10-23 23:01:48 879
原创 STM32 JLINK感叹号问题解决
简单的讲手动更新驱动->选择 C:\Keil\ARM\Segger\USBDriver\x64 目录下,更新。
2023-10-15 21:36:20 412
原创 labview 混合信号图 多曲线分组
一个混合信号图中可包含多个绘图区域。默认所有曲线在一个组里,可通过下图中蓝色标识内手行被选中时,鼠标左键,点击混合信号图左侧的对应组内曲线,拖动到需要放置的组。
2023-09-25 14:36:13 524
原创 安柏仪器 AT2817A 精密LCR数字电桥
AT2818/2816A/2816B/2817A/2817/810A 是精密 LCR 数字电桥,采用高性能 32 位 ARM 微 处理器控制的全自动实时检测的微型台式仪器。
2023-09-21 15:50:29 154
原创 信捷 XDH Ethercat 高速计数器计数准确性
本人在X0,X1连手轮(手轮刻度100),CNT_AB指令使用高速计数器HSC0,出现了计数值不对。转1圈应该有计数值变化400,实际变化只有50左右,有时多于50,有时少于50。检查发现SFD320等于4,是正确的,百般不得其解。
2023-08-17 16:12:07 713 1
原创 信捷 XDH Ethercat A_GearIn指令与轴配置
A_FOLLOW指令,有时不能满足要求,需要更高级的指令A_GearIn指令。下面的例子A_GearIn指令和CNT_AB指令实现手轮动马达动,手轮停马达停,手轮转的快马达也转得快。(手轮输出接到PLC的X0和X1点)
2023-08-15 17:22:02 1182
原创 谈谈FFT到底有何用
谈谈FFT到底有何用FFT快速傅里叶变换是数字信号处理的经典算法,学过DSP或者芯片设计的人大多知道这个算法;但是,大家是否想过,为什么数字信号处理会有那么多FFT呢有人会说,为了分析信号的频谱;那么下边的问题就是,分析频谱对我们的日常需求,比如手机打电话,雷达测量速度和方向等等一些与实际需求有什么联系为什么FFT如此重要本文举一些简明的例子,阐释一下FFT到底有什么用;先回忆一下FFT是什么;上世纪70年代之前,我们主要通过模拟电路来进行信号处理,比如大家熟悉的用二极管和电容进行AM调制信号的包络检波一样
2023-08-02 11:25:10 624
QT QWaitCondition demo
2024-04-19
QT C++ QButtonGroup应用
2024-03-16
QT c++ 双精度数拆分和组合 可执行文件
2024-03-14
QT 的双精度数拆分和合并exe文件,win10 双精度浮点数拆为四个16位无符号整数以及将四个16位无符号整数组合
2024-03-14
信捷XD 流水灯2 本文以XDH 为例,实现输出点流水灯,测试输出点是否正常 用到了FOR NEXT循环和偏移量实现
2023-11-12
在和PLC进行Modbus通讯中,常常需要将多位组合成1个字,以及将1个字拆成多位, labview有函数能非常方便的处理这个
2023-06-08
1.labview调用dotnet 的halcon链接库,显示图片 2.图像识别、模式识别 3.labview转换成halcon
2023-06-02
基于HSLCommunication 的labview 的modbus tcp通讯(客户端连服务端)
2023-03-27
信捷EtherCAT 单轴指令1-.xdp
2023-03-06
FX5U-DRVTBL指令-多个表格运行指令(连续-条件跳转)-两种写法
2023-01-09
FX5U-DDVIT指令-中断1速定位两种写法
2023-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人