Introduction
HMI screens let people see and control machines easily. Good design helps users work safely and quickly.
Screen {
Title: string
Controls: [
{Type: string, Label: string, Action: string, Position: {x: int, y: int}},
...
]
Colors: {Background: string, Text: string, Alarm: string}
Navigation: [
{From: string, To: string, Trigger: string},
...
]
}Screen {
Title: "Main Menu"
Controls: [
{Type: "Button", Label: "Start", Action: "StartMachine", Position: {x: 10, y: 20}},
{Type: "Indicator", Label: "Status", Action: "ShowStatus", Position: {x: 50, y: 20}}
]
Colors: {Background: "Blue", Text: "White", Alarm: "Red"}
Navigation: [
{From: "Main Menu", To: "Settings", Trigger: "SettingsButton"}
]
}Screen {
Title: "Alarm Screen"
Controls: [
{Type: "Text", Label: "Alarm Message", Action: "ShowAlarm", Position: {x: 5, y: 5}}
]
Colors: {Background: "Black", Text: "Red", Alarm: "Bright Red"}
Navigation: []
}Screen {
Title: "Pump Control"
Controls: [
{Type: "Button", Label: "Pump On", Action: "TurnPumpOn", Position: {x: 10, y: 10}},
{Type: "Button", Label: "Pump Off", Action: "TurnPumpOff", Position: {x: 10, y: 40}},
{Type: "Indicator", Label: "Pump Status", Action: "ShowPumpStatus", Position: {x: 50, y: 25}}
]
Colors: {Background: "Gray", Text: "Black", Alarm: "Red"}
Navigation: [
{From: "Pump Control", To: "Main Menu", Trigger: "BackButton"}
]
}Pass the test and this pattern moves unknown