Qt 之 QtConcurrent

本文以 Qt 中的 QtConcurrent::run() 函数为例,介绍如何将函数运行在单独的某一个线程中。 1QtConcurrent::run() QtConcurrent 是一个命名空间,它提供了高层次的函数接口 (APIs),使得编写的程序,可根据当前计算机中实际的 CPU 核数,...

2019-05-13 08:48:07

阅读数 15

评论数 0

QT高级编程技巧(二)-- 编写多线程和并发应用

学习QT多线程编程之前,有必要先熟悉事件循环的概念。先看一个单线程界面程序的主函数代码: int main(int argc, char* argv[]) {   QApplication app(argc, argv);   // 构造主窗口对象并显示   MainWindow w;  ...

2019-05-13 08:31:59

阅读数 27

评论数 0

QT高级编程技巧(一)-- 编写高效的signal & slot通信代码

关于QT的线程通信,我们都会想到signal & slot机制。先回顾下利用signal &slot机制实现控件消息处理的方法。 控件消息处理 假设我们的主界面上有一个使用ui->btn指向的QPushButton对象,要实现该对象的clicked...

2019-05-13 08:23:05

阅读数 7

评论数 0

Qt之多线程编程经验

自动化生产设备软件开发背景,主要关于视觉引导、运动控制和人机交互,平台使用QT+VS2013。本编随笔主要分享QT多线程编程相关的经验。 背景 上图是一个用于机器视觉引导的生产软件截图,软件由七个工作线程组成,各个工作线程负责接收控制系统的引导请求,采集图像后进行处理分析、模式匹配和坐标转...

2019-05-13 08:18:51

阅读数 9

评论数 0

PID控制算法的c语言实现 附录3 隶属函数(membership function)

附录3 隶属函数(membership function),用于表征模糊集合的数学工具。对于普通集合A,它可以理解为某个论域U上的一个子集。为了描述论域U中任一元素u是否属于集合A,通常可以用0或1标志。用0表示u不属于A,而用1表示属于A ,从而得到了U上的一个二值函数χA(u),它表征了U的...

2019-04-26 08:01:42

阅读数 33

评论数 0

PID控制算法的c语言实现 附录2 直流电机PWM调速系统中控制电压非线性研究

附录2 直流电机PWM调速系统中控制电压非线性研究 引言 由于线性放大驱动方式效率和散热问题严重,目前绝大多数直流电动机采用开关驱动方式。开关驱动方式是半导体功率器件工作在开关状态,通过脉宽调制PWM控制电动机电枢电压,实现调速。目前已有许多文献介绍直流电机调速,宋卫国等用89C51单片机...

2019-04-26 08:01:28

阅读数 131

评论数 0

PID控制算法的c语言实现 附录1 如何让UK值与PWM占空比值对应

看到有不少人问到底如何让UK值与PWM占空比值对应,进而实现占空比输出和输出控制电压对应。 (注意,我这里讨论的前提是输出控制的是电压,不是PWM方波。PWM输出后要经过滤波整形再输出控制。) 前提条件: 输出电压控制电压范围是0-10V。 给定、反馈、输出电压采样输入电压范围是0-5V(...

2019-04-26 08:01:19

阅读数 52

评论数 0

PID控制算法的c语言实现十一(PID系列完结篇) 模糊PID的参数整定

这几天一直在考虑如何能够把这一节的内容说清楚,对于PID而言应用并没有多大难度,按照基本的算法设计思路和成熟的参数整定方法,就算是没有经过特殊训练和培训的人,也能够在较短的时间内容学会使用PID算法。可问题是,如何能够透彻的理解PID算法,从而能够根据实际的情况设计出优秀的算法呢。 通过讲述公...

2019-04-26 08:01:07

阅读数 51

评论数 0

PID控制算法的C语言实现十 模糊算法简介

在PID控制算法的C语言实现九中,文章已经对模糊PID的实质做了一个简要说明。本来打算等到完成毕业设计,工作稳定了再着力完成剩下的部分。鉴于网友的要求和信任,抽出时间来,对模糊PID做一个较为详细的论述,这里我不打算做出仿真程序了,但就基本概念和思路进行一下说明,相信有C语言基础的朋友可以通过这些...

2019-04-25 23:13:50

阅读数 93

评论数 0

PID控制算法的C语言实现九 专家PID与模糊PID的C语言实现

本节是PID控制算法的C语言实现系列的最后一节,前面8节中,已经分别从PID的实现到深入的过程进行了一个简要的讲解,从前面的讲解中不难看出,PID的控制思想非常简单,其主要问题点和难点在于比例、积分、微分环节上的参数整定过程,对于执行器控制模型确定或者控制模型简单的系统而言,参数的整定可以通过计算...

2019-04-25 23:13:13

阅读数 80

评论数 0

PID控制算法的C语言实现八 变积分的PID控制算法C语言实现

变积分PID可以看成是积分分离的PID算法的更一般的形式。在普通的PID控制算法中,由于积分系数ki是常数,所以在整个控制过程中,积分增量是不变的。但是,系统对于积分项的要求是,系统偏差大时,积分作用应该减弱甚至是全无,而在偏差小时,则应该加强。积分系数取大了会产生超调,甚至积分饱和,取小了又不能...

2019-04-25 23:12:33

阅读数 20

评论数 0

PID控制算法的C语言实现七 梯形积分的PID控制算法C语言实现

先看一下梯形算法的积分环节公式 作为PID控制律的积分项,其作用是消除余差,为了尽量减小余差,应提高积分项运算精度,为此可以将矩形积分改为梯形积分,具体实现的语句为: pid.voltage=pid.Kp*pid.err+index*pid.Ki*pid.integral/2+pid.K...

2019-04-25 23:11:44

阅读数 21

评论数 0

PID控制算法的C语言实现六 抗积分饱和的PID控制算法C语言实现

所谓的积分饱和现象是指如果系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置,若控制器输出U(k)继续增大,执行器开度不可能再增大,此时计算机输出控制量超出了正常运行范围而进入饱和区。一旦系统出现反向偏差,u(k)逐渐从饱和区退出。进入饱和区越深则...

2019-04-25 23:10:58

阅读数 18

评论数 0

PID控制算法的C语言实现五 积分分离的PID控制算法C语言实现

通过三、四两篇文章,基本上已经弄清楚了PID控制算法的最常规的表达方法。在普通PID控制中,引入积分环节的目的,主要是为了消除静差,提高控制精度。但是在启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,导致控制量超过执行机构可能允许的最大动作范围对应极限控制量...

2019-04-25 23:09:52

阅读数 31

评论数 0

PID控制算法的C语言实现四 增量型PID的C语言实现

上一节中介绍了最简单的位置型PID的实现手段,这一节主要讲解增量式PID的实现方法,位置型和增量型PID的数学公式请参见我的系列文《PID控制算法的C语言实现二》中的讲解。实现过程仍然是分为定义变量、初始化变量、实现控制算法函数、算法测试四个部分,详细分类请参加《PID控制算法的C语言实现三》中的...

2019-04-25 23:08:26

阅读数 46

评论数 0

PID控制算法的C语言实现三 位置型PID的C语言实现

上一节中已经抽象出了位置性PID和增量型PID的数学表达式,这一节,重点讲解C语言代码的实现过程,算法的C语言实现过程具有一般性,通过PID算法的C语言实现,可以以此类推,设计其它算法的C语言实现。 第一步:定义PID变量结构体,代码如下: struct _pid{ float SetSp...

2019-04-25 23:05:58

阅读数 47

评论数 0

PID控制算法的C语言实现二 PID算法的离散化

上一节中,我论述了PID算法的基本形式,并对其控制过程的实现有了一个简要的说明,通过上一节的总结,基本已经可以明白PID控制的过程。这一节中先继续上一节内容补充说明一下。 1.说明一下反馈控制的原理,通过上一节的框图不难看出,PID控制其实是对偏差的控制过程; 2.如果偏差为0,则比例环节...

2019-04-25 22:57:11

阅读数 43

评论数 0

PID控制算法的C语言实现一 PID算法原理

最近两天在考虑一般控制算法的C语言实现问题,发现网络上尚没有一套完整的比较体系的讲解。于是总结了几天,整理一套思路分享给大家。 在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发...

2019-04-25 22:55:06

阅读数 37

评论数 0

chmod 权限 命令详细用法

指令名称:chmod 使用权限:所有使用者 使用方式:chmod[-cfvR][--help][--version]modefile... 说明:Linux/Unix的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。 参数: mode:权限设定字串,格...

2019-03-26 16:28:14

阅读数 32

评论数 0

Qt实现文件管理器

Windows的资源管理器,大家很熟悉吧,可以放回上一级,查找到下一级………Qt中QDir类可以实现显示文件系统目录的效果。 笔者的机器环境:Windows8.1 //fileview_widget.h #ifndef FILEVIEWWIDGET_H #define FILEVIE...

2019-03-25 19:43:08

阅读数 163

评论数 0

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