Before you can use Machine Outputs in a Trigger, you have to first set up a machine, Make sure your machine types and attributes are configured in Tulip appropriately. Verify that data is flowing from your machines to the Machine tab in Tulip to successfully set up Output triggers.

Machine Outputs monitor any number of machine attributes in real time from your machines, such as spindle speed. These outputs can be used to determine machine statuses independent from apps, but can also be utilized to build logic within apps. 

These triggers are useful for reacting to Machine Outputs while using an app. In an app, you may want to use the last output of a machine to determine an operator is going on break, or that the job is complete. There are many use cases for creating in-app logic for machines, including:

  • Sending Machine Down Notifications
  • Routing Steps
  • Completing an Application
  • Writing to Activity History

Creating a Trigger for Machine Outputs

In the Context Pane of an app, select ADD on the Machines & Devices Trigger option.

A Machine Output trigger can be based on any of the Machines defined Attributes. It can also be based on the State change of the Machine.

In the trigger editor, any logic can be added based on the Machines Outputs. Below will outline example use cases.

Example 1 - Send Machine Down Notifications

If a Machine goes into a downtime state, specified by the Machine Trigger page, you likely want to know about it.

To set this up, you can select the output of a specific Machine, or an output of the Machine that is at the same Station as the app. In this trigger, select the output option for State Change.

From here, you will need to select the Machine Status that is best suited for a notification. In this case, the state Stopped will be used to send the notification. This will be a conditional statement to only send the notification on a stopped state, rather than all state changes. To do this, create an If condition that says the following:

IF Machine Output - State Change - = - Static Value - Enum - Stopped

THEN Send SMS - to - USER - Message - your message

Now, the application will send a message to the administrator anytime the machine enters this state, along with where the problematic machine is.

Example 2- Route App

Routing applications based on machine triggers allows an app to automatically progress without other intervention. Perhaps a Machine must reach a certain spindle speed, or achieve a certain value in order to progress the work. In this case, the Machine Output trigger can check this and automatically progress when met.

To do this, select the attribute to check as the output.

Then, set up the appropriate condition. In this case, the app should only progress when the ramp function achieves a value of 75, then routes the app automatically to the next step. The trigger will look something like this:

IF Machine Output - ramp1 - > - Static Value - Number - 75

THEN Go to Step - Next

This functionality can be built around any Machine Attribute, and route to targeted steps as well. For example, if Spindle Speed is 0, you might route to a "Maintenance" or "Lunch Break" step.

Example 3- Writing Activity History

In this case, you can use a machine output, or any other conditional statement to write to an Activity History field.

For example, you may use a Tulip app to set a downtime reason. If a Tulip App is used to aid in a machine's setup, you may want to note that the machine is down due to set up. In this case, you may want to check if the machine is down when the App begins, and give it the Setup tag if so. The trigger for such an app might look something like this:

IF: Machine Activity Field - At This Station - State - = - Static Value - Enum - Stopped

THEN: Data Manipulation- Set Downtime Reason- machine: At This Station - value: Static Value - Enum - Setup

The trigger above fires when the step opens. If the machine is down when this "Setup" step is opened, the Downtime Reason will be attributed to Setup.

Did you find what you were looking for?

You can also head to to post your question or see if others have faced a similar question!

Did this answer your question?