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,528 @@
{
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
"apiVersion": 1,
"name": "TcHmiTrendSparkline",
"namespace": "TcHmi.Controls.Beckhoff",
"displayName": "Trend Sparkline",
"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 multipurpose trend Sparkline.",
"defaultDesignerEvent": "",
"properties": {
"containerControl": false,
"geometry": {
"width": 300,
"height": 100
}
},
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
}
],
"template": "Template.html",
"dependencyFiles": [
{
"name": "Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "../dist/TcHmiTrendSparkline/TcHmiTrendSparkline.esm.js",
"type": "EsModule",
"description": "Contains all the main logic as ES module."
}
],
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Defaults.theme",
"type": "ThemedValues",
"description": ""
},
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
},
"Base-Dark": {
"resources": [
{
"name": "Themes/Base-Dark/Defaults.theme",
"type": "ThemedValues",
"description": ""
},
{
"name": "Themes/Base-Dark/Style.css",
"type": "Stylesheet",
"description": ""
}
]
}
},
"attributes": [
{
"name": "data-tchmi-historized-symbols",
"propertyName": "HistorizedSymbols",
"propertySetterName": "setHistorizedSymbols",
"propertyGetterName": "getHistorizedSymbols",
"displayName": "Historized Symbols",
"visible": true,
"themeable": "Standard",
"displayPriority": 50,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.HistorizedSymbolList",
"category": "Common",
"description": "Defines a list of historized symbols.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-server-domain",
"propertyName": "ServerDomain",
"propertySetterName": "setServerDomain",
"propertyGetterName": "getServerDomain",
"displayName": "Server Domain",
"visible": true,
"displayPriority": 100,
"type": "tchmi:general#/definitions/String",
"category": "Common",
"themeable": "Advanced",
"description": "The domain of the historize extension in the server. Defaults to 'TcHmiSqliteHistorize'",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "TcHmiSqliteHistorize"
},
{
"name": "data-tchmi-interval",
"propertyName": "Interval",
"propertySetterName": "setInterval",
"propertyGetterName": "getInterval",
"displayName": "Interval",
"visible": true,
"displayPriority": 100,
"type": "tchmi:general#/definitions/Number",
"category": "Common",
"description": "Defines the interval at which the data is updated.",
"themeable": "Standard",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 1000
},
{
"name": "data-tchmi-start",
"propertyName": "Start",
"propertySetterName": "setStart",
"propertyGetterName": "getStart",
"displayName": "Start",
"visible": true,
"displayPriority": 10,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ChartStart",
"category": "Common",
"themeable": "Standard",
"description": "The start of the sparkline (time in UTC!, timespan or keyword 'First').",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "First",
"defaultValueInternal": null
},
{
"name": "data-tchmi-end",
"propertyName": "End",
"propertySetterName": "setEnd",
"propertyGetterName": "getEnd",
"displayName": "End",
"visible": true,
"displayPriority": 10,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ChartEnd",
"category": "Common",
"themeable": "Standard",
"description": "The end of the sparkline (time in UTC!, timespan or keyword 'Latest').",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "Latest",
"defaultValueInternal": null
},
{
"name": "data-tchmi-show-label",
"propertyName": "ShowLabel",
"propertySetterName": "setShowLabel",
"propertyGetterName": "getShowLabel",
"displayName": "Show Label",
"visible": true,
"displayPriority": 10,
"type": "tchmi:general#/definitions/Boolean",
"category": "Label",
"description": "Defines whether the label of each the chart is displayed or not.",
"themeable": "Standard",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-label-color",
"propertyName": "LabelColor",
"propertySetterName": "setLabelColor",
"propertyGetterName": "getLabelColor",
"displayName": "Label Color",
"visible": true,
"displayPriority": 60,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"themeable": "Standard",
"description": "Defines the color of the label.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-label-position",
"propertyName": "LabelPosition",
"propertySetterName": "setLabelPosition",
"propertyGetterName": "getLabelPosition",
"displayName": "Label Position",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.LabelPosition",
"category": "Label",
"description": "Defines where the label is displayed.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Left"
},
{
"name": "data-tchmi-label-font-family",
"propertyName": "LabelFontFamily",
"propertySetterName": "setLabelFontFamily",
"propertyGetterName": "getLabelFontFamily",
"displayName": "Label Font Family",
"visible": true,
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontFamily",
"category": "Label",
"themeable": "Standard",
"description": "Defines the font family of the label. 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-label-font-size",
"propertyName": "LabelFontSize",
"propertySetterName": "setLabelFontSize",
"propertyGetterName": "getLabelFontSize",
"displayName": "Label Font Size",
"visible": true,
"displayPriority": 60,
"themeable": "Standard",
"type": "tchmi:framework#/definitions/MeasurementValue",
"category": "Label",
"description": "Defines the label font size.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 12
},
{
"name": "data-tchmi-label-font-size-unit",
"propertyName": "LabelFontSizeUnit",
"propertyGetterName": "getLabelFontSizeUnit",
"refTo": "LabelFontSize",
"displayName": "Label Font Size Unit",
"visible": true,
"displayPriority": 50,
"type": "tchmi:framework#/definitions/PixelUnit",
"category": "Label",
"description": "Is 'px'.",
"readOnly": true,
"bindable": false,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValueInternal": "px"
},
{
"name": "data-tchmi-label-font-weight",
"propertyName": "LabelFontWeight",
"propertySetterName": "setLabelFontWeight",
"propertyGetterName": "getLabelFontWeight",
"displayName": "Label Font Weight",
"visible": true,
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontWeight",
"category": "Label",
"themeable": "Standard",
"description": "Defines the font weight of the label. '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-show-y-axis",
"propertyName": "ShowYAxis",
"propertySetterName": "setShowYAxis",
"propertyGetterName": "getShowYAxis",
"displayName": "Show YAxis",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:general#/definitions/Boolean",
"category": "Y Axis",
"description": "Defines whether the y-axis is displayed or not.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-y-axis-color",
"propertyName": "YAxisColor",
"propertySetterName": "setYAxisColor",
"propertyGetterName": "getYAxisColor",
"displayName": "Y Axis Color",
"visible": true,
"displayPriority": 60,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"themeable": "Standard",
"description": "Defines the color of the y-axis.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-y-axis-position",
"propertyName": "YAxisPosition",
"propertySetterName": "setYAxisPosition",
"propertyGetterName": "getYAxisPosition",
"displayName": "YAxis Position",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.AxisPosition",
"category": "Y Axis",
"description": "Defines where the y-axis is displayed.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Right"
},
{
"name": "data-tchmi-y-axis-decimal-places",
"propertyName": "YAxisDecimalPlaces",
"propertySetterName": "setYAxisDecimalPlaces",
"propertyGetterName": "getYAxisDecimalPlaces",
"displayName": "Y Axis Decimal Places",
"visible": true,
"displayPriority": 60,
"type": "tchmi:general#/definitions/Number",
"category": "Y Axis",
"themeable": "Standard",
"description": "Determines the decimal places of the label on the y-axis.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 0
},
{
"name": "data-tchmi-y-axis-width",
"propertyName": "YAxisWidth",
"propertySetterName": "setYAxisWidth",
"propertyGetterName": "getYAxisWidth",
"displayName": "Y Axis Width",
"visible": true,
"displayPriority": 60,
"type": "tchmi:general#/definitions/Number",
"category": "Y Axis",
"themeable": "Standard",
"description": "Defines the thickness of the Y-axis.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 1
},
{
"name": "data-tchmi-y-label-font-family",
"propertyName": "YLabelFontFamily",
"propertySetterName": "setYLabelFontFamily",
"propertyGetterName": "getYLabelFontFamily",
"displayName": "Y Label Font Family",
"visible": true,
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontFamily",
"category": "Y Axis",
"themeable": "Standard",
"description": "Defines the font family of the Y-axis labels. 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-y-label-font-size",
"propertyName": "YLabelFontSize",
"propertySetterName": "setYLabelFontSize",
"propertyGetterName": "getYLabelFontSize",
"displayName": "Y Label Font Size",
"visible": true,
"displayPriority": 60,
"themeable": "Standard",
"type": "tchmi:framework#/definitions/MeasurementValue",
"category": "Y Axis",
"description": "Defines the Y-axis label font size.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 12
},
{
"name": "data-tchmi-y-label-font-size-unit",
"propertyName": "YLabelFontSizeUnit",
"propertyGetterName": "getYLabelFontSizeUnit",
"refTo": "YLabelFontSize",
"displayName": "Y Label Font Size Unit",
"visible": true,
"displayPriority": 50,
"type": "tchmi:framework#/definitions/PixelUnit",
"category": "Y Axis",
"description": "Is 'px'.",
"readOnly": true,
"bindable": false,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValueInternal": "px"
},
{
"name": "data-tchmi-y-label-font-weight",
"propertyName": "YLabelFontWeight",
"propertySetterName": "setYLabelFontWeight",
"propertyGetterName": "getYLabelFontWeight",
"displayName": "Y Label Font Weight",
"visible": true,
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontWeight",
"category": "Y Axis",
"themeable": "Standard",
"description": "Defines the font weight of the X-axis label. 'Normal', 'Bold' (glyphs with more weight) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
}
],
"attributeCategories": [
{
"name": "Label",
"displayPriority": 510,
"description": "Attributes defining the label of the chart"
},
{
"name": "Y Axis",
"displayPriority": 520,
"description": "Attributes defining the Y-Axis of the chart"
}
],
"themedResources": [
{
"name": "DefaultGraphColor",
"displayName": "Default Graph Color",
"description": "Color of a line",
"type": "tchmi:framework#/definitions/SolidColor"
},
{
"name": "DefaultYAxisColor",
"displayName": "Default Y Axis Color",
"description": "Color of a y-axis line",
"type": "tchmi:framework#/definitions/SolidColor"
},
{
"name": "ReferenceLineColor",
"displayName": "Reference Line Color",
"description": "Color of a reference line",
"type": "tchmi:framework#/definitions/SolidColor"
},
{
"name": "LabelColor",
"displayName": "Label Color",
"description": "Color of the label",
"type": "tchmi:framework#/definitions/SolidColor"
}
],
"functions": [],
"events": [],
"dataTypes": [
{
"schema": "Schema/Types.Schema.json"
},
{
"schema": "../Schema/Types.Schema.json"
}
],
"languages": {
"en": "Lang/Language.en.json",
"de": "Lang/Language.de.json"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

View File

@@ -0,0 +1,7 @@
{
"$schema": "../../../TwinCAT-HMI-Common/JsonSchemas/Language.Schema.json",
"locale": "de",
"localizedText": {
"Engineering_Text": "Daten werden erst zur Laufzeit angezeigt."
}
}

View File

@@ -0,0 +1,7 @@
{
"$schema": "../../../TwinCAT-HMI-Common/JsonSchemas/Language.Schema.json",
"locale": "en",
"localizedText": {
"Engineering_Text": "Data are only displayed at runtime."
}
}

View File

@@ -0,0 +1,208 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline": {
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
"frameworkControlType": "TcHmiTrendSparkline",
"frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
},
"TcHmiTrendSparkline": {
"$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline"
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.HistorizedSymbolList": {
"title": "HistorizedSymbolList",
"type": "array",
"items": {
"type": "object",
"title": "Historized symbol description",
"description": "Defines a historized symbol.",
"propertiesMeta": [
{
"name": "symbol",
"displayName": "Symbol",
"category": "General",
"displayPriority": 10,
"description": "Name of the historized Symbol",
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "displayName",
"displayName": "Display Name",
"category": "General",
"displayPriority": 10,
"description": "Display name of the historized Symbol",
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "lineWidth",
"category": "General",
"displayName": "Line Width",
"displayPriority": 10,
"description": "Describes the line thickness of the line.",
"defaultValue": 1,
"defaultValueInternal": null
},
{
"name": "lineColor",
"displayName": "Line Color",
"category": "Colors",
"displayPriority": 10,
"description": "Color for this line",
"defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendSparkline::DefaultGraphColor%/tr%",
"defaultValueInternal": null
},
{
"name": "referenceLines",
"displayName": "Reference Lines",
"category": "General",
"displayPriority": 10,
"description": "Reference lines",
"defaultValue": null,
"defaultValueInternal": null
}
],
"properties": {
"symbol": {
"type": "string",
"frameworkMetaType": "historizedSymbol"
},
"displayName": {
"type": "string"
},
"lineWidth": {
"type": "number"
},
"lineColor": {
"$ref": "tchmi:framework#/definitions/SolidColor"
},
"referenceLines": {
"$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ReferenceLineDefinitionList"
}
},
"additionalProperties": false,
"required": ["symbol"]
}
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ChartStart": {
"anyOf": [
{
"title": "Time",
"$ref": "tchmi:general#/definitions/DateTime"
},
{
"title": "Timespan",
"$ref": "tchmi:general#/definitions/TimeSpan"
},
{
"title": "KeyWords",
"type": "string",
"enum": ["First"]
}
],
"default": "First"
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ChartEnd": {
"anyOf": [
{
"title": "Time",
"$ref": "tchmi:general#/definitions/DateTime"
},
{
"title": "Timespan",
"$ref": "tchmi:general#/definitions/TimeSpan"
},
{
"title": "KeyWords",
"type": "string",
"enum": ["Latest"]
}
],
"default": "Latest"
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ReferenceLineDefinition": {
"title": "ReferenceLineDefinition",
"type": "object",
"engineeringColumns": ["value"],
"propertiesMeta": [
{
"name": "show",
"category": "General",
"displayName": "Show",
"displayPriority": 10,
"description": "Describes whether the reference line is displayed.",
"defaultValue": null,
"defaultValueInternal": true
},
{
"name": "value",
"category": "General",
"displayName": "Value",
"displayPriority": 10,
"description": "Describes the value of the reference line.",
"defaultValue": 0,
"defaultValueInternal": 0
},
{
"name": "color",
"category": "Colors",
"displayName": "Color",
"displayPriority": 10,
"description": "Describes the color of the reference line.",
"defaultValue": "%tr%Control::TcHmi.Controls.Beckhoff.TcHmiTrendSparkline::ReferenceLineColor%/tr%",
"defaultValueInternal": {
"color": "#4794da"
}
},
{
"name": "lineWidth",
"category": "General",
"displayName": "Line Width",
"displayPriority": 10,
"description": "Describes the line thickness of the reference line.",
"defaultValue": 1,
"defaultValueInternal": null
}
],
"properties": {
"show": {
"type": "boolean"
},
"value": {
"type": "number"
},
"color": {
"$ref": "tchmi:framework#/definitions/SolidColor"
},
"lineWidth": {
"type": "number"
}
},
"additionalProperties": false,
"required": ["value"]
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ReferenceLineDefinitionList": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "ReferenceLineDefinitionList",
"type": "array",
"items": {
"$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.ReferenceLineDefinition"
}
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.AxisPosition": {
"title": "AxisPosition",
"type": "string",
"enum": ["Right", "Left"],
"default": "Right"
},
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline.LabelPosition": {
"title": "LabelPosition",
"type": "string",
"enum": ["Right", "Center", "Left"],
"default": "Right"
}
}
}

View File

@@ -0,0 +1,32 @@
/** Styles for all themes */
/* Style for the main element */
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline {
/* Prevent overflow if the border radius is huge */
overflow: hidden;
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template {
position: absolute;
width: 100%;
height: 100%;
padding: 5px;
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template-chart {
box-sizing: border-box;
position: relative;
top: 0px;
width: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-chart {
position: relative;
width: 100%;
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-chart-label {
position: relative;
width: 100%;
top: 0px;
}

View File

@@ -0,0 +1,343 @@
// Compatibility file for non-module typescript compiles without adjustments.
// Use the following line for modern code (needs adjustments to tsconfig.json#configOptions/paths)
// import { TcHmiControl } from "Beckhoff.TwinCAT.HMI.Framework/index.esm.js";
// ***************************************************************************
export declare enum Datatype {
Datetime = 0,
Timespan = 1,
Keyword = 2
}
export declare enum Position {
Left = 0,
Right = 1
}
export declare enum LabelPosition {
Left = 0,
Right = 1,
Center = 2
}
declare class TcHmiTrendSparkline extends TcHmi.Controls.System.TcHmiControl {
#private;
constructor(element: JQuery, pcElement: JQuery, attrs: TcHmi.Controls.ControlAttributeList);
/** member variables */
/** Reference to the root dom element of the current control template as jquery object. */
protected __elementTemplateRoot: JQuery;
/** Internal reference to the attribute 'data-tchmi-historized-symbols' */
protected __historizedSymbols: HistorizedSymbols[] | null | undefined;
/** Internal reference to the attribute 'data-tchmi-start' */
__start: string | null | undefined;
/** Saved the internal start value from extension as utc datetime */
protected __internalStart: string | null;
/** Internal reference to the attribute 'data-tchmi-end' */
__end: string | null | undefined;
/** Saved the internal end value from extension as utc datetime */
protected __internalEnd: string | null;
/** Internal reference to the attribute 'data-tchmi-server-doamin' */
protected __serverDomain: string | undefined;
/** Internal reference to the attribute 'data-tchmi-interval */
protected __interval: number | undefined;
/** Internal reference to the attribute 'data-tchmi-show-label' */
protected __showLabel: boolean | undefined;
/** Internal reference to the attribute 'data-tchmi-label-color' */
protected __labelColor: TcHmi.SolidColor | null | undefined;
/** Internal reference to the attribute 'data-tchmi-label-position' */
protected __labelPosition: keyof typeof LabelPosition | undefined;
/** Internal reference to the attribute 'data-tchmi-label-font-family' */
protected __labelFontFamily: TcHmi.FontFamily | undefined;
/** Internal reference to the attribute 'data-tchmi-label-font-size' */
protected __labelFontSize: number | undefined;
/** Internal reference to the attribute 'data-tchmi-label-font-weight' */
protected __labelFontWeight: TcHmi.FontWeight | undefined;
/** Internal reference to the attribute 'data-tchmi-show-y-axis' */
protected __showYAxis: boolean | undefined;
/** Internal reference to the attribute 'data-tchmi-y-axis-color' */
protected __yAxisColor: TcHmi.SolidColor | null | undefined;
/** Internal reference to the attribute 'data-tchmi-y-axis-position' */
protected __yAxisPosition: keyof typeof Position | undefined;
/** Internal reference to the attribute 'data-tchmi-y-axis-width' */
protected __yAxisWidth: number | undefined;
/** Internal reference to the attribute 'data-tchmi-y-label-font-family' */
protected __yLabelFontFamily: TcHmi.FontFamily | undefined;
/** Internal reference to the attribute 'data-tchmi-y-label-font-size' */
protected __yLabelFontSize: number | undefined;
/** Internal reference to the attribute 'data-tchmi-y-label-font-weight' */
protected __yLabelFontWeight: TcHmi.FontWeight | undefined;
/** Internal reference to the attribute 'data-tchmi-y-axis-decimal-places' */
protected __yAxisDecimalPlaces: number | undefined;
/** Internal line graph data from historize-extension (fill in getDataCallback) */
protected __lineGraphDataFromServer: ServerPoint[][] | null;
/** Updated line graph data from historize-extension (fill in getDataCallback) */
protected __lineGraphData: TcHmiCharting.LineAreaGraph.Point[][] | null;
/** Subscription ID for GetTrendLineData and GetTrendLineWindow as number (null if no subscription is created) */
protected __subscriptionId: number | null;
/** Linechart elements' */
protected __lineCharts: TcHmiCharting.LineAreaChart[];
/** Reconnect timer */
protected __reconnectTimer: number;
protected __reconnectTime: number;
/** Localization */
protected __localizedEngineeringElements: Map<string, Element>;
__localizationReader: TcHmi.Locale.LocalizationReader | undefined;
/**
* If raised, the control object exists in control cache and constructor of each inheritation level was called.
* This function is only to be used by the System. Other function calls are not intended.
*/
__previnit(): void;
/**
* If raised, all attributes have been set to it's default or dom values.
* This function is only to be used by the System. Other function calls are not intended.
*/
__init(): void;
/**
* Is called by the system after the control instance gets part of the current DOM.
* This function is only to be used by the System. Other function calls are not intended.
*/
__attach(): void;
/**
* Is called by the system after the control instance is no longer part of the current DOM.
* This function is only to be used by the System. Other function calls are not intended.
*/
__detach(): void;
/**
* Destroy the current control instance.
* Will be called automatically if system destroys control!
*/
destroy(): void;
/** Is raised if the control should be redrawn. */
protected __rebuild(_event: TcHmi.EventProvider.Event, _ctrl?: TcHmi.Controls.System.TcHmiControl): void;
/** Create the GetData and GetWindow subscription. */
protected __openWebsocket(): void;
/** Is raised if the openConnection callback is raised. */
protected __openConnectionCallback(result: TcHmi.Server.IResultObject): void;
/** Is called initial and and if size changed. */
protected __drawLineChart(): void;
/** Reset the linechart */
protected __reset(): void;
/**
* Sets the value of the member variable 'historizedSymbols' if the new value is not equal to the current value
* and calls the associated process function (processHistorizedSymbols) after that.
* @param valueNew The new value for historizedSymbols.
*/
setHistorizedSymbols(valueNew: string[] | null): void;
/** The watch callback for the historizedSymbols object resolver. */
protected __onResolverForHistorizedSymbolsWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<HistorizedSymbols[]>): void;
/** Returns the current value of the member variable historizedSymbols. */
getHistorizedSymbols(): HistorizedSymbols[] | null | undefined;
/** Processes the current value of historizedSymbols. */
__processHistorizedSymbols(): void;
/**
* Sets the mouseMode to zooming or panning
* @param valueNew The new value for mouseMode
*/
setServerDomain(valueNew: string | null): void;
/** Gets the value of mouseMode */
getServerDomain(): string | undefined;
/** Processes the current value of attribute symbolList. */
protected __processServerDomain(): void;
/**
* Sets the interval and calls the associated process function (processInterval).
* @param valueNew The new value for interval.
*/
setInterval(valueNew: number | null): void;
/** Returns the current value of interval. */
getInterval(): number | undefined;
/** Processes the current interval attribute value. */
protected __processInterval(): void;
/**
* Sets the value of start
* @param valueNew The new value for start
*/
setStart(valueNew: string | null | undefined): void;
/** Gets the value of start */
getStart(): string | null | undefined;
/** Processes start */
protected __processStart(): void;
/**
* Sets the value of end
* @param valueNew The new value for end
*/
setEnd(valueNew: string | null | undefined): void;
/** Gets the value of end */
getEnd(): string | null | undefined;
/** Processes end */
protected __processEnd(): void;
/**
* Sets the value of showLabel
* @param valueNew The new value for showLabel
*/
setShowLabel(valueNew: boolean | null): void;
/** Gets the value of showLabel */
getShowLabel(): boolean | undefined;
/** Processes showLabel */
protected __processShowLabel(): void;
/**
* Sets the labelColor value and calls the associated process function (processLabelColor).
* @param valueNew The new value for the LabelColor attribute as object.
*/
setLabelColor(valueNew: TcHmi.SolidColor | null): void;
/** The watch callback for the labelColor object resolver. */
protected __onResolverForLabelColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
/** Returns the current labelColor value. */
getLabelColor(): TcHmi.SolidColor | null | undefined;
/** Processes the current labelColor attribute. */
protected __processLabelColor(): void;
/**
* Sets the value of labelPosition
* @param valueNew The new value for labelPosition
*/
setLabelPosition(valueNew: keyof typeof Position | null): void;
/** Gets the value of labelPosition */
getLabelPosition(): "Left" | "Right" | "Center" | undefined;
/** Processes labelPosition. */
protected __processLabelPosition(): void;
/**
* Sets the value of labelFontFamily
* @param valueNew The new value for labelFontFamily
*/
setLabelFontFamily(valueNew: TcHmi.FontFamily | null): void;
/** Gets the value of labelFontFamily */
getLabelFontFamily(): string | undefined;
/** Processes labelFontFamily */
protected __processLabelFontFamily(): void;
/**
* Sets the value of labelFontSize
* @param valueNew The new value for labelFontSize
*/
setLabelFontSize(valueNew: number | null): void;
/** Gets the value of labelFontSize */
getLabelFontSize(): number | undefined;
/** Processes labelFontSize */
protected __processLabelFontSize(): void;
/** Gets the value of labelFontSizeUnit */
getLabelFontSizeUnit(): string;
/**
* Sets the value of labelFontWeight
* @param valueNew The new value for labelFontWeight
*/
setLabelFontWeight(valueNew: TcHmi.FontWeight | null): void;
/** Gets the value of labelFontWeight */
getLabelFontWeight(): TcHmi.FontWeight | undefined;
/** Processes labelFontWeight */
protected __processLabelFontWeight(): void;
/**
* Sets the value of showYAxis
* @param valueNew The new value for showYAxis
*/
setShowYAxis(valueNew: boolean | null): void;
/** Gets the value of showYAxis */
getShowYAxis(): boolean | undefined;
/** Processes showYAxis */
protected __processShowYAxis(): void;
/**
* Sets the yAxisColor value and calls the associated process function (processYAxisColor).
* @param valueNew The new value for the yAxisColor attribute as object.
*/
setYAxisColor(valueNew: TcHmi.SolidColor | null): void;
/** The watch callback for the yAxisColor object resolver. */
protected __onResolverForYAxisColorWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject<TcHmi.SolidColor>): void;
/** Returns the current yAxisColor value. */
getYAxisColor(): TcHmi.SolidColor | null | undefined;
/** Processes the current yAxisColor attribute. */
protected __processYAxisColor(): void;
/**
* Sets the value of yAxisPosition
* @param valueNew The new value for yAxisPosition
*/
setYAxisPosition(valueNew: keyof typeof Position | null): void;
/** Gets the value of yAxisPosition */
getYAxisPosition(): "Left" | "Right" | undefined;
/** Processes yAxisPosition. */
protected __processYAxisPosition(): void;
/**
* Sets the value of yAxisDecimalPlaces
* @param valueNew The new value for yAxisDecimalPlaces
*/
setYAxisDecimalPlaces(valueNew: number | null): void;
/** Gets the value of yAxisDecimalPlaces */
getYAxisDecimalPlaces(): number | undefined;
/** Processes yAxisDecimalPlaces */
protected __processYAxisDecimalPlaces(): void;
/**
* Sets the value of yAxisWidth
* @param valueNew The new value for yAxisWidth
*/
setYAxisWidth(valueNew: number | null): void;
/** Gets the value of yAxisWidth */
getYAxisWidth(): number | undefined;
/** Processes yAxisWidth */
protected __processYAxisWidth(): void;
/**
* Sets the value of yLabelFontFamily
* @param valueNew The new value for yLabelFontFamily
*/
setYLabelFontFamily(valueNew: TcHmi.FontFamily | null): void;
/** Gets the value of yLabelFontFamily */
getYLabelFontFamily(): string | undefined;
/** Processes yLabelFontFamily */
protected __processYLabelFontFamily(): void;
/**
* Sets the value of yLabelFontSize
* @param valueNew The new value for yLabelFontSize
*/
setYLabelFontSize(valueNew: number | null): void;
/** Gets the value of yLabelFontSize */
getYLabelFontSize(): number | undefined;
/** Processes yLabelFontSize */
protected __processYLabelFontSize(): void;
/** Gets the value of yLabelFontSizeUnit */
getYLabelFontSizeUnit(): string;
/**
* Sets the value of yLabelFontWeight
* @param valueNew The new value for yLabelFontWeight
*/
setYLabelFontWeight(valueNew: TcHmi.FontWeight | null): void;
/** Gets the value of yLabelFontWeight */
getYLabelFontWeight(): TcHmi.FontWeight | undefined;
/** Processes yLabelFontWeight */
protected __processYLabelFontWeight(): void;
static Datatype: typeof Datatype;
static Position: typeof Position;
static LabelPosition: typeof LabelPosition;
}
export interface HistorizedSymbols {
symbol: string;
displayName?: string;
lineWidth: number;
lineColor?: TcHmi.SolidColor;
referenceLines?: ReferenceLine[];
}
export interface ServerPoint {
x: number;
y?: number;
error?: number;
}
export interface ReferenceLine {
show: boolean;
value: number;
color?: TcHmi.SolidColor;
lineWidth: number;
}
export { TcHmiTrendSparkline as Control };
declare const _TcHmiTrendSparkline: typeof TcHmiTrendSparkline;
type tTcHmiTrendSparkline = TcHmiTrendSparkline;
type tDatatype = Datatype;
type tPosition = Position;
type tLabelPosition = LabelPosition;
type tHistorizedSymbols = HistorizedSymbols;
type tServerPoint = ServerPoint;
type tReferenceLine = ReferenceLine;
declare global {
namespace TcHmi.Controls.Beckhoff {
const TcHmiTrendSparkline: typeof _TcHmiTrendSparkline;
type TcHmiTrendSparkline = tTcHmiTrendSparkline;
namespace TcHmiTrendSparkline {
type Datatype = tDatatype;
type Position = tPosition;
type LabelPosition = tLabelPosition;
type HistorizedSymbols = tHistorizedSymbols;
type ServerPoint = tServerPoint;
type ReferenceLine = tReferenceLine;
}
}
}

View File

@@ -0,0 +1 @@
<div class="TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template tchmi-trend-sparkline-template tchmi-box"></div>

View File

@@ -0,0 +1,22 @@
{
"$schema": "../../../../TcHmiFramework/Schema/ThemeDescription.Schema.json",
"controlTypeValues": {
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline": {
"attributes": {},
"themedResources": {
"DefaultGraphColor": {
"color": "#2775be"
},
"DefaultYAxisColor": {
"color": "#ffffff"
},
"ReferenceLineColor": {
"color": "#ffffff"
},
"LabelColor": {
"color": "#ffffff"
}
}
}
}
}

View File

@@ -0,0 +1,21 @@
/** Styles for the theme: Base-Dark */
/* Style for the main element */
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline {
--tchmi-background: var(--tchmi-background-color-1);
--tchmi-background-part: var(--tchmi-background-color-3);
--tchmi-checkbox-background: var(--tchmi-background-color-4);
--tchmi-checkbox-background-checked: var(--tchmi-highlight-color-1);
--tchmi-color: var(--tchmi-foreground-color-1);
--tchmi-border-color: var(--tchmi-background-color-2);
background: var(--tchmi-background);
box-shadow: var(--tchmi-card-shadow);
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template-chart {
border-bottom: 1px solid #c0c0c5;
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template-chart:last-child {
border-bottom: none;
}

View File

@@ -0,0 +1,22 @@
{
"$schema": "../../../../TcHmiFramework/Schema/ThemeDescription.Schema.json",
"controlTypeValues": {
"TcHmi.Controls.Beckhoff.TcHmiTrendSparkline": {
"attributes": {},
"themedResources": {
"DefaultGraphColor": {
"color": "#4794da"
},
"DefaultYAxisColor": {
"color": "#4794da"
},
"ReferenceLineColor": {
"color": "#4794da"
},
"LabelColor": {
"color": "#4794da"
}
}
}
}
}

View File

@@ -0,0 +1,21 @@
/** Styles for the theme: Base */
/* Style for the main element */
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline {
--tchmi-background: var(--tchmi-background-color-1);
--tchmi-background-part: var(--tchmi-background-color-1);
--tchmi-checkbox-background: var(--tchmi-background-color-4);
--tchmi-checkbox-background-checked: var(--tchmi-highlight-color-1);
--tchmi-color: var(--tchmi-highlight-color-1);
--tchmi-border-color: var(--tchmi-background-color-2);
background: var(--tchmi-background);
box-shadow: var(--tchmi-card-shadow);
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template-chart {
border-bottom: 1px solid #c0c0c5;
}
.TcHmi_Controls_Beckhoff_TcHmiTrendSparkline-template-chart:last-child {
border-bottom: none;
}