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,522 @@
{
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
"apiVersion": 1,
"name": "TcHmiInput",
"namespace": "TcHmi.Controls.Beckhoff",
"displayName": "Input",
"version": {
"full": "14.4.1.0",
"major": 14,
"minor": 4,
"build": 1,
"revision": 0
},
"visible": true,
"themeable": "Standard",
"base": "TcHmi.Controls.System.TcHmiControl",
"description": "A lightweight singleline input control",
"defaultDesignerEvent": ".onTextChanged",
"properties": {
"containerControl": false,
"geometry": {
"width": 150,
"height": 26
}
},
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
}
],
"template": "Template.html",
"dependencyFiles": [
{
"name": "Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "../dist/TcHmiInput/TcHmiInput.esm.js",
"type": "EsModule",
"description": "Contains all the main logic as ES module."
}
],
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
},
"Base-Dark": {
"resources": [
{
"name": "Themes/Base-Dark/Style.css",
"type": "Stylesheet",
"description": ""
}
]
}
},
"attributes": [
{
"name": "data-tchmi-text-color",
"propertyName": "TextColor",
"propertySetterName": "setTextColor",
"propertyGetterName": "getTextColor",
"displayName": "Text Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"description": "The color of the text",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text",
"propertyName": "Text",
"propertySetterName": "setText",
"propertyGetterName": "getText",
"displayName": "Text",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:general#/definitions/String",
"category": "Common",
"description": "The text of the input control",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "Input",
"defaultValueInternal": ""
},
{
"name": "data-tchmi-system-keyboard-input-mode",
"propertyName": "SystemKeyboardInputMode",
"propertySetterName": "setSystemKeyboardInputMode",
"propertyGetterName": "getSystemKeyboardInputMode",
"displayName": "System Keyboard Input Mode",
"visible": true,
"themeable": "Advanced",
"displayPriority": 90,
"type": "tchmi:framework#/definitions/Inputmode",
"category": "Text",
"description": "Defines which keyboard layout should be loaded in the system keyboard when interacting. The exact layout file is defined in the project. \nThe most common one are: 'numeric', 'decimal', 'text'. Own project keywords are possible. \n'skip' ignores a focusIn, 'none' closes a keyboard on focusIn.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "text"
},
{
"name": "data-tchmi-ignore-escape-sequences",
"propertyName": "IgnoreEscapeSequences",
"propertySetterName": "setIgnoreEscapeSequences",
"propertyGetterName": "getIgnoreEscapeSequences",
"displayName": "Ignore Escape Sequences",
"visible": true,
"themeable": "Advanced",
"displayPriority": 100,
"type": "tchmi:general#/definitions/Boolean",
"category": "Text",
"description": "When set to true a backslash in a text will be shown verbatim in the HMI.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-text-horizontal-alignment",
"propertyName": "TextHorizontalAlignment",
"propertySetterName": "setTextHorizontalAlignment",
"propertyGetterName": "getTextHorizontalAlignment",
"displayName": "Text Horizontal Alignment",
"visible": true,
"themeable": "Standard",
"displayPriority": 20,
"type": "tchmi:framework#/definitions/HorizontalAlignment",
"category": "Text",
"description": "Defines the horizontal alignment of the text.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-content-padding",
"propertyName": "ContentPadding",
"propertySetterName": "setContentPadding",
"propertyGetterName": "getContentPadding",
"displayName": "Content Padding",
"visible": true,
"themeable": "Standard",
"displayPriority": 55,
"type": "tchmi:framework#/definitions/Padding",
"category": "Text",
"description": "The distance of the text to the border.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": {
"top": 3,
"right": 3,
"bottom": 3,
"left": 3
},
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-font-family",
"propertyName": "TextFontFamily",
"propertySetterName": "setTextFontFamily",
"propertyGetterName": "getTextFontFamily",
"displayName": "Text Font Family",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontFamily",
"category": "Text",
"description": "Comma separated list of family name or keyword: 'serif', 'sans-serif', 'monospace'.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-font-size",
"propertyName": "TextFontSize",
"propertySetterName": "setTextFontSize",
"propertyGetterName": "getTextFontSize",
"displayName": "Text Font Size",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/MeasurementValue",
"category": "Text",
"description": "The size of the font. Percent values are relative to the parent elements font size.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-text-font-size-unit",
"propertyName": "TextFontSizeUnit",
"propertySetterName": "setTextFontSizeUnit",
"propertyGetterName": "getTextFontSizeUnit",
"refTo": "TextFontSize",
"displayName": "Text Font Size Unit",
"visible": true,
"themeable": "Advanced",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/MeasurementUnit",
"category": "Text",
"description": "Could be 'px' or for relative sizing '%'.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "px"
},
{
"name": "data-tchmi-text-font-style",
"propertyName": "TextFontStyle",
"propertySetterName": "setTextFontStyle",
"propertyGetterName": "getTextFontStyle",
"displayName": "Text Font Style",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontStyle",
"category": "Text",
"description": "'Normal', 'Italic' (slanted with special glyphs), 'Oblique' (slanted normal glyphs) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "data-tchmi-text-font-weight",
"propertyName": "TextFontWeight",
"propertySetterName": "setTextFontWeight",
"propertyGetterName": "getTextFontWeight",
"displayName": "Text Font Weight",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontWeight",
"category": "Text",
"description": "'Normal', 'Bold' (glyphs with more weight) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "data-tchmi-placeholder",
"propertyName": "Placeholder",
"propertySetterName": "setPlaceholder",
"propertyGetterName": "getPlaceholder",
"displayName": "Placeholder",
"visible": true,
"themeable": "Standard",
"displayPriority": 50,
"type": "tchmi:general#/definitions/String",
"category": "Text",
"description": "A placeholder text to display if the input control is empty.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-auto-focus-out",
"propertyName": "AutoFocusOut",
"propertySetterName": "setAutoFocusOut",
"propertyGetterName": "getAutoFocusOut",
"displayName": "Auto Focus Out",
"visible": true,
"themeable": "Advanced",
"displayPriority": 20,
"type": "tchmi:general#/definitions/Boolean",
"category": "Common",
"description": "Whether the control should automatically lose focus when the user confirms or cancels his interaction via enter or escape.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": true,
"defaultValueInternal": false
},
{
"name": "data-tchmi-auto-select-text",
"propertyName": "AutoSelectText",
"propertySetterName": "setAutoSelectText",
"propertyGetterName": "getAutoSelectText",
"displayName": "Auto Select Text",
"visible": true,
"themeable": "Advanced",
"displayPriority": 30,
"type": "tchmi:general#/definitions/Boolean",
"category": "Common",
"description": "Whether a focusIn selects the whole text or not.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-custom-validity",
"propertyName": "CustomValidity",
"propertySetterName": "setCustomValidity",
"propertyGetterName": "getCustomValidity",
"displayName": "Custom Validity",
"visible": true,
"themeable": "Advanced",
"displayPriority": 51,
"type": "tchmi:general#/definitions/String",
"category": "Common",
"description": "Set this to a non-empty string to mark the control as containing an invalid value with the given string as an error message.\nSet to null or an empty string to mark the control as containing a valid value.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-is-read-only",
"propertyName": "IsReadOnly",
"propertySetterName": "setIsReadOnly",
"propertyGetterName": "getIsReadOnly",
"displayName": "Is Read Only",
"visible": true,
"themeable": "Standard",
"displayPriority": 52,
"type": "tchmi:general#/definitions/Boolean",
"category": "Common",
"description": "Controls whose primary purpose is data input can be set to read-only to only display data without allowing modification.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-max-text-length",
"propertyName": "MaxTextLength",
"propertySetterName": "setMaxTextLength",
"propertyGetterName": "getMaxTextLength",
"displayName": "Max Text Length",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:general#/definitions/UINT32",
"category": "Common",
"description": "Specifies the maximum number of characters that can be entered in the textbox.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-reset-to-last-valid-value",
"propertyName": "ResetToLastValidValue",
"propertySetterName": "setResetToLastValidValue",
"propertyGetterName": "getResetToLastValidValue",
"displayName": "Reset to Last Valid Value",
"visible": true,
"themeable": "Advanced",
"displayPriority": 45,
"type": "tchmi:general#/definitions/Boolean",
"category": "Common",
"description": "Whether the displayed text is reset to the last valid value on focus out.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": true,
"defaultValueInternal": false
},
{
"name": "data-tchmi-input-processing-point",
"propertyName": "InputProcessingPoint",
"propertySetterName": "setInputProcessingPoint",
"propertyGetterName": "getInputProcessingPoint",
"displayName": "Input Processing Point",
"visible": true,
"themeable": "Advanced",
"displayPriority": 50,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.InputProcessingPoint",
"category": "Common",
"description": "When to process the input made by the user. Either while the input is still happening (i.e. on every keystroke) or after the interaction has finished (i.e. the control loses focus).",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Change"
}
],
"attributeCategories": [
{
"name": "Text",
"displayPriority": 500,
"defaultCollapsed": true,
"description": "Attributes defining the text of the control."
}
],
"functions": [],
"events": [
{
"name": ".onFocusIn",
"displayName": ".onFocusIn",
"visible": true,
"displayPriority": 7,
"category": "Operator",
"description": "The focusin event is fired when an element is about to receive focus.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/DOMFocusEvent",
"description": "The FocusEvent object of the underlying focusin dom event."
}
]
},
{
"name": ".onFocusOut",
"displayName": ".onFocusOut",
"visible": true,
"displayPriority": 7,
"category": "Operator",
"description": "The focusout event is fired when an element is about to lose focus.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/DOMEvent",
"description": "The Event object of the underlying focusout dom event."
}
]
},
{
"name": ".onTextChanged",
"displayName": ".onTextChanged",
"visible": true,
"displayPriority": 10,
"category": "Control",
"description": "The textchanged event is fired when the text was changed. This event could be fired multiples times while a user interaction.",
"heritable": true,
"arguments": [
{
"type": "tchmi:general#/definitions/String",
"description": "The new text of the input control."
}
]
},
{
"name": ".onUserInteractionFinished",
"displayName": ".onUserInteractionFinished",
"visible": true,
"displayPriority": 5,
"category": "Operator",
"description": "The userinteractionfinished event is fired after leaving the textbox.",
"heritable": true,
"arguments": []
},
{
"name": ".onUserInteractionCanceled",
"displayName": ".onUserInteractionCanceled",
"visible": true,
"displayPriority": 7,
"category": "Operator",
"description": "The userinteractioncanceled event is fired when the user presses the escape key, causing the text to reset to its previous value.",
"heritable": true,
"arguments": []
}
],
"dataTypes": [
{
"schema": "Schema/Types.Schema.json"
}
],
"languages": {
"en": "Lang/Language.en.json",
"de": "Lang/Language.de.json"
}
}