3D Graphics in Ignition using WebDev

Hey, as a challenge for myself I wanted to try to dsiplay 3D graphics inside Ignition and found in the end the follwing approach:
First I create a custom website using the web dev module. Here I can even read tags to easily pass custom values to my website. On the website I just create a single canvas where I execute webGL code to render my scene.
Now I can access the website in Ignition using the Web Browser component and in Perspective with the iFrame component. Both are able to render WebGL. And voila I have a 3D graphic in Ignition.
Below you see two examples (they rotate in runtime). Here I put a listener on a powertable which opens the website in a popup and passes the diemsions and shape of the object to the website.
imageimage

Do you think this is feasible to be used as a gimmick in a production enviroment (just as the cherry on top cause lets be honest noone needs this).
And has anyone tried displaying 3D Graphics before and has a better approach?
Thanks.

3 Likes

You can do some basis 3d stuff with css, but for complex things like animations and rotations, a canvas is best yea.
You might want to take a look into three.js, i believe there are some topics on this forum about three.js too

2 Likes

We had tried to display plant panoramic images based plant walk thru using WebDev instead of 3D models. See ARSCADA modules on our products page. Then we created a standalone version of it called NJSCADA on nodeJs server connected to Ignition thru REST APIs. Plant parameters are displayed in real time on these panoramic images.

This approach obviates 3D model creation with just Panoramic images.

1 Like

I have not tried it yet, but I am looking at this module 3D Engine Documentation

1 Like

3D doesn't seem to have any takers in SCADA space in my experience.

Most likely because it's an unnecessary hindrance and distraction for operators, not to mention the additional expense of producing the graphics themselves

4 Likes

I have read and seen a video of a 3D plant visualization feature in ABB's SCADA. They model the 3D view of a plant on XBOX gaming station using surface modeling tools with textures like a video game does. With this one can walk thru the plant 3D model view it from any angle and view key plant parameters and operate a plant equipment from this ineterface.

3D model building for a plant is indeed very expensive. Hence we thought a panoramic image based plant walk thru would simplify things.

Some people have tried a Lidar based 3D plant model generation to reduce the cost.

I thought the 3D plant models or walk thru's would be useful for plant O&M staff or new operators to familiarize themselves with plant layout and equipment physical look and feel, but doesn't seem to be the case.

1 Like

Not thinking Scada, but thinking to help maintenance with a rendering of an equipment, highlighting issues based on alarms or things like that

1 Like

I saw this post a while back very interesting:

For the most part, this seems to me to be kind of that 3D filesystem viewer from Jurassic Park: looks neat in a movie or to click about when there's a slow day at the office, slow and frustrating as an actual tool. Imagine having to pan around a 3D scene to look at a particular indicator, and while you're looking at it some other useful indicator is now somewhere offscreen.

I do like the maintenance idea of being able to pull up the exact location of a faulted sensor though. As long as I can see a list of all the alarms without having to rotate a 3D model of the machine :laughing:

3 Likes

"- where's the doc for the API ?"
"- take a left after the svg folder, then it's the 3rd one on the right."

2 Likes

It's based on Krpano tool which is super light, as you can see some of the examples there. It supports very high resolution images which can be taken with 360 degree cameras in a single click ! zoom pan can be done with mouse control and is very light weight its not slow and frustrating !

Alarms are hi-lighted on the top page and clicking in it takes you directly to the equipment on appropriate panoramic image.

It supports context sensitive videos and html pages showing the instruction manuals or information of an equipment any time during its alarm or normal operation.

Such 3D simulation may be useful for creating a digital twin of a manufacturing plant where in one can plan their PLC logic and associated IO points on the simulated plant or the digital twin of the manufacturing process and train their operators before plant commissioning. I don't see its use in actual plant control or SCADA application like Ignition in a working plant.

The alarm and instruction links sound very useful for troubleshooting as part of an "interactive maintenance manual". I could see an app that highlights the steps to check a part given a certain combination of alarms.

Regarding the navigation, I'm glad to hear it's responsive but I was more concerned about the cognitive overhead of needing to track things down in 3D space instead of having it all in front of you.

On rewatching the video, I see that they do try to have all the gauges visible at all times, so that is a plus, although when there's too many on screen they start to partially cover one another:

I'm still of the opinion that for at-a-glance dashboarding or HMI operation, a well-designed 2D layout is going to make it faster to find the information you're looking for, at least as long as we're using 2D monitors and 2D touchscreen/mouse.

I agree with the clear 2d layout, and I'd even add that you don't need all the information, only what needs attention. Do you need to know that there's nothing wrong with pump C ? Probably not.
This screenshot, while not unreadable, makes it hard to know what I should be looking at.

1 Like

2D is not always enough. With 4 machines where we have 15 gearbox over 80ft, some above, and some under. All machine are slightly different.

We can do the job with 3 view plan, but it is not as intuitive.

Well for a dashboard I'd probably still have a schematic diagram of the gearboxes, or some view repeater that only displays faulted gearboxes. If you then clicked on the faulted box maybe it could take you to the 3D view with the specific gearbox highlighted for maintenance purposes.

I could maybe imagine a dashboard that by default just shows an isometric view of a grayscale model of the machine, and if some specific fault occurs it could highlight the appropriate parts on the model + zoom and rotate, and pop up a gauge or something.