感应(异步)电机磁场定向控制电流环PI控制参数设计

2023-11-19

电机控制系列文章

感应(异步)电机磁场定向控制MATLAB/Simulink建模
感应(异步)电机磁场定向控制速度环PI控制参数设计



前言

大家在做感应(异步)电机磁场定向控制(FOC)的时候,是否还在疑惑PI参数怎么给,还在用PI参数整定口诀一点一点去试,或者按书籍论文的计算公式搞出来不对?那你的电机控制理论需要进一步深入了,如果按照书籍论文的计算公式算出来不能用,你可以来这里看看你的MATLAB/Simulink建模有没有问题:
感应(异步)电机磁场定向控制MATLAB/Simulink建模
如果是不知道PI参数怎么给,我来指导你设计合适的PI参数。
事实上TI(德州仪器)早就把这些东西工程化了,《InstaSPIN-FOC™ and InstaSPIN-MOTION™ User’s Guide》里有详细的指导,本人也是从其中窥得PI参数设计大法。如果你看过这个文档,没关系,也可以看看我写的,其中也有我个人的理解。
本文首先介绍电流环的PI参数设计。


一、并联型PI与串联型PI

下图是并联型PI:
并联型PI
下图是串联型PI:
串联型PI
我们搞控制的,一般都接触的是并联型PI吧。可是TI在InstaSPIN-FOC™里推崇用串联型PI。TI说,并联型PI, K i K_{\text i} Ki负责低频增益, K p K_{\text p} Kp负责高频增益。把并联型PI传递函数的s换成ω较小时,第二项起主要作用。ω较大时,第一项起主要作用。这里也可以这样理解,调 K i K_{\text i} Ki不就是调静差吗,静差不就是低频吗,调 K p K_{\text p} Kp不就是调响应快慢吗,响应快慢不就是高频吗。
G parallel_PI ( j ω ) = K p + K i j ω G_{\text{parallel\_PI}}(j\omega) = K_{\text p} + \frac {K_{\text i}} {j\omega} Gparallel_PI(jω)=Kp+jωKi
并联型PI波特图
串联型PI里, K p series K_{\text p}^{\text{series}} Kpseries负责全频域增益,而 K i series K_{\text i}^{\text{series}} Kiseries只负责零点位置。
G series_PI ( j ω ) = K p series ( 1 + K i series j ω ) G_{\text{series\_PI}}(j\omega) = K_{\text p}^{\text{series}} (1+ \frac {K_{\text i}^{\text{series}}} {j\omega}) Gseries_PI(jω)=Kpseries(1+jωKiseries)
串联型PI波特图
说到这里,用哪一种并不重要,只是串联型PI在接下来的分析中比较方便,如果你习惯用并联型PI,就把系数转换一下。你用并联型PI去设计参数也是没有问题的。
但是,这里我有一个想法,之前习惯用并联型PI去调控制,一般是一个不动调另一个。借助串联型PI,调并联型PI的思路可以是这样,调整 K p K_{\text p} Kp K i K_{\text i} Ki的比例,使响应曲线形态比较好(比如一阶系统的阶跃响应),然后同时等比例增大或减小 K p K_{\text p} Kp K i K_{\text i} Ki,调整响应快慢。


二、被控对象模型

电流环输出电压控制电机,电机输出电流反馈回电流环。从定子侧看,电流环对应的电机模型可简化为
电机简化模型
R为电阻(对感应电机q轴,不是定子电阻),L为电感(对感应电机,既不是漏感也不是自感), ω K E \omega K_{\text E} ωKE为反电动势,反电动势主要由电机转速、磁链影响,而相较于电机电流,电机转速、磁链变化较慢,可认为是直流量,因此电机定子小信号模型传递函数为
G motor ( s ) = I ( s ) V ( s ) = 1 R 1 + L R s G_{\text{motor}}(s) = \frac {I(s)} {V(s)} = \frac {\frac 1 R} {1+{\frac L R} s} Gmotor(s)=V(s)I(s)=1+RLsR1
对应感应电机电压方程,如下式,简化模型中的L σ L s \sigma L_{\text s} σLs,d轴中R R s R_{\text s} Rs,q轴中R R s + L m 2 L r 2 R r R_{\text s} + \frac {L_{\text m}^2} {L_{\text r}^2}R_{\text r} Rs+Lr2Lm2Rr,TI文件中说是 R s + R r R_{\text s} + R_{\text r} Rs+Rr,应该是 L m L_{\text m} Lm L r L_{\text r} Lr很接近。后面的分析中仍然用RL来表示。
{ u sd = R s i sd + σ L s d i sd d t − ω s σ L s i sq + L m L r d ψ rd d t u sq = ( R s + L m 2 L r 2 R r ) i sq + σ L s d i sq d t + ω s σ L s i sd + ω r L m L r ψ rd \begin{cases} u_{\text {sd}} = R_{\text s}i_{\text {sd}} + \sigma L_{\text s}\frac {di_{\text {sd}}} {dt} - \omega_{\text {s}}\sigma L_{\text s}i_{\text {sq}} + \frac {L_{\text m}} {L_{\text r}}\frac {d\psi_{\text {rd}}} {dt} \\ u_{\text {sq}} = (R_{\text s} + \frac {L_{\text m}^2} {L_{\text r}^2}R_{\text r})i_{\text {sq}} + \sigma L_{\text s}\frac {di_{\text {sq}}} {dt} + \omega_{\text {s}}\sigma L_{\text s}i_{\text {sd}} + \omega_{\text {r}}\frac {L_{\text m}} {L_{\text r}}\psi_{\text {rd}} \end{cases} {usd=Rsisd+σLsdtdisdωsσLsisq+LrLmdtdψrdusq=(Rs+Lr2Lm2Rr)isq+σLsdtdisq+ωsσLsisd+ωrLrLmψrd


三、电流环闭环传递函数

还是用电机简化模型的传递函数,暂不考虑电流滤波器、计算延时、PWM采样延时,电流环闭环传递函数表示为下式
G curr_cl ( s ) = K p series K i series ( 1 + s K i series ) s × 1 R 1 + L R s 1 + K p series K i series ( 1 + s K i series ) s × 1 R 1 + L R s G_{\text{curr\_cl}}(s) = \frac {\frac {K_{\text p}^{\text{series}} K_{\text i}^{\text{series}} (1+\frac s {K_{\text i}^{\text{series}}})} s \times \frac {\frac 1 R} {1+{\frac L R} s}} {1+\frac {K_{\text p}^{\text{series}} K_{\text i}^{\text{series}} (1 + \frac s {K_{\text i}^{\text{series}}})} s \times \frac {\frac 1 R} {1+{\frac L R} s}} Gcurr_cl(s)=1+sKpseriesKiseries(1+Kiseriess)×1+RLsR1sKpseriesKiseries(1+Kiseriess)×1+RLsR1
整理一下
G curr_cl ( s ) = 1 + s K i series L K p series K i series s 2 + ( R K p series K i series + 1 K i series ) s + 1 G_{\text{curr\_cl}}(s) = \frac {1+\frac s {K_{\text i}^{\text{series}}}} {\frac L {K_{\text p}^{\text{series}} K_{\text i}^{\text{series}}}s^2 + (\frac R {K_{\text p}^{\text{series}} K_{\text i}^{\text{series}}}+\frac 1 {K_{\text i}^{\text{series}}})s + 1} Gcurr_cl(s)=KpseriesKiseriesLs2+(KpseriesKiseriesR+Kiseries1)s+11+Kiseriess
可以看出这是一个二阶系统,分子上有一个零点,分母有两个极点,最好零极对消,只剩一个极点,就变成了一个一阶系统。为什么要变为一阶系统呢?很多地方都要提降阶,降阶使系统变得更简单,更方便分析性能,更容易设计控制系统。一阶系统没有超调,只用调整一个参数就可以改变阶跃响应时间。
一阶系统的单位阶跃响应如下图所示
一阶系统单位阶跃响应曲线


四、电流环PI参数设计

为了零极对消,分母应该做如下因式分解,
G curr_cl ( s ) = 1 + s K i series ( 1 + R K p series K i series s ) ( 1 + s K i series ) G_{\text{curr\_cl}}(s) = \frac {1+\frac s {K_{\text i}^{\text{series}}}} {(1+\frac R {K_{\text p}^{\text{series}} K_{\text i}^{\text{series}}}s) (1+\frac s {K_{\text i}^{\text{series}}})} Gcurr_cl(s)=(1+KpseriesKiseriesRs)(1+Kiseriess)1+Kiseriess
这个式子可以零极对消,但和之前的式子相比,有个问题,分母 s 2 s^2 s2的系数不一样,那就令他们一样,
L K p series K i series = R K p series ( K i series ) 2 \frac L {K_{\text p}^{\text{series}} K_{\text i}^{\text{series}}} = \frac R {K_{\text p}^{\text{series}} (K_{\text i}^{\text{series}})^2} KpseriesKiseriesL=Kpseries(Kiseries)2R
解得
K i series = R L K_{\text i}^{\text{series}} = \frac R L Kiseries=LR
将该结果代入闭环传函,得
G curr_cl ( s ) = 1 L K p series s + 1 G_{\text{curr\_cl}}(s) = \frac 1 {\frac L {K_{\text p}^{\text{series}}}s+1} Gcurr_cl(s)=KpseriesLs+11
这下就很简单了,将 K p series K_{\text p}^{\text{series}} Kpseries设计为
K p series = L × ω b K_{\text p}^{\text{series}} = L \times \omega_{\text b} Kpseries=L×ωb
传函变为
G curr_cl ( s ) = 1 s ω b + 1 G_{\text{curr\_cl}}(s) = \frac 1 {\frac s {\omega_{\text b}}+1} Gcurr_cl(s)=ωbs+11
ω b \omega_{\text b} ωb为一阶系统的带宽。这意味着我们可以自由设计电流环的带宽了!也就是像之前说的,我们可以调节电流环的阶跃响应时间,而且没有超调!


五、计算延时、PWM采样延时、滤波器的影响

本文的关键来了,前面所述均是在理想情况下的推算,实际上在一个电机控制系统里,DSP计算需要时间,不可避免地就引入了计算延时。PWM采样也会产生延时。而滤波器对dq电流也有延时作用。下面分别来分析。

1、计算延时

计算延时的关键在于计算出来的调制波什么时候送到PWM的比较模块。举个例子,一个DSP电机控制系统,在PWM载波波峰处触发PWM中断开始AD采样、控制计算,PWM模块配置为波峰处将调制波载入比较器,那么这个时候只能在下个波峰到来时载入此时计算出来的调制波。从PWM中断开始算起,到下一个载波波峰到来就是一个开关周期,即因为计算延迟了一个开关周期。
延迟环节的传递函数为 e − T s e^{-Ts} eTs,一般将它等效为一个一阶惯性环节 1 T s + 1 \frac 1 {Ts+1} Ts+11。以延迟200us为例,二者波特图如下所示,蓝色为延迟环节,红色为一阶惯性环节,在低频段,二者非常接近,所以这种近似是可以的。
延迟环节波特图

2、PWM采样延时

一般的DSP电机控制系统,都是规则采样,也就是对调制波周期采样。比如在载波波峰处将调制波载入比较器,那么只有在波峰处才进行了更新,其他时间都是保持更新后的值,表现为一个零阶保持器。举个例子,如下是开关频率5kHz的PWM规则采样,在载波波峰处将调制波载入比较器,蓝色为原始调制波,红色是经零阶保持的实际调制波,是一个阶梯波,而它的基波幅值与原始调制波一样,但时间上延迟了半个开关周期,如紫色虚线所示。
PWM采样
零阶保持器的传递函数为 1 − e − T s T s \frac {1-e^{-Ts}} {Ts} Ts1eTsT为采样周期,基波则延迟了0.5T,由前面所述的延迟环节等效关系,零阶保持器可等效为 1 0.5 T s + 1 \frac 1 {0.5Ts+1} 0.5Ts+11的一阶惯性环节。下图为二者波特图对比,蓝色为零阶保持器,红色为一阶惯性环节,可以看到,二者在低频非常接近,因此这种等效也是可以的。
零阶保持器波特图
结合计算延时和PWM采样延时,传递函数为 1 ( T s + 1 ) ( 0.5 T s + 1 ) = 1 0.5 T 2 s 2 + 1.5 T s + 1 \frac 1 {(Ts+1)(0.5Ts+1)} = \frac 1 {0.5T^2s^2+1.5Ts+1} (Ts+1)(0.5Ts+1)1=0.5T2s2+1.5Ts+11,忽略高阶项,传递函数变为 1 1.5 T s + 1 \frac 1 {1.5Ts+1} 1.5Ts+11,这就是很多书里面出现1.5的原因。忽略高阶项在控制里面很常见,比如非线性系统的线性化,很多都是忽略高阶项。

3、滤波器

很多电机控制系统里,对dq电流做了低通滤波,常见的就是一阶、二阶低通滤波。
一阶低通滤波的传递函数为 1 T s + 1 \frac 1 {Ts+1} Ts+11,可以直接当成一个延迟环节。
二阶低通滤波的传递函数为 ω n 2 s 2 + 2 ζ ω n s + ω n 2 = 1 1 ω n 2 s 2 + 2 ζ ω n s + 1 \frac {\omega_{\text n}^2} {s^2+2\zeta\omega_{\text n}s+\omega_{\text n}^2} = \frac 1 {\frac 1 {\omega_{\text n}^2}s^2+\frac {2\zeta} {\omega_{\text n}}s+1} s2+2ζωns+ωn2ωn2=ωn21s2+ωn2ζs+11,大胆一点,干掉高阶项,也变成一个延迟环节 1 2 ζ ω n s + 1 \frac 1 {\frac {2\zeta} {\omega_{\text n}}s+1} ωn2ζs+11

4、三者结合

至此,我们把控制延时、PWM采样延时、滤波器都等效为一阶惯性环节,三者再结合一下,传递函数变为 1 ( T d_cal + T d_pwm + T d_filter ) s + 1 \frac 1 {(T_{\text {d\_cal}}+T_{\text {d\_pwm}}+T_{\text {d\_filter}})s+1} (Td_cal+Td_pwm+Td_filter)s+11。如果开关频率为5kHz,一阶低通滤波器截至频率选为2kHz,那么 T d_cal T_{\text {d\_cal}} Td_cal为200us, T d_pwm T_{\text {d\_pwm}} Td_pwm为100us, T d_filter T_{\text {d\_filter}} Td_filter为80us,数量级相近。

5、影响

一个时间常数为100us的一阶惯性环节波特图如下所示,如果电流环开环穿越频率为1000rad/s,那么从图上可知,一阶惯性环节造成-6°的相移,也即相位裕度减小6°,这对于控制来说影响不大。如果电流环开环穿越频率为转折频率10000rad/s,相位裕度减小45°,这个影响就大了。
开环的穿越频率与闭环的带宽频率比较接近,因此,在设计电流环闭环带宽时,带宽频率应小于一阶惯性环节的转折频率。小多少要看你对系统的要求,太小响应会变慢,大了系统会变得敏感,因此要根据具体性能要求来决定。
一阶惯性环节波特图


总结

本文介绍了感应(异步)电机磁场定向控制电流环PI控制参数设计,主要内容从《InstaSPIN-FOC™ and InstaSPIN-MOTION™ User’s Guide》中提取,同时包含我个人的理解,以期这篇文章能帮助大家设计电流环PI参数。


如果懒得搭模型,可以来这里下载
感应(异步)电机间接磁场定向控制MATLAB/Simulink仿真模型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

感应(异步)电机磁场定向控制电流环PI控制参数设计 的相关文章

  • 是否有一个函数可以检查矩阵是否对角占优(行占优)

    矩阵是对角占优 http en wikipedia org wiki Diagonally dominant matrix 按行 如果对角线处的值在绝对意义上大于该行中所有其他绝对值的总和 对于列也是如此 只是相反 matlab中有没有函数
  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • 为什么matlab的mldivide比dgels好这么多?

    Solve Ax b 真正的双 A是超定的 Mx2 其中 M gt gt 2 b是MX1 我运行了大量的数据mldivide 并且结果非常好 我用 MKL 写了一个 mex 例程LAPACKE dgels但它远没有那么好 结果有大量噪音 并
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • 频域和空间域的汉明滤波器

    我想通过在 MATLAB 中应用汉明滤波器来消除一维信号中的吉布斯伪影 我所拥有的是k1这是频域中的信号 我可以通过应用 DFT 来获取时域信号k1 s1 ifft ifftshift k1 该信号具有吉布斯伪影 现在 我想通过 A 乘以汉
  • 在 MATLAB 中定义其他中缀运算符

    有没有办法在 MATLAB 中定义额外的中缀运算符 具体来说 我想定义两个中缀运算符 gt and lt gt 这些符号是理想的 但如果需要 它可以是单个字符 它调用函数implies and iff以同样的方式 calls and and
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • 如何加载具有可变文件名的 .mat 文件?

    select all mat files oar dir oar mat n oar name loop through files for l 1 length oar load pat oar l lt this is the mat
  • 在Matlab中选择图像上的像素时,索引指的是什么?

    当在Matlab中查看图像的单个像素时 该索引指的是什么 X Y 指的是像素的坐标 RGB 指的是颜色 但是关于索引是什么有什么想法吗 为了澄清一下 当我在 Matlab 中查看图形并使用数据光标选择一个点时 显示的三行是 X Y 指数 R
  • 在Matlab中对字符进行分组并形成矩阵

    我有 26 个字符 A 到 Z 我将 4 个字符组合在一起 并用空格分隔以下 4 个字符 如下所示 abcd efgh ijkl mnop qrst uvwx yz 我的Matlab编码如下 str abcdefghijklmnopqrst
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 在 matlab 代码中使用 dll 文件

    我需要使用 Matlab 中由 dll 文件定义的函数 我有一个例子 那个家伙将 dll 转换为 mexw32 文件 但我知道我是如何做到这一点的 我尝试使用加载库但它没有创建任何文件 我怎样才能做到这一点 loadlibrary http
  • Matlab 一个图上有多个图例 2014b

    我想在一个地块上有多个传说 该解决方案在 2014b 版本之前完美运行 我试图弄清楚如何使用手柄优雅地制作它 但到目前为止还没有成功 欢迎任何想法 2013b 的示例 x 1 50 y1 sin x 2 y2 cos x 2 f figur
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 如何在Matlab中打印带有千位分隔符的整数?

    我想使用逗号作为千位分隔符将数字转换为字符串 就像是 x 120501231 21 str sprintf 0 0f x 但随着效果 str 120 501 231 21 如果内置fprintf sprintf做不到 我想可以使用正则表达式
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • Matlab:条形图中缺少标签

    使用 Matlab 2012 和 2013 我发现设置XTickLabel on a bar图表最多只能使用 15 个柱 如果条形较多 则标签会丢失 如下所示 绘制 15 个条形图 N 15 x 1 N labels num2str x d
  • Ilnumerics Ilpanel 在 winform 中编译成 dll 并加载到 matlab 时不激活

    我想将 Visual studio 2012 中用 C 编写的 winform 编译为 dll 然后将其加载到 matlab 2013a 中 然后 我想使用 matlab net 接口与 winform 进行交互 侦听其事件并通过一组预定义
  • 通过多次合并相同的行向量来构建矩阵

    有没有一个matlab函数可以让我执行以下操作 x 1 2 2 3 然后基于x我想建立矩阵m 1 2 2 3 1 2 2 3 1 2 2 3 1 2 2 3 您正在寻找REPMAT http www mathworks com help t
  • 如何在 MATLAB 中将矩阵元素除以列总和?

    有没有一种简单的方法可以将每个矩阵元素除以列和 例如 input 1 4 4 10 output 1 5 4 14 4 5 10 14 以下是执行此操作的不同方法的列表 使用bsxfun https www mathworks com he

随机推荐

  • JESD204B(RX)协议接口说明。

    解释一下Vivado IP协议中的Shared Logic in Example 与 Shared Logic in Core 首先 什么是Shared Logic 字面意思很好理解 就是共享逻辑 主要包括时钟 复位等逻辑 当选择Share
  • grafana elasticsearch es 创建变量variable时,query里的查询语句是对的,但是预览没有数据

    问题 图中的query输入框中输入正确 并且es中有rulename字段 rulename也有值 但是此处预览里没有值 按F12看了grafana的请求体和响应体才发现 rulename是text类型的 不能进行聚集 所以这里查不到数据 解
  • -离散数学-期末练习题解析

    一 选择题 二 填空题 三 计算题 四 简答题 五 证明题 六 应用题 一 选择题 下列句子中 是命题 A 2是常数 B 这朵花多好看啊 C 请把们关上 D 下午有会吗 A 命题是能判断真假的陈述句 B是感叹句 C是祈使句 D是疑问句 令p
  • sqlserver开启sql登录方式!

    安装sqlserver的时候只有windows登录 但有时也要用到sqlserver登录的方式 总不可能重新安装sqlserver吧 1 先用windows登录sqlserver 依次单击 安全性 gt 登录名 gt sa 右键打开sa的属
  • Android_UI开发总结(一):RadioButton与RadioGroup使用

    关于RadioButton与RadioGroup的API详解 gt https www cnblogs com Im Victor p 6238437 html 下面记录在使用RadioButton和RadioGroup中遇到的三点问题 1
  • MPLS原理和配置实验

    一 MPLS背景 90年代初 互联网流量快速增长 而由于当时硬件技术的限制 路由器采用最长匹配算法逐跳转发数据包 成为网络数据转发的瓶颈 快速路由技术成为当时研究的一个热点 在各种方案中 IETF确定MPLS协议作为标准的协议 MPLS采用
  • Linux内存地址管理

    文章目录 系统内存布局 内核地址的低端和高端内存概念 低端内存 高端内存 地址转换和MMU Linux中的四级分页模型 虚拟地址字段 页表处理 将虚拟地址转换物理地址 Linux系统中的每个内存地址都是虚拟的 它们不直接指向任何物理内存地址
  • 陷波滤波器消除周期噪声python_50Hz 工频电磁场干扰的消除方案

    50Hz 工频电磁场干扰是硬件开发中难以避免的问题 特别是敏感测量电路中 工频电磁场会使测量信号淹没在工频波形里 严重影响测量稳定度 故消除工频电磁场干扰是敏感测量电路设计中不可逃避的挑战 PT100 是当前应用最为广泛的测温方案 各位工程
  • C语言进阶题——坐标移动

    C语言进阶题 坐标移动 开发一个坐标计算工具 A表示向左移动 D表示向右移动 W表示向上移动 S表示向下移动 0 0 点开始移动 从输入字符串里面读取一些坐标 并将最终输入结果输出到输出文件里面 输入 A10 S20 W10 D30 X A
  • Go项目部署及所遇问题

    小聊 本次小白给大家带来Golang项目部署操作以及个人所遇问题和解决它们的方法 依然是一边实操演示一边写文稿 如遇相似问题却存有疑惑可留言 开发环境是Window 部署环境是Linux 开发工具为GoLand 部署服务器为阿里云 1 打包
  • [工业互联-4]:工业有线互联总线之IO-Link

    目录 第1章 IO link概述 1 1 IO Link在哪了 1 2 什么是IO link 1 3 IO link的主要优势 1 4 IO Link的发展 第2章 IO link网络的组成 2 1 概述 2 2 IO Link主站模块 M
  • mysql重连次数_doctrine实现自动重连mysql数据库机制

    这篇文章主要介绍了doctrine实现自动重连mysql数据库机制 小编觉得挺不错的 现在分享给大家 也给大家做个参考 一起跟随小编过来看看吧 不知道大家有没有碰到就是mysql有的时候会八小时不使用的话自动断开连接 这样会导致我们的请求失
  • Java数据结构---顺序表(增删改查详细实现)

    1 什么是顺序表 在程序中 经常需要将一组 通常是同为某个类型的 数据元素作为整体管理和使用 需要创建这种元素组 用变量记录它们传进传出函数等 一组数据中包含的元素个数可能发生变化 可以增加或删除元素 对于这种需求 最简单的解决方案便是将这
  • 通过js在ul中插入10000个li,点击li打印出li的序号

    第一种 直接ul插入 花费了119ms 164ms window onload function let now new Date let ul document querySelector ul for let i 0 i lt 1000
  • android 蓝牙聊天室之官方例子

    2013 09 05 android 蓝牙聊天室之官方例子 蓝牙开发的大致流程 1 蓝牙权限 Java代码
  • 解决mac端TypeError: transpileDependencies.map is not a function

    运行环境 问题详情 解决方案 在我使用yarn安装包的时候是正常安装的 可是在yarn serve的时候提示了如下错误 这个时候需要在vue config js中加入这个配置 transpileDependencies 与devServic
  • 编写程序模拟完成动态分区存储管理方式的内存分配和回收。

    usr bin python coding utf 8 class Table object 空闲分区表 0 开始地址 1 长度 freeTable 占用分区表 0 程序名 1 开始地址 2 长度 useTable def init sel
  • open3d安装的诸多问题

    本文大概介绍一下再安装open3d包过程中遇到的诸多问题 问题1 在pycharm的设置中在线安装失败报错 ERROR Could not find a version that satisfies the requirement open
  • sklearn总篇

    one hot 化
  • 感应(异步)电机磁场定向控制电流环PI控制参数设计

    电机控制系列文章 感应 异步 电机磁场定向控制MATLAB Simulink建模 感应 异步 电机磁场定向控制速度环PI控制参数设计 目录 电机控制系列文章 前言 一 并联型PI与串联型PI 二 被控对象模型 三 电流环闭环传递函数 四 电