RAMDISK/BASE.SYS
Análisis del Archivo BASE.SYS - Módulo Base del Sistema ABB S4
📋 Descripción General
Archivo de sistema fundamental que define datos predefinidos, configuraciones base y rutinas esenciales para el controlador S4. Es el núcleo de la configuración del robot.
🔍 Estructura del Contenido
1. 📊 Datos del Sistema Predefinidos
```rapid
! Herramienta, objeto y carga por defecto
tooldata tool0 → Herramienta en el flange (origen)
wobjdata wobj0 → Objeto de trabajo mundial (base del robot)
loaddata load0 → Carga vacía (0 kg)
```
2. ⚡ Zonas de Aproximación (zonedata)
```rapid
fine → Parada exacta (sin aproximación)
z1-z200 → Zonas progresivas de aproximación
```
Estructura: [FINE?, dist_pzone, ori_zone, ...]
· fine: [TRUE, 0, 0, 0, 0, 0, 0] - Parada precisa
· z10: [FALSE, 10, 15, 15, 1.5, 15, 1.5] - Aproximación de 10mm
3. 🚀 Velocidades Predefinidas (speeddata)
```rapid
v5 a v7000 → Rangos de velocidad
```
Estructura: [tcp_speed, ori_speed, ext_ax_speed, ori_acc]
· v100: [100, 500, 5000, 1000] → 100 mm/s en TCP
· vmax: [5000, 500, 5000, 1000] → Velocidad máxima
4. 🔧 Constantes del Sistema
```rapid
testsignal → IDs para instrucción TestSign
flp1, ram1disk → Rutas de sistema
pi → Constante matemática (3.1415926)
```
5. ⚙️ Rutinas Esenciales
SYS_RESET() - Reset del Sistema
```rapid
VelSet 100, 5000; → 100% velocidad, 5000 mm/s max
AccSet 100,100; → 100% aceleración
SingArea \Off; → Desactiva área singular
ConfJ \On; ConfL \On; → Activa configuración de ejes
GripLoad load0; → Carga vacía
PDispOff; EOffsOff; → Desactiva offsets
```
Propósito: Restaurar parámetros de movimiento a valores por defecto.
RESTORE_IO() - Restauración I/O
```rapid
PFIOResto; → Restaura estado I/O tras corte de energía
```
TestDI() - Función de Test Digital Input
```rapid
FUNC bool TestDI(VAR signaldi Signal)
→ Devuelve TRUE si señal = 1
```
🎯 Propósito y Uso
Para el Sistema:
· Inicialización → Carga datos base al arrancar
· Referencia → Define valores por defecto del sistema
· Consistencia → Asegura comportamiento predecible
Para el Programador:
· Atajos → Usar z10 en vez de definir zona cada vez
· Estandarización → Velocidades comunes predefinidas
· Seguridad → fine para posiciones críticas
💡 Ejemplos de Uso en Programas
```rapid
! Usando constantes de BASE.SYS
MoveL p1, v500, z10, tool0; → Movimiento a 500 mm/s, zona 10mm
MoveJ p2, vmax, fine, tool0; → Movimiento rápido, parada exacta
! Resetear configuración
SYS_RESET;
! Testear entrada digital
IF TestDI(di_StartButton) THEN
StartProcess;
ENDIF
```
⚠️ Consideraciones Importantes
1. NO MODIFICAR DIRECTAMENTE
· Archivo crítico del sistema
· Modificaciones pueden afectar estabilidad
2. HERENCIA
· Todos los programas heredan estas definiciones
· No necesitan declarar tool0, wobj0, etc.
3. PERSONALIZACIÓN
· Para cambios, crear módulos propios
· Ej: MY_ZONES.SYS con zonas personalizadas
🔧 Relación con Otros Archivos
```
BASE.SYS
↓
USER.SYS (extiende/modifica)
↓
PROGRAMAS (usan las definiciones)
```
📝 Notas para el Repositorio
Ubicación en documentación: 📚 Documentación Original/Archivos de Sistema/BASE.SYS.md
Contenido recomendado:
· Copia exacta del archivo
· Explicación de cada sección
· Ejemplos de modificación segura
· Comparativa con versiones posteriores (S4C, S4C+)
¿Necesitas que explique cómo crear una versión personalizada o cómo afectan estos parámetros al movimiento del robot?