How to debug different common failure modes, like Connector Functions
3 approaches to test applications in Tulip Player
Sometimes the limitations of Development mode force you to test in Tulip Player. This document walks through some tips and tricks to test your Applications in Player.
How To
This guide will show a few ways to modify your app so that you can discover the bugs in your app logic.
First, use one of these resources to test other Tulip products that may be connected to your app:
Connectors
You can test SQL Connector within the Connectors page. Use this separate guide to test connectors.
Edge Devices/Factory Kit
You can use the "Factory Kit Setup" app to test your Factory Kit. Use this guide if your app is not getting any signals from your Edge Devices.
If you are trying to discover why a record is not being loaded or created successfully, make sure to restart the Tulip Player before testing the app each time.
If your issue is not related to any of the features above, read on to learn how to debug app logic.
Test 1- Using Variable Text To See Variable Values
Many issues revolve around the values of a Variable or field in a Table Record.
So, if you are wondering why a variable does not have a specific value, you can use Variable text or Table Record text to see current status.
Variable Text
To see the value of a Variable at any time, select "Variable" under the Text widget in the Tool Bar.
Then, select the Variable text on the open step. In the Context Pane under the "Widget Tab", select the Variable that you would like to investigate.
Then, after you open the step in the Tulip Player, you will be able to see the current value of the variable.
Table Record Text
To see the value of all fields in a loaded Table Record at any time, select "Table Record" under the Text widget in the Tool Bar.
Then, select the empty Table Record text on the open step. In the Context Pane under the "Widget Tab", select the Record Placeholder where the table record is loaded.
Then, after you open the step in the Tulip Player, you will be able to see the current loaded Table Record. If no values are shown under the field labels, then a record has not been load successfully.
Here's an example where no table record has been loaded:
Test 2- Showing Which Trigger Statements Are Firing
Sometimes, you may have a series of "If" statements in a Trigger, and an unexpected statement might fire upon a button press or opening of a step.
If you want to discover which trigger statements are firing, you can use the "Show Message" Trigger Action. This is very similar to using the developer console to show specific values, if you are familiar with programming.
After you find a trigger statement that should fire, add a "Show Message" statement next to it to see if it successfully runs. You can even include a Variable value in the message.
"Show Message" "Static Value" "text" "We successfully increased the counter."
Test 3- Create a General "Testing" Step
Sometimes, your test may not be straightforward. Or, it may need to be performed on multiple Steps.
To solve this, you can create a "Testing" step that is dedicated to showing multiple Variables and Table Records at once.
First, add a "Testing" button on the Base Layout so that the "Testing" step can be accessed from any other step.
Then, add the Trigger that allows you to go to the same testing step every time.
You can customize the testing step to your needs, but you may want to include multiple variables and table records.
Here is an example:
The example above has 5 examples of static text, 3 examples of Variable text and one example of Table Record text.
Connector Function
Connector Functions are individual operations to interact with an HTTP or SQL Datasources. Functions can have inputs and outputs, and can be called from Triggers.
Once pulled, data can be used throughout your applications.
Tulip Player
Tulip Player is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser and allows increased IT controls.
Tulip Player
Tulip Player is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser and allows increased IT controls.
Connectors
Connectors are how your Tulip apps can connect to other systems. Connectors can make API calls with HTTP Connectors, or pull data directly from SQL databases. Additionally OPC-UA Connectors can be used to retrieve Machine data.
Once pulled, data can be used throughout your applications.
Connectors
Connectors are how your Tulip apps can connect to other systems. Connectors can make API calls with HTTP Connectors, or pull data directly from SQL databases. Additionally OPC-UA Connectors can be used to retrieve Machine data.
Once pulled, data can be used throughout your applications.
Edge Devices
Edge Devices are any hardware intended to connect physical things to the cloud. This can include entirely mechanical devices, older machines without network functionality, PLCs, and more.
Tulip sells the Edge IO and Edge MC that interface directly into Triggers in a breeze, but Tulip can also support other Edge Devices.
Edge Devices
Edge Devices are any hardware intended to connect physical things to the cloud. This can include entirely mechanical devices, older machines without network functionality, PLCs, and more.
Tulip sells the Edge IO and Edge MC that interface directly into Triggers in a breeze, but Tulip can also support other Edge Devices.
Tulip Player
Tulip Player is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser and allows increased IT controls.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Context Pane
The Context Pane is the configuration pane on the right side of the App Editor where steps, apps, and widgets can be configured. Triggers can be added to adjust widget behavior.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Context Pane
The Context Pane is the configuration pane on the right side of the App Editor where steps, apps, and widgets can be configured. Triggers can be added to adjust widget behavior.
Widget Tab
The Widget Tab is the Context Pane tab where you will adjust all of the Widget-level settings, including Widget Triggers,Widget Datasource, Widget Contents, and more.
Table Record Placeholder
A Table Record Placeholder is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from an App Trigger.
Tulip Player
Tulip Player is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser and allows increased IT controls.
Trigger
Triggers are the mechanism to do things in Tulip Apps. Store data, move users between Steps, Interface with hardware, Etc.
Triggers can be added to widgets, machines, devices, apps, and steps.
Trigger
Triggers are the mechanism to do things in Tulip Apps. Store data, move users between Steps, Interface with hardware, Etc.
Triggers can be added to widgets, machines, devices, apps, and steps.
Action
Actions are different operations that can be executed in Triggers. Actions cannot move users to other apps, or other steps.
Many Actions can be added to a single Trigger.
ex. Store the value of variable x to table field y, Print app step, Adjust Edge device GPIO pin.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Step
A view your users will see within an application. Steps can be viewed chronologically or in whatever order best fits your process.
Steps can be grouped into Step Groups to manage and organize your app Steps.
Steps
A view your users will see within an application. Steps can be viewed chronologically or in whatever order best fits your process.
Steps can be grouped into Step Groups to manage and organize your app Steps.
Variables
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Base Layout
The Base Layout is the base template that all other Steps will be built on top of. Establishing common navigation buttons, and a consistent app background and style across all of your app steps can expedite the training and app-building processes.
Trigger
Triggers are the mechanism to do things in Tulip Apps. Store data, move users between Steps, Interface with hardware, Etc.
Triggers can be added to widgets, machines, devices, apps, and steps.
Was this article helpful?
Thank you for your feedback! Our team will get back to you