Tulip is an open platform that can integrate with your existing IT infrastructure. This integration is achieved using Connectors.
Connectors are a Tulip feature that allows you to send data between HTTP APIs, SQL databases, OPC UA servers and Tulip.
Tulip supports 3 different types of connectors:
- HTTP - Use this connector to access data from external APIs.
- SQL - Use this connector to access external databases that are outside Tulip.
- OPC UA - Use this connector to integrate machines and devices. This is most common when connecting to CNC machines and PLCs.
SQL and HTTP connectors can read and write to external systems. OPC UA connectors can only read from external systems.
To access SQL and HTTP connectors, place the cursor over the “Apps” tab from anywhere in your Tulip account and select Connectors from the Dropdown.
Tulip supports the following SQL connectors:
- Microsoft SQL Server
To access OPC UA connectors, place the cursor over the “Shop Floor” tab from anywhere in your Tulip account and select Machines from the Dropdown.
Each Connector can have multiple functions, or queries that will run after being triggered in an app.
Here's an example of a Connector function:
Connectors fall into two categories:
1- Data Protocol Connectors
Data protocol connectors can be used by Triggers. For example, you can create a trigger in a Tulip App that says:
- "When the operator scans a barcode"
- "Look up that barcode up in my SQL database"
- "Then go to one of three different steps based on that data."
- "when the operator presses this button"
- "send a request to my HTTP API that tracks production issues on my factory floor."
Both are self-service. As long as you can query a SQL database or external software service (like an MES or ERP), then you can write the query within Tulip.
Below is an example of calling a connector function within a Trigger in the App Builder:
- "device" "Barcode Scanner" outputs at "this station"
- "Run Connector Function" connector: "SQL Demo" "Order Lookup Multiline"
- barcode: "device Output" "data" and save result as: "Variable" "Order Details"
2. Machine Protocol Connectors
OPC UA connectors allow you to feed data from:
- OPC UA devices
- Software like Kepware
- or the Fanuc OPC UA server
into Tulip and use it within Trigger logic.
After setting up an OPC UA connector, you will use the Machines page to manage events that originate from the OPC UA server.
For example, you can create a trigger in a Tulip App that says:
- "when my OPC UA-connected CNC machine reports an error"
- "Go to the error report form and..."
- "Send a text message to the supervisor,"
- "When the pressure sensor connected to my Kepware software reports a pressure reading..."
- "Store that in a variable so I can analyze the data in Tulip Analytics."
Below is an example of an OPC UA connector within a Trigger in the App Builder:
- "machine" "spindle" outputs "estop_coil"
- "Machine Output" "estop_coil" "Is True"
- "Data Manipulation" "Store" data: "Machine Output" "estop_coil" location "estop_coil"
- "Go To Step" "Emergency Stop"
Who can use Connectors?
Most connectors are self-service. Anyone who is familiar with SQL, for example, can set up a SQL connector and write the SQL queries that will be used in the Tulip app.
Anyone in your organization can use that SQL connector in a Tulip App through Triggers without needing to know SQL after you build the SQL queries.
Running Connectors In A Test Environment
You can use the Environments tab to set up multiple servers for each connector function. This will allow you to automatically run connector functions on a test environment when the app is in development.
Data Types in Connectors
The following data types can be used as inputs or outputs in a connector.
When you are using connector outputs, you can "force" one data type into another data type.
So, if the connector outputs a value of type "float", and you want to use it as a "text" value within an app, you should create a "text" output and map it to the float value. The value will be automatically converted to a text value.
Please note: you cannot include a period "." in the name of an input or output.
Timeouts in Connectors
Data Connectors have timeouts to prevent lockup while running an application. You should aim for a connector to take no longer than you expect an operator to wait (1-3 seconds max!). While building a connector, the test functionality will timeout after 10 seconds.
In production, a connector in an app will timeout after 25 seconds.
These limits are usually only hit for large SQL queries. There are a number of SQL tools (like limiting result sets, creating indices, and using materialized views) that can reduce query time.
Technical Details of Connectors
Since Connectors communicate with external systems, you may need to understand how to configure Connectors to fit your custom IT environment.
You will need to understand the Connector Host. It is a module of the Tulip platform that manages connections to these external systems.
When accessing databases and APIs that are openly available from your Tulip Cloud, no additional configuration should be needed. However, if something is not working as expected, or if you would like to connect to a database, API, or machine that is not openly available from the Tulip Cloud, this article on Connector Hosts is a must-read resource.
Here's a video summary of connectors in action:
Getting Help with Connectors
If you're interested in using Connectors, let us know via Live Chat or through a Support Ticket via the Help button in the top right of Tulip. We will help you through the process.