2021-05-08

Simulink & Simplorer 仿真 配置

Simulink& Simplorer联合仿真配置步骤

1. 环境 配置
添加Simplorer 目录至 MATLAB 环境 目录 中 。

2. Simplorer 中添加 Simulink Component

3. 导入 Simplorer 模型 至 Simulink 环境
插入S Function 模块, 在 S function name 一栏中输入 AnsoftSFunction 如下:

点击OK ,如下图 所示对话框 ,导入 Simplorer 文件。

手动连接 Simplorer 模型 中的 网络 节点 如下图 。

将S Function 放置于系统 模型中,与控制器相连。

4. 配置 Simulink 仿真 环境 需要与 Simplorer 中 配置 保持 一致。

5. 启动仿真
在Simulink 环境下 启动 仿真,同时 Simplorer 处于 打开状态,可以看到 Simulink 与 Simplorer 处于 联合仿真工作模式。

个人心得 小结
1) Simulink 与 Simplorer 联合仿真实际上通过 S function 做桥接;
2) 仿真步长等 相关 仿真 环境变量配置保持一致 主要 目的 是 为了保证联合仿真 时序 同步;
3) 目前一个 Simulink 仿真模型 下还无法支持多个 Simplorer 模型导入 ,即只能包含有一个 AnsoftSFunction
的 S function 模块 后续如何实现多功能的 集成 仿真是个 待研究 课题 。 或许 采用 模型引用可以解决该类问题

Simulink导出至Simplorer仿真配置步骤
1. 环境 配置
添加Simplorer 目录至 MATLAB 环境 目录 中 。

2. Simulink 模型模型引用 转化
将Simulink 模型 配置为 原子单元。

将Simulink 模型转换为模型引用形式。

3. Code Generation 配置
进入模型引用 模块, 进行 参数 配置。

注意
1) 截止 时间配置成 “ 这样 仿真时间 完全依赖于 Simplorer 中的仿真截止时间,这样配置 使得 在 Simplorer 中的仿真更为灵活
2) 仿真 步长影响 Simplorer 中的最大 积分 时间, 较小 的仿真步长会极大的增加 Simplorer 中 的仿真时间, 因此 平衡起见 ,建议选择仿真步长为 模块 执行周期的 千分之一。 即 执行 周期为 200 us ,则 仿真步长设置为 200 ns 。 而 对于真实 MCU 系统 仿真步长 应为 SYS Clock 的 执行周期,即 100MHz MCU 则仿真步长应设置为 10 ns 。
由于采用离散系统仿真, 对于 Simulink 模块输出不用使用插值输出数据, 需将下列 复选框去除 。

4. Simulink 动态 模型编译( 生成 DLL 文件)
在需要Code Generation 的 Simulink 模型 下执行 Build Model Ctrl+B

如下图,表示编译 成功 DLL 文件 将在 Simulink 模型 下自动生成。

5. 导入 DLL 模型

执行完导入 DLL 操作后 会在 Project Component 目录下自动生成 C Model ,直接将其导入仿真模型即可 如下所示 。

6. 开始 仿真
连接C Model 模块 输入 输出端口,在 Simplorer 下 运行 仿真。

个人心得 小结
1) Simulink 导出至 Simplorer 仿真实际上通过 Simplorer 中 的 C Model 做桥接 Simulink 模型下 的控制器 经过 C 代码生成并完成编译后,生成的 DLL 文件 用于 Simplorer 中 直接调用 。这样 Simplorer 可以 直接 使用 Simulink 中的模型 运行 并完成仿真,而非通过联合仿真的形式。
2) Simulink 导出 的模块本身包含仿真步长等 信息 因而 用户在 Simplorer 中仿真无需 Simulink 的 License 即可进行。

系统环境配置注意事项
1) Win10 系统兼容性最差,即便使用 VS2013 (即使安装最新升级补丁)、 VS2015 也无法保障编译通过
2) MATLAB 安装 MATLAB 安装目录一定不能包括空格,即不能使用 MATLAB 默认的安装目录 C: Program
Files MATLAB R2016 a ,要选择 C: MATLAB R2016 a
3) 要 确保 VS 已破解完全;
4) 目前试用可行的环境配置为: Win7 (64 位 + VS2013 ( + MATLAB 2017a 。
以上环境
如配置异常,会导致编译 报错 等 问题 。

  • 20
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
这个数据可以使用Python进行解析和处理。可以按照以下步骤进行: 1. 将数据分割成每个数据项。 ``` data_items = data.split(',') ``` 2. 对于每个数据项,将其按#分割成四个小项,并存储到一个列表中。 ``` data_list = [] for item in data_items: item_list = item.split('#') data_list.append(item_list) ``` 3. 对于每个小项,进行相应的类型转换。 ``` for item in data_list: item[0] = int(item[0]) # 题号转换为整数 item[1] = datetime.datetime.strptime(item[1], '%Y-%m-%d %H:%M:%S') # 时间转换为datetime类型 if item[2] != '': # 操作类型转换为整数 item[2] = int(item[2]) item[3] = str(item[3]) # 科目转换为字符串类型 ``` 4. 可以按照需要对数据进行进一步处理,如按照题号、时间等进行排序、筛选等操作。 完整的Python代码如下: ``` import datetime data = '''1#2021-05-18 14:31:55##初级会计实务,2#2021-05-18 14:31:57#12#初级会计实务,2#2021-05-18 14:32:08##初级会计实务,3#2021-05-18 14:32:09#12#初级会计实务,4#2021-05-18 14:32:34#12#初级会计实务,4#2021-05-18 14:32:45##初级会计实务,5#2021-05-18 14:32:46#12#初级会计实务,5#2021-05-18 14:32:57##初级会计实务,6#2021-05-18 14:33:00#12#初级会计实务,7#2021-05-18 14:33:44#12#初级会计实务,7#2021-05-18 14:34:42##初级会计实务,8#2021-05-18 14:34:43#12''' # 将数据分割成每个数据项 data_items = data.split(',') # 对于每个数据项,将其按#分割成四个小项,并存储到一个列表中 data_list = [] for item in data_items: item_list = item.split('#') data_list.append(item_list) # 对于每个小项,进行相应的类型转换 for item in data_list: item[0] = int(item[0]) # 题号转换为整数 item[1] = datetime.datetime.strptime(item[1], '%Y-%m-%d %H:%M:%S') # 时间转换为datetime类型 if item[2] != '': # 操作类型转换为整数 item[2] = int(item[2]) item[3] = str(item[3]) # 科目转换为字符串类型 print(data_list) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电力电子空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值