Real-time plotting software component / virtual oscilloscope
Free
download URL of baseline x86 (32-bit) 2.8.0 version 3.54 MB (3,713,893 bytes):
http://www.oscilloscope-lib.com/oscilloscope_DLL.zip
Updated July 10, 2009.
oscilloscope_DLL.zip md5sum: 07c7143e9b371b2a1db287bc0bdf7370
Documentation locates in the Osc_DLL_DOC.txt file inside downloaded archive.
Sep. 8, 2011 compiled and tested the native 64-bit DLL of same functionality.
Oscilloscopic graphical user interface screenshot
Advantages: PAD file URL: http://www.oscilloscope-lib.com/scope_pad.xml My E_Mails: brnstin@zahav.net.il ; brnstin@cheerful.com -------------------------------------------------------------------
The library makes it possible to show on the beams of the oscilloscope
over a million quantization steps of signal per second (on the Pentium III machine)
– less than one micro-second is sufficient for one signal sample. This software can be
used for linking to real-time controlling programs as longer delays in
relay of data to the oscilloscope don’t occur. The relayed data is
instantly displayed in beams, the process of their relay and display is
deterministic (may be infinite). The relayed data is stored in the
oscilloscope memory and can be displayed graphically as beams at any
time – without any “solution” such as decimation or excerption, strobe
effect and the like. It works regardless of the relay speed.
Convenient integration with any application-orientated software: the
on-screen oscilloscope is designed as a DLL exporting 9 functions, of
which 4 are usually enough to work with. The library is supplied
with a comprehensive description of the program interface and simple
examples of its use executed in various different program development
environments: MS Visual C++® & Visual Basic®; Borland Delphi® &
C++Builder®; MathWorks Matlab® & Simulink®, C# (C Sharp).
A viewing oscilloscope is created by this library as a separate window,
entirely independent of the program which activated it. This window
contains all the elements typical of a control panel of a real
oscilloscope. All the control elements are equipped with hints
concerning their function. This viewing oscilloscope doesn’t create any
additional windows with any secondary controlling elements or
indicators. The library can read any indicated ini file (easily edited
text format) containing a description of the initial oscilloscope
properties including: all graphics such as colours, type and size of
fonts, size of grid cells, display/hide control elements options,
window caption text, as well as a description of modes: number of
beams, time and amplitude scales and offsets for each beam
independently, buffer lengths, modes and levels of triggering, etc.
Viewing oscilloscope can also save all the current settings onto the
given ini file, the format of which is described in detail in applied
documentation.
Data already shown in the oscilloscope beams can easily be transferred
to other programs via clipboard (copy - paste) in text form or via the
saved text file. In order to do this, select any signal fragment on the
oscilloscope monitor – as is done in any text editor program. Text
format of exported data is universal and simple – it consists of
amplitude columns representing the time series. The columns are
separated by a tabulation symbol. In such form data can be easily
imported into most “spread sheet” kinds of programs – such MS Excel®,
as well as into programs of the Matlab® type. The oscilloscope also
allows such data file to be loaded quickly onto its beams.
This library employs only the most basic API functions and works
reliably on all versions of 32-bit MS Windows® starting with the ’95
version. This works good on the MS Windows Vista® and Windows 7®
(including 64-bit ver.) as well.
Recently the 64-bit ver. of the DLL was successfully tested on 64-bit ver.
MS Windows 8 Developer Preview ver.
Before its first release this library was developed and robustly
tested for over 6 years.
During this period it was used in a medical monitoring system,
in the automobile industry (engine monitoring),
in motion control systems (servo controllers for electric
motors) and in metrological studies (development of sensors). Applied
software emitting data to this oscilloscope obtained data via such
communications as serial port (RS232, 422, 485), SSI, USB, CAN bus,
Ethernet, GRIB (instrumental interface), via custom-made communications
equipment and also by collecting information via a data acquisition
card with analog-to-digital converters mounted on the PCI bus-bar of a
PC. The oscilloscope was also connected to receive data flow from a PC
sound card. We tested and practically confirmed the possibility of
relaying data to the scope directly from the computer’s hardware
interrupt procedure (IRQ) and from any kind of anisochronous thread -
which is important.