<< 点击显示目录 >> 主页 mappServices帮助手册 > mapp Data: 数据记录 > 库 > 功能块 > MpDataRecorder > 描述 |
mapp Services V5.16
MpDataRecorder配置的MpLink被用于该功能块。
如果在录制过程中出现问题,请参阅 "FAQs"一节 , 了解可能的解决方案。
开始记录
命令 "Record "用于备份数据。过程变量在上升沿开始被保存。数据被存储在内部存储器(RAM)中,然后定期从那里传输到CSV文件中。如果文件达到最大尺寸,它将被存储在用输入 "DeviceName "指定的存储介质上。一旦内部存储器中的数据被存储到文件中,内部存储器就会被清空,并为新数据做好准备。这也可以在 信息结构中查看 。参数 "FileCount "在每次存储新文件时也会增加,比如说。如果用 "Record = FALSE" 停止记录 , 信息结构中的所有参数都被重置。如果再次开始记录,已经生成的文件将不被考虑在内。记录将重新开始!
如果MpDataRecorder的配置不同,那么数据将被存储在一个环形缓冲区中,可以使用 "SnapShot "命令导出。
MpDataRecorderConfig 或 MpDataRecorder配置用于配置过程变量的保存方式。
一旦数据收集完成,输出 "RecordDone "就被设置为 "true" 。如果MpDataRecorder被配置为一个环形缓冲器,那么记录将永远不会结束。
输出格式在配置中设置(PDF、CSV)。PDF文件和CSV文件是以UTF-8编码保存的。
需要库MpReport来导出数据为PDF文件。
记录模式
记录模式("RecordMode")定义了哪个事件会触发数据的保存。有以下几种模式可供选择。
•Time-based: 在这种模式下,输入 "SamplingTime "指定了PV数据的保存频率。为了防止抖动,采样时间应该是周期时间的倍数。在改变 "SamplingTime "时,新值只在 "Record "的上升沿应用。
•Triggered: 数据在触发器的上升沿被记录下来。用于触发的变量必须连接到MpDataRecorder的 "Trigger "输入。
•On changed value: 每次注册的过程变量之一发生变化时,都会保存新的PV数据。
在每个模式下,当一个新的事件发生时,从每个注册的过程变量中存储当前值。这就产生了一组过程变量数据并将其存储在内部存储器中。过程变量是使用功能块 MpDataRegPar 注册的 。首先,MpDataRecorder必须处于激活状态("Active = TRUE")。然后可以使用MpDataRegPar注册各个过程变量。
创建一个页眉
可选的输入 "Header " 可以为 文件添加一个 标题 。这包括数据集的名称以及一个额外的注释。
快照
命令 "SnapShot "将当前记录在内部存储器中的数据转移到一个额外的文件中。 一旦快照完成,输出 "SnapShotDone = TRUE"就表示 完成。保存数据的正常程序不受此影响。要使用 "快照 "功能,内部存储器中必须有可用的数据!
信息结构
可以访问信息结构以检索有关当前状态的细节。
•FileCount: 当前进程已经生成了多少个文件。
•CurrentFileName: 目前正在传输的数据的文件名称
•CurrentFileSize: 正在传输数据的文件的当前大小
•CurrentBufferSize: 目前正在使用的内部存储器的数量
•RegisteredPVCount: 表示目前有多少个过程变量被注册
•TotalSamples: 表示自开始记录以来,每个注册的过程变量有多少条。
•ValueOutsideLimits: 注册的过程变量值超出了规定范围。
如果用 "Record = FALSE" 停止数据记录 ,信息结构也被重置。用 "Record = TRUE"来重置记录 。之前产生的数据都不会被考虑在内!
恢复数据:
在断电后可以按以下方式恢复数据。功能块 MpDataRecorder 必须以完全相同的 "BufferSize "和 "TimePeriod "的值启动。此外,必须注册相同的过程变量,并且配置不改变。在数据存储介质上已经创建的文件不受断电的影响。
如果在断电后,数据应该被丢弃,那么 MpDataRecorder 必须被禁用。当重新启用时,内部缓冲区被清空,可以从头开始。
根据记录模式、存储间隔、循环时间、注册变量等,可以记录更多或更少的数据。如果参数不匹配,会触发警告 "无效的存储间隔。" 或错误 "不可能保存" 。下面的Excel文件可以用来确定防止这种警告/错误的正确时间和参数。
Excel文件。 MpData_calculation
在Excel文件中,可以在左边的表格中输入需要的参数。参数是否匹配会在警告或错误中显示。如果 是FALSE,则不发生警告/错误;如果是 TRUE,则必须对参数进行修正。右边显示的参数是由MpDataRecorder内部使用的,用于计算。
可以改变或优化以下参数,以避免出现警告或错误。
调整记录模式
功能块的输入参数 "RecordMode "定义了数据应该如何被记录。关于不同的记录模式,有几点需要注意,这取决于应用。
如果数据是按时间记录的(mpDATA_RECORD_MODE_TIME ),有可能会记录不必要的大量条目,即使过程变量的值没有变化。这将导致记录文件中不必要的信息 "flood"。在此,建议增加存储数据的时间间隔("SamplingTime")或使用其他记录模式。
如果数据在数值变化后被记录(mpDATA_RECORD_MODE_VALUE),至少有一个注册的过程变量必须发生变化。但是,如果注册的过程变量包含100个不同参数的结构,例如,文件中也会包含很多不必要的信息。这是因为整个结构总是被存储,即使可能只有一个或几个参数发生了变化。这也影响了目标系统的性能,因为大量的数据必须一次性存储。可以把要记录的过程变量或结构分割开来,记录在不同的文件中,也就是不同的mapp Data实例中。
使用函数 "Powerfail-safe"
在 MpDataRecorder配置中可以使用 "电源故障保护 "功能 。当为 "true "时 ,数据被安全地存储,以防止电源故障。数据被存储在目标系统的DRAM或SRAM存储器中。需要注意的是,将数据存储在DRAM或SRAM中对目标系统的性能要求更高。如果使用该函数,应定义足够大的任务循环周期或任务容忍时间,以确保存储过程不会导致任务循环时间超时。