190 likes | 286 Views
Magnetic Field Measurement System as Part of a Software Family. Jerzy M. Nogiec Joe DiMarco Fermilab. Family Of Systems.
E N D
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab
Family Of Systems Our approach is to build a family of measurement systems that are based on a common framework. All the systems in the family share various common components and use the same standards to configuring, visualizing, and archiving data. *Framework – the skeleton of an application that can be customized and reused **Component – an independently released software module suitable for composition (together with other components) into multiple applications Magnetic Field Measurement System
EMS Framework Extensible Measurement System (EMS) is a component-based framework for building measurement, data acquisition, and data stream processing systems. The goal of the EMS project was to design, implement, and deploy a system that is extensible, flexible and dynamic. EMS can be used to develop configurable and dynamically reconfigurable systems. Magnetic Field Measurement System
EMS Components control Components have properties and state. Typical components input, process, and output data. Their behavior depends on their state and property values. Components can be forced to perform certain actions by sending control events to them. Components also output debug and exception information. • properties • state • error status data data exception debug Magnetic Field Measurement System
filter splitter source merger sink EMS Component Connectivity • There are several categories of data processing components: • Data sinks • Data sources • Data filters/processors • Data splitters • Data mergers Magnetic Field Measurement System
Producer Chart EMS XML Configuration <?xml-stylesheet type="text/xsl“ href="ems.xsl"?> <configuration version="0.1" title=“Producer-Chart Example"> <!-- Component definitions --> <component id="Producer” class="ems.core.components.SimpleDataGenerator"> <property name="title" value="Data Generator"/> </component> <component id="Chart" class="ems.measurement.chart.ChartDataDisplay"> <property name="XPosition" value="0"/> <property name="YPosition" value="200"/> <property name="title" value="Plot Display"/> </component> <!-- Routing information --> <route type="Data" origin="Producer" destination="Chart" /> <!-- Control signals --> <control signal="init" destination="!"/> <control signal="start" destination="!"/> </configuration> Magnetic Field Measurement System
EMS Scripts • Scripts written in Jython, a Java-based implementation of Python, provide control over the measurement process. • Scripts describe measurement sequences at a very high level of abstraction and supervise execution by sending control events to components. • Control events typically trigger operations on hardware, reconfigure components by applying a new set of properties (measurement parameters), or redirect data flow to appropriate processing components. Magnetic Field Measurement System
System Development Process 1. Create a configuration by selecting and assembling components that control data flow, analyze data, provide partial and final data visualization, and archive data. 2. Prepare or modify measurement scripts, or update the measurement dictionaries, which contain arrays of movement sequences selectable at runtime. 3. Prepare or verify sets of parameters for each of the measurements. 4. Test and verify the correctness of the configuration and parameters by running in the simulation mode. Processing times and memory use can be examined during simulation. Magnetic Field Measurement System
SSW System The Single Stretched Wire (SSW) system measures the strength and alignment parameters (axes and angles) of accelerator magnets. The system applies the EMS software framework and related methodology to the SSW measurement technique developed at Fermilab. Magnetic Field Measurement System
SSW System Magnetic Field Measurement System
SSW Component Configuration • A configuration tool is provided to help with configuring the system. • Properties of individual components can also be modified at run-time. Magnetic Field Measurement System
Component Tailoring Each component has a set of properties that both control its behavior and exhibit its state. These properties can be introspected and modified externally at runtime. Magnetic Field Measurement System
SSW DAQ • Simple Java instrumentation bus access interface. • Local and remote implementation of DAQ. • Highly portable DAQ. • Simulation mode for all hardware-control Java components. Magnetic Field Measurement System
SSW Measurements • Each measurement is controlled by a dedicated script and the system can be easily expanded by adding more scripts. • The basic version has four main measurements: DC, AC, Sag, and Roll Angle as well as two auxiliary modes: TensionAdjustment and Monitoring. • Script can run in an interactive or manual mode. • A sequence of measurements can be selected. • Measurements can be repeated. Magnetic Field Measurement System
Measurement Parameters • Measurement parameters can be reviewed before each measurement and updated. • A hierarchical notation is used for parameters. Magnetic Field Measurement System
User Interface • UI is configurable (component choices). • UI components are configurable and runtime modifiable. • Data from any point in the dataflow can be visualized • UI adapts to needs of a currently running measurement. Magnetic Field Measurement System
On-line Visualization • Display components allow for viewing past data and pausing the display. • Data items to be visualized can be selected at runtime. Magnetic Field Measurement System
Runtime System Status • All events in the system can be reported by the Traffic Monitor component, including data, debug, control, and error events. • Various parameters such as memory usage and timing can be easily monitored too. • The user can enable various levels of debug on each component separately at runtime. Magnetic Field Measurement System
Summary • The SSW system is part of the family of measurement systems, a group of systems built based on a common software framework, the EMS. • EMS systems are configured from pre-build and customizable components. • EMS systems can work completely autonomously and even be scheduled to run in the background. • Properties of any EMS component can be examined and modified at runtime. • Measurement sequences are in the form of scripts that can be easily modified and added to the system. • Portability of the SSW system stems from the fact that it is mostly written in Java with a minimal platform-dependent code necessary to interface to instrumentation buses. Magnetic Field Measurement System