PROFINET Interface Reference
The PROFINET interface provides communication between LumiScan VGR and the PLC.
This chapter describes:
-
the memory layout of the exchanged signals
-
the PROFINET device modules
-
the process flow for function calls
-
the available functions
-
return codes
-
operation modes
For an explanation of how the interface is used during operation, see PLC Settings.
Memory Layout
The signal memory is organized into slots.
Two groups of signals are exchanged:
-
PLC inputs (
OUT_):* Values written by LumiScan VGR and read by the PLC. -
PLC outputs (
IN_):* Values written by the PLC and read by LumiScan VGR.
PLC Inputs (OUT_*)
| Slot / Group | Byte Address | Bit | Data Type | Name | Description |
|---|---|---|---|---|---|
Slot 1 - System Signals |
0 |
0 |
bool |
|
Mirrors the value of |
Slot 1 - System Signals |
0 |
1 |
bool |
|
Set to |
Slot 1 - System Signals |
0 |
2 |
bool |
|
Indicates whether the reset function is ready to be executed. |
Slot 1 - System Signals |
0 |
3 |
bool |
|
Indicates whether the reset function is currently running. |
Slot 1 - System Signals |
0 |
4 |
bool |
|
Indicates whether the setup function is ready to be executed. |
Slot 1 - System Signals |
0 |
5 |
bool |
|
Indicates whether the setup function is currently running. |
Slot 1 - System Signals |
Reserved |
||||
Slot 1 - Status Signals |
4 |
byte/uchar |
|
Contains the current operation mode. It can be changed using the Set Parameter function. |
|
Slot 1 - Status Signals |
5 |
0 |
bool |
|
Indicates whether system setup has been completed. |
Slot 1 - Status Signals |
Reserved |
||||
Slot 1 - Trigger Signals |
8 |
0 |
bool |
|
Indicates whether the Set Parameter function is ready. |
Slot 1 - Trigger Signals |
8 |
1 |
bool |
|
Indicates whether the Set Parameter function is running. |
Slot 1 - Trigger Signals |
9 |
0 |
bool |
|
Indicates whether camera triggering is ready. |
Slot 1 - Trigger Signals |
9 |
1 |
bool |
|
Indicates whether camera triggering is running. |
Slot 1 - Trigger Signals |
10 |
0 |
bool |
|
Indicates whether object computation is ready. |
Slot 1 - Trigger Signals |
10 |
1 |
bool |
|
Indicates whether object computation is running. |
Slot 1 - Trigger Signals |
11 |
0 |
bool |
|
Indicates whether the best-result calculation is ready. |
Slot 1 - Trigger Signals |
11 |
1 |
bool |
|
Indicates whether the best-result calculation is running. |
Slot 1 - Trigger Signals |
12 |
0 |
bool |
|
Indicates whether the Grip Best Result function is ready. |
Slot 1 - Trigger Signals |
12 |
1 |
bool |
|
Indicates whether the Grip Best Result function is running. |
Slot 1 - Trigger Signals |
13 |
0 |
bool |
|
Indicates whether the Get Parameter function is ready. |
Slot 1 - Trigger Signals |
13 |
1 |
bool |
|
Indicates whether the Get Parameter function is running. |
Slot 1 - Trigger Signals |
14 |
0 |
bool |
|
Indicates whether the Reset Camera function is ready. |
Slot 1 - Trigger Signals |
14 |
1 |
bool |
|
Indicates whether the Reset Camera function is running. |
Slot 1 - Trigger Signals |
… |
|
Grip priority of the selected result. |
||
Slot 2 - Data |
64 |
byte/uchar |
|
Contains the return code of the last executed function. |
|
Slot 2 - Data |
65 |
byte/uchar |
|
ID of the object as defined in the JSON settings. |
|
Slot 2 - Data |
66 |
6 x float |
|
Not implemented. |
|
Slot 2 - Data |
90 |
6 x float |
|
Bounding box of the object in the object coordinate system: |
|
Slot 2 - Data |
114 |
float |
|
Depth of the previously gripped object in meters. Valid only when the value is greater than or equal to |
|
Slot 2 - Data |
118 |
byte/uchar |
|
Number of objects in the scene that have not yet been gripped. |
|
Slot 2 - Data |
… |
Reserved |
|||
Slot 3 - Data |
128 |
7 x float |
|
Pose of the move frame for a grip point in robot coordinates: |
|
Slot 3 - Data |
156 |
7 x float |
|
Pose of the object in TCP coordinates. Uses the same pose format as |
|
Slot 3 - Data |
… |
Reserved |
|||
Slot 4 - Data |
192 |
float |
|
Score of the 2D object detection result. |
|
Slot 4 - Data |
196 |
float |
|
Curvature of the previously gripped object. |
|
Slot 4 - Data |
200 |
int |
|
Nearest-neighbor value of the previously gripped object. |
|
Slot 4 - Data |
204 |
int |
|
Currently configured lower or upper depth limit. |
|
Slot 4 - Data |
208 |
int |
|
Currently configured image reference. |
|
Slot 4 - Data |
212 |
float |
|
Score of the 3D object detection result. |
|
Slot 4 - Data |
216 |
float |
|
Current camera temperature in °C. The value is updated when an image is captured. |
|
Slot 4 - Data |
… |
Reserved |
PLC Outputs (IN_*)
| Slot / Group | Byte Address | Bit | Data Type | Name | Description |
|---|---|---|---|---|---|
Slot 5 - System Signals |
0 |
0 |
bool |
|
Heartbeat signal from the PLC. |
Slot 5 - System Signals |
0 |
1 |
bool |
|
Reserved for PLC errors. |
Slot 5 - System Signals |
0 |
2 |
bool |
|
Requests execution of the reset function. |
Slot 5 - System Signals |
0 |
3 |
bool |
|
If |
Slot 5 - System Signals |
0 |
4 |
bool |
|
Requests execution of the setup function. |
Slot 5 - System Signals |
Reserved |
||||
Slot 5 - Status Signals |
4 |
Reserved |
|||
Slot 5 - Status Signals |
… |
||||
Slot 5 - Trigger Signals |
8 |
0 |
bool |
|
Requests execution of the Set Parameter function. |
Slot 5 - Trigger Signals |
9 |
0 |
bool |
|
Requests a new image from the active camera. |
Slot 5 - Trigger Signals |
10 |
0 |
bool |
|
Requests object computation. |
Slot 5 - Trigger Signals |
11 |
0 |
bool |
|
Requests calculation of the best grip result. |
Slot 5 - Trigger Signals |
12 |
0 |
bool |
|
Requests confirmation of the best grip result. |
Slot 5 - Trigger Signals |
13 |
0 |
bool |
|
Requests a parameter value. |
Slot 5 - Trigger Signals |
14 |
0 |
bool |
|
Requests a reset of the specified camera. |
Slot 5 - Trigger Signals |
… |
Reserved |
|||
Slot 6 - Data |
64 |
byte/uchar |
|
Specifies the parameter or operation used by the Set Parameter or Get Parameter function. |
|
Slot 6 - Data |
65 |
byte/uchar |
|
Byte argument used by parameter functions. |
|
Slot 6 - Data |
66 |
int |
|
Integer argument used by parameter functions. |
|
Slot 6 - Data |
70 |
float |
|
Float argument used by parameter functions. |
|
Slot 6 - Data |
74 |
32 x byte/uchar |
|
String argument used by parameter functions. |
|
Slot 6 - Data |
… |
Reserved |
|||
Slot 7 - Data |
128 |
7 x float |
|
Current pose in robot coordinates using the move frame. This value should always be available. |
|
Slot 7 - Data |
… |
Reserved |
|||
Slot 8 - Reserved |
192 |
Reserved |
|||
Slot 8 - Reserved |
… |
Reserved |
Process Flow
Each process uses three signals:
-
OUT_*Ready -
IN_*Request -
OUT_*Running
The execution sequence is the same for all functions.
| Step | OUT | IN | Note |
|---|---|---|---|
1 |
Wait until |
Not applicable to reset functions |
|
2 |
Set |
||
3 |
Check |
||
4 |
Set |
||
5 |
Set |
||
6 |
Wait until |
Not applicable to reset functions |
|
7 |
Check |
Otherwise, the trigger is discarded |
|
8 |
Set |
||
9 |
Wait until |
||
10 |
Execute the requested function |
||
11 |
Set output variables |
||
12 |
Set |
||
13 |
Set |
||
14 |
Wait until |
||
15 |
Check the return code |
||
16 |
Read the output variables |
For a more detailed explanation of the handshake behavior, see PLC Settings: Process Flow.
Function Descriptions
| Function | Input | Output | Description | Prerequisite |
|---|---|---|---|---|
|
Resets all |
|||
|
Resets all |
|||
|
|
|
Sets a parameter.
|
|
|
|
|
Reads a parameter.
|
|
|
|
Captures an image with the currently active camera. |
|
|
|
|
Calculates the poses of all detected objects from the most recent image using the active pipeline. |
|
|
|
|
|
Calculates grip points for the active robot using the most recently calculated object poses and returns information about the highest-priority valid grip. If path planning is configured, the input arguments can be used to evaluate the trajectory at a specific point: *
Path segment If invalid arguments are supplied, they are set to
|
|
|
|
Performs the same calculation as |
|
|
|
|
Resets the camera specified by its ID in |
|
Return Codes
The return codes are described in PLC Settings: Status Information.
Application Example
The following diagram shows an example process using one camera, one pipeline, and one robot.
The example assumes that the operation mode does not change during the process. After each function call, check the return code and handle any reported error before continuing.
If auto-exposure is enabled in the configuration, it is applied after each image capture. When the scene changes, an initial image can therefore be captured to adjust the exposure before the picking process begins.
Multiple objects can be picked from a single captured image. Depending on the required cycle time, it may also be practical to capture a new image before each grip.
Manual Mode
During operation, manual mode can be activated through the user interface. The operation mode then changes to MANUAL (2).
While manual mode is active, processing functions cannot be started from the PLC.
When manual mode is exited, the system changes to IDLE (0). To resume automatic processing, set the operation mode back to AUTOMATIC through the PLC.
See also Manual Mode.