Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

…Components (#64)

* Adding a `Standards` section under the `SDK Tips` header for perspective components. Explains the addition of the ref property in the emit props.

* Better wording and example usage added

Co-authored-by: Joshua Ball <jball@inductiveautomation.com>
f3ea038

Git stats

Files

Permalink
Failed to load latest commit information.

Ignition SDK

Example Modules

Expression Function

Creates an exampleMultiply expression that can be used by other components, such as expression tags. The example expression is located under the Extended expression category.

Gateway Network/Get Remote Logs

Requires two Gateways connected via the gateway network. The module must also be installed on both Gateways. This module adds a system.example.getRemoteLogEntries script function that can retrieve console log entries from a remote Gateway over the gateway network. Also adds a Gateway Task type that can retrieve a remote gateway’s wrapper log and save as a local file.

Gateway Webpage/Home Connect

Demonstrates how to implement Gateway Status and Config pages. HomeConnect pages are added to the Gateway that configure an imaginary HomeConnect device.

Managed Tag Provider

Shows how to implement a Managed Tag Provider, to allow easy control of Ignition tags from an external program or data.

OPC UA Device

Creates an example device in the Gateway. The device will create tags that are visible under the local OPC-UA server.

Perspective Component

Adds a simple image component to the Perspective module's set of components. In addition, utilizes Gradle as the build tool. See the example readme for additional information.

Report Component

Adds a Smiley shaped component to the Report Designer.

Report Datasource

Adds a datasource to the report designer that can retrieve JSON data via a REST call to a website.

Scripting Function (RPC)

Adds a system.example.multiply script that can be executed from both a client and a Gateway. Also demonstrates how the client can call a method in the Gateway via RPC.

Slack Alarm Notification

Adds a Slack Alarm Notification type that handles alarm notifications through Slack's outgoing webhooks.

Vision Component

Creates a Hello World component that can be dragged onto a window in the Designer.

Requirements

  • Java Development Kit (JDK) 11 installed. You can download it on the Java SDK Downloads page.
  • Maven 3.+ installed. Linux users can use their package manager to install at the command line (ex: sudo apt-get install maven), and similarly OSX users using brew can brew install maven. Windows users can install via Chocolatey (choco install maven) or by downloading the installer at the Maven downloads page.
  • A running, 8.0+ version of Ignition to test your module in. If you don't already have Ignition installed head to the Inductive Automation downloads page, download the correct package for your system and follow the installation instructions to get a gateway up and running.
  • For development, you will want to allow unsigned modules. Open the ignition.conf file in the data/ directory, then in the wrapper.java.additional section add a line like: wrapper.java.additional.7=-Dignition.allowunsignedmodules=true (the index does not matter).

Getting Started

  • Once you have configured your developer gateway, make sure git is installed and clone this repo to a directory of your choice: git clone https://github.com/inductiveautomation/ignition-sdk-examples.git

  • Using your IDE of choice, you should be able to create or open any of these included Example Modules through the parent pom.xml file located in the root of each example. Upon importing this project into your IDE, it should download (if auto-import is on) Maven dependencies from the Inductive Automation artifact repository. Dependencies are managed through Maven and are cached to your local environment after they are downloaded.

  • Once all dependencies are cached, you should be able to run mvn package in any of the examples to generate the .modl file (which will be created in the build\target\ directory of the example). The modl file is the Ignition module file you install to the Dev Mode Ignition in Config > Modules in your browser's Gateway page (generally found at http://localhost:8088/main). Alternately, if on a Unix system, you can use the buildall.sh file in the base directory to build all modules.

  • Then, from the Ignition gateway web interface, head to Configure -> Modules, and scroll down to install any of your built modules from the /module/module-build/ directory.

The Module Build System

These examples utilize Maven and our Maven Plugin. The ignition-maven-plugin is available through our Nexus Repository (see examples for how to add to depenency sources).

The pom files in these examples should prove useful tools to understanding how the new SDK works while we update the documentation in preparation for the full release of this new SDK.

Javadocs

Head over to our wiki page for a listing of 8.0+ javadocs.

About

Ignition SDK Example Projects

Resources

Releases

No releases published

Packages

No packages published