145 lines
4.2 KiB
Markdown
145 lines
4.2 KiB
Markdown
# Estandarización de Objetos derivados de osBase
|
|
|
|
## Criterios para NombreClase()
|
|
|
|
### Categorías de Objetos:
|
|
1. **Transporte**: Transportadores, cintas, curvas
|
|
2. **Sensores**: Fotocélulas, encoders, botones
|
|
3. **Actuadores**: Motores, válvulas
|
|
4. **Elementos Estáticos**: Guías, descartes, barreras
|
|
5. **Emuladores**: Generadores, llenadores, tanques
|
|
6. **Señales**: Tags analógicos, digitales
|
|
7. **Datos**: Extracción, búsqueda
|
|
8. **Decorativos**: Imágenes, marcos, textos
|
|
9. **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:
|
|
```csharp
|
|
[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:
|
|
```csharp
|
|
[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()`
|
|
- [x] Crear mapeo de nombres descriptivos
|
|
- [x] Implementar ejemplos: TransporteTTop, Motor VetroMeccanica, Fotocélula, Tag Analógico
|
|
- [x] Generar script de automatización PowerShell
|
|
|
|
### ✅ Fase 2: Aplicar categorías y descripciones estándar
|
|
- [x] Definir 8 categorías estándar
|
|
- [x] Crear plantilla de implementación
|
|
- [x] Aplicar en objetos de ejemplo
|
|
|
|
### ✅ Fase 3: Implementación Clase por Clase (COMPLETADO)
|
|
- [x] **ucTransporteTTop** - Transporte TTOP
|
|
- [x] **ucVMmotorSim** - Motor VetroMeccanica
|
|
- [x] **ucPhotocell** - Fotocélula
|
|
- [x] **ucAnalogTag** - Tag Analógico
|
|
- [x] **ucCustomImage** - Imagen Personalizada
|
|
- [x] **ucBoolTag** - Tag Digital
|
|
- [x] **ucGuia** - Guía
|
|
- [x] **ucBotella** - Botella
|
|
- [x] **ucTransporteCurva** - Transporte Curva 90°
|
|
- [x] **ucBoton** - Botón
|
|
- [x] **ucBottGenerator** - Generador de Botellas
|
|
- [x] **ucDescarte** - Descarte
|
|
- [x] **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
|
|
|
|
1. **`Scripts/EstandarizarObjetos.ps1`**: Script para automatizar cambios
|
|
2. **`Documentation/PlantillaEstandarizacion.cs`**: Plantilla con ejemplos
|
|
3. **`Documentation/EstandarizacionObjetos.md`**: Esta documentación
|
|
|
|
## Instrucciones de Uso
|
|
|
|
### Para aplicar automáticamente:
|
|
```powershell
|
|
cd CtrEditor
|
|
.\Scripts\EstandarizarObjetos.ps1
|
|
```
|
|
|
|
### Para aplicar manualmente:
|
|
1. Consultar `PlantillaEstandarizacion.cs`
|
|
2. Seguir el patrón de categorías establecido
|
|
3. 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* |