Since 18 of December 2019 uses Nucleus credentials. Visit our help pages for information on how to Register and Sign-in using Nucleus.
13-17 May 2019
Daejeon, Republic of Korea
Europe/Vienna timezone
Meeting Material is now available and accessible from the left-menu

Web-based Streamed Waveform Display using MDSplus events and Node.js

16 May 2019, 13:30
2h 30m
Daejeon, Republic of Korea

Daejeon, Republic of Korea

Board: P/5-2
Poster Remote Participation and Virtual Laboratory Poster


Gabriele Manduchi (Consorzio RFX)


Streamed data visualization is a new requirement for long lasting discharges and more in general for every long lasting related experiment, such as the ITER Neutral Beam test facility. A prerequisite for live visualization is the ability of the underlying data system to support streaming in data acquisition. Data streaming is supported in MDSplus, a widely adopted data system in fusion research, by means of segments. A signal in MDSplus is stored as a sequence of segments that can be saved individually as soon as the associated data chunk is available. In this way, at any time during the experiment sequence, segments stored so far are readily available and can be used for on-line analysis and visualization. On-line visualization is routinely performed during long lasting experiments, but implementing streamed data visualization, such as strip charts, would overload the data system, especially if a large number of charts are being displayed. A different approach for streamed data visualization is proposed here, using MDSplus events, rather than directly accessing stored data. MDSplus events are used to synchronize components during the experiment sequence, using a multicast organization. A listener can register for a given event name and it will be notified when an event with that name is generated. Events can bring data and are implemented as UDP multicast packets. A data acquisition program can therefore, in addition to using MDSplus for streaming data segments, generate MDSplus events bringing the most recent chunk of samples. In order to make data carried by events available to Web applications, a Node.js server has been developed, listening for the UDP packets and updating the connected Web clients using HTML5 Server Sent Events. In turn, Web client will update the displayed waveforms using chart js.
Compared with other approaches for streamed data visualization, the presented one offers several advantages. Firstly, MDSplus events represent a much lighter solution in respect to repeatedly accessing stored data in pulse files. Then, Node.js proved a very effective environment for originating the Web pages and to implement the bridge between MDSplus events and HTML5 Server Sent events, resulting in an amazingly low number of lines of JavaScript code. Finally, chart js proved an effective tool for waveform display in Web pages, with a stunning performance in animation.

Primary authors

Gabriele Manduchi (Consorzio RFX) Mr Adriano Luchetta (Consorzio RFX) Mr Andrea Rigoni (Consorzio RFX) Mr Cesare Taliercio (Consorzio RFX) Mr Gianluca Moro (Consorzio RFX)

Presentation Materials