The python files cli_example.py and tiger_bridge.py are examples on how communication through TigerBridge may work. These examples are not intended for production use.
In order to establish communication with the TigerStop Pro® controller (a.k.a. the controller), the client will connect via TCP/IP using the controller's IP address on port 7071. This IP address can be found in the controller's interface under the My Machine section of the settings, so long as it is connected via ethernet to a DHCP network. It's necessary that the client's computer is also connected to this same DHCP network for communication to function.
All messages are fundamentally ASCII strings. Data may have a type but should always be represented as a string when formatted into a message.
Messages sent to the controller should begin with a string matching the requested function and end with a newline character \n.
Some functions will require additional parameters, which should be delimited by pipe | characters.
| Message | Description | Sent Parameters |
|---|---|---|
stop |
Requests the positioner to stop moving | None |
move_to |
Requests the positioner to move to the provided position value | Position |
get_setting |
Requests a setting value from the controller | Setting Name |
get_position |
Requests the current position of the positioner | None |
calibrate |
Sets the positioner's position in relation to the tool | Position |
home |
Sends the positioner to the far end of the beam (relative to the tool), allowing for a consistent reference point for positioning | None |
cycle_tool |
Requests for the machine to perform a tool cycle. | None |
disconnect |
Explicitly attempts to close socket connection. | None |
Messages received from the controller will begin with a unique integer code that specifies the type of message and end in a newline character \n.
Certain messages will contain additional data, delimited by a pipe | character after the identifier code.
| Message Code | Description | Received Data |
|---|---|---|
| 0 | Movement has finished | None |
| 1 | Received a setting from the controller | Setting Name, Setting Value |
| 2 | Received the current position of the positioner from the controller | Position Value |
| 3 | Received an error | Error Code |
| 4 | Tool has been engaged | None |
| 5 | Tool has been disengaged | None |
| 6 | Calibration succeeded | None |
| Error Code | Description |
|---|---|
| 101 | The requested destination is beyond the minimum limit of the machine |
| 102 | The requested destination is beyond the maximum limit of the machine |
| 103 | The positioner was unexpectedly halted during movement |
| 104 | The positioner was unexpectedly moved while at rest |
| 105 | The requested position value is not a valid number |
| 106 | The requested command is unrecognized |
| 107 | The requested setting is unavailable |
| 108 | Unable to begin movement due to positioner already being in motion |
| 109 | The machine is below the voltage threshold for standard operation |
| 110 | The machine is above the voltage threshold for standard operation |
| 111 | The temperature of the amplifier has exceeded safe operating threshold |
| 112 | The temperature is increasing at an unsafe rate |
| 113 | The electrical current through the machine has exceeded safe operating threshold |
| 114 | The machine was signaled to stop while moving |
| 115 | A movement was attempted while the tool was engaged |
| 116 | The tool was engaged while the positioner was moving |
| 117 | The requested calibration position is not a valid number |
| 118 | A tool cycle was attempted, but the machine is missing the proper enable code for Full Auto operation. |
| 119 | A tool cycle was attempted, but the machine’s Tool IK setting is not set to ‘Full Auto’. |
| 120 | Either the air sensor was deactivated, or the user attempted a tool cycle while the air sensor was inactive. |
| 121 | Either the oil sensor was deactivated, or the user attempted a tool cycle while the oil sensor was inactive. |
| 122 | Either the saw speed sensor was deactivated, or the user attempted a tool cycle while the saw speed sensor was inactive. |
| 123 | Either the light curtain sensor was deactivated, or the user attempted a tool cycle while the light curtain sensor was inactive. |
| 124 | Either the guard door sensor was deactivated, or the user attempted a tool cycle while the guard door sensor was inactive. |
| 125 | The Input/Output panel lost connection. |
| 126 | The user attempted to perform a tool cycle while a tool cycle was already in progress. |
| 127 | A disconnect was attempted while the positioner was moving. |
| 128 | A disconnect was attempted while the tool was cycling. |
Areas of this section surrounded in quotes represent string literals, or sequences of bytes to be sent across a TCP connection. Sections of a string literal surrounded in curly braces represent the name of a value that will appear in that section. For example, for a message formatted by the string 2|{position}, {position} could be a value of 50, and the message string would really be 2|50. Additionally, \n in a string represents the newline character.
This function causes the positioner to stop if moving. If the positioner is at rest, nothing should happen
- Identifier:
stop - Parameters: None
- Possible Error Codes
- 114
Basic movement of the positioner is accomplished through this function. The desired position is passed to the TigerStop in millimeters, which will cause the positioner to move to the provided position, if possible
- Identifier:
move_to - Parameters: position
- Type: float
- Note: position values must be sent in metric millimeters
- Message Code: 0
- Possible Error Codes
- 101, 102, 103, 105, 108, 109, 110, 111, 112, 113, 114, 115, 116
There are specific settings from the TigerStop, whose values can be read. The setting name determines which setting to get, and both name and value are sent back upon success.
- Identifier:
get_setting - Parameters: Setting Name
- Available Settings:
minlim- The minimum limit of the machine (mm)
maxlim- The maximum limit of the machine (mm)
- Message format:
1|{Setting Name}|{Setting Value}\n- Message Code: 1
- Setting Name: The name of the requested setting
- Setting Value: The value of the requested setting
- Possible error codes
- 107
Requests for the TigerStop to handle all positional data in the specified units.
- Identifier:
set_units - Parameter: Unit Type
- Available Unit Type Values:
0(millimeters)1(inches)
- Message Format:
19\n - Possible Error Codes:
- 107
Provides the current position of the positioner, relative to the tool, in millimeters.
- Identifier:
get_position - Parameters: None
- Message format:
2|{position}\n- Message Code: 2
- Position: The current position of the positioner (in millimeters)
- Note: Position will be a float, but will be represented as a string in the response message
Calibration specifies where the positioner is relative to the tool. The current position becomes the calibrated position, and the end limits are shifted by the difference between the calibrated position and the pre-calibrated position. For example, say you have a minimum limit of 0, a maximum limit of 100, and a current position of 5. After calibrating to 0, your minimum limit will be -5, maximum limit will be 95, and current position will be 0.
- Identifier:
calibrate - Parameters: position
- Type: float
- Note: position values must be sent in metric millimeters
- Message format:
6\n- Message Code: 6
- Possible Error Codes:
- 117
Sends the positioner to the far end of the beam (relative to the tool), allowing for a consistent reference point for positioning. The controller will respond with message code 0 four consecutive times during a successful home routine, with each one signaling a separate step of the routine. The fourth message in the series indicates a successfully completed routine.
- Identifier:
home - Parameters: None
- Message format:
0\n- Message Code: 0
- Possible Error Codes:
- 103, 108, 109, 110, 111, 112, 113, 114, 115, 116
Initiates a tool cycle sequence. The controller will respond with a message code for each step of the process until the tool cycle is completed or an error prevents completion. A full tool cycle is as follows: 1. Clamps engage: Message code 10 2. Tool and motor enable signals sent: Message code 11 and message code 18 3. Tool at rest sensor deactivated: Message code 12 4. Tool at extension sensor activated: Message code 13 5. Tool at extension sensor deactivated: Message code 14 6. Tool at rest sensor activated: Message code 15 7. Clamps disengaged: Message code 16 8. Tool cycle complete: Message code 17
- Identifier:
cycle_tool - Parameters: None
- Possible Error Codes:
- 114, 116, 120, 121, 122, 123, 124, 126
-
Attempts to close the client’s socket connection. Disconnecting explicitly will maintain motor state (i.e. if the positioner is holding position, after disconnecting, position will still be holding).
-
Disconnects will be refused while the positioner is moving, or a tool is actively cycling.
-
Note that unexpected disconnections, or socket closure without a preceding disconnect command, will result in the motor disengaging.
- Identifier:
disconnect - Parameters: None
- Possible Error Codes:
- 127, 128
Signals are messages that occur during certain operations of the TigerStop. These messages may occur independently of any function calls.
This signal occurs during active movement of the TigerStop's positioner.
- Message Format:
2|{position}\n - Message Code: 2
This signal occurs when a tool connected via a standard interconnect kit engages.
- Message Format:
4\n - Message Code: 4
This signal occurs when a tool connected via a standard interconnect kit disengages.
- Message Format:
5\n - Message code: 5