154 lines
4.7 KiB
JSON
154 lines
4.7 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "plc.schema.json",
|
|
"title": "PLC & UDP Configuration",
|
|
"description": "Esquema para editar plc_config.json",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"plc_config": {
|
|
"type": "object",
|
|
"title": "PLC Configuration",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"ip": {
|
|
"type": "string",
|
|
"title": "PLC IP",
|
|
"description": "Dirección IP del PLC (S7-31x)",
|
|
"format": "ipv4",
|
|
"pattern": "^.+$"
|
|
},
|
|
"rack": {
|
|
"type": "integer",
|
|
"title": "Rack",
|
|
"description": "Número de rack (0-7)",
|
|
"minimum": 0,
|
|
"maximum": 7,
|
|
"default": 0
|
|
},
|
|
"slot": {
|
|
"type": "integer",
|
|
"title": "Slot",
|
|
"description": "Número de slot (generalmente 2)",
|
|
"minimum": 0,
|
|
"maximum": 31,
|
|
"default": 2
|
|
}
|
|
},
|
|
"required": [
|
|
"ip",
|
|
"rack",
|
|
"slot"
|
|
]
|
|
},
|
|
"udp_config": {
|
|
"type": "object",
|
|
"title": "UDP Configuration",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"title": "UDP Host",
|
|
"pattern": "^.+$",
|
|
"default": "127.0.0.1"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 65535,
|
|
"default": 9870
|
|
}
|
|
},
|
|
"required": [
|
|
"host",
|
|
"port"
|
|
]
|
|
},
|
|
"sampling_interval": {
|
|
"type": "number",
|
|
"minimum": 0.01,
|
|
"maximum": 10,
|
|
"title": "Sampling Interval (s)",
|
|
"description": "Intervalo global de muestreo en segundos",
|
|
"default": 0.1
|
|
},
|
|
"csv_config": {
|
|
"type": "object",
|
|
"title": "CSV Recording",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"records_directory": {
|
|
"type": "string",
|
|
"title": "Records Directory",
|
|
"default": "records"
|
|
},
|
|
"rotation_enabled": {
|
|
"type": "boolean",
|
|
"title": "Rotation",
|
|
"default": true,
|
|
"enum": [
|
|
true,
|
|
false
|
|
],
|
|
"options": {
|
|
"enum_titles": [
|
|
"Activate",
|
|
"Deactivate"
|
|
]
|
|
}
|
|
},
|
|
"max_size_mb": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1,
|
|
"title": "Max Size (MB)",
|
|
"default": 1000
|
|
},
|
|
"max_days": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1,
|
|
"title": "Max Days",
|
|
"default": 30
|
|
},
|
|
"max_hours": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1,
|
|
"title": "Max Hours",
|
|
"default": null
|
|
},
|
|
"cleanup_interval_hours": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"title": "Cleanup Interval (h)",
|
|
"default": 24
|
|
},
|
|
"last_cleanup": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"title": "Last Cleanup"
|
|
}
|
|
},
|
|
"required": [
|
|
"records_directory",
|
|
"rotation_enabled",
|
|
"cleanup_interval_hours"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"plc_config",
|
|
"udp_config",
|
|
"sampling_interval",
|
|
"csv_config"
|
|
]
|
|
} |