Display high sampling rate waveform 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.

I use embr. Thank you.
Just playing around, nothing official.
java_oA5UDHgyt4

That ui looks very Claude-y. Curious if you used it to gen that view?

Nowadays, one should not ask if ai was involved. I bet even those task that AI must be use least, ai was use.

If you want to go crazy fast/low latency, you can use Embr's SSE module to stream tag changes directly to Perspective sessions.

It’s pretty experimental, but I’m still interested in developing it/pushing it further.