Desarrolladores/Extender

CLI, pruebas y contribución

Línea de comandos, modo headless, validación, suite de pruebas y flujo de contribución.

1 min de lectura

Línea de comandos

python -m abscada [proyecto] [--validate] [--headless] [--runtime] [--seconds N]
Opción Efecto
(ninguna) Abre Studio con el proyecto (por defecto examples/plant)
--runtime Abre solo la ventana de operación
--validate Valida el proyecto y sale
--headless --seconds N Adquiere sin interfaz y muestra valores en consola

Uso como biblioteca

El núcleo no depende de Qt, así que puedes usarlo en tus propias herramientas:

from pathlib import Path
from abscada.project import Project
from abscada.runtime import Runtime

project = Project.load(Path("examples/s7"))
runtime = Runtime(project)
runtime.start()
try:
    for name, sample in runtime.snapshot().items():
        print(name, sample.value, sample.quality)
finally:
    runtime.stop()

Pruebas

.venv\Scripts\python -m pip install -e ".[dev,s7,modbus]"
.venv\Scripts\python -m pytest -q

En CI se usa QT_QPA_PLATFORM=offscreen. Las pruebas de comunicación levantan servidores TCP externos en puertos efímeros: no hay simulación interna.

Herramientas incluidas

Script Uso
tools/validate_library.py Valida un paquete de biblioteca
tools/capture_demo.py Regenera capturas del producto
tools/build_showcase.py Construye el proyecto laboratorio
tools/showcase_plcs.py PLCs de prueba para el laboratorio

Contribuir

  1. Abre un issue describiendo el problema o la propuesta.
  2. Mantén las fronteras de módulos: el núcleo no importa Qt.
  3. Añade pruebas para cualquier cambio de formato o comportamiento.
  4. No afirmes compatibilidad con equipos que no hayas probado.

El código se distribuye bajo GPL-3.0-or-later. Las contribuciones se aceptan bajo la misma licencia.