Display high sampling rate waveform form from another system

Hi everyone,

I'm looking for recommendations on the best way to display a live waveform in Ignition Perspective.

Say I have a separate data acquisition/logger application (National Instrument) that is collecting high-speed waveform data and continuously writing it to either a database or a file.

I'd like Ignition Perspective to display that waveform as close to real time as possible, with minimal lag.

What are the different ways for Ignition Perspective to display a live waveform from an external data acquisition system?

Would you recommend having Ignition read directly from a database or file, exposing the live waveform through a REST API or WebSocket, or is there another approach that would be better?

The bottleneck will be converting the data to json for display, not getting it into the gateway. (I'd retrieve from the DB, if it is going to be stored there anyways.)

You probably should use Embr charts and push just new data to the browsers using Embr's scripting options.

Thanks for the valuable input, specially on Embr scripting option..

Are you referring to updating the chart incrementally, where only the new samples are pushed to the browser instead of sending the entire waveform each time?

If so, could you elaborate a bit on how you envision the overall flow? For example, where would the scripting typically live, and how would the browser receive the incremental updates?

Yes.

Named query binding on a private view custom prop that brings in data with a WHERE clause that:

  • targets the waveform(s) of interest,
  • Limits the timestamp range to after the later of the last sample timestamp delivered to the browser, or the beginning of the chart range.

Toolkit iterator expression binding on private view custom prop that converts the raw dataset return from the NQ into the "shape" required by Embr's incremental update methods. A change script on this prop would call the chart update, and on success, update the "delivered" timestamp (retriggering the NQ).

Thank you. Your input will save me time a lot.
I will explore this implementation, and report back.

You might also want to check out the COMTRADE viewer in the Data Center and Solar demo project downloads.