# SYS.CFG

Aquí tenemos dos ejemplos de configuración tanto para la vesión 2.0 cómo la versión 2.1, ambos comparten los mismos campos. Explicados en orden de aparición.

<table border="1" id="bkmrk-nombre-funci%C3%93n-%28%2A%29-s" style="border-collapse: collapse; width: 100%; height: 445.526px;"><colgroup><col style="width: 23.9743%;"></col><col style="width: 76.0144%;"></col></colgroup><tbody><tr style="height: 29.7017px;"><td style="height: 29.7017px;">**NOMBRE**</td><td style="height: 29.7017px;">**FUNCIÓN**</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">(\*) SYS\_MISC</td><td style="height: 29.7017px;">??? (\*) Sólo disponible en la vesión 2.1.</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">CAB\_TASKS</td><td style="height: 29.7017px;">Define las **tareas de ejecución** del robot en el controlador:

- Nombre
- Tipo (NORMAL, SEMISTATIC, etc.)
- Programa asociado
- Punto de entrada

Esto controla qué procesos funcionan simultáneamente.

</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;"> </td><td style="height: 29.7017px;">Configuraciones de distancias y tolerancias para la recuperación de posición del robot, usadas en movimientos automáticos y manuales.</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">CAB\_EXEC\_HOOKS</td><td style="height: 29.7017px;">Estos son **“ganchos” o hooks del sistema** que asocian programas o rutinas con eventos internos como:

- POWER\_ON
- START
- RESET

Imagina que es un *trigger* que dice “cuando ocurra X, ejecutar Z”

</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">CAB\_TASK\_MODULES</td><td style="height: 29.7017px;">Este bloque especifica **qué módulos de código se cargan** para cada tarea definida:

- Nombre del archivo (.sys, .mod, .prg)
- Nombre del módulo
- A qué tarea va asociado

Esto es lo que realmente hace que el robot sepa qué código ejecutar para cada parte del sistema.

</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">MASTER\_BOOL</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">AUTH\_INTERACTIVE\_UNITS</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">AUTH\_CLIENTS</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">AUTH\_CLIENT\_PERMISSION</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">WORKDIR</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">MMC\_ATTRIBUTE</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">MMC\_FKEY</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">MMC\_OUTLINE</td><td style="height: 29.7017px;">???</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px;">MMC\_CHOICE</td><td style="height: 29.7017px;">???</td></tr></tbody></table>

CAB\_EXEC\_HOOKS:

-Routine "RESTORE\_IO" -Shelf "POWER\_ON" -Task "0"

Vamos a desglosar aquí que ocurre, la rutina (función de programación) RESTORE\_IO (en este caso, definida en el archivo base.sys) es lanzada cuando se produce el evento de POWER\_ON.

La tarea 0 no sé si está definida en algún sitio o es una forma de referirse al sistema operativo o una tarea que se ejecuta siempre en por encima de todo, al estilo SO.

```
SYS:CFG_1.0:2:0::
#
#
#
CAB_TASKS:

      -Name "MAIN" -Prog 0 -Task_in_forground "" -Type "NORMAL" -Entry "main"\
      -RewERIfStop 0
#
CAB_REGAIN_DIST:

      -Name "MAN" -Tcp_dist 0.010000 -Tcp_rot 0.200000 -Ext_dist 0.050000\
      -Ext_rot 0.200000

      -Name "AUTO" -Tcp_dist 0.500000 -Tcp_rot 1.570000 -Ext_dist 0.500000\
      -Ext_rot 1.570000
#
CAB_EXEC_HOOKS:

      -Routine "SYS_RESET" -Shelf "RESET" -Task "0"

      -Routine "SYS_RESET" -Shelf "START" -Task "0"

      -Routine "RESTORE_IO" -Shelf "POWER_ON" -Task "0"
#
#
CAB_TASK_MODULES:

      -File "ram1disk:base.sys" -ModName "BASE" -Task "0"

      -File "ram1disk:user.sys" -ModName "USER" -Task "0"
#
MASTER_BOOL:

#
AUTH_INTERACTIVE_UNITS:

#
AUTH_CLIENTS:

#
AUTH_CLIENT_PERMISSION:

#
WORKDIR:

#
#
MMC_ATTRIBUTE:

#
MMC_FKEY:

#
MMC_OUTLINE:

#
#
MMC_CHOICE:

#
#
#
#
#
#
#
#
#

```

```
SYS:CFG_1.0:2:1::
#
#
SYS_MISC:

#
#
CAB_TASKS:

      -Name "MAIN" -Prog 0 -Task_in_forground "" -Type "NORMAL" -Size 0\
      -StackSize 0 -BindRef 1 -Entry "main" -RewERIfStop 0
#
CAB_REGAIN_DIST:

      -Name "MAN" -Tcp_dist 0.050000 -Tcp_rot 0.200000 -Ext_dist 0.050000\
      -Ext_rot 0.200000

      -Name "AUTO" -Tcp_dist 0.500000 -Tcp_rot 1.570000 -Ext_dist 0.500000\
      -Ext_rot 1.570000
#
CAB_EXEC_HOOKS:

      -Routine "SYS_RESET" -Shelf "RESET" -Task "0"

      -Routine "SYS_RESET" -Shelf "START" -Task "0"

      -Routine "RESTORE_IO" -Shelf "POWER_ON" -Task "0"

      -Routine "glb_power_on" -Shelf "POWER_ON" -Task "0"

      -Routine "glb_start" -Shelf "START" -Task "0"

      -Routine "glb_restart" -Shelf "RESTART" -Task "0"

      -Routine "glb_stop" -Shelf "STOP" -Task "0"

      -Routine "glb_qstop" -Shelf "QSTOP" -Task "0"

      -Routine "glb_mode_switch" -Shelf "MODE_SWITCH" -Task "0"
#
#
CAB_TASK_MODULES:

      -File "ram1disk:base.sys" -ModName "BASE" -Task "0" -Storage "LOADED"\
      -Txres 0

      -File "ram1disk:user.sys" -ModName "USER" -Task "0" -Storage "LOADED"\
      -Txres 0

      -File "ram1disk:gluser.sys" -ModName "GLUSER" -Task "0" -Storage "LOADED"\
      -Txres 0

      -File "ram1disk:glbase.sys" -ModName "GLBASE" -Task "0" -Storage "LOADED"\
      -Txres 0

      -File "ram1disk:gltext.sys" -ModName "GLTEXT" -Task "0" -Storage "LOADED"\
      -Txres 0
#
MASTER_BOOL:

#
AUTH_INTERACTIVE_UNITS:

#
AUTH_CLIENTS:

#
AUTH_CLIENT_PERMISSION:

#
WORKDIR:

#
#
MMC_ATTRIBUTE:

#
MMC_FKEY:

#
MMC_OUTLINE:

#
#
MMC_CHOICE:

#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#

```

```
SYS:CFG_1.0:2:0::
#
#
#
CAB_TASKS:

      -Name "MAIN" -Prog 0 -Task_in_forground "" -Type "NORMAL" -Entry "main"

      -Name "com" -Prog 1 -Task_in_forground "MAIN" -Type "SEMISTATIC"\
      -Entry "haupt"
#
CAB_REGAIN_DIST:

      -Name "MAN" -Tcp_dist 0.010000 -Tcp_rot 1.000000 -Ext_dist 0.100000\
      -Ext_rot 1.570000

      -Name "AUTO" -Tcp_dist 0.500000 -Tcp_rot 1.570000 -Ext_dist 0.500000\
      -Ext_rot 1.570000
#
CAB_EXEC_HOOKS:

      -Routine "SYS_RESET" -Shelf "RESET" -Task "0"

      -Routine "SYS_RESET" -Shelf "START" -Task "0"

      -Routine "RESTORE_IO" -Shelf "POWER_ON" -Task "0"
#
#
CAB_TASK_MODULES:

      -File "ram1disk:base_mt.sys" -ModName "BASE_MT" -Task "com"

      -File "ram1disk:user.sys" -ModName "USER" -Task "0"

      -File "ram1disk:dat_mt16.sys" -ModName "DAT_MT16" -Task "0"

      -File "ram1disk:dat_mt16.sys" -ModName "DAT_MT16" -Task "com"

      -File "ram1disk:com200.sys" -ModName "Com200" -Task "com"

      -File "ram1disk:base.sys" -ModName "BASE" -Task "MAIN"
#
MASTER_BOOL:

#
AUTH_INTERACTIVE_UNITS:

#
AUTH_CLIENTS:

#
AUTH_CLIENT_PERMISSION:

#
WORKDIR:

#
#
MMC_ATTRIBUTE:

#
MMC_FKEY:

#
MMC_OUTLINE:

#
#
MMC_CHOICE:

#
#
#
#
#
#
#
#
#
#
#

```