UDP Position Output
Last updated
Last updated
Similar to the Watchout Position Output, the OSC Position Output, and the PSN Position Output the UDP Position Output allows you to send live motor data to other software and devices on your network.
However unlike the other position outputs, which have a fixed syntax for their messages the UDP Position Output allows you to pick the syntax. This can be handy for when a device doesn't support one of the standard outputs but can listen for UDP.
To open the UDP Output configuration window from the Show Control menu select UDP...
1. Client Address - The IP address of the other device receiving data from Spikemark.
2. Client Port - The port number the other device is listening for data on.
3. Output Pattern - The syntax of the UDP message (more in the next section).
4. Active - When checked, the given axis’ position will be sent. This allows Spikemark to selectively send position data. By default, active is unchecked.
5. Motor Name - The name of the motor in Spikemark.
6. UDP Name - The name that the other device will see. By default, the UDP name is the same as the motor name but can be changed as needed. This allows an axis to be called one name in Spikemark and another on a UDP client.
7. Update Interval - The update interval is the speed at which UDP packets are sent. The recommended fastest speed is 30.
8. Send Output - Toggles the UDP output on or off.
One of the main advantages of the UDP position output is its flexibility. You get to decide which information you need and how it should be formatted. In the Output Pattern text box you can type any text you want as well as few special arguments. It is these arguments that will get replaced with the actual motor information.
Pattern | Description |
{name} | The UDP name for the motor |
{position} | The simulated position based off of the loaded/running motion profile of the motor |
{actual_position} | The actual position of the motor |
{desired_position} | The commanded position from the motion controller |
{speed} | The simulated speed based off of the running motion profile of the motor |
{actual_speed} | The actual speed of the motor |
{desired_speed} | The commanded speed from the motion controller |
{error} | The simulated position minus the actual position |
{ti_error} | The desired position minus the actual position |
{cr} | Carriage return character (\r) |
{lf} | Line feed character (\n) |
{nl} | New line character (\r\n) |
{tab} | Tab character (\t) |
The {error} and {ti_error} arguments were left in mostly for internal testing use and will probably not have much use in the real world.
Pattern | Result |
{name} - {position}:{speed} | Pushstick V2 - 12.47:8.6 |
Axis {name} is at {actual_position} | Axis Pushstick V2 is at 147.86 |
{position}{tab}{speed}{tab}{name} | 88.61 8.6 Pushstick V2 |