温馨提示:本文翻译自stackoverflow.com,查看原文请点击:matlab - Can't solve port dimension errors in Simulink FOC model
matlab simulink

matlab - 无法解决Simulink FOC模型中的端口尺寸错误

发布于 2020-07-14 09:08:18

我正在尝试使用Simulink中的Motor Control模块组开发FOC算法(请参见屏幕截图),但出现以下错误(请参见屏幕截图)。我不知道我在做什么错,因为我将dq电流馈入了离散PI控制器,并将结果直接馈入了逆公园变换。我不知道如何解决这个问题,我们将不胜感激。

在此处输入图片说明

在此处输入图片说明

Simulink文件OneDrive链接:

https://1drv.ms/u/s!AokIrMv_d8kz3BMaImhVY_guP_N-?e=Fu1a1e

查看更多

提问者
jefazo92
被浏览
33
thewaywewalk 2020-04-16 16:41

我无法打开您的模型。但是从您的屏幕截图中,我看到以下内容:

  • 信号箭头处的小数字表示该路径中有多少个信号。我认为(在您的模型中)应该始终为1(三相电流除外),三相电流应为3所以到处都可以找到一个 2,这是错误的。
  • 可能的错误是,您将PhaseCur右下角的Demux 分解为2条信号路径。无论出于何种原因,克拉克变换似乎只要求ab阶段,而不要求c阶段但是,与其c丢给,不如将其与a一起馈入块(或将abc一起馈入块)。因此,请使用3-Way-Demux代替之前的2-Way-Demux,并摆脱阶段c在Clarke变换之前

到目前为止,这是最明显的错误,请尝试解决。


Clarke变换块文档指出:

该模块从三相(abc)中接收两个信号,自动计算第三个信号,并在αβ参考帧中输出相应的分量。例如,该块接受a和b输入值,其中a相轴与α轴对齐。