- 博客(418)
- 收藏
- 关注
原创 MFC BCGControlBar
BCGControlBar(也称为 BCGSoft 或 BCGControlBar Library)是一个用于 MFC(Microsoft Foundation Classes) 的扩展库,主要提供现代化的 UI 控件、Ribbon 界面、工具栏、属性网格等组件,帮助开发者快速构建专业级的 Windows 桌面应用程序。
2025-04-02 10:38:46
405
原创 QT 非空指针 软件奔溃
在Qt框架中,指针的默认行为与其在C++中的行为是一致的。在C++中,如果一个指针没有被显式地初始化,其值是未定义的(通常是随机的,依赖于内存的状态),这意味着你不能保证它指向一个有效的内存地址。同样,在Qt中,如果你声明一个指针而没有初始化,它将保持其默认的未定义值。例如在这个例子中,button是一个指向的指针,但它没有被初始化。尝试使用这个未初始化的指针会导致未定义行为,比如可能导致或者访问非法内存。
2025-04-01 11:58:40
183
原创 awesome deepseek integration 价值
是由DeepSeek官方团队维护的一站式集成资源库,旨在为开发者、研究人员和企业提供无缝接入 DeepSeek 生态系统的工具、框架和解决方案。通过精心筛选的高质量工具链,项目致力于降低技术门槛,加速 AI 应用开发与部署,推动 DeepSeek 技术在实际场景中的落地。二、核心价值1.精选资源库官方认证:所有工具均通过 DeepSeek 技术团队验证,确保稳定性与兼容性。分类清晰:按功能(模型训练、部署、监控、优化等)和应用场景(NLP、CV、数据分析等)分类,快速定位所需工具。持续更新。
2025-03-14 11:34:02
711
原创 c++ 封装、继承、重写、重载、多态性
概念描述示例封装隐藏内部实现,暴露必要接口。使用private和public控制访问权限。继承子类复用父类的属性和方法。重写子类重新定义父类方法。使用override关键字重写虚函数。重载同名方法根据参数列表不同实现不同功能。定义多个同名方法,参数列表不同。多态性同一方法在不同对象中有不同行为。通过虚函数和父类指针实现。这些概念是 C++ 面向对象编程的核心,掌握它们可以帮助你编写更模块化、可复用和易于维护的代码。
2025-03-14 11:22:14
509
原创 C++ spdlog日志库 应用场景
其灵活的配置和使用方式使其适用于各种不同的应用场景。服务器端应用程序:spdlog提供了高性能的日志记录功能,可以帮助开发人员实时记录应用程序的运行状态和事件,方便排查问题和分析性能。嵌入式系统开发:spdlog具有轻量级和高性能的特点,适合在嵌入式系统中使用,帮助开发人员记录系统运行状态和事件。数据分析和统计:spdlog可以用于记录数据分析和统计过程中的关键信息,帮助开发人员跟踪数据处理过程和分析结果。游戏开发:游戏开发中通常需要记录大量的日志信息,spdlog可以帮助开发人员快速记录日志并进行管理。
2025-03-06 15:05:34
108
原创 QT C++ QtConcurrent::run 异步任务 简单例子
QtConcurrent命名空间提供了高级API,使得无需使用低级线程原语即可编写多线程程序。QtConcurrent::run是Qt框架中用于简化并发编程的一个功能,主要用于在后台线程中异步执行函数或成员函数
2025-02-25 09:19:26
1034
原创 QT C++ new QTableWidgetItem 不需要删除指针
在Qt中,使用QTableWidgetItem时,通常不需要手动删除指针,除非你是在使用原始指针而非智能指针(如std::unique_ptr或std::shared_ptr)。这是因为QTableWidgetItem本身是Qt框架的一部分,它负责管理自己的内存。
2025-02-19 17:53:01
357
原创 QT C++ modbus 两个字 合成 32位整数
在项目开发中,从传感器读到2个字,高字在前,低字在后,本文用两种方法,将两个字顺序交换,转换为32位整数。方法一:用友联方法二:位运算
2025-02-18 14:57:00
308
原创 QT c++ QMetaObject::invokeMethod函数 线程给界面发送数据
在项目开发时,常常需要用线程采集数据,如果要给界面发送数据,本文是方法之二。第一步:在界面类里定义一个带Q_INVOKABLE关键字的函数接收信息第二步:在线程类里,用 QMetaObject::invokeMethod函数把数据发送出去,注意此函数中中指明的第二个参数是在第一步中的函数名称,第四个参数中指明了函数参数类型和个数,要和第一步保的函数参数类型和个数保持一致。
2025-02-14 11:19:53
573
原创 QT c++ QObject::connect函数 线程给界面发送数据
在项目开发时,常常需要用线程采集数据,如果要给界面发送数据,本文是其中的一种办法,第一步:在线程类里定义一个信号函数,通过emit关键字发送出去,第二步:在界面类里定义一个槽函数接收信息,注意信号函数和槽函数的参数类型和个数要一样。第三步:用QObject::connect 连接信号和槽的函数,是实现对象间通信的重要机制。它允许信号发出时自动调用相应的槽函数,从而实现对象之间的解耦和灵活的交互。
2025-02-14 10:44:52
1068
原创 QT c++ 样式 设置 按钮(QPushButton)的渐变色美化
/上面几行是线性过渡色。//上面几行是线性过渡色。//指定布局属于啥组件。//指定布局包含啥组件。//on/off标志。//效果,两种状态的渐变色效果如下。]()//lambda函数。上一篇文章中描述了标签的。
2025-01-11 08:49:17
1172
原创 QT c++ 样式 设置 标签(QLabel)的渐变色美化
/指定布局包含啥组件。//指定布局属于啥组件。上一篇文章中描述了按钮的纯色,本文描述标签的。]()//lambda函数。
2025-01-06 19:33:35
1282
原创 QT c++ 按钮 样式 设置按下和松开的背景颜色
/指定布局属于啥组件。[button2]()//lambda函数。[button2]()//lambda函数。上一篇文章,需要自定义类,本文使用样式设置按下和松开的背景颜色。
2025-01-06 16:40:10
569
原创 QT c++ 自定义按钮类 加载图片 美化按钮
/指定布局属于啥组件。// 按下时的图片路径,改成你自己的。// 释放时的图片路径。//指定布局包含啥组件。//if (isDown()) {//这个不起作用。// 按下时重绘按钮。// 释放时重绘按钮。//因为此类比较简单,1个头文件搞定,没有cpp文件。)//自己定义了个按下的布尔变量。
2025-01-06 13:48:01
542
原创 QT c++ 同时使用sqlite 和mysql数据库的问题
在项目开发中,同时使用了sqlite 和mysql数据库,分开这两部分运行功能都正常,但是一起运行,就异常,sqlite部分不能使用。("MySQLConnection1"))//为避免重复,先移除掉。
2024-12-13 18:10:00
555
原创 信捷 XD PLC C语言 POU 奇数寄存器不能映射为多字变量问题
有一种情况是,在梯形图中使用了数据寄存器是奇数寄存器开始的浮点数,而这个奇数寄存器不能映射为类型为浮点数的变量。那我们又想在pou中访问这个(单精读或双精度)浮点数怎么办呢,一种解决办法是逐字赋值到从偶数寄存器开始的(单精读或双精度)浮点数。所以D2109~2112复制到D74~77,D74是double类型变量Motor0_RelDistance的映射地址。在后退时,需要变成一个负数,在梯形图中不好搞,在POU C语言乘以-1就可以了。//为什么要这样,符号变量的类型是double,则需从偶数地址开始。
2024-12-03 09:11:37
558
转载 转述 奇文一篇:物理学咬文嚼字之一百:万物皆旋
作者:曹则贤 (中国科学院物理研究所)左旋右转不知疲,千匝万周无已时。——[唐]白居易《胡旋女》我以旋转的方式向你靠近,如激流上的花朵,如花朵下的漩涡……——余秀华《辨认》We live on a spinning planet in a world of spin1).——Christopher Buckley运动总可以分解为平动(translation)与转动(rotation)。这话的意思,对应的是矢量的算法不过是加法和乘法(分为内积和外积)。
2024-11-27 11:55:17
58
原创 信捷 XD PLC C语言 POU Bit 和 Bool
本文描述Bit和在Bool类型的全局变量,在FB C语言 POU中的使用。if (1== g_bit1.Val ) //读bit类型并比较。在以前的文章中描述了Bit和Bool类型作为成员变量的情况。(2) 赋值给全局Bool类型的变量。{ //可根据情况添加if条件。g_bit1 = 1;(1)赋值给全局类型的变量。(2)读Bool类型。
2024-11-19 15:38:20
679
原创 信捷 XDH PLC C语言 Ethercat 简易绝对运动 BMC_A_DRVA_BODY函数
/全局变量给定时器的线圈通电。(1)DRVA_PAR_array是类型为BMC_A_DRVA,长度为3的数组。(3)T_MoveOK_array是类型为BMC_A_Stop,长度为3的数组。(2)stp_PAR_array是类型为BMC_A_Stop,长度为3的数组。
2024-11-13 17:55:16
988
原创 信捷 PLC C语言 POU 指示灯交替灭0.5秒亮0.5秒(保持型定时器)
/取(定时器)功能快变量的地址给功能块做参数。//取(定时器)功能快变量的地址给功能块做参数。//取(定时器)功能快变量的地址给功能块做参数。//取(定时器)功能快变量的地址给功能块做参数。//全局变量给定时器的线圈通电。//全局变量给定时器的线圈通电。名称 类型。
2024-11-12 13:50:22
696
原创 信捷 PLC C语言 POU 指示灯交替灭1秒亮1秒
/取(定时器)功能快变量的地址给功能块做参数。//取(定时器)功能快变量的地址给功能块做参数。//取(定时器)功能快变量的地址给功能块做参数。//取(定时器)功能快变量的地址给功能块做参数。//全局变量给定时器的线圈通电。//全局变量给定时器的线圈通电。//全局变量给定时器的线圈通电。名称 类型。
2024-11-12 11:38:18
513
原创 Visa指令简介
Visa指令简介VISA操作表操作表:1、VISA资源模板:viClose(vi):关闭特定的对话通道。viGetAttribute(vi,attribute,attrState):获取资源属性状态值。viSetAttribute(vi,attribute,attrState):设置资源属性状态值。viStatusDesc(vi,status,desc):获取返回状态描述字符串。
2024-11-11 16:31:55
1415
原创 信捷 XD PLC C语言 FB和FC 不同
信捷 XD PLC 的C语言下 FB和FC 的使用,如果你有困惑,本文可能会帮到你!self指针参数指向变量声明区中变量。变量声明区中变量与参数的关系。
2024-11-06 10:35:40
543
原创 信捷 PLC C语言 简易绝对运动函数BMC_A_DRVA_BODY在POU FC中的使用
来执行简易绝对运动需满足两个条件:外部条件和内部条件,外部条件可以一直为true。设置好简易绝对运动的结构体参数后,让内部条件为true.在以前的文章中有描述传统梯形图的写运动控制程序,本文用C语言写简易绝对运动函数的使用。(4) 如果需要运动到另一个位置,到(2)步,然后(3)步。(1)在监视窗口将external_cond置true;所以要确保:在不同地方的调用运动指令的条件的互斥关系。运动位置到达后,程序会自动复位内部条件。,指令的形式包括梯形图也,功能块函数。2在全局变量表中建立变量。
2024-10-31 15:39:12
396
原创 信捷 PLC C语言 定时器在POU FC中的使用
传统梯形图的定时器程序写起来简单,本文用C语言写定时器的使用。plc_debug_var1=true,定时器开始计时。4.调试和监视定时器的输出和当前值。3.调用包含定时器的POU FC。M10000=ON时调用。这个是功能POU程序。2.建立FC POU。
2024-10-28 18:47:17
729
原创 QT6 QXlsx库部署(win10)
基于msvc2019_64编译器1.把qtxlsxwriter-master文件夹复制到Qt\6.2.4\6.2.4\2.以下文件复制到Qt\6.2.4\6.2.4\msvc2019_64\libQt6Xlsx.libQt6Xlsx.prlQt6Xlsxd.prl3.复制Q6Xlsx整个文件夹到Qt\6.2.4\6.2.4\msvc2019_64\include4.复制以下两个文件放到Q6Xlsx整个文件夹到Qt\6.2.4\6.2.4\msvc2019_64\mkspecs\modu
2024-09-26 08:51:26
486
1
原创 RTSI 总线
这种总线接口存在于许多National Instruments的设备上,利用一根RTSI总线电缆,就可以在多块板卡之间共享和交换时钟和控制信号。它通常被用来做同步。用于PCI板卡的同步电缆RTSI总线具有PXI触发总线的一部分功能。配有RTSI总线的PCI板卡的功能包括多功能数据采集(DAQ)、高速数字I/O、高速数字化仪、动态信号采集(DSA)、信号发生器、高速定时I/O、图像采集、运动控制和CAN总线接口连接。许多NI PCI 板卡都配有RTSI总线,该总线可以通过安装在板卡上方的扁平电缆连接器连接。
2024-09-11 18:46:57
392
原创 windows 实时系统
1.TenAsys INtime 操作系统-Windows 实时扩展方案。2.IntervalZero RTX64 实时操作系统。
2024-09-11 10:49:08
355
原创 halcon 畸变矫正算子 VectorToAnison
九点 标定调用的是Halcon的VectorToHomMat2D算子,得 到的齐次变换矩阵包含平移,这个会造成相机原点变动,即像素(0,0)对应的物 理坐标不是零;建议:使用VectorToAnison算子计算变换矩阵,且注 意传入的坐标符号,VectorToAnison算子得到矩阵可 以提取scale和角度信息.
2024-09-09 12:05:37
330
原创 信捷 XD PLC POU编程之FB
FB和FC这两种POU又各自可以建立梯形图语言POU和C语言POU。函数块(FB)是把反复使用的部分程序块转换成一种通用部件,他可以在程序中反复被调用,不仅 提高了程序的开发效率,也减少了编程中的错误,从而改善了程序质量。函数块是在执行时能够产生一个或多个值的程序组织单元。函数块保留有自己特殊的内部变量,这 些内部变量构成自身的状态特征。所以,对于相同参数的输入变量值,由于可能存在不同的内部状 态变量,当然就可能得到不同的计
2024-09-09 11:02:08
1642
原创 解析Xenomai在实时Linux的应用
本文首先简单介绍了实时操作系统,分析了Linux 2.6内核实时性能的不足;然后着重介绍了一个Linux实时化的解决方案--Xenomai,分析了Xenomai的Adeos构架基础,简要说明了Xenomai用户层实时的实现,以及Xenomai支持多种实时操作系统的API的新特点。Linux 2.6.35 Kernel引入了针对Radeon KMS开源显卡驱动的ATI电源管理支持、新款Intel GMA整合芯片组的Intel H.264 VA-API视频加速支持、Radeon DRI2同步和交换功能、Btrf
2024-09-08 22:09:00
1210
原创 信捷 XD PLC 位软元件及(字软元件带偏移的)位软元件
位软元件的种类相对简单,一般为常见的 X、Y、M、HM、S、HS、T、HT、C、HC,除此之外, 还可由寄存器中的某一位来表示。1)继电器⚫ 输入继电器 X,八进制表示法。⚫ 输出继电器 Y,八进制表示法。⚫ 辅助继电器 M、HM、S、HS,十进制表示法。⚫ 辅助继电器 T、HT、C、HC,十进制表示法,由于和寄存器表示方法一样,因此究竟是作为字 寄存器还是位寄存器,需要根据指令判断。2)寄存器的位⚫ 由寄存器中的位组成,支持寄存器 D。⚫ 表示方法:Dn
2024-09-05 10:45:58
907
win10下QT6的QXlsx库部署
2024-09-26
QT C++ 基于word模板 在标签位置写入文字和图片 demo
2024-05-30
word 文档操作类QT C++ 常用的有些文字和图片
2024-05-30
QT C++ 读写mySQL数据库 图片 例子 QT-MySQL-vchar-int-picture-demo.zip
2024-05-29
演示了 QTableWidget的初始化以及单元格值改变时响应槽函数,打印单元格 并且,最后列不一样,是combobox
2024-05-23
QT c++ 代码布局原则 简单例子
2024-04-28
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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人