Ignition SDK Purpose

Can people share what you would build using the SDK that you can't build with the tools already provided by the Ignition platform?

I see the new guide and inductive university course on this (haven't gone through but will) so I'm curious of why there is such a need for this.

I haven't came across a situation where I've needed a custom module yet.

I haven't done or used any SDKs but you could explore the forum to see what's going on. Clicking the All tags link on the left sidebar and select sdk and you'll get a load of reading.

It's not for most users, but some things that are possible:

  • custom scripting functions
  • custom expression functions
  • vision and perspective components
  • drivers for the OPC UA server

Java development experience, or being willing and able to gain it, is a pre-requisite that excludes most.

One example:

Another example:

The IA driver modules, e.g. for Ethernet/IP, will not use any reverse engineering to get advanced functions. Users like @pturmel are happy to reverse engineer to offer advanced functionality.

1 Like

A 3rd-party module written in Java or Kotlin is also the only way to offer any sort of protection for intellectual property.

@Kevin.Herron Thank you for the suggestions. In my case, I don't use any drivers for OPC, all MQTT here. You can create custom functions just using the built-in Jython correct? No need for a module?

@pturmel That makes sense about the intellectual property. I guess building a module hides any code from anyone being able to view it when they have the .modl file.

You can create arbitrary user-defined functions in the project library, and they'll be available anywhere in the project inheritance chain starting from that project.

You can create arbitrary system.* scripting functions, available globally, via the module SDK.