forked from RnD/machineGroupControl
297 lines
8.7 KiB
JSON
297 lines
8.7 KiB
JSON
{
|
|
"general": {
|
|
"name": {
|
|
"default": "gate group control Machine",
|
|
"rules": {
|
|
"type": "string",
|
|
"description": "A human-readable name or label for this machine configuration."
|
|
}
|
|
},
|
|
"id": {
|
|
"default": null,
|
|
"rules": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "A unique identifier for this configuration. If not provided, defaults to null."
|
|
}
|
|
},
|
|
"unit": {
|
|
"default": "m3/h",
|
|
"rules": {
|
|
"type": "string",
|
|
"description": "The default measurement unit for this configuration (e.g., 'meters', 'seconds', 'unitless')."
|
|
}
|
|
},
|
|
"logging": {
|
|
"logLevel": {
|
|
"default": "info",
|
|
"rules": {
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"value": "debug",
|
|
"description": "Log messages are printed for debugging purposes."
|
|
},
|
|
{
|
|
"value": "info",
|
|
"description": "Informational messages are printed."
|
|
},
|
|
{
|
|
"value": "warn",
|
|
"description": "Warning messages are printed."
|
|
},
|
|
{
|
|
"value": "error",
|
|
"description": "Error messages are printed."
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"enabled": {
|
|
"default": true,
|
|
"rules": {
|
|
"type": "boolean",
|
|
"description": "Indicates whether logging is active. If true, log messages will be generated."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"functionality": {
|
|
"softwareType": {
|
|
"default": "gateGroupControl",
|
|
"rules": {
|
|
"type": "string",
|
|
"description": "Specified software type for this configuration."
|
|
}
|
|
},
|
|
"role": {
|
|
"default": "gate controller",
|
|
"rules": {
|
|
"type": "string",
|
|
"description": "Indicates the role this configuration plays within the system."
|
|
}
|
|
}
|
|
},
|
|
"asset": {
|
|
"uuid": {
|
|
"default": null,
|
|
"rules": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "A universally unique identifier for this asset. May be null if not assigned."
|
|
}
|
|
},
|
|
"geoLocation": {
|
|
"default": {},
|
|
"rules": {
|
|
"type": "object",
|
|
"description": "An object representing the asset's physical coordinates or location.",
|
|
"schema": {
|
|
"x": {
|
|
"default": 0,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "X coordinate of the asset's location."
|
|
}
|
|
},
|
|
"y": {
|
|
"default": 0,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "Y coordinate of the asset's location."
|
|
}
|
|
},
|
|
"z": {
|
|
"default": 0,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "Z coordinate of the asset's location."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mode": {
|
|
"current": {
|
|
"default": "auto",
|
|
"rules": {
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"value": "auto",
|
|
"description": "Machine accepts setpoints from a parent controller and runs autonomously."
|
|
},
|
|
{
|
|
"value": "virtualControl",
|
|
"description": "Controlled via GUI setpoints; ignores parent commands."
|
|
},
|
|
{
|
|
"value": "fysicalControl",
|
|
"description": "Controlled via physical buttons or switches; ignores external automated commands."
|
|
},
|
|
{
|
|
"value": "maintenance",
|
|
"description": "No active control from auto, virtual, or fysical sources."
|
|
}
|
|
],
|
|
"description": "The operational mode of the machine."
|
|
}
|
|
},
|
|
"allowedActions":{
|
|
"default":{},
|
|
"rules": {
|
|
"type": "object",
|
|
"schema":{
|
|
"auto": {
|
|
"default": ["statusCheck", "execMovement", "execSequence", "emergencyStop"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Actions allowed in auto mode."
|
|
}
|
|
},
|
|
"virtualControl": {
|
|
"default": ["statusCheck", "execMovement", "execSequence", "emergencyStop"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Actions allowed in virtualControl mode."
|
|
}
|
|
},
|
|
"fysicalControl": {
|
|
"default": ["statusCheck", "emergencyStop"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Actions allowed in fysicalControl mode."
|
|
}
|
|
},
|
|
"maintenance": {
|
|
"default": ["statusCheck"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Actions allowed in maintenance mode."
|
|
}
|
|
}
|
|
},
|
|
"description": "Information about valid command sources recognized by the machine."
|
|
}
|
|
},
|
|
"allowedSources":{
|
|
"default": {},
|
|
"rules": {
|
|
"type": "object",
|
|
"schema":{
|
|
"auto": {
|
|
"default": ["parent", "GUI", "fysical"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sources allowed in auto mode."
|
|
}
|
|
},
|
|
"virtualControl": {
|
|
"default": ["GUI", "fysical"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sources allowed in virtualControl mode."
|
|
}
|
|
},
|
|
"fysicalControl": {
|
|
"default": ["fysical"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sources allowed in fysicalControl mode."
|
|
}
|
|
}
|
|
},
|
|
"description": "Information about valid command sources recognized by the machine."
|
|
}
|
|
}
|
|
},
|
|
"sequences":{
|
|
"default":{},
|
|
"rules": {
|
|
"type": "object",
|
|
"schema": {
|
|
"open2gates": {
|
|
"default": ["openGate1","openGate2"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sequence of states for starting up the machine."
|
|
}
|
|
},
|
|
"open1gate": {
|
|
"default": ["openGate1"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sequence of states for shutting down the machine."
|
|
}
|
|
},
|
|
"stop2gates": {
|
|
"default": ["stopGate1","stopGate2"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sequence of states for stopping the machine."
|
|
}
|
|
},
|
|
"close2gates": {
|
|
"default": ["closeGate2","closeGate1"],
|
|
"rules": {
|
|
"type": "set",
|
|
"itemType": "string",
|
|
"description": "Sequence of states for closing the gates."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Predefined sequences of states for the machine."
|
|
|
|
},
|
|
"settings": {
|
|
"moveDelay": {
|
|
"default": 3,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "delay between opening first and second linear actuator in seconds"
|
|
}
|
|
},
|
|
"autoClose": {
|
|
"default": 30,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "When auto close is enabled, the gate will close automatically after this time in seconds"
|
|
}
|
|
},
|
|
"retryDelay": {
|
|
"default": 5,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "Delay in seconds before retrying a failed command."
|
|
}
|
|
},
|
|
"maxRetries": {
|
|
"default": 5,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "Maximum number of retries for a failed command."
|
|
}
|
|
},
|
|
"groundLoopOpen": {
|
|
"default": 10,
|
|
"rules": {
|
|
"type": "number",
|
|
"description": "Time before ground loop triggers opening of the gate in seconds"
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|