feat: Update UI schema help texts to descriptions for consistency; add new application event logs and update system state configuration
This commit is contained in:
parent
29b6e92284
commit
cda40ce0ab
|
@ -1902,8 +1902,22 @@
|
|||
"read_time": 0.02987360954284668,
|
||||
"variables_count": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"timestamp": "2025-08-27T11:20:48.361932",
|
||||
"level": "info",
|
||||
"event_type": "application_started",
|
||||
"message": "Application initialization completed successfully",
|
||||
"details": {}
|
||||
},
|
||||
{
|
||||
"timestamp": "2025-08-27T11:20:49.372928",
|
||||
"level": "info",
|
||||
"event_type": "application_started",
|
||||
"message": "Application initialization completed successfully",
|
||||
"details": {}
|
||||
}
|
||||
],
|
||||
"last_updated": "2025-08-27T09:27:47.716461",
|
||||
"total_entries": 93
|
||||
"last_updated": "2025-08-27T11:20:49.372928",
|
||||
"total_entries": 95
|
||||
}
|
|
@ -19,33 +19,33 @@
|
|||
]
|
||||
],
|
||||
"id": {
|
||||
"ui:help": "Unique ID for this dataset (alphanumeric, underscore, dash)",
|
||||
"ui:description": "Unique ID for this dataset (alphanumeric, underscore, dash)",
|
||||
"ui:placeholder": "e.g., DAR, Fast"
|
||||
},
|
||||
"name": {
|
||||
"ui:help": "Human-readable name for this dataset",
|
||||
"ui:description": "Human-readable name for this dataset",
|
||||
"ui:placeholder": "e.g., Temperature Sensors, Production Line A"
|
||||
},
|
||||
"prefix": {
|
||||
"ui:help": "Short prefix for CSV filenames (alphanumeric, underscore, dash only)",
|
||||
"ui:description": "Short prefix for CSV filenames (alphanumeric, underscore, dash only)",
|
||||
"ui:placeholder": "e.g., temp, line_a, sensors"
|
||||
},
|
||||
"enabled": {
|
||||
"ui:help": "When enabled, this dataset will be actively sampled and recorded",
|
||||
"ui:description": "When enabled, this dataset will be actively sampled and recorded",
|
||||
"ui:widget": "switch"
|
||||
},
|
||||
"sampling_interval": {
|
||||
"ui:help": "Custom sampling interval in seconds (0.01–10). Leave empty to use the global PLC sampling interval.",
|
||||
"ui:description": "Custom sampling interval in seconds (0.01–10). Leave empty to use the global PLC sampling interval.",
|
||||
"ui:placeholder": "Leave empty to use global interval",
|
||||
"ui:widget": "updown",
|
||||
"ui:options": { "step": 0.01, "min": 0.01, "max": 10 }
|
||||
"ui:widget": "updown",
|
||||
"ui:options": { "step": 0.01, "min": 0.01, "max": 10 }
|
||||
},
|
||||
"use_optimized_reading": {
|
||||
"ui:help": "📊 Enable optimized batch reading for better performance. Disable if experiencing compatibility issues with older PLC firmware.",
|
||||
"ui:description": "📊 Enable optimized batch reading for better performance. Disable if experiencing compatibility issues with older PLC firmware.",
|
||||
"ui:widget": "switch"
|
||||
},
|
||||
"created": {
|
||||
"ui:help": "Timestamp when this dataset was created",
|
||||
"ui:description": "Timestamp when this dataset was created",
|
||||
"ui:readonly": true,
|
||||
"ui:widget": "text"
|
||||
}
|
||||
|
|
|
@ -14,11 +14,10 @@
|
|||
"dataset_id": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "Enter unique dataset identifier",
|
||||
"ui:help": "🆔 Unique identifier for this dataset (must match existing dataset)"
|
||||
"ui:description": "🆔 Unique identifier for this dataset (must match existing dataset)"
|
||||
},
|
||||
"variables": {
|
||||
"ui:description": "🔧 PLC Variable Definitions",
|
||||
"ui:help": "Define PLC memory locations, data types, and properties for each variable",
|
||||
"ui:description": "🔧 Define PLC memory locations, data types, and properties for each variable",
|
||||
"ui:options": {
|
||||
"addable": true,
|
||||
"orderable": true,
|
||||
|
@ -82,7 +81,7 @@
|
|||
],
|
||||
"configType": {
|
||||
"ui:widget": "select",
|
||||
"ui:help": "Choose between manual configuration or symbol-based setup",
|
||||
"ui:description": "Choose between manual configuration or symbol-based setup",
|
||||
"ui:options": {
|
||||
"enumOptions": [
|
||||
{
|
||||
|
@ -99,16 +98,16 @@
|
|||
"name": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "Variable name",
|
||||
"ui:help": "📝 Human-readable name for this variable"
|
||||
"ui:description": "📝 Human-readable name for this variable"
|
||||
},
|
||||
"symbol": {
|
||||
"ui:widget": "dataset-variable-symbol",
|
||||
"ui:placeholder": "Select a PLC symbol...",
|
||||
"ui:help": "🔍 Search and select a symbol from the loaded ASC file"
|
||||
"ui:description": "🔍 Search and select a symbol from the loaded ASC file"
|
||||
},
|
||||
"area": {
|
||||
"ui:widget": "select",
|
||||
"ui:help": "PLC memory area (DB=DataBlock, MW=MemoryWord, etc.)",
|
||||
"ui:description": "PLC memory area (DB=DataBlock, MW=MemoryWord, etc.)",
|
||||
"ui:options": {
|
||||
"enumOptions": [
|
||||
{
|
||||
|
@ -156,22 +155,20 @@
|
|||
},
|
||||
"db": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "⚠️ Data Block number (only required for DB area - will be ignored for other areas like PE, PA, MW, etc.)",
|
||||
"ui:placeholder": "1011",
|
||||
"ui:description": "🗃️ This field is only used when Area = 'DB (Data Block)'"
|
||||
"ui:description": "⚠️ Data Block number (only required for DB area - will be ignored for other areas like PE, PA, MW, etc.)",
|
||||
"ui:placeholder": "1011"
|
||||
},
|
||||
"offset": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "Byte offset within the memory area"
|
||||
"ui:description": "Byte offset within the memory area"
|
||||
},
|
||||
"bit": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "⚠️ Bit position (0-7) - only required for BOOL data type, will be ignored for other types",
|
||||
"ui:description": "✅ This field is only used when Type = 'BOOL (1-bit boolean)'"
|
||||
"ui:description": "⚠️ Bit position (0-7) - only required for BOOL data type, will be ignored for other types"
|
||||
},
|
||||
"type": {
|
||||
"ui:widget": "select",
|
||||
"ui:help": "PLC data type",
|
||||
"ui:description": "PLC data type",
|
||||
"ui:options": {
|
||||
"enumOptions": [
|
||||
{
|
||||
|
@ -223,7 +220,7 @@
|
|||
},
|
||||
"streaming": {
|
||||
"ui:widget": "switch",
|
||||
"ui:help": "📡 Enable real-time streaming to PlotJuggler for visualization"
|
||||
"ui:description": "📡 Enable real-time streaming to PlotJuggler for visualization"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
"mode": "directory",
|
||||
"title": "Select Records Directory"
|
||||
},
|
||||
"ui:help": "💾 Directory for CSV files. Relative paths based on app directory, absolute paths (C:\\folder) used as-is."
|
||||
"ui:description": "💾 Directory for CSV files. Relative paths based on app directory, absolute paths (C:\\folder) used as-is."
|
||||
},
|
||||
"rotation_enabled": {
|
||||
"ui:column": 3,
|
||||
|
@ -82,7 +82,7 @@
|
|||
"title": "Select ASC Symbol File",
|
||||
"filetypes": [["ASC Files", "*.asc"], ["All Files", "*.*"]]
|
||||
},
|
||||
"ui:help": "📁 Select the ASC symbol file from TIA Portal export. Use Load Symbols button to process."
|
||||
"ui:description": "📁 Select the ASC symbol file from TIA Portal export. Use Load Symbols button to process."
|
||||
},
|
||||
"ui:column": 12,
|
||||
"ui:layout": [
|
||||
|
@ -125,7 +125,7 @@
|
|||
},
|
||||
"sampling_interval": {
|
||||
"ui:column": 4,
|
||||
"ui:help": "⏱️ Time interval between UDP data transmissions for real-time streaming",
|
||||
"ui:description": "⏱️ Time interval between UDP data transmissions for real-time streaming",
|
||||
"ui:widget": "updown"
|
||||
},
|
||||
"ui:column": 12,
|
||||
|
|
|
@ -89,61 +89,61 @@
|
|||
"id": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "plot_1",
|
||||
"ui:help": "🆔 Unique identifier for this plot"
|
||||
"ui:description": "🆔 Unique identifier for this plot"
|
||||
},
|
||||
"name": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "My Plot",
|
||||
"ui:help": "📊 Human-readable name for the plot"
|
||||
"ui:description": "📊 Human-readable name for the plot"
|
||||
},
|
||||
"session_id": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "plot_1",
|
||||
"ui:help": "🔗 Session identifier (usually same as ID)"
|
||||
"ui:description": "🔗 Session identifier (usually same as ID)"
|
||||
},
|
||||
"time_window": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "⏱️ Time window in seconds (5-3600)"
|
||||
"ui:description": "⏱️ Time window in seconds (5-3600)"
|
||||
},
|
||||
"y_min": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "📉 Minimum Y axis value (leave empty for auto)"
|
||||
"ui:description": "📉 Minimum Y axis value (leave empty for auto)"
|
||||
},
|
||||
"y_max": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "📈 Maximum Y axis value (leave empty for auto)"
|
||||
"ui:description": "📈 Maximum Y axis value (leave empty for auto)"
|
||||
},
|
||||
"trigger_variable": {
|
||||
"ui:widget": "text",
|
||||
"ui:help": "🎯 Variable name to use as trigger (optional)"
|
||||
"ui:description": "🎯 Variable name to use as trigger (optional)"
|
||||
},
|
||||
"trigger_enabled": {
|
||||
"ui:widget": "switch",
|
||||
"ui:help": "✅ Enable trigger-based recording"
|
||||
"ui:description": "✅ Enable trigger-based recording"
|
||||
},
|
||||
"trigger_on_true": {
|
||||
"ui:widget": "switch",
|
||||
"ui:help": "🔄 Trigger when variable becomes true (vs false)"
|
||||
"ui:description": "🔄 Trigger when variable becomes true (vs false)"
|
||||
},
|
||||
"line_tension": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "📈 Line smoothness: 0=straight lines, 0.4=smooth curves"
|
||||
"ui:description": "📈 Line smoothness: 0=straight lines, 0.4=smooth curves"
|
||||
},
|
||||
"stepped": {
|
||||
"ui:widget": "switch",
|
||||
"ui:help": "📊 Enable stepped line style instead of curves"
|
||||
"ui:description": "📊 Enable stepped line style instead of curves"
|
||||
},
|
||||
"stacked": {
|
||||
"ui:widget": "switch",
|
||||
"ui:help": "📚 Enable stacked Y-axes for multi-axis visualization"
|
||||
"ui:description": "📚 Enable stacked Y-axes for multi-axis visualization"
|
||||
},
|
||||
"point_radius": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "🔴 Size of data points (0-10)"
|
||||
"ui:description": "🔴 Size of data points (0-10)"
|
||||
},
|
||||
"point_hover_radius": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "🎯 Size of points when hovering (0-15)"
|
||||
"ui:description": "🎯 Size of points when hovering (0-15)"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -14,11 +14,10 @@
|
|||
"plot_id": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "Enter unique plot identifier",
|
||||
"ui:help": "🆔 Unique identifier for this plot session (must match existing plot)"
|
||||
"ui:description": "🆔 Unique identifier for this plot session (must match existing plot)"
|
||||
},
|
||||
"variables": {
|
||||
"ui:description": "🎨 Plot Variable Configuration",
|
||||
"ui:help": "Configure colors and display settings for each variable in the plot",
|
||||
"ui:description": "🎨 Configure colors and display settings for each variable in the plot",
|
||||
"ui:options": {
|
||||
"addable": true,
|
||||
"orderable": true,
|
||||
|
@ -64,16 +63,16 @@
|
|||
"variable_name": {
|
||||
"ui:widget": "variableSelector",
|
||||
"ui:placeholder": "Search and select variable from datasets...",
|
||||
"ui:help": "🔍 Search and select a variable from the configured datasets (includes live values and metadata)"
|
||||
"ui:description": "🔍 Search and select a variable from the configured datasets (includes live values and metadata)"
|
||||
},
|
||||
"label": {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "Chart legend label...",
|
||||
"ui:help": "📊 Label shown in the plot legend for this variable"
|
||||
"ui:description": "📊 Label shown in the plot legend for this variable"
|
||||
},
|
||||
"color": {
|
||||
"ui:widget": "color",
|
||||
"ui:help": "🎨 Select the color for this variable in the plot",
|
||||
"ui:description": "🎨 Select the color for this variable in the plot",
|
||||
"ui:placeholder": "#3498db",
|
||||
"ui:options": {
|
||||
"presetColors": [
|
||||
|
@ -94,15 +93,15 @@
|
|||
},
|
||||
"line_width": {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "📏 Width of the line in the plot (1-10 pixels)"
|
||||
"ui:description": "📏 Width of the line in the plot (1-10 pixels)"
|
||||
},
|
||||
"y_axis": {
|
||||
"ui:widget": "select",
|
||||
"ui:help": "📊 Which Y-axis to use for this variable (left or right)"
|
||||
"ui:description": "📊 Which Y-axis to use for this variable (left or right)"
|
||||
},
|
||||
"enabled": {
|
||||
"ui:widget": "switch",
|
||||
"ui:help": "📊 Enable this variable to be displayed in the real-time plot"
|
||||
"ui:description": "📊 Enable this variable to be displayed in the real-time plot"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@chakra-ui/react": "^2.8.2",
|
||||
"@chakra-ui/theme-tools": "^2.2.6",
|
||||
"@emotion/react": "^11.13.0",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
"@rjsf/chakra-ui": "^5.24.12",
|
||||
|
|
|
@ -1140,30 +1140,30 @@ export default function PlotManager() {
|
|||
variable_name: {
|
||||
"ui:widget": "variableSelector",
|
||||
"ui:placeholder": "Search and select variable from datasets...",
|
||||
"ui:help": "🔍 Search and select a variable from the configured datasets (includes live values and metadata)"
|
||||
"ui:description": "🔍 Search and select a variable from the configured datasets (includes live values and metadata)"
|
||||
},
|
||||
label: {
|
||||
"ui:widget": "text",
|
||||
"ui:placeholder": "Chart legend label...",
|
||||
"ui:help": "📊 Label shown in the plot legend for this variable"
|
||||
"ui:description": "📊 Label shown in the plot legend for this variable"
|
||||
},
|
||||
color: {
|
||||
"ui:widget": "color",
|
||||
"ui:help": "🎨 Select the color for this variable in the plot",
|
||||
"ui:description": "🎨 Select the color for this variable in the plot",
|
||||
"ui:placeholder": "#3498db"
|
||||
},
|
||||
line_width: {
|
||||
"ui:widget": "updown",
|
||||
"ui:help": "📏 Thickness of the line in the plot (1-10)",
|
||||
"ui:description": "📏 Thickness of the line in the plot (1-10)",
|
||||
"ui:options": { "step": 1, "min": 1, "max": 10 }
|
||||
},
|
||||
y_axis: {
|
||||
"ui:widget": "select",
|
||||
"ui:help": "📈 Which Y-axis to use for this variable"
|
||||
"ui:description": "📈 Which Y-axis to use for this variable"
|
||||
},
|
||||
enabled: {
|
||||
"ui:widget": "checkbox",
|
||||
"ui:help": "✅ Whether to show this variable in the plot"
|
||||
"ui:description": "✅ Whether to show this variable in the plot"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ const PathBrowserWidget = ({
|
|||
showPathInfo = true
|
||||
} = options
|
||||
|
||||
const helpText = uiSchema['ui:help'] || schema.description
|
||||
const helpText = uiSchema['ui:description'] || schema.description
|
||||
|
||||
const handleBrowse = async () => {
|
||||
try {
|
||||
|
|
|
@ -42,7 +42,7 @@ const PathBrowserWidget = ({
|
|||
showPathInfo = true
|
||||
} = options
|
||||
|
||||
const helpText = uiSchema['ui:help'] || schema.description
|
||||
const helpText = uiSchema['ui:description'] || schema.description
|
||||
|
||||
const handleBrowse = async () => {
|
||||
try {
|
||||
|
|
|
@ -40,7 +40,7 @@ const SimpleFilePathWidget = ({
|
|||
showPathInfo = true
|
||||
} = options
|
||||
|
||||
const helpText = uiSchema['ui:help'] || schema.description
|
||||
const helpText = uiSchema['ui:description'] || schema.description
|
||||
|
||||
const handleBrowseFile = async () => {
|
||||
try {
|
||||
|
|
|
@ -5,5 +5,6 @@
|
|||
"active_datasets": []
|
||||
},
|
||||
"auto_recovery_enabled": true,
|
||||
"last_update": "2025-08-27T09:27:26.829523"
|
||||
"last_update": "2025-08-27T11:21:07.224296",
|
||||
"plotjuggler_path": "C:\\Program Files\\PlotJuggler\\plotjuggler.exe"
|
||||
}
|
Loading…
Reference in New Issue