4.2 KiB
4.2 KiB
Estandarización de Objetos derivados de osBase
Criterios para NombreClase()
Categorías de Objetos:
- Transporte: Transportadores, cintas, curvas
- Sensores: Fotocélulas, encoders, botones
- Actuadores: Motores, válvulas
- Elementos Estáticos: Guías, descartes, barreras
- Emuladores: Generadores, llenadores, tanques
- Señales: Tags analógicos, digitales
- Datos: Extracción, búsqueda
- Decorativos: Imágenes, marcos, textos
- Fluidos: Tuberías, válvulas, sistemas
Formato de Nombres:
- Español: Usar nombres descriptivos en español
- Específico: Incluir característica principal (ej: "Motor VetroMeccanica", "Transporte con Guías")
- Consistente: Mantener formato similar por categoría
Categorías Estandarizadas para Propiedades
1. "Identificación"
- Nombre del objeto
- Etiquetas de clasificación
2. "Posición y Tamaño"
- Coordenadas (Left, Top)
- Dimensiones (Ancho, Alto, Ángulo)
- Bloqueo de movimiento
3. "Configuración"
- Parámetros principales del objeto
- Configuraciones específicas por tipo
4. "Simulación"
- Velocidades, fuerzas, coeficientes
- Parámetros físicos
5. "Enlace PLC"
- Tags de entrada y salida
- Conexiones con motores/sensores
6. "Información"
- Valores calculados
- Estados actuales
- Datos de depuración
7. "Apariencia"
- Colores, tamaños visuales
- Aspectos gráficos
Ejemplos de Aplicación
Motor VetroMeccanica:
[ObservableProperty]
[property: Description("Velocidad actual del motor en Hz")]
[property: Category("Información")]
[property: Name("Velocidad Actual")]
public float velocidad;
[ObservableProperty]
[property: Description("Tiempo de rampa para acelerar/desacelerar")]
[property: Category("Configuración")]
[property: Name("Tiempo de Rampa")]
public float tiempoRampa;
Fotocélula:
[ObservableProperty]
[property: Description("Indica si la luz está cortada por un objeto")]
[property: Category("Información")]
[property: Name("Luz Cortada")]
bool luzCortada;
[ObservableProperty]
[property: Description("Ancho del haz de luz del sensor")]
[property: Category("Configuración")]
[property: Name("Ancho del Haz")]
float ancho_Haz_De_Luz;
Plan de Implementación
✅ Fase 1: Estandarizar métodos NombreClase()
- Crear mapeo de nombres descriptivos
- Implementar ejemplos: TransporteTTop, Motor VetroMeccanica, Fotocélula, Tag Analógico
- Generar script de automatización PowerShell
✅ Fase 2: Aplicar categorías y descripciones estándar
- Definir 8 categorías estándar
- Crear plantilla de implementación
- Aplicar en objetos de ejemplo
✅ Fase 3: Implementación Clase por Clase (COMPLETADO)
- ucTransporteTTop - Transporte TTOP
- ucVMmotorSim - Motor VetroMeccanica
- ucPhotocell - Fotocélula
- ucAnalogTag - Tag Analógico
- ucCustomImage - Imagen Personalizada
- ucBoolTag - Tag Digital
- ucGuia - Guía
- ucBotella - Botella
- ucTransporteCurva - Transporte Curva 90°
- ucBoton - Botón
- ucBottGenerator - Generador de Botellas
- ucDescarte - Descarte
- ucFramePlate - Marco de Panel (parcial)
📊 Estadísticas de Progreso
- Clases procesadas: 13
using System.ComponentModel;
agregados: 6 clases- Nombres de clase mejorados: 13
- Propiedades estandarizadas: ~85 propiedades
Archivos Generados
Scripts/EstandarizarObjetos.ps1
: Script para automatizar cambiosDocumentation/PlantillaEstandarizacion.cs
: Plantilla con ejemplosDocumentation/EstandarizacionObjetos.md
: Esta documentación
Instrucciones de Uso
Para aplicar automáticamente:
cd CtrEditor
.\Scripts\EstandarizarObjetos.ps1
Para aplicar manualmente:
- Consultar
PlantillaEstandarizacion.cs
- Seguir el patrón de categorías establecido
- Usar nombres descriptivos en español
Objetos Ya Actualizados
- ✅
ucTransporteTTop
→ "Transporte TTOP" - ✅
ucVMmotorSim
→ "Motor VetroMeccanica" - ✅
ucPhotocell
→ "Fotocélula" - ✅
ucAnalogTag
→ "Tag Analógico"
Documento generado para estandarización del proyecto CtrEditor