Skip to content

filewriter: selog blocks #89

Description

@Tom-Willemsen

The filewriter must be able to write the selog data.

For each block, this includes:

  • raw_data_1/selog/<block>/read_control (was a LabVIEW VI control name; not populated by current system; could be populated as EPICS PV name)
  • raw_data_1/selog/<block>/set_control (was a LabVIEW VI control name; not populated by current system)
  • raw_data_1/selog/<block>/setpoint
  • raw_data_1/selog/<block>/setpoint_spread
  • raw_data_1/selog/<block>/value
  • raw_data_1/selog/<block>/value_log/alarm_severity
  • raw_data_1/selog/<block>/value_log/alarm_status
  • raw_data_1/selog/<block>/value_log/alarm_time
  • raw_data_1/selog/<block>/value_log/name
  • raw_data_1/selog/<block>/value_log/time
  • raw_data_1/selog/<block>/value_log/value
  • raw_data_1/selog/<block>/value_log/value_valid
  • raw_data_1/selog/<block>/value_spread
  • raw_data_1/selog/<block>/vi_name (was a LabVIEW VI name; not populated by current system)

Important

When implementing, we must ensure that the filewriter 'goes back' in time to find the most recent update for each block and log that as the initial update. Otherwise, values will be missing in the .nxs until the block happens to update or the forwarder happens to schedule one of it's periodic updates. For short runs and blocks that don't update much, it is possible that may never happen.

Questions

The ISISICP currently writes strings in a way that is not nexus-compliant. Do we want to continue to do that?

There is a new NXtextlog class for storing string-logs: nexusformat/definitions#1590

Potential differences from existing files

  • The update frequency of blocks logged here may be different than old system; streaming system will see and be able to log all block updates (unless we choose to implement downsampling)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    research/needs discussion

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions