004_步进电机实验

news2024/11/19 0:53:03
        步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。本章主要从步进电 机的结构、工作原理、电机参数分别介绍,最后通过实验来实现步进电机运动的 简单控制。本章所要实现的功能是:通过 ULN2003 驱动模块控制 28BYJ48 步进电 机运行方向及速度,当按下 KEY1 键可调节电机旋转方向;当按下 KEY2 键,电机 加速;当按下 KEY3 键,电机减速。

步进电机简介

        步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载 的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受 负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性 关系的存在,加上步进电机只有周期性的误差而无累计误差等特点。使得在速度、 位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛的应 用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双 环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机也并 非易事,它涉及到机械、电机、电子及计算机等多专业知识。下图即为混合式步 进电机组成图。

步进电机工作原理

        通常步进电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢 量磁场。磁场会带动转子旋转一定的角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转步距角。每 输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲 数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以 可以控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。 具体看下图:

步进电机极性区分

        步进电机又分为单极性的步进电机和双极性的步进电机;具体简易图如下图 所示:

        其中左侧为单极性步进电机,右侧为双极性的步进电机,从上图中不难看出 区别是什么。单双极性是指一个步进电机里面有几种电流的流向,左侧的五线四 相步进电机就是单极性的步进电机,图中的红色箭头为电流的走向,四根线的电流走向汇总到公共线,所以称之为单极性电机;但是右侧则不同,电机中有两个 电流的回路,两个电流的回路自然就是双极性,所以称之为双极性电机。
单极性绕组
        单极性步进电机使用的是单极性绕组。其一个电极上有两个绕组,这种联接 方式为当一个绕组通电时,产生一个北极磁场;另一个绕组通电,则产生一个南 极磁场。因为从驱动器到线圈的电流不会反向,所以可称其为单极绕组。
双极性绕组
        双极性步进电机使用的是双极性绕组。每相用一个绕组,通过将绕组中电流 反向,电磁极性被反向。典型的两相双极驱动的输出步骤在电气原理图和下图中 的步进顺序中进一步阐述。按图所示,转换只利用绕组简单地改变电流的方向, 就能改变该组的极性。

        永磁步进电机包括一个永磁转子、线圈绕组和导磁定子,只要将线圈通电根 据电磁铁的原理就会产生磁场,分为南北极,见上图所示;通过改变步进电机定 子的磁场,转子就会因磁场的变化而发生转动,同理,依次改变通电的顺序就可 以使得电机转动起来。

双极性步进电机驱动原理

        下图是一个双极性的步进电机整步,步进顺序。在第一步中:将 A 相通电, 根据电磁铁原理,产生磁性,并且因异性相吸,所以磁场将转子固定在第一步的 位置;第二步:当 A 相关闭,B 相通电时,转子会旋转 90°;第三步:B 相关 闭、A 相通电,但极性与第 1 步相反,这促使转子再次旋转 90°。在第四步中: A 相关闭、B 相通电,极性与第 2 步相反。重复该顺序促使转子按 90°的步距 角顺时针旋转。

 

 

        上图中显示的步进顺序是单相激励步进,也可以理解为每次通电产生磁性的 相只有一个,要么 A 相,要么 B 相;但是更常用的是双相激励,但是在转换时, 一次只能换相一次,具体详见下图:

        上图是两相同时通电的旋转顺序,与单相激励不同的是,单相通电后被固定在了与定子正对着的绕组极性,但是双相同时激励时转子却被固定在两个绕阻的 极性中间;此时通电顺序就变成了 AB 相同时通电即可。
        在双相激励的过程中,也可以在换相位时加一个关闭相位的状态而产生走半 步的现象,这将步进电机的整个步距角一分为二,例如,一个 90°的步进电机 将每半步移动 45°,具体见下图。

 

        1. A 相通电,B 相不通电
        2. A、B 相全部通电,且电流相同,产生相同磁性
        3. B 相通电,A 断电
        4. B 相通电,A 相通电,且电流相等,产生相同磁性
        5. A 相通电,B 断电
        6. A、B 相全部通电,且电流相同,产生相同磁性
        7. B 相通电,A 断电
        8. B 相通电,A 相通电,且电流相等,产生相同磁性
        其中 1~4 步与 5~8 步的电流方向相反(电流相反,电磁的极性就相反)这 样就产生了顺时针旋转,同理逆时针是将通电顺序反过来即可。

单极性步进电机驱动原理

        单极性与双极性步进电机驱动类似,都可以分为整步与半步的驱动方式,不 同的是,双极性的步进电机可以通过改变电流的方向来改变每相的磁场方向,但 是单极性的就不可以了,它有一个公共端,这就直接决定了,电流方向。具体旋 转顺序详见下图:

 
        上图是单极性步进电机整步旋转的过程,其中,在图示中分为 5 根线,分 别为 A、B、C、D 和公共端( +),公共端需要一直通电,剩下 ABCD 相中只要 有一个相通电,即可形成回路产生磁场,图中的通电顺序为 A->B->C->D,即可
        完成上图中的顺时针旋转,如果想要逆时针旋转只需要将其倒序即可。 以上是单相通电产生的整步旋转,两相通电也可以产生,两个相邻的相通电, 这样相邻的两个相就都产生了回路,也就产生了磁场,图中的通电顺序为 AB->BC->CD->DA,同理逆时针旋转的顺序为逆序。具体看下图:

         上面两张图清晰的描述了单极性步进电机的通电顺序与旋转的过程,综合这两张图就是单极性步进电机半步的通电顺序,具体看下图:

        上图兼容了前两张图的所有特点,也可以说前两张图是这张图的子集,图中 的通电顺序为:A->AB->B->BC->C->CD->D->DA 转子每次只走半步 45 度,所以 这也被称为半步驱动,与整步相比半步的旋转方式旋转起来更加的顺滑

细分驱动原理

        对于细分驱动的原理,不分单双极性步进电机,下图以单极性为例:
        在上图中均为双相激励;其中图( a)为 A 相电流很大,B 相的电流极其微 弱,接近 0;图 (C) 为 A 相和 B 相的电流相同,电流决定磁场,所以说 A 相 和 B 相的磁场也是相同的,(a) 和(
c)可以是极限特殊的情况,再看图( b) 和图( d)这两个是由于 A 相和 B 相的电流不同产生位置情况;由此可以得出 改变定子的电流比例就可以使得转子在任意角度停住。细分的原理就是:通过改 变定子的电流比例,改变转子在一个整步中的不同位置,可以将一个整步分成多
个小步来运行。
        在上图中就是一个整步分成了 4 步来跑,从( a)~( d)是 A 相的电流逐 渐减小,B 相电流逐渐增大的过程,如果驱动器的细分能力很强,可以将其分成 32 细分、64 细分等;这不仅提高了步进电机旋转的顺畅度而且提高了每步的精 度。细分驱动具有转动顺畅、精度高、转矩大的特点,但控制复杂,一般需要专 用芯片来实现,例如东芝公司的 TB67S10xA 系列步进电机细分驱动芯片,最多可 以把 1 个整步分为 32 个小步。

步进电机技术指标

静态技术指标

        • 相数:产生不同对极 N、S 磁场的激磁线圈对数,也可以理解为步进电机 中线圈的组数,其中两相步进电机步距角为 1.8°,三相的步进电机步距角为1.5°,相数越多的步进电机,其步距角就越小。
        • 拍数:完成一个磁场周期性变化所需脉冲数或导电状态用 n 表示,或指 电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。
        • 步距角:一个脉冲信号所对应的电机转动的角度,可以简单理解为一个脉冲信号驱动的角度,电机上都有写,一般 42 步进电机的步距角为 1.8°
        • 定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。
        • 静转矩:电机在额定静态电压作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。

动态技术指标

        • 步距角精度:步进电机转动一个步距角度的理论值与实际值的误差。用百 分比表示:误差/步距角 *100%。
        • 失步:电机运转时运转的步数,不等于理论上的步数。也可以叫做丢步,一般都是因负载太大或者是频率过快。
        • 失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。
        • 最大空载起动频率:在不加负载的情况下,能够直接起动的最大频率。
        • 最大空载的运行频率:电机不带负载的最高转速频率。
        • 运行转矩特性:电机的动态力矩取决于电机运行时的平均电流(而非静态 电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。
        • 电机正反转控制:通过改变通电顺序而改变电机的正反转。

28BYJ-48 步进电机简介

        28BYJ48 步进电机自带减速器,为四相无线步进电机,直径为 28mm,实物如 下所示:

         28BYJ48 电机内部结构等效图如下所示:

         28BYJ48 步进电机旋转驱动方式如下表:

        28BYJ48 步进电机主要参数如下所示:

        在上图中 28BYJ48 步进电机主要参数中可以看到有一个减速比:1:64,步进 角为 5.625/64 度,如果需要转动一圈,那么需要 360/5.625*64=4096 个脉冲信 号。
        减速比这个和之前介绍的直流减速电机有点类似,所以 28BYJ48 步进电机实 际上是:减速齿轮+步进电机组成,28BYJ48 步进电机减速齿轮实物图如下所示:

        减速齿轮计算方法如下所示:

 

 

硬件设计

        本实验使用到硬件资源如下:
        (1)步进电机驱动模块
        (2)28BYJ-48 步进电机
        该电路在前面直流电机实验中已介绍,此处不再重复。

软件设计

        本章所要实现的功能是:通过 ULN2003 驱动模块控制 28BYJ48 步进电机运行 方向及速度,当按下 KEY1 键可调节电机旋转方向;当按下 KEY2 键,电机加速; 当按下 KEY3 键,电机减速。

        代码如下:

#include "reg52.h"
typedef unsigned int u16; //对系统默认数据类型进行重定义
typedef unsigned char u8;
//定义 ULN2003 控制步进电机管脚
sbit IN1_A=P1^0;
sbit IN2_B=P1^1;
sbit IN3_C=P1^2;
sbit IN4_D=P1^3;
//定义独立按键控制脚
sbit KEY1=P3^1;
sbit KEY2=P3^0;
sbit KEY3=P3^2;
sbit KEY4=P3^3;
//使用宏定义独立按键按下的键值
#define KEY1_PRESS 1
#define KEY2_PRESS 2
#define KEY3_PRESS 3
#define KEY4_PRESS 4
#define KEY_UNPRESS 0
// 定义步进电机速度,值越小,速度越快
// 最小不能小于 1
#define STEPMOTOR_MAXSPEED 1
#define STEPMOTOR_MINSPEED 5
/********************************************************************
***********
* 函 数 名 : delay_10us
* 函数功能 : 延时函数,ten_us=1 时,大约延时 10us
* 输 入 : ten_us
* 输 出 : 无
*********************************************************************
**********/
void delay_10us(u16 ten_us)
{
	while(ten_us--);
}
/********************************************************************
***********
* 函 数 名 : delay_ms
* 函数功能 : ms 延时函数,ms=1 时,大约延时 1ms
* 输 入 : ten_us
* 输 出 : 无
*********************************************************************
**********/
void delay_ms(u16 ms)
{
	u16 i,j;
	for(i=ms;i>0;i--)
		for(j=110;j>0;j--);
}
/********************************************************************
***********
* 函 数 名 : step_motor_28BYJ48_send_pulse
* 函数功能 : 输出一个数据给 ULN2003 从而实现向步进电机发送一个脉冲
* 输 入 : step:指定步进序号,可选值 0~7
dir:方向选择,1:顺时针,0:逆时针
* 输 出 : 无
*********************************************************************
**********/
void step_motor_28BYJ48_send_pulse(u8 step,u8 dir)
{
	u8 temp=step;
	if(dir==0) //如果为逆时针旋转
		temp=7-step;//调换节拍信号
	switch(temp)//8 个节拍控制:A->AB->B->BC->C->CD->D->DA
	{
		case 0: IN1_A=1;IN2_B=0;IN3_C=0;IN4_D=0;break;
		case 1: IN1_A=1;IN2_B=1;IN3_C=0;IN4_D=0;break;
		case 2: IN1_A=0;IN2_B=1;IN3_C=0;IN4_D=0;break;
		case 3: IN1_A=0;IN2_B=1;IN3_C=1;IN4_D=0;break;
		case 4: IN1_A=0;IN2_B=0;IN3_C=1;IN4_D=0;break;
		case 5: IN1_A=0;IN2_B=0;IN3_C=1;IN4_D=1;break;
		case 6: IN1_A=0;IN2_B=0;IN3_C=0;IN4_D=1;break;
		case 7: IN1_A=1;IN2_B=0;IN3_C=0;IN4_D=1;break;
	}
}
/********************************************************************
***********
* 函 数 名 : key_scan
* 函数功能 : 检测独立按键是否按下,按下则返回对应键值
* 输 入 : mode=0:单次扫描按键
mode=1:连续扫描按键
* 输 出 : KEY1_PRESS:K1 按下
KEY2_PRESS:K2 按下
KEY3_PRESS:K3 按下
KEY4_PRESS:K4 按下
KEY_UNPRESS:未有按键按下
*********************************************************************
**********/
u8 key_scan(u8 mode)
{
	static u8 key=1;
	if(mode)
		key=1;//连续扫描按键
	if(key==1&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))//任意按键按下
	{
		delay_10us(1000);//消抖
		key=0;
		if(KEY1==0)
			return KEY1_PRESS;
		else if(KEY2==0)
			return KEY2_PRESS;
		else if(KEY3==0)
			return KEY3_PRESS;
		else if(KEY4==0)
			return KEY4_PRESS;
	}
	else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1) //无按键按下
	{
		key=1;
	}
	return KEY_UNPRESS;		
}

/********************************************************************
***********
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*********************************************************************
**********/
void main()
{
	u8 key=0;
	u8 dir=0;//默认逆时针方向
	u8 speed=STEPMOTOR_MAXSPEED;//默认最大速度旋转
	u8 step=0;
	while(1)
	{
		key=key_scan(0);
	if(key==KEY1_PRESS)//换向
	{
		dir=!dir;
	}
	else if(key==KEY2_PRESS)//加速
	{
		if(speed>STEPMOTOR_MAXSPEED)
		speed-=1;
	}
	else if(key==KEY3_PRESS)//减速
	{
		if(speed<STEPMOTOR_MINSPEED)
		speed+=1;
	}
	step_motor_28BYJ48_send_pulse(step++,dir);
	if(step==8)
		step=0;
	delay_ms(speed);
	}
}

        step_motor_28BYJ48_send_pulse 函数用于输出一个数据给 ULN2003,从而实现向步进电机发送一个脉冲信号。它有两个形参,第一个为 step,指定步进序号,可选值为 0-7,代表步进电机控制信号的 8 个节拍。第二个为 dir,指定电机的旋转方向,可选 1:顺时针,0:逆时针。这里指的顺时针逆时针是两个不同方向。

        函数先判断 dir 参数值,如果为 0,则为逆时针旋转,将 step 值变为 8 的互 补数,其实就是将 8 个节拍反向输出。
        主函数实现的功能很简单,首先定义一些变量,进入循环,检测是否有按键 按下,当 KEY1 按下,切换步进电机方向;当 KEY2 按下,使电机加速;当 KEY3 按下,使电机减速。
        程序中所用 STEPMOTOR_MAXSPEED 和 STEPMOTOR_MINSPEED 在开头已定义,表 示步进电机最大运行速度和最低运行速度,当然可以根据实际现象适当调整这两 个值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

bugku-web-社工-初步收集

题目首页 社工又有杂项的存在 打开题目 小时候可能特感兴趣的网站 目录扫描一下 dirsearch 得到一个管理员后台登录网站 但是需要密码 再回到起始页面 存在一个下载点 可以操作 下载得到一个压缩包 解压打开 是一个小插件 尝试登录 同时 打开wireshark进行流量截取…

Nacos安装指南

Nacos安装指南 1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的GitHub页面&#xff0c;提供有下载链接&#xff0c;可以下载编译好的Nacos服务端或者源代码&#xff1a; GitHub主页&#xff1a;https://github.com/alibaba/nacos GitHub的Release下载…

Monaco Editor教程(十六):缩略图minimap的配置详解

背景 缩略图 (Minimap) 是一种常见的用于快速预览和探索的工具&#xff0c;可作为导航辅助用户探索大规模图。 在大文件的阅读和编辑中&#xff0c;能够起到很好的导航作用&#xff0c;并且缩略图能够显示文件结构的大致轮廓&#xff0c;使开发人员能够快速知道对应的编辑位置…

WordPress重新安装的几种方法(2022年新版教程)

我们在建网站的过程中&#xff0c;可能出于某些原因会把网站重装&#xff0c;例如网站中病毒了、网站做的不满意&#xff0c;重头开始。本文会给大家分享一下2022年可行的重装WordPress网站方法。 1 重装WordPress的方法 方法一&#xff1a;重置数据库 方法二&#xff1a;宝塔面…

【MySQL】MySQL基础、详细总结

数据库Mysql 内容管理数据库基础什么是DB、DBMS、DBS、DBA&#xff1f;什么是元组、码、候选码、主、外码&#xff08;键&#xff09;、&#xff08;非&#xff09;主属性&#xff1f;主、外码的区别&#xff1f;为什么不推荐使用外码和级联 &#xff1f;【分布式高并发】什么是…

Servlet规范之部署描述符

Deployment Descriptor 文章是对 JSR-000340 JavaTM Servlet 3.1 Final Release的Java™ Servlet规范的翻译&#xff0c;尚未校准 文章目录Deployment Descriptor部署描述符元素部署描述符的处理规则部署描述符部署描述符示意图web-app元素description Elementdisplay-name Ele…

从零开始学前端:json对象,冒泡排序 --- 今天你学习了吗?(JS:Day15)

从零开始学前端&#xff1a;程序猿小白也可以完全掌握&#xff01;—今天你学习了吗&#xff1f;&#xff08;JS&#xff09; 复习&#xff1a;从零开始学前端&#xff1a;字符串、数组的方法 — 今天你学习了吗&#xff1f;&#xff08;JS&#xff1a;Day12/13/14&#xff09…

范式建模维度建模 及结合BW的一些理解

用了几年BW了&#xff0c;时不时会想&#xff0c;BW为什么要这么设计啊&#xff0c;有时候用的可真麻烦&#xff0c;最近研究了下两种常见的建模理论&#xff0c;有了自己的一点感悟&#xff0c;我们从头开始,有很多资料是从大佬那里摘录的&#xff0c;就不一一列举了 一、范式…

DOPA-PEG-azide,Dopamine-PEG-N3,多巴胺PEG叠氮用于点击化学

多巴胺-聚乙二醇-叠氮&#xff08;DOPA-PEG-azide&#xff0c;Dopamine-PEG-N3&#xff09;该试剂具有更好的水溶性&#xff0c;它所属分类为Azide PEG Dopamine PEG。 peg试剂的分子量均可定制&#xff0c;有&#xff1a;2k、5k、3.4k、10k、20k、1k 。其质量控制为95%&#…

基于Matlab模拟用于天气观测的极化雷达回波(附源码)

目录 一、雷达定义 二、天线方向图 四、雷达脉冲合成 五、天气雷达力矩估计 六、仿真结果 6.1反射率 6.2 径向速度 6.3 频谱宽度 6.4 差分反射率 6.5 相关系数 6.6 差分相位 七、总结 八、程序 本示例展示了如何模拟满足天气观测要求的极化多普勒雷达回波。雷达在天…

柯桥增值税留抵如何退税?

今年&#xff0c;国家税务总局出台了“增值税期末留底退税”政策&#xff0c;这无疑对一些现金流缺乏的企业又是一重大利好呀&#xff01; 那么问题来了&#xff0c;咱们会计该如何操作领回这一部分钱呢&#xff1f; 接下来跟着豆哥一块儿操作退税吧~ 政策解读 重点提醒&…

驱动——LED灯循环闪烁

使用结构体形式对寄存器地址进行映射&#xff0c;实现3盏LED灯的循环点亮 1、创建LED灯点亮所需要的GPIO寄存器的结构体&#xff0c;并对寄存器地址进行宏定义 2、①通过ioremap函数将物理地址映射为虚拟地址 void* ioremap(phys_addr_t offset, size_t size) 函数功能&…

Mysql主从复制出现connecting

主从同步时出现Slave_IO_Running&#xff1a;Connecting首先解决Slave_IO_Running和Slave_SQL_Running是no的问题&#xff0c;原因是一台虚拟机是由另一台虚拟机复制过来的&#xff0c;就会导致uuid是一样的&#xff0c;需要先修改server的uuid&#xff0c;具体请查阅相关资料。…

【FME实战教程】001:FME2020中文安装图文教程(附安装包下载)

文章目录1. 安装license2. 安装FME Desktop3. 安装中文语言4. FME软件下载地址1. 安装license 打开软件安装包中的fme-flexnet-win-x64.msi&#xff0c;如下图所示&#xff1a; 点击Next。 点击Next。 单击install。 点击finish&#xff0c;完成。 &#xff08;1&#xff09;修…

pytorch入门教程(小土堆

pytorch入门教程、一些基础函数的概念&#xff08;参考代码&#xff09;&#xff0c;主要是带着读了一遍pytorch官方文档、另外推荐一个网站 www.paperswithcode.com&#xff0c;感觉很厉害的样子。 P5. PyTorch加载数据初认识_哔哩哔哩_bilibili import torch torch.cuda.is_a…

年产10000吨即食型大头菜工厂设计

目 录 摘 要 I ABSTRACT II 第1章 绪论 1 1.1即食大头菜发展现状及市场前景 1 1.1.1世界即食大头菜发展的特点与趋势 1 1.1.2我国即食大头菜发展现状 1 1.1.3即食大头菜的生产现状及前景展望 2 1.2专家点评 3 第2章 厂址选择 5 2.1厂址选择依据及范围 5 2.1.1选址依据 5 2.1.2选…

3.46 OrCAD软件怎么输出物料清单BOM表格?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

asp.net+sqlserver笔记本电脑售后服务管理系统C#

研究内容与章节安排 全文的结构如下&#xff1a; 第一章&#xff1a;引言。论述课题提出的背景、对目前笔记本电脑售后服务系统的国内外发展水平进行了分析研究&#xff0c;通过比对&#xff0c;提出笔记本电脑售后服务系统的涵义及其优越性。 第二章&#xff1a;笔记本电脑售后…

LabVIEW性能和内存管理 4

LabVIEW性能和内存管理 4 本文介绍LabVIEW性能和内存管理的几个建议4。 传输缓冲区 传输缓冲区保护操作缓冲区和执行缓冲区之间的数据传输 只有当前面板在内存中时才更新 为了保护操作和执行缓冲区之间的数据传输&#xff0c;LabVIEW使用传输缓冲区。当您处理大型数据集&am…

17-Explain执行计划-01

Explain 执行计划 什么是执行计划 有了慢查询语句后&#xff0c;就要对语句进行分析。一条查询语句在经过 MySQL 查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划&#xff0c;这个执行计划展示了接下来具体执行查询的方式&#xff0c;比如多表连接的顺序是什…