Just started with Ignition, and could use some help

Hi,

Maybe watch this video first?: https://youtu.be/2njmNua-cdQ

I have been a PLC programmer for a long time and have experience with multiple brands of PLCs and HMI screens. (Schneider, Siemens, Allen Bradley, Sigmatek, Bachmann)

Lately, I have been working a lot with Vijeo Designer.

But now (on the recommendation of Claude AI) I wanted to try something...

And I'm trying to make something together with Claude, but after talking in circles for 2 days, I finally went looking for a forum. :slight_smile:

I actually want to create an Ignition screen alongside the Vijeo Runtime, which is connected to the same PLC and addresses.

In Vijeo, I assigned one %MW to each valve for the status.
The 0th bit of the 16 bits is valve closed (bit0=0) valve open (bit0=1)

bit 1 = 0/1 is moving or inposition. bit 1, valve is yellow, that it is moving.

Bit 2= 0/1 Valve in Alarm, if it takes too long to open or closed.

bit 3, if this bit is high, the valve is in manual mode, and a square is drawn around the valve, which is essentially a button.

Bit 4 is set high when you press the valve while it is in manual mode.
This bit is set low again in the PLC. In the PLC, the valve responds to the rising edge of that bit, sends the valve open or closed, and resets the bit.

And then the last bits in the word, so from bit5 to bit15 is the angle in degrees. So with that, I can rotate the valve by 45 degrees, for example.

And so this is what I'm trying to make in Ignition.

But actually, in such a way that I only need to attach 1 tag to it? And if I put multiple on a screen, so that they all attach to their own tag.

And it works pretty well, but then suddenly everything goes wrong...

I put it in Container Coordinate (together with Claude)? And then an EmbeddedView on another screen, but then I can link it to different tags, but when I want to scale it I get sliders? And the blue scale box does get bigger, but the flap inside the box doesn't scale...

At first Claude was very positive, and everything was possible with Ignition, but after 2 days I get the feeling that it's all impossible. Am I asking too much? Or is it actually doable? But Claude doesn't know how?

So as you can see in the video, the first 20 seconds show the colors without the manual box.

Then the manual box. at 52 seconds 9 (so manual and green), and if I click 9, change to 25, so the PLC knows you clicked the valve...

And at 1 minute, you see 1440, which is 45 degrees and closed... then 1441 is 45 degrees and open...

Claude struggles with basic CSS layout. He "knows" it but can't conceptualize it very well. Some of my most frustrating moments have been trying to get him to fix simple padding/margin on something, and he keeps saying he did, when clearly, he didn't.

So I'm not surprised he would struggle with Perspective container layout.

Ignition is also a pretty specific niche as well. Most LLM's struggle with it, probably simply due to not enough training data avialable. It's not hard to learn yourself though! Go take a look at https://inductiveuniversity.com

FWIW, when a newcomer posts a link like this, without even a screenshot/preview, it is like setting off a red warning flare that you might be spammer...

Spammer? What do I spam? My YouTube?

I also didn't know how to put a Image here? And I thought a movie is clearer?

I just want to show what I have so far, and want to know how go on?

Because so far it works, but how to make an object from it, that I can use 10 times on a page, but on different variables?

With Claude, if we put it in a container,.... and yes, I could put more on a screen, connected to different variables, but scaling them didn't work anymore...

But, I had hoped for an answer I could work with.

I'm not saying you are a spammer--it is obvious you are not. But the video link without any screenshot/preview, combined with your new user status, IS a common pattern with spammers.

Just drag an image file from File Explorer to the forum's post/comment editor.

Maybe, but much slower for readers to get the gist. For best forum interactions, post code first (in a preformatted text block), with written explanations, followed by images, possibly animated GIFs, and with external video links last.

I watched the video, but I don't understand what the problem is or what you want to do.

Once again, I’ve really just started ( 1 day :slight_smile: ) looking to see if we could do something with this package here, instead of the HMI and SCADA I’m currently using. And also just to keep up. So that I know what exists and if it’s workable.

I create PLC programs for very large ships. So a lot of information needs to appear on screens.

So, in that video, I explained that I have a valve with 4 colors, and the possibility to turn on a box around it so you can see that it’s in manual mode, etc., etc., etc.

And that everything needed to control this is contained in a single 16-bit word. So that image of the valve has bindings for the color, for rotation, to turn the red/yellow dotted line on/off... etc., etc....

But how do I proceed now? So, how do I ensure that I can put that valve 50 times on a page, without having to set up 50 x 4 or 5 bindings? Preferably attach a variable to it only once.

And at one point I was actually working with a coordinate container, but on the page where I have multiple valves, I can no longer scale them with the blue box. So if I pull on the corners of the box, the box gets bigger, but not the valve inside the box.

And if I slide the box smaller, the valve doesn't get smaller, but I get sliders instead?

Is there anything that can be done about this, and if so, how?

Maybe I should make everything available for download?

I hope I am explaining this correctly?

Or let me ask it differently. How else should I do it?

So I have a lot of valves on my screen, I want to color-code the lines? I want to show engine statuses.

Screens like this picture.

Is that doable? Or is the package not suitable for that?

Make a template for your valve. Make a template for each type of hold. I looks like you have two types. You can place templates inside another template.

Make UDTs for the valve and holds. You can put UDTs inside other UDTs. Hopefully you have a PLC programming environment that support structures that are already arranged like this and can be aligned with the UDTs.

Each hold template instance would be bound to one hold type UDT instance corresponding to the type of hold.

As Jay suggests, you will be making re-usable templates (Vision) or nestable views (Perspective). You will design these to take a tag path parameter as a string, and within your re-usable UI, you will have indirect tag bindings to gather your live signals into component properties. Which will then be used directly, or via more bindings, to drive the display components in your templates/views. You will place many of these, and other variants, onto Vision Windows or Perspective Page Views.

You really, really need to go through Inductive University. It is made for controls engineers to get them up to speed on Ignition. It is free. You should be able to complete it in a couple weeks. (But do ignore the parts on binding UDT properties. Use indirect bindings instead.)

Don't trust AI to help much. It is much better at making developers more productive, and filling in small gaps, than just doing the work for you that you don't understand yourself. At least, as far as Ignition is concerned.

Yes.. the screen on the image is made with Vijeo Designer. And it has UDT variables.

BottomAir.Hold4.valves.Valve12.HmiInfo

And in Vijeo Designer you have placeholders, and it means that if I select a group of objects like Hold4, for example, I can change Hold 4 to Hold5, and all objects in that group change along with it and are linked to their (other) variable.
So if you set that up a bit neatly, it works very fast. Also in the variable editor, you only need to associate an address with the first variable, and the rest is numbered automatically.)

I also looked into it (together with Claude), but if I export the UDT here, which is an XML file, Claude can convert them, and I can import them into Ignition.

But the only thing I have now, but maybe I should leave that alone? That is, I can no longer scale the Valves on the main screen...

I go make a new video (because I think my English is not good enough to explain what my problem is.) ... because maybe I want something that just isn't going to work, and I don't feel like going around in circles with Claude anymore...

I go make a new movie, to show what I have, and what the problem is... (at least I don't know if it's really a problem, but let me say what is possible in Vijeo, and I'm checking if that's possible here too... so maybe it's not possible at all...)

You will be able to achieve something similar. Again, like Phil has said, you should take a look at Inductive University. Its the official training provided for the Ignition Platform and modules. For tags, look here

So now I have this... see the video.

So on the left is Ignition, on the right I’ve placed a Vijeo screen.

So I have a number of valves on the main screen.

You can immediately see that the 2 Valves in the middle have the same orientation as the 2 on the Vijeo screen. So that rotation works.

You can also see that I turn off/on the manual button on the Vijeo screen, and it goes on/off the Ignition screen as well, so that is good too.
I just forgot to put in the video—but it does work—that I can also click on the valve on the Ignition screen, and in both screen the valve react. So that works too.

But what I mean is, start at 2:35

If I slide the blue rectangle on the screen where the Valve is located, the valve scales.

If I place this valve on the main screen using an EmbeddedView—look at 3 min—then that scaling doesn't work anymore?

So that is what my question is about?

But could it also be that it shouldn't be done this way at all? And that this isn't the way to put a lot of information on the screen?

I am first trying to create a system that has the same look and functionality as what we normally make.
So everything I am doing right now is still practice.

And I looked at Inductive University, but I don't think I can find this there? But there is so much there...

But thanks anyway, I am watching the videos...

I understand how the tags work....

but the whole question is basically about why I can scale the Valve in one screen, but when I place multiple of them on the main screen, scaling no longer works, and I get sliders.

Do I do something wrong there?

I'm definitely going to watch the videos too, because I just want to learn it. But I simply learn better when I just start, see where I go wrong, and then figure it out.

When I watch a video, I understand it all and think simply. Until I actually have to do it... then there's plenty that suddenly isn't so simple...

Just like I said before, in the 30 years I've been a PLC programmer, I've worked with so many different systems... In the beginning, only text systems with those green VDF letters...

Or these ones still with a real CRT.

I have worked with so many different networks.. Modbus RTU, Fipway, Fipio, Asibus S, Profibus, Profibus, Canbus...

And I’ve learned to work with so many different packages... and it has always worked out.

So I think this will work out again too.

I must say I do enjoy it...

with those bindings you can attach to anything...

and I think I could already manage to make something workable with it.

It’s just that I always want to understand everything. :slight_smile:

but i go look at re-usable templates (Vision) or nestable views (Perspective) thanks!

melbourne,

been there, we have 4 big cement carriers over there

was 6 weeks there in Adelaide melbourne sydney new Castle Brisbane and Gladstone ...

Maybe you saw me? :slight_smile:

It isn't just videos. There are simple tasks and tests.

I would accept this if you hadn't used an LLM.

This forum is full of people with similar experience and exposure. Including those telling you that Inductive University will greatly help you.

The reason it's not resizing is because your valve view's root coord container is set to fixed mode instead of percent. You will almost certainly want to set the aspect ratio as well to the size of the view (you can bind it the to view's default size props so you get width:height).

Perhaps a somewhat more advanced topic, but the reason you got scrollbars was in conjunction with being set to fixed mode, the overflow style setting on your embedded view is set to auto. If you set this to visible, it will display content outside of its bounding box. However this is not the issue you are trying to solve as you want it to resize

Perspective uses a classic web stack: react and css. While you don't need to know anything about react, understanding css makes things a thousand times easier.

Most of the time, if something is not displaying the way you want it to, you'll have to tweak its css rules, either through the style property, or through properties like width, height, or other exposed properties that translate to css behind the scenes.

In your case, the valve is not resizing when you resize the container, because its just not configured to resize.
There are multiple ways to solve this:

  • use a coordinate container in percent mode
  • use a coordinate container in fixed mode and set the height and width of the valve to 100%
  • use a flex container

Which to pick comes down to the use case and personal preference.