s函数的方法:
【Matlab】如何在S-Function 中调用外部C文件?_wanff1204的博客-CSDN博客
一文教你快速学会在matlab的simulink中调用C语言进行仿真 - 小麦大叔 - 博客园 (cnblogs.com) 这个是把程序复制上去,不是直接调用c文件
https://www.bilibili.com/video/BV1xz411B7cV?p=7&vd_source=01ffcd487b79cae20c792fce97773fd3
stateflow的方法:
Simulink代码生成: 通过Stateflow调用外部C代码_u013288925的博客-CSDN博客_stateflow生成c代码 太慢了
ccaller
C代码在Simulink中仿真 | C Caller 小试牛刀 - 知乎 (zhihu.com) 2020才能用
s builder也能调用结构体。
当发生重定义的错误时,把user.h中的结构体定义删除,转移到:
此时,外部最好设置为定步长、discrete,否则会有仿真会有冲突。
s builder的Ts 最好和外部步长相等,如果等于pwm频率,在pwm频率和定步长很接近时,会发生采样刚好漏采,导致ualpha很小。
ualpha不要直接从三相取电压算,稍微滤波一下。
注意不要把初始化写在update里!否则会重复初始化!
仿真结果:ROsmo(以ialpha ibeta为状态变量) 的 效果 比TI 四阶滑模好一点。