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,24 @@
{
"$schema": "../../../../TcHmiFramework/Schema/ThemeDescription.Schema.json",
"controlTypeValues": {
"TcHmi.Controls.Beckhoff.TcHmiRadialGauge": {
"attributes": {
"KnobColor": {
"color": "#2775be"
},
"KnobArrowsColor": {
"color": "#FFFFFF"
}
},
"themedResources": {
"KnobConfig": {
"imagePath": "Knob.svg",
"width": 40,
"height": 40,
"offsetX": 20,
"offsetY": 20
}
}
}
}
}

View File

@@ -0,0 +1 @@
<svg id="Inhalt" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-2{fill:#fff;}</style></defs><title>icons_error_normal</title><path class="cls-2" d="M 40 49.5 C 38.7 49.5 37.6 48.5 37.5 47.1 C 37.5 45.8 38.6 44.7 40 44.7 C 41.3 44.7 42.4 45.8 42.4 47.1 C 42.4 48.4 41.3 49.5 40 49.5 Z M 41.4 41 c -0.1 0.5 -0.2 0.5 -0.6 0.5 H 39.2 c -0.4 0 -0.5 0 -0.6 -0.5 l -0.6 -11.3 c 0 -0.5 0 -0.5 0 -0.7 C 37.9 28.9 38 28.8 38.1 28.7 C 38.2 28.6 38.3 28.5 38.4 28.5 H 41.5 C 41.6 28.5 41.8 28.6 41.9 28.7 C 42 28.8 42.1 28.9 42.1 29.1 c 0 0.2 0 0.1 0 0.6 Z"/></svg>

After

Width:  |  Height:  |  Size: 580 B

View File

@@ -0,0 +1,10 @@
<svg class="TcHmi_Controls_Beckhoff_TcHmiRadialGauge-knob-svg" version="1.1" xmlns="http://www.w3.org/2000/svg"
width="40" height="40">
<defs>{KnobColorGradientDefinition}</defs>
<circle r="18px" cx="20px" cy="20px"
style="stroke-width:2px;{KnobColorFill}{KnobArrowsColorStroke}"></circle>
<path d="M 18 11 L 16 11 L 7 20 L 16 29 L 18 29 L 18 27 L 11 20 L 18 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
<path d="M 22 11 L 24 11 L 33 20 L 24 29 L 22 29 L 22 27 L 29 20 L 22 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
</svg>

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -0,0 +1,85 @@
/** Styles for the theme: Base-Dark */
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge,
.tchmi-radial-gauge {
--tchmi-background: var(--tchmi-background-color-1);
--tchmi-tick-stroke: var(--tchmi-foreground-color-1);
--tchmi-label-fill: var(--tchmi-foreground-color-1);
--tchmi-label-legend: var(--tchmi-foreground-color-1);
--tchmi-track-color: var(--tchmi-background-color-4);
--tchmi-filler-color: var(--tchmi-highlight-color-1);
--tchmi-unit-color: var(--tchmi-foreground-color-1);
--tchmi-set-point: var(--tchmi-foreground-color-2);
overflow: visible;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-circle-outside,
.tchmi-radial-gauge-template-circle-outside {
fill: var(--tchmi-background);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-main-tick,
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-sub-tick,
.tchmi-radial-gauge-template-main-tick,
.tchmi-radial-gauge-template-sub-tick {
stroke: var(--tchmi-tick-stroke);
stroke-width: 2;
pointer-events: none;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-label,
.tchmi-radial-gauge-template-label {
font-size: 12px;
fill: var(--tchmi-label-fill);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-circle-under,
.tchmi-radial-gauge-template-circle-under {
stroke-width: 9px;
stroke-dasharray: 741.5px;
stroke-dashoffset: 206px;
stroke: var(--tchmi-track-color);
fill: transparent;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-circle-over,
.tchmi-radial-gauge-template-circle-over {
stroke-width: 9px;
stroke-dasharray: 741.5px;
stroke-dashoffset: 206px;
stroke: var(--tchmi-filler-color);
fill: transparent;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-display-value,
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-display-unit,
.tchmi-radial-gauge-template-display-value,
.tchmi-radial-gauge-template-display-unit {
fill: var(--tchmi-unit-color);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-set-point {
stroke: var(--tchmi-set-point);
stroke-width: 2;
pointer-events: none;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-marker {
stroke: var(--tchmi-set-point);
stroke-width: 2;
pointer-events: none;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-invalid-notification {
background-image: url('Images/invalid-notification.svg');
background-size: 200% 200%;
background-color: var(--tchmi-error-color);
background-position: 50% 50%;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge.TcHmi_Controls_System_TcHmiControl-disabled
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template::after {
background-color: var(--tchmi-disabled-color);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-legend-item-label {
color: var(--tchmi-label-legend);
}

View File

@@ -0,0 +1,24 @@
{
"$schema": "../../../../TcHmiFramework/Schema/ThemeDescription.Schema.json",
"controlTypeValues": {
"TcHmi.Controls.Beckhoff.TcHmiRadialGauge": {
"attributes": {
"KnobColor": {
"color": "#4994DA"
},
"KnobArrowsColor": {
"color": "#FFFFFF"
}
},
"themedResources": {
"KnobConfig": {
"imagePath": "Knob.svg",
"width": 40,
"height": 40,
"offsetX": 20,
"offsetY": 20
}
}
}
}
}

View File

@@ -0,0 +1 @@
<svg id="Inhalt" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-2{fill:#fff;}</style></defs><title>icons_error_normal</title><path class="cls-2" d="M 40 49.5 C 38.7 49.5 37.6 48.5 37.5 47.1 C 37.5 45.8 38.6 44.7 40 44.7 C 41.3 44.7 42.4 45.8 42.4 47.1 C 42.4 48.4 41.3 49.5 40 49.5 Z M 41.4 41 c -0.1 0.5 -0.2 0.5 -0.6 0.5 H 39.2 c -0.4 0 -0.5 0 -0.6 -0.5 l -0.6 -11.3 c 0 -0.5 0 -0.5 0 -0.7 C 37.9 28.9 38 28.8 38.1 28.7 C 38.2 28.6 38.3 28.5 38.4 28.5 H 41.5 C 41.6 28.5 41.8 28.6 41.9 28.7 C 42 28.8 42.1 28.9 42.1 29.1 c 0 0.2 0 0.1 0 0.6 Z"/></svg>

After

Width:  |  Height:  |  Size: 580 B

View File

@@ -0,0 +1,10 @@
<svg class="TcHmi_Controls_Beckhoff_TcHmiRadialGauge-knob-svg" version="1.1" xmlns="http://www.w3.org/2000/svg"
width="40" height="40">
<defs>{KnobColorGradientDefinition}</defs>
<circle r="18px" cx="20px" cy="20px"
style="stroke-width:3px;{KnobColorFill}{KnobArrowsColorStroke}"></circle>
<path d="M 18 11 L 16 11 L 7 20 L 16 29 L 18 29 L 18 27 L 11 20 L 18 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
<path d="M 22 11 L 24 11 L 33 20 L 24 29 L 22 29 L 22 27 L 29 20 L 22 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
</svg>

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -0,0 +1,86 @@
/** Styles for the theme: Base */
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge,
.tchmi-radial-gauge {
--tchmi-background: var(--tchmi-background-color-1);
--tchmi-tick-stroke: var(--tchmi-highlight-color-1);
--tchmi-label-fill: var(--tchmi-highlight-color-1);
--tchmi-label-legend: var(--tchmi-highlight-color-1);
--tchmi-track-color: var(--tchmi-background-color-4);
--tchmi-filler-color: var(--tchmi-highlight-color-1);
--tchmi-unit-color: var(--tchmi-highlight-color-1);
--tchmi-set-point: var(--tchmi-foreground-color-1);
overflow: visible;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-circle-outside,
.tchmi-radial-gauge-template-circle-outside {
fill: var(--tchmi-background);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-main-tick,
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-sub-tick,
.tchmi-radial-gauge-template-main-tick,
.tchmi-radial-gauge-template-sub-tick {
stroke: var(--tchmi-tick-stroke);
stroke-width: 2;
pointer-events: none;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-label,
.tchmi-radial-gauge-template-label {
font-size: 12px;
fill: var(--tchmi-label-fill);
font-weight: bold;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-circle-under,
.tchmi-radial-gauge-template-circle-under {
stroke-width: 9px;
stroke-dasharray: 741.5px;
stroke-dashoffset: 206px;
stroke: var(--tchmi-track-color);
fill: transparent;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-circle-over,
.tchmi-radial-gauge-template-circle-over {
stroke-width: 9px;
stroke-dasharray: 741.5px;
stroke-dashoffset: 206px;
stroke: var(--tchmi-filler-color);
fill: transparent;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-display-value,
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-display-unit,
.tchmi-radial-gauge-template-display-value,
.tchmi-radial-gauge-template-display-unit {
fill: var(--tchmi-unit-color);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-set-point {
stroke: var(--tchmi-set-point);
stroke-width: 2;
pointer-events: none;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-marker {
stroke: var(--tchmi-set-point);
stroke-width: 2;
pointer-events: none;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-invalid-notification {
background-image: url('Images/invalid-notification.svg');
background-size: 200% 200%;
background-color: var(--tchmi-error-color);
background-position: 50% 50%;
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge.TcHmi_Controls_System_TcHmiControl-disabled
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template::after {
background-color: var(--tchmi-disabled-color);
}
.TcHmi_Controls_Beckhoff_TcHmiRadialGauge-template-legend-item-label {
color: var(--tchmi-label-legend);
}