首页 > 其他分享 >Simulink自动生成Park变换模块的C代码过程

Simulink自动生成Park变换模块的C代码过程

时间:2024-08-23 10:56:56浏览次数:10  
标签:代码生成 Simulink Park 模型 配置 park 生成 模块 代码

    1. Simulink自动生成Park变换模块的C代码过程

第一步:在matlab当前文件夹下,建立simulink模型文件。如下图所示。

 

第二步:搭建park函数模块。在Simscape工具箱中的transformers子工具箱下找到相应的模块,添加输入输出端口。

 

第三步:代码生成环境配置。

(1)点击model configuration parameters,开始环境配置。

 

(2)按如下步骤配置自动代码生成环境,配置完后点击ok保存。

  • 解算器配置

控制周期0.0001s

  • 优化配置

 

优化配置

  • 硬件实现配置

应用硬件TI2000

  • 代码生成配置

选择代码生成方式(嵌入式)

生成报告

代码生成模板

生成文件的组织方式(compact生成的文件最少)

第四步:开始C代码的自动生成

(1)点击build model,自动生成C代码。

(2)最终生成报告

(3)自动生成的C代码文件夹为park_ert_rtw(命名规则为“模型文件名_ert_rtw”),该文件夹下的park.c和park.h(命名规则为“模型文件名.c”、“模型文件名.h”)即为可为DSP编程调用的所需控制算法代码。rtwtypes.h文件为变量定义和宏定义等也是必需的。

第五步:观察生成的C代码。

(1)在报告中观察C代码,点击绿色部分可以找到simulink中对应的变量位置。

 

(2)在park.h文件中查看函数和变量

生成的主要函数有初始化函数和功能函数(将在DSP中调用)。

在park.c文件中,park_step()函数的代码表示模型所搭建的控制算法。park_initialize()函数的代码为模型的初始化。

模型的输入变量定义结构体为:模型名_U,其成员为模型名_U.输入端口名;

模型的输出变量定义结构体为:模型名_Y,其成员为模型名_Y.输入端口名。

标签:代码生成,Simulink,Park,模型,配置,park,生成,模块,代码
From: https://blog.csdn.net/m0_37724753/article/details/141460055

相关文章

  • 得帆中台数据中spark sql和hive sql的效率差异记录
    在数据处理方面,sparksql的处理速度优于hivesql场景1:在数据条数为491条时,使用sparksql和hivesql在中台处理的时间,分别用时9s和55s//使用的SQL语句SELECTYEAR(update_time)ASyear,month(update_time)asmonthFROMdwd_tb_customer_store_appraiseWHEREYEAR(......
  • SparkContext与SparkSession区别
    文章目录pyspark初始化SparkContextSparkSessionSparkConfspark-submitpyspark初始化SparkContextSpark中的主要接口,代表与Spark集群的连接。在早期版本的Spark中,需要通过SparkContext对象来初始化Spark应用程序。在Spark2.0之后,推荐使用SparkSession来替代。创......
  • python 05-标准库:csv、json、sqlite3、datetime模块
    csv模块importcsv#data.csv不存在时,会现在当前目录下创建一个data.csv文件withopen("data.csv","w",encoding='utf-8')asfile:writer=csv.writer(file)writer.writerow(["trasanction_id","product_id","pric......
  • python 04-标准库:pathlib模块
    pathlib模块pathlib模块‌:是面向对象的文件系统路径操作库,提供接口来处理文件路径。Path是主类Path:Path对象表示文件或目录的路径,Path类会自动选择PosixPath或WindowsPath,具体取决于我们的操作系统......
  • python03-标准库 第三方库-pathlib模块
    python标准库:Python自带的一组模块和库,这些模块和库提供了Python编程所需的基础功能和工具https://docs.python.org/zh-cn/3/library/index.html?eqid=8ca0b3ea000067990000000264800802Python包索引:即PyPI(PythonPackageIndex),是一个仓库,存放了许多可以通过pip安装的独......
  • python模块之psutil
    模块介绍psutil是一个Python的跨平台库,用于获取系统和进程的运行状态以及实时信息。它能够方便地访问系统的CPU、内存、磁盘、网络等资源的使用情况。此外,psutil也能够管理和监控进程,非常适合用于系统监控和性能分析等应用。psutil库适用于Python3.x版本,自版本5.0.0起......
  • 原生js实现下滑到当前模块进度条填充
    <divstyle="height:1500px;"></div><divclass="progress-container"><divclass="progress-bar"data-progress="90%"><pclass="progress-text">GoogleAds在Google搜索引擎上覆盖超过90%......
  • python 模块统计
    importos,reos模块是方便与操作系统相交互的模块例如os.listdir(path)列出指定目录的文件os.gitcaw()取得当前工作目录 importre调用正则表达式. 匹配除换行符外的任意字符\W匹配字母或数字\S匹配任意的空白符^匹配开头¥匹配结尾 importsyssys.exit(n)退......
  • 仿Muduo库实现高并发服务器——Connection模块
            这个模块看着代码挺多的实则真的很多,但是不难,我为大家将各个函数拿出来理一理。    connection就是将主线程监听的网络套接字上的客户端套接字进行包装,使被包装的套接字可以进行,各种事件的处理,比如读写事件。下面就来详细看看。 这是connection模......
  • 仿Muduo库实现高并发服务器——任务定时器模块
    任务定时器模块TimerWheel在本项目中的简单使用:        下面这张图是channel模块,poller模块,TimerWheel模块,EventLoop模块,LoopThreadPool模块进行组合。便于大家对这个项目的理解,因为代码看起来挺复杂的。上面右下角就是定时器模块。TimerTask类的实现:usingTaskF......