JADE a new way to build measurement & automation applications

Top

Overview

Features

Plugins

Pricing

Documentation

Overview

Powered by a unique plugin model, JADE is a measurement & automation platform which reduces the time & code required to deliver rich, robust applications

Create/Edit Application

Create & edit applications by configuring plugins in the JADE Application Manager

Run Application

Run configured applications with the
JADE Supervisor

JADE's battle-tested library of independent, highly-configurable, communicating plugins has you covered...

Every measurement & automation challenge is unique, but the core is always about acquiring / logging / analyzing / visualizing data & controlling devices.

With JADE's unique plugin model & battle-tested plugin library, you avoid rewriting the same application & driver-level code over and over again.

No longer develop, debug, & maintain old design patterns, such as queued message handlers, or lay down tons of API calls just to collect data.

Quickly integrate sensors & instruments while logging data in any format & publishing to other plugins. Our flexible NI-VISA and NI-DAQmx plugins make this easy, not to mention our growing library of instrument-specific plugins.
Our visualization plugins are also flexible & responsive - no need to reinvent that wheel either. Plugins are inherently independent, so visualization, acquisition, & control plugins remain decoupled, further lowering change risk.
While many plugins have built-in control capabilities, JADE provides a State Machine plugin as a universal programming point. And you can always write & integrate your own custom plugins with our rich JADE DEVKIT.
Logic Graphic

JADE makes developing and deploying your solutions robust, maintainable, and pain-free...

JADE is both the development and deployment environment with light-weight, portable application files and a simple plugin packaging model.

JADE is also FREE for developers so everyone can get started and contribute to your projects.

JADE Applications (*.jada files) are encrypted, lightweight, portable applications created in the Application Manager and run directly in JADE.
Plugins are installed with JADE Bundles (*.jadb), which package everything JADE needs to run your JADA files, including plugins and their dependencies.
Generate bundles anytime with the Online Bundler or use the Install Manager in JADE to include your custom plugins right alongside ours.
Distribution Graphic

Whether you need support, a development partner, or a turnkey solution, we have expert resources...

Automation projects are challenging - we get it. Our deep documentation and friendly team of experts are here to help keep your project moving fast.

Already have a team in-house? Tool up and deliver quickly with JADE's comprehensive documentation and SIXCLEAR training courses.
We also provide expert guidance and can dive right into development with you. Let's build your next application together in as little as days with JADE.
Documentation, Training and Consulting Graphic

JADE also integrates seamlessly with our embedded and cloud computing platforms...

When your application needs to run on a small form factor, or in the field, consider GIOTA, our turnkey single-board computer running JADE.
If you need to move data to the cloud, consider FABRIQ, our data management & visualization platform designed for measurement applications.
GIOTA and FABRIQ Graphic

Features

A modern yet practical approach to conquer your measurement & automation challenges

JADE Application Manager

reports

Create, manage, save, and run JADE applications.

  • Create and save as many applications as you like
  • Run multiple applications at a time
  • Run plugins in parallel or sequentially
  • Install new plugins
  • Update environment preferences
  • Access rich, built-in documentation

Read the docs

JADE Plugin Editor

reports

Configure how plugins behave and communicate.

  • Syntax highlighting
  • Syntax validation
  • Auto-complete
  • Hover documentation
  • Zoom In/Out
  • Code collapse
  • Undo/Redo
  • Bird's Eye View
  • Detailed error messages

Read the docs

JADE Supervisor

reports

View & administer your running plugins.

  • Shut down plugins
  • Run plugins
  • Open plugin interfaces
  • Close plugin interfaces
  • View running plugin configurations
  • View run-time errors
  • Clear run-time errors

Read the docs

JADE Install Manager

reports

Generate & install JADE bundles.

  • Install & manage plugins, dependencies, DEVKITs, SDKs, and examples
  • Generate bundles for distribution
  • Full audit log of all operations for easy debug

Read the docs

* JADE Online Bundler

reports

Select & bundle all versions of JADE plugin library assets.

  • Access all versions of all plugins
  • Access all versions of all plugin dependencies
  • Access our growing set of JADE application examples
  • Download and install generated bundles using JADE's Install Manager

Read the docs

* JADE DEVKIT

JADE DEVKIT

Build your own custom plugins in LabVIEW using the same integrations and libraries powering Sixclear's plugins and JADE itself.

  • integrates directly into the LabVIEW environment
  • duplicate plugin templates to get started
  • build custom plugins to deploy and test locally
  • bundle your custom plugins alongside other plugins with Install Manager

Read the docs

* JADE Documentation

reports

Complete documentation for JADE and all installed plugins.

  • Comprehensive navigation for all documentation
  • Framework docs for getting started
  • Full expression language syntax coverage
  • Complete list of supported functions
  • Filterable plugin configuration option descriptions
  • Interactive sample configuration editor showing plugin defaults
  • Environment preferences documentation
  • Plugin messaging documentation

Read the docs

Basler Camera

Basler Camera

The Basler Camera plugin provides control over any number of Basler cameras spanning most models and connectivity types. Cameras are highly configurable including the ability to show/hide a real-time viewer, record AVI video files, and set any available camera parameters. Diagnostics information may also be optionally viewed and published for each camera instance, which includes acquisition rates, bandwith statistics, disk metrics, and other performance characteristics.

Learn more

Bellamare Flight Control

Bellamare Flight Control

The Bellamare Flight Control plugin provides a monitoring and control interface for operating a Bellamare Remotely Operated Towed Vehicle, or ROTV. ROTVs are subsea vehicles with many research and commercial applications. Like all plugins, the Bellamare Flight Control plugin is highly configurable. Everything from plots on the main graph to motor control settings, to pitch, roll, and rudder control are all flexibly managed in configuration. Control algorithms allow for automted depth-keeping, altitude-keeping, undulation, and automatically engaging the rudder for resurface safety. And of course manual control of the vehicle can be asserted any time.

Learn more

Bellamare Flight Monitor

Bellamare Flight Monitor

The Bellamare Flight Monitor plugin provides a monitoring interface for a Bellamare Remotely Operated Towed Vehicle, or ROTV. The interface includes plots of vehicle position, speed, and other parameters. ROTVs are subsea vehicles with many research and commercial applications. Like all plugins, the Bellamare Flight Monitor plugin is highly configurable.

Learn more

Brooks Mass Flow Controller

Brooks Mass Flow Controller

This plugin provides control, monitoring, and data publishing for Brooks mass flow controllers. Configuration supports serial port parameters, device tag number, number of configured gases, flow reference (ex. calibration), ramp time, poll period, publish period, whether to publish on change and/or periodically, disable ui capabilities for gas type, flow rate setpoint, and flow rate set unit controls, chart history length, number of errors to display, initialization commands, and more.

Learn more

Data Table

Data Table

The Data Table plugin provides a configurable tabular interface for rendering data. This plugin subscribes to, computes, and displays data from any number of other plugins in a table. A convenient layout syntax allows for specifying the values and style for each cell. Cells can be styled with options for italics, bold, background color, text color, cell width, cell height, font name, and font size. Cells can also update dynamically from incoming data using variables and expressions. In particular, the cell value / text can be made dynamic, as well as the cell background color and text color.

Learn more

File Data Dashboard

File Data Dashboard

The File Data Dashboard plugin reads data from a delimited file and displays that data in one or more charts. Charts in this plugin are configured similar to those in the Multiple Charts plugin, where each chart can have one or more plots, data in each plot can be transformed with expressions, and of course several properties are available to configure axes, colors, and more. The charts are layed out in a configurable grid, again just like the Multiple Charts plugin, and will optionally scale as the plugin's panel is scaled.

Learn more

Flight Control

Flight Control

The Flight Control plugin provides controls and display for operating a Remotely Operated Towed Vehicle, or ROTV. ROTVs are subsea vehicles with many research and commercial applications. Like all plugins, the Flight Control plugin is highly configurable. Everything from plots on the main graph to motor control settings, to pitch, roll, and rudder actuator settings are all flexibly managed in configuration. Control algorithms allow for automated depth-keeping, altitude-keeping, undulation, and automatically engaging the rudder for resurface safety. And of course manual control of the vehicle can be captured any time.

Learn more

Galil Control

Galil Control

The Galil Control plugin controls a Galil Motion Controller while providing deep configuration over initialization, polling, publishing, and how data is rendered in the interface. Initialization and shutdown procedures manage controller start and end states. Global operations which compose any number of Galil commands may be composed and exposed for access in the menu. Polling configuration allows for defining what information should be periodically fetched from the controller and displayed in a configurable format on the interface. Custom command sections can also be configured for easy access, while a general command line is provided for full control. Furthermore, this plugin has configurable publishing so that other plugins may use the data collected from the controller in real-time. All commands sent are logged so that all interaction with the controllers can be later analyzed.

Learn more

Multiple Charts

Multiple Charts

The Multiple Charts plugin displays data in up to 20 charts. Only the number of charts configured will be displayed. This plugin subscribes to any number of other publishing plugins, and can peform computations against that data before plotting to charts. Charts are highly configurable allowing for any number of plots per chart, annotations, and updating many other display properties. As with many plugins, this plugin supports the JADE Expression Language in many places, such as allowing computations using subscription data when defining plot data.

Learn more

NI DAQmx AI

NI DAQmx AI

The NI DAQmx AI plugin acquires data from one or more analog input channels (ex. voltage, thermocouple) spanning one or more devices with options to display, log, and publish data. All of the core data acquisition features are exposed including channel definition, sampling, buffer control, triggering, logging, and more.

Learn more

NI DAQmx AI Temperature Thermocouple

NI DAQmx AI Temperature Thermocouple

Note: the NI DAQmx AI plugin now supercedes this plugin and is recommended for new analog input implementations. The NI DAQmx AI Temperature Thermocouple plugin acquires data from one or more thermocouple channels spanning one or more devices with options to display, log, and publish data. All of the core data acquisition features are exposed including channel definition, sampling, buffer control, triggering, logging, and more. It also includes the ability to decimate the display data to enhance performance, especially for high speed acquisitions. Data can be published with an averaging or last value strategy, and several key points of sampling information are provided as variables to build up the desired publish data object. Publishing can of course be disabled if, for example, logging the data to disk (ex. TDMS) is all that is required.

Learn more

NI DAQmx AI Voltage

NI DAQmx AI Voltage

Note: the NI DAQmx AI plugin now supercedes this plugin and is recommended for new analog input implementations. The NI DAQmx AI Voltage plugin acquires data from one or more channels spanning one or more devices with options to display, log, and publish data. All of the core data acquisition features are exposed including channel definition, sampling, buffer control, triggering, logging, and more. This version also includes the ability to decimate the display data to enhance performance, especially for high speed acquisitions. Data can be published with an averaging or last value strategy, and several key points of sampling information are provided as variables to build up the desired publish data object. Publishing can of course be disabled if, for example, logging the data to disk (ex. TDMS) is all that is required.

Learn more

NI DAQmx CO Pulse Generation

NI DAQmx CO Pulse Generation

The NI DAQmx Counter Output Pulse Generation plugin allows for generating the two kinds of pulses supported by DAQmx: Single Pulse (specifying high and low time) and Pulse Train (specifying frequency, duty cycle, and number of pulses). It provides a user interface for manually issuing the pulses, configuration for automatically generating one or more pulses when the plugin runs, and also provides a messaging interface for generating pulses (ex. using the State Machine plugin). It also supports edge triggering (including the retriggerable feature) to trigger pulse generation. Generated pulses are also optionally logged to user-specified format, where the default is a CSV-like file format (with extra line breaks between rows) that records all of the relevant parameters used to generate the pulse. Several variables in a VAR container for logging.

Learn more

NI DAQmx DI

NI DAQmx DI

The NI DAQmx DI plugin acquires data from one or more digital channels spanning one or more devices with options on how to acquire, log, and publish data. All of the core data acquisition features are exposed including channel definition, sampling, buffer control, triggering, logging, and more. Data can be published with a last value strategy, and several key points of sampling information are provided as variables to build up the desired publish data object. Publishing can of course be disabled if, for example, logging the data to disk (ex. TDMS) is all that is required.

Learn more

NI DAQmx DO On Demand

NI DAQmx DO On Demand

The NI DAQmx Digital Output On Demand plugin controls digital outputs from one or more channels spanning one or more devices with options to display, log, and publish the digital output state. Control messages are accepted from other plugins to change the state of digital outputs. This plugin can also subscribe to any publishing plugins, which allows it to update digital outputs as a function of any incoming data and/or the state of any inputs. This capability is provided via a configurable condition for each defined digital output. Another optional condition is also provided on each digital output which allows for enabling/disabling manual changes from the user interface for one level of access control. Digital outputs also can be assigned default values. Those default values will only be used if either the configuration for 'reset to default on startup' or 'reset to default on shutdown' is set to true.

Learn more

Niskin Bottles

Niskin Bottles

The Niskin Bottles plugin controls a motor controller which closes up to three Niskin bottles. The bottles are located along an axis controlled by the motor controller and are closed as an arm passes by a given bottle. The relative counts for each bottle position (relative to one another) are configurable, along with a moveBackNumberOfSteps which facilitates moving back towards the home position to save operators from having to manually crank the position all the way home (reestablishing the home position is required to prepare the setup for subsequent deployments).

Learn more

Relay Manager

Relay Manager

The Relay Manager plugin provides control over any number of relay boards, each with any number of banks, where each bank holds any number of relays. Boards, banks, and relays can all be semantically named and then ordered into named sections for access on the user interface. Initial states can be configured for each relay to be set on launch.

Learn more

Serial Publisher

Serial Publisher

The Serial Publisher plugin communicates with a device over a serial port. The plugin-specific 'options' include full serial port configuration, a serial communication initialization sequence (sent before the plugin enters its main operation), simulation mode, expression handling (including for simulation mode), regular expressions for response parsing, data publishing, data logging, and more. As with all plugins, the common 'panel' and 'channel' sections are also available in configuration.

Learn more

SPLixel LED

SPLixel LED

The SPLixel LED plugin controls both the color and blink delay of an SPLixel multicolor LED by running a set of rules. Rules are configured in an array of objects where each object represents a rule. Rules run in the order specified in the array each time subscription data arrives. Each rule specifies which 'led' to address (multiple are allowed by the SPLixel platform), a 'blink' object with 'enable' and 'delay' elements to determine the blinking state, a 'color' for the led specified as RGB, and a condition which determines whether the rule applies. The first rule whose condition evaluates to true will apply.

Learn more

State Machine

State Machine

The State Machine plugin serves as a configurable programming point for JADE systems by supporting a state machine implementation in configuration. State machines are composed of states which generally can take some actions and define logic for if and how to transition to other states. For the State Machine plugin, the actions one can specify in a given state are performing computations and sending messages. Messages can be sent to other specific plugins, all subscribers, the Supervisor, or the Windows command line. This plugin can subscribe to any other plugins and will maintain a cache of that data for use when performing computations or sending messages. This overall setup allows the state machine to flow through a defined set of logically controlled states which use any subscription data and any of its own computations.

Learn more

Subscriber

Subscriber

The Subscriber plugin accepts JSON messages and displays both the 'Latest Message' and a 'Merged Messages'. The plugin looks for any one of a configurable set of 'messageSourceKeyNames' (string array) to determine the top level key name under which to store the message in the 'Merged Messages' object. The first matching 'messageSourceKeyNames' is used, otherwise the message will be stored under a key named '__UNKNOWN_MESSAGE__'. The source key name for plugins is 'instanceName' and for the worker (when subscribing to '__PLUGIN_INFO__') is 'workerName'.

Learn more

TCP Server

TCP Server

The TCP Server plugin hosts configurable TCP connections to which networked client computers can connect and communicate with running JADE systems. Clients open a connection to the hosted IP address and port as defined in the TCP Server configuration. Multiple simultaneous connections are supported and handled concurrently, and the maximum number of connections allowed is configurable (-1 means no limit; see configuration details below). Connected clients can then send requests to the TCP Server, to perform actions such as fetch data from any plugins the TCP Server has subscribed to (configurable, of course), send control messages to the Worker instance (ex. run or shut down a plugin instance; see documentation for details), and send messages to any plugins which support control messages (see documentation for specific plugins for details).

Learn more

Thermonics Chiller

Thermonics Chiller

This plugin provides control, monitoring, and data publishing for Thermonics chillers. Configuration for the plugin supports TCP client connection information, declared ambient temperature, initialization commands can be configured to set up the chiller, the poll period - used to get new data from the device (monitoring), the publish period - used to publish data for consumption by other plugins, whether to publish on change and/or periodically, chart history length for the front panel temperature data chart, a data logger configuration (where polled data gets stored), activity logger configuration (captures user operations), and more.

Learn more

VISA Controller

VISA Controller

The VISA Controller plugin provides a generalized way to quickly and easily integrate devices connected via serial, TCP, GPIB, and USBTMC. It provides both an interface for manually sending commands, backed by a configurable command library, as well as the ability to send an initialization command sequence and periodically polling command sequence. When initializing or periodically polling, each command sent can optionally handle a response and compute any important data into a VAR container. An error checking configuration allows specifying a command sequence to run after the initialization command sequence completes and after each periodic polling command sequence pass completes, in order to check the device for errors. A boolean error condition in that section allows for specifying whether an error occurred on the device, where notably that error will be handled by the plugin like any other errors, including writing the error to log files and to the user interface.

Learn more

VISA Publisher

VISA Publisher

The Serial Publisher plugin communicates with a device over a serial port. The plugin-specific 'options' include full serial port configuration, a serial communication initialization sequence (sent before the plugin enters its main operation), simulation mode, expression handling (including for simulation mode), regular expressions for response parsing, data publishing, and data logging. As with all plugins, the common 'panel' and 'channel' sections are also available in configuration.

Learn more

XY Chart

XY Chart

The XY Chart plugin displays data in time-series chart. A plot legend at the top provides the ability to show/hide plots and change colors if desired, however those parameters and many other display are all available in configuration. All plots are normalized into the range [0, 1] for display on this single chart based on the plot's 'min' and 'max' settings (the plot's 'min' value will display as 0 and the plot's 'max' value will display as 1). The 'min' and 'max' values are shown next to the plot's current value in the plot legend so this context is always visible. This plugin subscribes to any number of other publishing plugins, and can peform computations against that data before plotting to charts (see configuration for 'subscribesTo'). As with many plugins, this plugin supports the JADE Expression Language in many places, such as allowing computations using subscription data when defining plot data.

Learn more

Pricing

JADE licenses deliver exceptional value and are designed to be accessible across industries

All JADE licenses are subject to the JADE License Agreement.

License Price Terms
FREE JADE is free for developers. We encourage any / all developers to install and use JADE. Paid licenses apply only to Production Machines, where JADE applications run for their intended purpose. Get Started
1 year*
$5000/year
2 year*
$4500/year
3 year*
$4000/year
Subscription licenses maintain access to all versions of JADE and all plugins while subscriptions are active. See Volume Licenses below for large deployments.
Case by case Single Version licenses only allow access to a single version of JADE but do not expire. Single Version license pricing is determined on a case by case basis to service multiple industries. OEMs use this when embedding JADE in their products.

* All subscription prices are per production machine; i.e. where JADE applications run for their intended purpose. Totals shown are due at the time of purchase to take advantage of multi-year commitment pricing.


Volume Licensing

Volume licenses are negotiated on a case by case basis. Sixclear is committed to positioning JADE as not only the most capable, flexible, and robust solution, but also the most cost-effective solution at scale.


Accelerate your industrial automation with JADE