新的“文件日志”块在R2020B中的工作如何,以及Simulink实时中的旧“文件范围”块的不同情况如何?万博1manbetx

51意见(过去30天)
实时“文件范围”块不会出现可用了在R2020b。如何记录数据上R2020b及以后的Speedgoat实时目标的工作?

接受答案

MathWorks的万博1manbetx支持团队
编辑:MathWorks的万博1manbetx支持团队 在2021年1月7日
要编写一个信号数据文件,日志在你的目标机器的SSD硬盘,使用文件日志从R2020b起阻止:
本文介绍了以下主题:
  • 文件记录是如何阻止旧的文件范围块不同?
  • 如何关闭文件范围的自动导入?
  • 如何控制文件日志运行的目标是多少?
  • 我如何我手动导入文件记录到MATLAB?
  • 如何关闭目标机器上的日志记录?
文件记录是如何阻止旧的文件范围块不同?
文件日志块类似于标记为以“缓冲”模式为流的信号,该模式是R2020A(及更早版本)功能并被记录在这里。与旧文件范围块相比,文件日志块具有以下改进功能:
1.默认情况下,数据在模拟结束时自动移动到主机。在模拟的结束时,如果主计算机被连接时,数据自动传输和装载在SDI。除了这一点,数据也被下载到MATLAB基地工作区,如下面的屏幕截图。如果主机计算机没有连接时,数据被存储在目标机器上
2.将数据文件从目标计算机删除到主计算机后从目标计算机中删除。数据文件从目标计算机成功传输到主机后删除。如果转移不成功,数据文件不会被删除。
注意:这意味着你要记得保存从SDI或关闭数据之前MATLAB基本工作空间。如果你不保存数据接近MATLAB,您记录的数据丢失。这种行为将在未来的版本MATLAB进行审查。
3.文件日志考虑到自定义信号标签。相反,仅命名基于上游块名称的信号,这一点与文件范围块的情况下,信号现在将根据您在Simulink模型指定的自定义信号名称显示。万博1manbetx
4.数据文件可以在运行时被传递到主机。文件范围DAT文件只能在实时模拟结束时复制到主机。文件日志块允许使用导入()函数在运行时导入,如下所示。
如何关闭文件范围的自动导入?
为了在模拟的结束禁用数据日志的自动输入,开始通过使用该命令的MATLAB API应用程序:\ n
>> tg.start('AutoImportFileLog',假);
请参阅以下链接以了解有关目标对象'Start'功能的更多信息:
请注意,目前无法控制使用外部模式时或通过Simulink实时资源管理器控制行为。万博1manbetx
我如何控制存储在目标日志的最大值是多少?
默认情况下,存储在目标文件记录的最大数量被设置为1,具体根据“SLRTFileLogMaxRuns”模型参数:
构建应用程序后,您可以使用“filelogmaxruns”实时应用程序选项选择在启用文件日志记录时存储的模拟运行数:\ n
>> app = slrealtime.application('slrt_ex_osc');
>> app.options.set('fileLogMaxRuns'4);文件记录的一套%最大数量
>> tg.start('AutoImportFileLog',假);文件日志%禁用自动导入
我如何我手动导入文件记录到MATLAB?
如果当应用程序停止,或者如果自动导入已被禁用,则可以使用Simulink的实时浏览器导入目标机器上可用的文件记录主机计算机没有连接。万博1manbetx点击导入文件记录如下所示:
导入成功后,将从目标计算机中自动删除文件日志。导入的数据会自动加载到SDI。从SDI导出数据以将数据存储在主机上。
还可以使用MATLAB API完成文件日志导入操作。使用目标对象获取目标计算机上可用的文件日志列表。该列表包括应用程序的名称,开始日期和大小:\ n
>> tg.filelog.list.
您可以使用:\ n选择性地导入或丢弃文件日志
>> TG.FILELOG.IMPORT(2:3)
>> tg.filelog.discard(“slrt_ex_osc”
如何关闭目标机器上的日志记录?
文件日志块在已启用的子系统中工作,但还有一个全局交换机。使用MATLAB API禁用或启用目标计算机上的日志记录:\ n
>> TG.FILELOG.DISABLE.
>> tg.FileLog.enable
\ n您也可以使用启用文件日志块,按照:

更多答案(0)

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!

翻译