Building complex projects

Hi

In our company we are most likely going to move over to Ignition for several projects, and we are beginning to use it in a small project now that clearly will work based on the information I have from the online course I finished. I like what I see and is looking forward to work with this platform.

But I would like to find out more about the right strategy for more complex solutions.

One system in particular use dotnet based HMI with client server setup, roles, recipes logging, different queues with various jobs that runs sequences and integrations and so forth. It controls a robot and PLC and other equipment. Codebase is 200k+ lines of code and lot of rules, dependencies and such.

While we can continue like this, building the application on Ignition would be an interesting option for the lifecycle of the application.

I would appreciate a pointer in the right direction to see how to build projects with high complexity and GMP. Use cases, what 3rd party solutions we can use that are well established and such. I think you get the picture.

While it is possible to add scripts in ignition to do basically anything, it have to be maintained and possible to debug easily, I can imagine this becoming a problem in Ignition compared to what we have today where we have full control of all of it for debugging and extensions.

I haven’t looked into the SDK yet, which I will, but first I would have a better understanding of what is possible with Ignition itself and well established 3rd party solutions or modules.

I've done a number of modernizations of old VB codebases. The LoC count tends to reduce by 10:1 when converted to event-driven jython.

There's no way to tell what might be needed, but the hardest parts are the restructuring of pure sequential code.

1 Like

Hey,

Maybe the best advise is “beware of duplicating the existing code in a different framework”.

What we see very often, is large projects failing, or not being very performing, because people are just trying to duplicate something they master into a very different framework.

Ignition comes out of the box with a crazy load of functionalities to scale-up at very large level. But in the minute you do not use them, first you miss the biggest opportunity but also engrave in marble that you’ll be responsible forever to maintain code that could have been simply avoided.

In other words

  • Start building the desire functionality list
  • Gap analysis left (existing) to right (ignition) : existing but incomplete, existing fully, not existing at all
  • Evaluate the change

An example : I see in 1 project over 2 people trying to manipulate users. This is given in Ignition, and can even be extended. Why to rewrite anything about user management? Just understand and see how to hook on it.

Hope it will help.

5 Likes