# 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?