|
Rich : MARS Data Management Research & Requirements
This page last changed on Sep 27, 2011 by rich.
Log MARS engineering data, publish logged data to SSDS The physical systems which produce MARS engineering data can be thought of as being comprised of four major components: the shore-side high voltage power controller (PSC), the deployed Medium Voltage Converter (MVC), the deployed Low-Voltage Converter (LVC) and a Onewire HA7 temperature sensor network (which was added within the LVC housing to monitor temperatures). The sensors and loads of the MVC and LVC are controlled and accessed via the Node Power Controller (NPC) which is at the heart of the wet-side system. The NPC, Onewire and LVC systems are physically contained in the LVC Housing. The MVC is a separate physical housing. As of 2/2011 its sensors are read by the a/d converters of the NPC (a 2nd generation MVC will have its own a/d and controller and be read directly). The 'PMACS Console' provides the operator user-interface to the 'PMACS Server'. All communications with the NPC, PSC and HA7 systems are through the shore-side 'PMACS Server'
Fig.1 A 'logical' view of the MARS system from a data management perspective.
Besides being the communications gateway to the deployed hardware the PMACS Server polls the NPC subsystems for all of the LVC and MVC engineering data at fixed intervals and logs it to various daily text files. Raw NPC text files are archived to directories accessible via an apache web server. PSC data logging service will need to be created. The PMACS Server also runs an incomplete prototype logger service for the Onewire sensor network, which will need to be reworked. Peering Deeper into PMACS Server 'PMACS Server' is the both the name given to a hardware platform and to a collection programs written in various languages running there. A great deal of research has gone to understanding how all of the pieces of the system interact. For our data management purposes, the relevant functionality 'PMACS Server' provides is reduced to: • Provides the gateway for communications with the PSC and NPC. • Periodically polls the NPC for all a/d channels and i/o-bit states and logs as raw counts to daily archive of 'csv' files • Provides a SOAP service to access the Onewire sensor network and the PSC. • Hosts an Apache Web Server. Important elements to our understanding are: • The NPC related SOAP Services provide: NPC Logging NPC is a PC104 that resides in LVC. Implements an XMLRPC interface that the PMACS Server wraps with a SOAP server. It controls power through 4 digital IO plus with A/D converter boards. PMACS Server polls the NPC for a full data record that gives the raw counts of each A/D channel and the bit state of each IO port. The record contains info about/from all Internal Loads (cisco routers etc.), External Loads (ports 1-8, 48v and 375v bus), ground fault, MV sensors etc. PSC Logging PSC is a PC104 that resides in the beach-house with the 100KV DC supply. Implements an XMLRPC interface that the PMACS Server wraps with SOAP. Initial console application/logger I wrote in early 2009 needs to be turned into a true logger. Groundfault No one could really explain how the ground fault detection works. Archeology has now yielded:
Note there appears to be an error on the console in either the test 'A,B,C,D' labeling or with the 375v, 375com, 48v,48com text and boxes. MARS Operators want all four groundfaults to be broken out of the NPC record to a single timestamped record and treated as a single 'device' so that values can be plotted against a common time axis. INTERNAL LOADS Internal loads consist of the LVC internal devices such as the Cisco routers, the HA7 controller, fiber muxes etc that can all be switch on/off via the NPC. Also includes the 'bus monitors' ie. the common bus voltage measurements. MARS Operators want all internal loads to be broken out of the NPC record to a single timestamped record and treated as a single 'device' so that values can be plotted against a common time axis. Data need to be scaled in engineering units with individual calibration applied. EXTERNAL LOADS External loads are the 8 'science ports'. They are basically switchable on/off 48v and 375v power supplies with associated current sensors and circuit breakers. MARS Operators want each external load to be broken out of the NPC record to timestamped records and treated as a standalone 'device' so that values can be plotted against a common time axis. Data need to be scaled in engineering units with individual calibration applied Onewire Network The Onewire (or HA7) Network is an array of temperature sensors and a data acquisition box which was added to the LVC housing. Onewire sensors replace the sensors placed strategically on internal devices such as routers, xternal load controllers etc. The original sensors were considered 'too noisy' to be of use. Additional Requirements MARS software is complex and documentation is 'sparse'. MARS software is consists of many layers and was written in multiple languages. It is an operational system that needs to be kept running 24/7. Therefore a least disruptive path needs to be followed to minimize risk to ongoing science. Least disruptive to me means: Ideas Much of the data and the information needed to interpret it already are exposed on the pmacs web site. (Though this will need to be secured behind the MARS firewall in the near future). Although not well documented, a pattern has emerged for how to access and log the data for the missing data pieces via the PMACS and Onewire servers using SOAP calls. Python is a good choice for it's 'impedance match' to the existing PMACS Server. If all data were logged to the archives on pmacs webserver, then the processes needed to ingest that data to ssds could reside on ssds servers on the other side of the MARS firewall and thus minimally disturb MARS. Ingesting tasks could then pull data from the web as it comes in and use whatever SSDS messaging protocols were needed. Additional packages, libraries and software layer versions etc need for ingest are kept away from the MARS environment. |
| Document generated by Confluence on Feb 04, 2026 08:50 |