# Cambiar la tarea a través del PLC

Mientras el dispositivo está en línea, se puede cambiar la tarea cargada actualmente por otra tarea almacenada en el sistema de visión. Esta permuta de tareas permite modificar sobre la marcha todos los aspectos de una aplicación (incluso la HMI o los ajustes de entrada/salida), si bien a costa de los siguientes inconvenientes:

- Tiempo de permuta bastante largo (mínimo 3-5 segundos, dependiendo la duración real del contenido de la tarea, como número de celdas con función LatchImage en la hoja de cálculo.
- El sistema de visión debe estar en pausa o Sin conexión cuando se inicia el cambio de tarea.
- Hay que recargar la HMI web.
- El sistema de E/S está sin tensión durante un período de tiempo relativamente largo.
- El adaptador puede perder los cambios, si se desconecta.
- La HMI web y los ajustes de E/S tienen que duplicarse entre tareas, aunque sigan siendo los mismos.

La permuta de tareas puede realizarse de las siguientes dos maneras con un PLC:

- Por nombre: Las tareas se permutan especificando sus nombres (sin la extensión *.jobx). En este caso, el PLC proporciona, en el segmento userdata, la cadena de caracteres ASCII que corresponde al nombre de la tarea con la que se quiere sustituir la actual.

  Por ejemplo, si se pone la cadena"mitarea" en el segmento userdata, entonces el sistema de visión cargará mitarea.jobx una vez que el PLC ejecute el comando load(0x4000 en hexadecimal o 16384 en valor decimal).

- Por identificación: Se pueden permutar también las tareas especificando su ID (un número en el intervalo 0x0-0x3E7, en formato hexadecimal, o en el intervalo 0-999 en formato decimal). A la que el PLC ejecute el comando de carga, el sistema de visión cargará la tarea siempre que encuentre una tarea cuyo nombre contiene el número de identificación especificado.

  Por ejemplo, si usted tiene una tarea de nombre 111_mitarea almacenada en el sistema de visión, entonces al especificar el comando 111 se cargará la tarea.

Consulte la siguiente tabla para ver un resumen de los comandos disponibles para el cambio de tareas junto con los ID de dichos comandos:

Acción | CommandID (Hex) | CommandID (Dec)
Load Job by Name | 0x4000 | 16384
Load Job by ID | 0x0-0x3E7 | 0-999

Nota:

- Hay que poner siempre el sistema de visión en estado de pausa o fuera de línea antes de cambiar una tarea mediante el PLC. De lo contrario, la solicitud de cambio de tarea generará un error señalado al PLC con ID de error 0x0401.
- Si se especifica una tarea que no existe en el sistema de visión (es decir, no contiene ninguna tarea con el nombre o ID especificados), entonces se señalará al PLC un error cuyo ID es 0x0402.

Para más información sobre cómo cambiar una tarea, consulte el tema en la sección correspondiente al protocolo en cuestión:

- Para Ethernet/IP, véase: Cargar una tarea a través de un PLC Ethernet/IP
- Para PROFINET, véase: Cargar una tarea a través de un PLC PROFINET