Added minimal functionality for Robot teaching

- Added minimal HMI
- Added possibility to open and close all chamber doors
This commit is contained in:
2026-01-17 09:20:39 +01:00
parent 9f058db2a3
commit 2d11c43579
2274 changed files with 912690 additions and 162 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 0.5,8.5 L 8.5,8.5 L 8.5,0.5 L 11.5,0.5 L 11.5,8.5 L 19.5,8.5 L 19.5,11.5 L 11.5,11.5 L 11.5,19.5 L 8.5,19.5 L 8.5,11.5 L 0.5,11.5 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 468 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#FFFFFF" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 0.5,8.5 L 8.5,8.5 L 8.5,0.5 L 11.5,0.5 L 11.5,8.5 L 19.5,8.5 L 19.5,11.5 L 11.5,11.5 L 11.5,19.5 L 8.5,19.5 L 8.5,11.5 L 0.5,11.5 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 464 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4C6374" stroke-width="1.05" fill="none" transform="translate(5, 5)">
<line x1="0.5" y1="0.5" x2="15.5" y2="15.5" />
<line x1="0.5" y1="15.5" x2="15.5" y2="0.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 382 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#ffffff" stroke-width="1.05" fill="none" transform="translate(5, 5)">
<line x1="0.5" y1="0.5" x2="15.5" y2="15.5" />
<line x1="0.5" y1="15.5" x2="15.5" y2="0.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 383 B

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 6,1.5 L 1.5,1.5 L 1.5,18.5 L 6,18.5" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#FFFFFF" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 6,1.5 L 1.5,1.5 L 1.5,18.5 L 6,18.5" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<rect x="0.5" y="8.5" width="19" height="3" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#FFFFFF" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<rect x="0.5" y="8.5" width="19" height="3" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 5.5,1.5 L 1.5,1.5 L 1.5,10.5" />
<path d="M 2,18.5 L 6,18.5" />
<line x1="-1" y1="21" x2="8.5" y2="-1" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#FFFFFF" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 5.5,1.5 L 1.5,1.5 L 1.5,10.5" />
<path d="M 2,18.5 L 6,18.5" />
<line x1="-1" y1="21" x2="8.5" y2="-1" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -0,0 +1,121 @@
.TcHmi_Controls_Helpers_Popup {
--tchmi-background: var(--tchmi-background-color-1);
--tchmi-text-color: var(--tchmi-foreground-color-1);
--tchmi-header-background: var(--tchmi-background-color-1);
--tchmi-header-text-color: var(--tchmi-foreground-color-1);
--tchmi-background-invalid: var(--tchmi-invalid-color);
--tchmi-popup-filter-border: var(--tchmi-foreground-color-2);
--tchmi-popup-filter-table-header-background: var(--tchmi-highlight-color-1);
--tchmi-popup-filter-table-header-color: var(--tchmi-foreground-color-1);
--tchmi-popup-filter-table-cell-background: var(--tchmi-background-color-3);
--tchmi-popup-filter-table-cell-color: var(--tchmi-foreground-color-1);
--tchmi-popup-filter-table-indentation: var(--tchmi-foreground-color-2);
background: var(--tchmi-background);
box-shadow: var(--tchmi-popup-shadow);
font-size: 12px;
}
.TcHmi_Controls_Helpers_Popup-header-container {
background: var(--tchmi-header-background);
}
.TcHmi_Controls_Helpers_Popup-header-container > h1 {
font-size: 18px;
font-weight: normal;
color: var(--tchmi-header-text-color);
}
.TcHmi_Controls_Helpers_Popup-header-container > h1:not(:empty) {
margin-right: 10px;
}
.TcHmi_Controls_Helpers_Popup-header-container > a {
width: 26px;
height: 26px;
background-image: url('Images/close.svg');
}
.TcHmi_Controls_Helpers_Popup-header-container > a:active:hover {
background-image: url('Images/close-active.svg');
}
.TcHmi_Controls_Helpers_Popup-content {
color: var(--tchmi-text-color);
}
.TcHmi_Controls_Helpers_Popup div.with-validation.invalid .TcHmi_Controls_Beckhoff_TcHmiInput-template-input {
box-shadow: var(--tchmi-background-invalid);
}
.TcHmi_Controls_Helpers_Popup-content h2 {
font-size: 16px;
font-weight: normal;
margin-bottom: 0;
}
/**
* FilterPrompt
*/
.TcHmi_Controls_Helpers_FilterPrompt-table-header tr {
border-bottom: 1px solid var(--tchmi-popup-filter-border);
}
.TcHmi_Controls_Helpers_FilterPrompt-table-header th {
background: var(--tchmi-popup-filter-table-header-background);
color: var(--tchmi-popup-filter-table-header-color);
border-right: 1px solid var(--tchmi-popup-filter-border);
border-top: 0px;
border-left: 0px;
border-bottom: 0px;
font-weight: normal;
}
.TcHmi_Controls_Helpers_FilterPrompt-table td {
background: var(--tchmi-popup-filter-table-cell-background);
color: var(--tchmi-popup-filter-table-cell-color);
border-color: var(--tchmi-popup-filter-border);
}
.tchmi-event-grid-table-header .tchmi-event-grid-selection-column {
border-right: none;
}
.TcHmi_Controls_Helpers_FilterPrompt-table .TcHmi_Controls_Helpers_FilterPrompt-indentation-column {
border-bottom: none;
}
.TcHmi_Controls_Helpers_FilterPrompt-table .TcHmi_Controls_Helpers_FilterPrompt-indentation-marker {
border-color: var(--tchmi-popup-filter-table-indentation);
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-add-button {
background-image: url('Images/add.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-add-button.down {
background-image: url('Images/add-active.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-remove-button {
background-image: url('Images/remove.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-remove-button.down {
background-image: url('Images/remove-active.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-group-button {
background-image: url('Images/group.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-group-button.down {
background-image: url('Images/group-active.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-ungroup-button {
background-image: url('Images/ungroup.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-ungroup-button.down {
background-image: url('Images/ungroup-active.svg');
}

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 0.5,8.5 L 8.5,8.5 L 8.5,0.5 L 11.5,0.5 L 11.5,8.5 L 19.5,8.5 L 19.5,11.5 L 11.5,11.5 L 11.5,19.5 L 8.5,19.5 L 8.5,11.5 L 0.5,11.5 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 468 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4C6374" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 0.5,8.5 L 8.5,8.5 L 8.5,0.5 L 11.5,0.5 L 11.5,8.5 L 19.5,8.5 L 19.5,11.5 L 11.5,11.5 L 11.5,19.5 L 8.5,19.5 L 8.5,11.5 L 0.5,11.5 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 464 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4C6374" stroke-width="1.05" fill="none" transform="translate(5, 5)">
<line x1="0.5" y1="0.5" x2="15.5" y2="15.5" />
<line x1="0.5" y1="15.5" x2="15.5" y2="0.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 382 B

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26px" height="26px" viewBox="0 0 26 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4794DA" stroke-width="1.05" fill="none" transform="translate(5, 5)">
<line x1="0.5" y1="0.5" x2="15.5" y2="15.5" />
<line x1="0.5" y1="15.5" x2="15.5" y2="0.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 383 B

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 6,1.5 L 1.5,1.5 L 1.5,18.5 L 6,18.5" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4C6374" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 6,1.5 L 1.5,1.5 L 1.5,18.5 L 6,18.5" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<rect x="0.5" y="8.5" width="19" height="3" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4C6374" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<rect x="0.5" y="8.5" width="19" height="3" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#000000" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 5.5,1.5 L 1.5,1.5 L 1.5,10.5" />
<path d="M 2,18.5 L 6,18.5" />
<line x1="-1" y1="21" x2="8.5" y2="-1" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#4C6374" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(5.000000, 5.000000)">
<path d="M 5.5,1.5 L 1.5,1.5 L 1.5,10.5" />
<path d="M 2,18.5 L 6,18.5" />
<line x1="-1" y1="21" x2="8.5" y2="-1" />
<path d="M 20,3.5 L 8.5, 3.5 L 8.5,8.5 L 20,8.5" />
<path d="M 20,11.5 L 8.5, 11.5 L 8.5,16.5 L 20,16.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -0,0 +1,121 @@
.TcHmi_Controls_Helpers_Popup {
--tchmi-background: var(--tchmi-background-color-4);
--tchmi-text-color: var(--tchmi-foreground-color-1);
--tchmi-header-background: var(--tchmi-background-color-4);
--tchmi-header-text-color: var(--tchmi-foreground-color-1);
--tchmi-background-invalid: var(--tchmi-invalid-color);
--tchmi-popup-filter-border: var(--tchmi-background-color-3);
--tchmi-popup-filter-table-header-background: var(--tchmi-highlight-color-1);
--tchmi-popup-filter-table-header-color: var(--tchmi-foreground-color-2);
--tchmi-popup-filter-table-cell-background: var(--tchmi-background-color-4);
--tchmi-popup-filter-table-cell-color: var(--tchmi-foreground-color-1);
--tchmi-popup-filter-table-indentation: var(--tchmi-foreground-color-1);
background: var(--tchmi-background);
box-shadow: var(--tchmi-popup-shadow);
font-size: 12px;
}
.TcHmi_Controls_Helpers_Popup-header-container {
background: var(--tchmi-header-background);
}
.TcHmi_Controls_Helpers_Popup-header-container > h1 {
font-size: 18px;
font-weight: normal;
color: var(--tchmi-header-text-color);
}
.TcHmi_Controls_Helpers_Popup-header-container > h1:not(:empty) {
margin-right: 10px;
}
.TcHmi_Controls_Helpers_Popup-header-container > a {
width: 26px;
height: 26px;
background-image: url('Images/close.svg');
}
.TcHmi_Controls_Helpers_Popup-header-container > a:active:hover {
background-image: url('Images/close-active.svg');
}
.TcHmi_Controls_Helpers_Popup-content {
color: var(--tchmi-text-color);
}
.TcHmi_Controls_Helpers_Popup div.with-validation.invalid .TcHmi_Controls_Beckhoff_TcHmiInput-input {
background: var(--tchmi-background-invalid);
}
.TcHmi_Controls_Helpers_Popup-content h2 {
font-size: 16px;
font-weight: normal;
margin-bottom: 0;
}
/**
* FilterPrompt
*/
.TcHmi_Controls_Helpers_FilterPrompt-table-header tr {
border-bottom: 1px solid var(--tchmi-popup-filter-border);
}
.TcHmi_Controls_Helpers_FilterPrompt-table-header th {
background: var(--tchmi-popup-filter-table-header-background);
color: var(--tchmi-popup-filter-table-header-color);
border-right: 1px solid var(--tchmi-popup-filter-border);
border-top: 0px;
border-left: 0px;
border-bottom: 0px;
font-weight: normal;
}
.TcHmi_Controls_Helpers_FilterPrompt-table td {
background: var(--tchmi-popup-filter-table-cell-background);
color: var(--tchmi-popup-filter-table-cell-color);
border-color: var(--tchmi-popup-filter-border);
}
.tchmi-event-grid-table-header .tchmi-event-grid-selection-column {
border-right: none;
}
.TcHmi_Controls_Helpers_FilterPrompt-table .TcHmi_Controls_Helpers_FilterPrompt-indentation-column {
border-bottom: none;
}
.TcHmi_Controls_Helpers_FilterPrompt-table .TcHmi_Controls_Helpers_FilterPrompt-indentation-marker {
border-color: var(--tchmi-popup-filter-table-indentation);
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-add-button {
background-image: url('Images/add.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-add-button.down {
background-image: url('Images/add-active.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-remove-button {
background-image: url('Images/remove.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-remove-button.down {
background-image: url('Images/remove-active.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-group-button {
background-image: url('Images/group.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-group-button.down {
background-image: url('Images/group-active.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-ungroup-button {
background-image: url('Images/ungroup.svg');
}
.TcHmi_Controls_Beckhoff_TcHmiButton.TcHmi_Controls_Helpers_FilterPrompt-ungroup-button.down {
background-image: url('Images/ungroup-active.svg');
}