There is already some work in this area (non-ruby through).
http://pvbrowser.org/pvbrowser/index.php
From the web page (introduction section),
SCADA
SCADA (supervisory control and data acquisition) is a category of
software application program for process control, the gathering of data
in real time from remote locations in order to control equipment and
conditions. SCADA is used in power plants as well as in oil and gas
refining, telecommunications, transportation, and water and waste
control.
SCADA systems include hardware and software components. The hardware
gathers and feeds data into a computer that has SCADA software
installed. The computer then processes this data and presents it in a
timely manner ( HMI ). SCADA also records and logs all events into a
file stored on a hard disk or sends them to a printer. SCADA warns when
conditions become hazardous by sounding alarms.
ProcessViewBrowser
The concept is similar to an internet browser. But it is intended for
the use in industrial process visualization. It is based on Qt
http://www.trolltech.com which is a platform independent GUI toolkit.
ProcessViewBrowser is platform independent, because only posix calls
and Qt are used. ProcessViewBrowser runs on Linux/Unix, OpenVMS and
Windows. The browser can display nearly all standard Qt widgets
(labels, buttons, editfields, comboboxes, ...) and other widgets for
bmp images, diagram widgets for displaying xy-graphs, OpenGL and VTK.
The widgets can be arranged on your masks. You can specify the position
and size of the widgets.You can place one widget on top of another
widget. I have seen many process visualization systems, which define
their masks in the clients (I think this is not the right way to go).
Instead of this, the masks in ProcessViewBrowser are defined in the
appropriate process computer itself. The user can jump from one process
computer to the other and see all masks. When masks are updated nothing
has to be done in the clients.
J.