FOC算法开环控制基础

1. 为什么要有FOC算法

先看看从有刷电机到无刷电机的简单介绍,如下图1,通电螺线圈会产生磁场,这个磁场会产生N级和S级,然后这个电磁铁就可以吸引永磁体,S级吸引N级,N级吸引S级,通俗的来说,电机的原理就是固定其中一个来让另一个旋转,固定永磁体,让电磁铁旋转或者固定电磁铁,让永磁体旋转,转的那个东西叫转子,不转的那个东西叫定子,不管哪种情况都需要使电磁铁的磁极周期性的翻转,这样就会使产生的磁场方向也翻转,周而复始电机就诞生了,具体的物理图以及更深层次的东西就不在这里说了。
在这里插入图片描述
图1 电磁铁驱动永磁体

如果永磁体做定子,电磁铁做转子,因为电磁铁需要连接导线,所以要让电磁铁旋转的话必须得解决导线的问题,同时还能让电流反向,如下图2,这个电刷起到了导线的作用,同时由于转子的结构特点,随着转子的旋转,作为转子的电磁铁产生的磁场方向也在变化,由于这个电刷的存在,所以这中电机叫做直流有刷电机。所以这种电机被称为有刷电机,
请添加图片描述
图2 直流有刷电机

如果永磁体做转子,电磁铁做定子,如下图3,那就要使得施加在电磁铁上的电压遵循一定的规律,从而产生周期变化的磁场来驱动作为转子的永磁体转动,产生符合条件的电压的算法之一就是FOC算法。
请添加图片描述
图2 直流无刷电机
具体的转动原理去参考网上的其他资料,我这里写的太粗糙了。

2. FOC基本原理

请添加图片描述
图3 FOC算法流程图
FOC算法的简要流程就是上图这样的,要想控制电机旋转就需要给电机输入旋转的参数,就是电机的转矩,然后通过两个变换来转换为电机的三相输入信号,可以是输入的电压,也可以是输入的电流,称为相电压和相电流,相电压等于相电流乘以相电阻,所以二者是完全的正比例关系,可以相互转换,后面所有的公式变换对于这个电流和电压都是完全相同的,公式推导时使用电流,考虑物理意义时根据情况选择,所以实际的情况是一个反着来的过程,要想确定输入给电机的信号就需要根据输入的三路信号反推出输入给它的信号,然后由这个信号进一步推出应该输入什么样的转矩,所以核心就是这两个变换,下面开始介绍这两个变换。

2.1 克拉克变换

2.1.1 克拉克变换的推导

根据上面的图2可以知道要想实现无刷电机的转动控制需要确定三路的输入电流,也就是无刷电机的三相电控制,要表达每一路的电压或者电流需要三个方程,而无刷电机定子有三个绕组(即使不是三个也可以简化为三个),每个绕组发出一个相电压。由于这三个绕组在位置上等分了一个圆周,即彼此相差 2 π / 3 2\pi/3 2π/3,导致三相电压的幅度变化不一致,而是存在一个延时,这个延时是旋转1/3圆周的时间,也就是说三相电相互之间的相位差相差 2 π / 3 2\pi/3 2π/3,从物理学的角度来看,整个系统的自由度就是2,所以方程就可以简化为2个,而电机转动的时候均匀的,所以三相电流之间的幅值和频率是相同的,所以假设三相电流的定义如下:
{ i a = i m a x c o s ( w t ) i b = i m a x c o s ( w t + 2 π 3 ) i c = i m a x c o s ( w t − 2 π 3 ) \begin{cases} i_a = i_{max}cos(wt)\\ i_b = i_{max}cos(wt+\frac{2\pi}{3}) \\ i_c = i_{max}cos(wt-\frac{2\pi}{3}) \end{cases} ia=imaxcos(wt)ib=imaxcos(wt+32π)ic=imaxcos(wt32π)
在电机定子上建立实轴平行于 i a i_a ia的复数坐标系, i a , i b , i c i_a,i_b,i_c iaibic三者夹角为 2 π 3 \frac{2\pi}{3} 32π i a i_a ia没有变化, i b i_b ib变为 i b e 2 π j 3 i_be^{\frac{2\pi j}{3}} ibe32πj i c i_c ic变为 i c e − 2 π j 3 i_ce^{\frac{-2\pi j}{3}} ice32πj(Tips:对一个复数乘以 e j θ e^{j\theta} ejθ表示将这个复数表示的向量旋转 θ \theta θ度, θ \theta θ为正表示逆时针旋转, θ \theta θ为负表示顺时针旋转),将三者分别投影到实轴( α \alpha α轴)和虚轴( β \beta β轴)以后并相加可以得到下面的结果:
{ i α = i a + i b cos ⁡ ( 2 π 3 ) + i c cos ⁡ ( − 2 π 3 ) = i a − 1 2 ( i b + i c ) i β = i b sin ⁡ ( 2 π 3 ) + i c sin ⁡ ( − 2 π 3 ) = 3 2 ( i b − i c ) \begin{cases} i_\alpha = i_a + i_b \cos\left(\frac{2\pi}{3}\right) + i_c \cos\left(-\frac{2\pi}{3}\right) = i_a - \frac{1}{2}(i_b + i_c) \\ i_\beta = i_b \sin\left(\frac{2\pi}{3}\right) + i_c \sin\left(-\frac{2\pi}{3}\right) = \frac{\sqrt{3}}{2}(i_b - i_c) \end{cases} {iα=ia+ibcos(32π)+iccos(32π)=ia21(ib+ic)iβ=ibsin(32π)+icsin(32π)=23 (ibic)
用矩阵的形式写出来就是下面这样:
[ i α i β ] = [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ i a i b i c ] \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \\ i_c \end{bmatrix} [iαiβ]=[102123 2123 ] iaibic
这个变换就叫克拉克变换,所以克拉克变换的数学本质就是将三个复数向量合并成为一个,实部和虚部分开运算的转换矩阵就是克拉克变换,物理本质就是将三相的电流或电压降维变成二维,转换前后的结果都是随时间变化的。

2.1.2 等幅值克拉克变换

将前面的三路电流相加并化简可得:
i Σ = i a + i b + i c = 3 2 i m a x e − j w t i_{\Sigma} = i_a+i_b+i_c = \frac{3}{2}i_{max}e^{-jwt} iΣ=ia+ib+ic=23imaxejwt
可以看出克拉克变换前后的电流幅值变大了,成了原来的 3 2 \frac32 23倍,为了方便处理,需要让 i a i_a ia i α i_\alpha iα在变换前后相同,所以 i m a x i_{max} imax要变为原来的 2 3 \frac23 32 i m a x i_{max} imax变了意味着三路电流都需要变为原来的 2 3 \frac23 32,所以等幅值的克拉克变换形式就是下面这样,多了个系数 2 3 \frac23 32
[ i α i β ] = 2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ i a i b i c ] \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = \frac23\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \\ i_c \end{bmatrix} [iαiβ]=32[102123 2123 ] iaibic
把基尔霍夫定律代入等式右边就可以进一步化简等幅值克拉克变换:
[ i α i β ] = [ 1 0 1 3 2 3 ] [ i a i b ] \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ \frac{1}{\sqrt{3}} & \frac{2}{\sqrt{3}} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \end{bmatrix} [iαiβ]=[13 103 2][iaib]
这个系数矩阵的行列式值是 2 3 \frac{2}{\sqrt{3}} 3 2,所以这是一个满秩矩阵,所以这个系数矩阵的逆矩阵就是克拉克逆变换矩阵,完整的克拉克逆变换如下:
[ i a i b ] = [ 1 0 − 1 2 3 2 ] [ i α i β ] \begin{bmatrix} i_a \\ i_b \end{bmatrix} =\begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} [iaib]=[121023 ][iαiβ]
i c i_c ic的计算可以通过 i a i_a ia i b i_b ib和基尔霍夫电流定律得到。

2.2 帕克变换

正如前面克拉克变换结束的时候所说,克拉克变换前后的电压和电流都是随着时间变化的,我们要想控制电机必须在合适的时间给合适的电压,对于高频变化的信号很显然是很不方便的,甚至是不现实的,所以我们需要想办法把我们的控制参数中的时间给去掉,这样对于后续处理就会方便很多,在高中物理学过正弦交流电的发电原理,发电机发出的正弦交流电 U = A sin ⁡ ( w t + φ ) U=A\sin(wt+\varphi) U=Asin(wt+φ)的角频率 w w w和发电机转子的角速度是正比例的,比例系数是极对数除以2,所以在这里我们也可以合理的猜测对于极对数为1的电机转动的角速度与正弦电压的角频率是相同的,同时考虑到角速度的公式 w = d θ d t w=\frac{\mathrm{d}\theta}{\mathrm{d}t} w=dtdθ,可以在转子上建立局地坐标系, d \mathrm{d} d轴方向与转子内磁场方向重合,纵坐标 q \mathrm{q} q轴垂直于 d \mathrm{d} d轴,符合右手螺旋定则,如下图所示,克拉克变换的前后坐标系是绝对坐标系,也就是说固定在转子上的这个坐标系是相对于绝对坐标系旋转的。
在这里插入图片描述
当电机转过的角度为 θ \theta θ的时候,克拉克逆变换后得到是一个复数 i α β = i m a x e − j w t i_{\alpha\beta}=i_{max}e^{-jwt} iαβ=imaxejwt,这个复数在转子坐标系下的极角应该比原本的定子坐标系的极角小 θ \theta θ,所以转子坐标系的极角应该是定子坐标系的极角减去 θ \theta θ,所以 i d q = i m a x e − j ( w t + θ ) i_{\mathrm{d}\mathrm{q}}=i_{max}e^{-j(wt+\theta)} idq=imaxej(wt+θ),将他们分别在实轴和虚轴展开可得:
{ i α = i m a x c o s ( w t ) i β = − i m a x s i n ( w t ) i d = i m a x c o s ( w t + θ ) i q = − i m a x s i n ( w t + θ ) \begin{cases} i_\alpha =i_{max}cos(wt) \\ i_\beta = -i_{max}sin(wt)\\ i_\mathrm{d} =i_{max}cos(wt+\theta) \\ i_\mathrm{q}= -i_{max}sin(wt+\theta) \end{cases} iα=imaxcos(wt)iβ=imaxsin(wt)id=imaxcos(wt+θ)iq=imaxsin(wt+θ)
然后利用余弦的和角公式将后两个式子展开,将前两个代入就可以得到如下变换(已转换为矩阵形式):
[ i d i q ] = [ c o s θ s i n θ − s i n θ c o s θ ] [ i α i β ] \begin{bmatrix} i_\mathrm{d} \\ i_\mathrm{q} \end{bmatrix} =\begin{bmatrix} \mathrm{cos}\theta & \mathrm{sin}\theta \\ -\mathrm{sin}\theta & \mathrm{cos}\theta \end{bmatrix} \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} [idiq]=[cosθsinθsinθcosθ][iαiβ]
这个矩阵的行列式的值等于1,所以这是一个全等变换,(说句题外话,全等变换有对称,平移和旋转,这里就是旋转,这个转换矩阵就叫做帕克变换,实际上这个矩阵在数学,物理和工程领域的应用数不胜数,遍地都是它的例子),可以注意到帕克变换后的电流分量一个平行于转子转动方向 q \mathrm{q} q,一个平行于转子转动方向 d \mathrm{d} d,这样问题就简单很多了。 θ \theta θ可以通过编码器实时测量得到,这样我们通过控制 i q i_{\mathrm{q}} iq i d i_{\mathrm{d}} id就可以控制定子产生的磁场。安培力表示通电导线在磁场的受力情况,表达式是 F = B I L s i n θ F=BILsin\theta F=BILsinθ θ \theta θ是电流和磁场的夹角,所以 θ = π 2 \theta=\frac{\pi}{2} θ=2π的时候导线受力最大,在这里就是转子提供的转矩最大,所以一般设置 i d = 0 i_{\mathrm{d}}=0 id=0,只需要设置 i q i_{\mathrm{q}} iq就可以决定电机三相电流的大小,所以我们实际应用需要的是帕克逆变换,根据 i q i_{\mathrm{q}} iq i d i_{\mathrm{d}} id来计算 i α i_{\mathrm{\alpha}} iα i β i_{\mathrm{\beta}} iβ,帕克逆变换如下:
[ i α i β ] = [ c o s θ − s i n θ s i n θ c o s θ ] [ i d i q ] \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} =\begin{bmatrix} \mathrm{cos}\theta & -\mathrm{sin}\theta \\ \mathrm{sin}\theta & \mathrm{cos}\theta \end{bmatrix} \begin{bmatrix} i_\mathrm{d} \\ i_\mathrm{q} \end{bmatrix} [iαiβ]=[cosθsinθsinθcosθ][idiq]

2.3 FOC算法基本原理总结

所谓FOC的过程,就是输入需求的电机力矩,最后得到对应的真实世界电机输出力矩的过程,如下图所示。而其中最核心的数学过程,就是帕克逆变换和克拉克逆变换,而这两个变换的数学公式就是下图中框图上面的公式,其中帕克变换可以对用户输入的 i q i_{q} iq进行变换,根据电角度算出 i α i_\alpha iα i β i_\beta iβ,接着,通过克拉克逆变换,求出三相电流 i a , i b , i c i_a, i_b, i_c ia,ib,ic,最后 i a , i b , i c i_a, i_b, i_c ia,ib,ic能够用作控制指令输入到电机控制器硬件中进行电机的控制。
在这里插入图片描述
在通过 i q i_q iq得到 i a , i b , i c i_a, i_b, i_c ia,ib,ic让电机顺利转起来以后还需要进行调节,经过这一系列的过程以后电机的实际工作情况是否和我们预期的一样是不知道的,所以需要对电机的电流,速度和位置数据进行采集,然后通过PID控制将预设值对实际值进行动态调节,让电机的实际运动与预期相同。

3. FOC闭环控制

下式是PID算法的基本表达式,也是FOC闭环控制的理论基础
u ( t ) = k p e ( t ) + k i ∫ 0 t e ( τ ) d τ + k d d e ( t ) d t u(t) = k_pe(t)+k_i\int_{0}^{t}e(\tau)\mathrm{d}\tau+k_d\frac{\mathrm{d}e(t)}{\mathrm{d}t} u(t)=kpe(t)+ki0te(τ)dτ+kddtde(t)
对应的离散形式是这样的:
u ( t ) = k p e ( t ) + k i ∑ j = 0 t e ( j ) + k d [ e ( t ) − e ( t − 1 ) ] u(t) = k_pe(t)+k_i\sum_{j=0}^{t}e(j)+k_d[e(t)-e(t-1)] u(t)=kpe(t)+kij=0te(j)+kd[e(t)e(t1)]
三项的基本含义如下:

  1. 比例项直接反映当前误差的实时大小,通过比例系数 k p k_p kp对误差进行放大或缩小,快速调整控制量以减少偏差。例如,若当前误差较大,比例项会立即输出较强的控制信号以缩小误差。比例项能迅速减小误差,但对稳态误差(静差)无法完全消除;
  2. 积分项通过积分常数 T i T_i Ti( k i = k p T T i k_i = \frac{k_pT}{Ti} ki=TikpT,T为采样周期)累积历史误差,消除比例控制无法处理的稳态误差。例如,若误差长期存在,积分项会持续累积误差值并增强控制作用,直至误差归零。积分项的主要作用就是彻底消除系统稳态误差;
  3. 微分项通过微分常数 T d T_d Td( k d = k p T d T k_d = \frac{k_pT_d}{T} kd=TkpTd,T为采样周期)预测误差的变化趋势(即误差的导数),提前抑制超调并加快系统响应速度。例如,若误差快速增大,微分项会提前输出反向控制量以减缓变化速度。微分项住主要特点​​有抑制超调​​:微分作用可提高系统阻尼,减少超调量和调节时间。噪声敏感​​:微分对高频噪声敏感,可能放大干扰信号,需配合滤波措施。

3.1 FOC位置闭环

3.2 FOC速度闭环

3.3 FOC电流闭环

4. 参考资料

  1. https://dengfoc.com/
  2. https://www.bilibili.com/video/BV1cj411M7Xu
  3. https://blog.csdn.net/lanxiaoke123/article/details/90410560
  4. https://blog.csdn.net/weixin_42164589/article/details/95330403

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

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

相关文章

【计算机网络】HTTP中GET和POST的区别是什么?

从以下几个方面去说明: 1.定义 2.参数传递方式 3.安全性 4.幂等性 1.定义: GET: 获取资源,通常请求数据而不改变服务器的状态。POST: 提交数据到服务器,通常会改变服务器的状态或副作用(如创建或更新资源…

7400MB/s5050TBW完美结合,全新希捷酷玩530R SSD体验评测

7400MB/s&5050TBW完美结合,全新希捷酷玩530R SSD体验评测 哈喽小伙伴们好,我是Stark-C~ 说到希捷酷玩530 SSD,很多硬核进阶玩家应该都知道,或者说正在使用(比如说我~)。 作为希捷大厂旗下高性能SSD的…

(undone) MIT6.S081 2023 学习笔记 (Day11: LAB10 mmap)

url: https://pdos.csail.mit.edu/6.1810/2023/labs/mmap.html mmap和munmap系统调用允许UNIX程序对其地址空间进行精细控制。它们可用于进程间共享内存、将文件映射到进程地址空间,并作为用户级页面错误处理方案的一部分,例如课程中讨论的垃圾回收算法。…

Q_OBJECT宏的作用

Qt 中,如果一个类中定义了信号(signals)或槽(slots),那么这个类必须包含 Q_OBJECT 宏。 Q_OBJECT宏是 Qt 元对象系统的核心部分,它使得信号和槽机制能够正常工作。 Q_OBJECT宏是 Qt 的元对象系统…

信息安全基石:加解密技术的原理、应用与未来

信息加解密技术是信息安全领域的核心技术之一,以下为你详细介绍: 一、加密技术 1.定义:加密是通过特定的算法和密钥,将原始的明文信息转化为看似无意义的密文信息的过程。这一过程使得信息在传输、存储等过程中,即使…

LeetCode:返回倒数第k个结点

1、题目描述 实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 注意:本题相对原题稍作改动 示例: 输入: 1->2->3->4->5 和 k 2 输出: 4 说明: 给定的 k 保证是有效的。 2、…

R004 -计算机硬件基础

目录 1.数据表示&计算机网络组成 2.计算机网络分类 3.冯诺依曼体系结构 4.指令系统基础 5.指令系统类型 6.流水线技术 流水线周期 :各流水段中,执行时间最长的那一段。就是T 流水线时间:t 1t2t 3 (n-1) * T 7.流水线指标 8.存储系…

Mybatis学习(下)

目录 1. 动态sql的应用 1.2 1.2 1.3 、 、 标签 1.4 1. 动态sql的应用 使用Mybatis框架时, 对于sql数据的操作量比较大的时候, 看着会觉得很乱, 可能写着写着就乱了, 或者说回过头来发现sql语句写错了, 很麻烦, 所以动态sql就可以让我们用Java代码, 替换部分sql语句 1.2 &l…

iview 老版本合并单元格

新版的iview中已经支持了合并单元格了,我的版本比较老,为:"iview": "^3.5.2"。暂不支持。记录一下别的大佬的方法。感觉思路比较活,正在这种思路需要在解决问题的过程中学习。 核心思路:通过rende…

FGMRES(Flexible Generalized Minimal Residual)方法

FGMRES(Flexible Generalized Minimal Residual)方法是GMRES的变种,主要用于处理变预处理子(即每次迭代的预处理子可能不同)的情况。与标准GMRES相比,FGMRES通过存储预处理后的向量而非预处理子本身&#x…

自主采集高质量三维重建数据集指南:面向3DGS与NeRF的图像与视频拍摄技巧【2025最新版!!】

一、✨ 引言 随着三维重建技术的飞速发展,NeRF(Neural Radiance Fields)与 3D Gaussian Splatting(3DGS)等方法成为重建真实场景和物体几何细节的前沿方案。这些方法在大规模场景建模、机器人感知、文物数字化、工业检…

HarmonyOS Next-DevEco Studio(5.0.2)无网络环境配置(详细教程)

开发者如果电脑处于完全无网环境,可以参考下面文档进行相关配置 DevEco Studio(5.0.2)开发环境一览: 工具版本DevEco Studio5.0.2openHarmonySDK14ohpm5.0.11node.js18.20.1hypium1.0.21 一、下载DevEco Studio(5.0.2 Release)…

MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep 是怎样练成的?

接上文MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep 探究sleep.c是如何’炼成’的? 老实讲,我不熟悉Makefile,最多写过简单的编译和辅助脚本,拿到Xv6的Makefile是一脸懵的,至今还是一脸懵,那么我们上篇中新加的…

顺序结构双链表的实现

双链表是用最快的时间实现链表的一种方式&#xff0c;具体的实现代码如下&#xff1a; #pragma once #include<stdio.h> #include<stdlib.h> #include<assert.h>typedef int LTDataType; typedef struct ListNode {LTDataType data;struct ListNode* next;/…

GoFrame 奉孝学习笔记

第一章节 GoFrame 是一款基础设施建设比较完善的模块化框架 GoFrame 是一款基础设施建设比较完善的模块化框架, Web Server 模块是其中比较核心的模块,我们这里将 Web 服务开发作为框架入门的选择,便于大家更容易学习和理解。 用GOland编写代码 go.mod module goframePro…

pinia实现数据持久化插件pinia-plugin-persist-uni

在学习uniapp过程中&#xff0c;看到了pinia-plugin-persist-uni插件&#xff0c;以前面试过程中也有面试过说vuex数据刷新之前的数据就丢失了&#xff0c;之前回答的是把数据存储到数据库或者本地存储。pinia-plugin-persist-uni本质上数据也是本地存储。 1、安装 npm instal…

Git 多账号切换及全局用户名设置不生效问,GIT进行上传无权限问题

解决 Git 多账号切换及全局用户名设置不生效问题 在软件开发过程中&#xff0c;我们经常会使用 Git 进行版本控制。有时&#xff0c;我们需要在同一台机器上管理多个 Git 账号&#xff0c;最近我在进行使用git的时候因为项目要进行上传的不同的git账号&#xff0c;但是通过本地…

基于STM32定时器中断讲解(HAL库)

基于STM32定时器中断讲解&#xff08;HAL库&#xff09; 1、定时器简单介绍 以STM32F103C8T6中几个定时器为例&#xff1a; TIM1&#xff1a;这是一个高级定时器&#xff0c;不仅具备基本的定时中断功能&#xff0c;还拥有内外时钟源选择、输入捕获、输出比较、编码器接口以…

UE5 项目迁移 注意事项记录

做项目的时候项目越做越大 132g的体量一旦移动复制就耗时间 这个时候迁移派上了用场 前置知识&#xff1a;会使用基本ue迁移流程 以下是迁移注意事项 迁移步骤 首先把项目插件plugins复制粘贴到新项目中其次把.project文本形式 全部复制粘贴新项目中开始迁移项目 选中要迁移的…

套接字+Socket连接

制作加载中动画&#xff1a; 创建Panel&#xff0c;制作预制体&#xff0c;在Image游戏物体中添加DOTween插件&#xff0c;相关设置如下&#xff1a; (此为DOTween Pro,需付费&#xff0c;也可按下面的数值编写代码解决) Socket套接字 套接字就是将IP地址与主机端口号合并在一…