Enviar programa

Top 

Enviar

Requisitos. Métodos. Protocolos.

Enviar compilado

Desbloquear

Cambiar ID
Broadcast

Monitoreo

 

Enviar programa

  

  Preferiblemente usar COM1 del PLC para programarlo.

 

Requisitos

  • Por puerto serie: cable de programación para el PLC, puerto RS485 disponible en la PC, software de programación (WinEdit).

Métodos

  • Enviar al PLC: compila y envía. El PLC debe estar en modo programación (detenido) y el modelo-versión selecto debe coincidir con el PLC
  • Enviar compilado CP12x: envía solo el compilado.
  • Enviar en un solo clic: detecta el modelo-versión de PLC, compila acorde a la detección, pasa a modo programación, envía y pone en modo ejecución.
  • Enviar en un solo clic modo broadcast: similar al anterior, pero no apto para PLCs en red.
  • Enviar con otro ID: como en Enviar en un solo clic, solo que durante el proceso preguntará por el valor de ID a asignar.
  • Enviar en un solo clic usando baudios usuario: como en Enviar en un solo clic, pero a la velocidad indicada en Monitor Usuario (es porque la velocidad original puede modificarse mediante la instrucción OPENCOM).

Protocolos

   

  El envío de programa al PLC ha ido evolucionando. Se describe empezando por el más reciente.

   

  Desde CP121 2.72, CP122 2.22, CP123 2.32, CP124 1.10, CP125 1.12, CP126 1.02, CP127 1.00, CP128 1.00, CP220 1.00, CP08WG 1.00 el programa es enviado (y recibido) en paquetes, lo que permite hacerlo también remotamente (a través de redes).

  Estos son los mensajes (enumerados) típicos del envío de un programa:

  1. -- Archivos temporales --

  2. -- Compilando --

  3. (i)Recavando datos...

  4. CP08WG, BIOS 100

  5. 41 líneas

  6. (i)Archivo Debug activado

  7. (i)Procesando líneas...

  8. -- Procesando saltos --

  9. 4 saltos o llamadas

  10. 4 etiquetas

  11. -- Menú --

  12. Menú: 24 bytes

  13. Code: 156 bytes

  14. (i)Total compilado: 266 bytes

  15. Erase CMD send

  16. Erase: OK

  17. Frame 1 of 2

  18. Erase: OK

  19. Frame 2 of 2

  20. Has send 266 bytes in 2 frames

  21. Pasado a modo ejecución: verifique estado -> CP08WG, BIOS 100

1, 2, 8 y 11: títulos

3, 6, 7 y 14: (i) significa informe.

4: PLC detectado

14: llegado a este punto significa que el programa fue compilado exitosamente. Sino el proceso es abortado y se indican los errores.

16: se ha borrado el programa "viejo" que estaba en el PLC. Si en este punto el envío es abortado o falla puede que reintentar no de resultado. Apagar y volver a encender el equipo hará que asuma valores de fábrica.

17 y 19: envío de paquetes.

18: mensaje repetido.

20: programa enviado.

21: orden de pasar a modo ejecución enviada. Fin del procedimiento.

 

 Desde CP121 2.55, CP122 2.03, CP123 2.20, CP124 1.00, CP125 1.00, CP126 1.00, CP127 1.00, CP128 1.00, CP08WG, CP220 1.00 pueden programarse también vía COM2 del PLC.

  

  Desde CP121 1.00, CP122 1.00, CP123 1.00, CP124 1.00, CP125 1.00, CP12 1.00, IP1300 1.00 e IP1301 1.00 el PLC es puesto en un modo exclusivo de programación. El programa es enviado (o recibido) en un solo paquete (o evento de comunicación). En los primeros modelos requiere de un jumper para habilitar programación.

 

        Procedimiento(1):

 

1.               Conectar el cable al puerto 1 del PLC

2.               Verificar/colocar solo el jumper de programación. (*)

3.               Conectar el otro extremo del cable de programación al puerto serie de la PC

4.               Elegir le puerto serie (si es necesario) (***)

5.               Enviar programa (**)

  

(*) a partir de ciertos modelos no es requerido (ver mas abajo)
(**) el botón de enviar también compila el programa

(***) Desde el menú Herramientas o menú inferior

   

-##-  No cambie de puerto en todo el procedimiento porque la comunicación no será reconocida  -##-

   

  Para versiones anteriores de winEdit 3.1.13.0 es necesario asegurarse que se ha elegido la versión adecuada al BIOS y modelo que se va a programar(1). Si no coincidiera el programa no se ejecutará o terminará repentinamente en un error (Watchdog). Puede usarse el comando inspeccionar de la barra de herramientas para obtener esta información desde el PLC.
  La versión de BIOS elegida (o detectada) puede no coincidir con el BIOS reportado por el PLC, ya que se van haciendo correcciones y optimizaciones
hasta que un cambio marca la incompatibilidad.

   

embim1.png

  1. ID PLC.

  2. Aspecto.

  3. Modelo.

  4. Versión de BIOS compatible con el PLC.

  5. Funciones alternativas para entradas y salidas (si están disponibles).

  6. Contraseña para el programa (en el PLC).

  7. Información del programa/proyecto.

 

 

 

 

 

 

 

 

 

 

   

Aspecto dispositivos

Descripción del Editor/Compilador.

  

 Hasta las CP121 1.07 y CP122 2.01 se requería tener colocado un jumper mientras estuviera en modo programación. En las versiones posteriores el mismo jumper habilita la entrada al modo programación, pero no entra en éste. Usando la versión más reciente del editor/compilador se pasa a modo programación, o vuelve al modo ejecución con los respectivos comandos. Cuando se quita el jumper los comandos dejan de funcionar.

    A partir de las versiones CP121 2.60, CP122 2.10, CP123 2.20 el jumper PROG no tiene ninguna función. Los modelos CP124, CP125, CP126, CP220, IP1300, IP1301, CP127 no han implementado nunca el jumper PROG.

  

A partir de las versiones CP121 BIOS 2.53, CP122 BIOS 2.01, CP124 BIOS 1.00 es posible proteger el programa con una contraseña para evitar su recuperación.

  

A partir de las versiones CP121 BIOS 2.55, CP122 BIOS 2.03, CP124 BIOS 1.00 es posible programarlo por cualquiera de sus 2 puertos. Hasta entonces solo se podía por el COM1 del PLC.

  

A partir de las versiones CP121 BIOS 2.60, CP122 BIOS 2.10, CP123 BIOS 2.20 está eliminado el jumper de programación. Los modelos posteriores (CP124, CP125, CP126, CP220, IP1300, IP1301) no tienen este jumper.

   

A partir de CP121 2.72, CP122 2.22, CP123 2.32, CP124 1.10, CP127 1.00, CP128 1.00, CP220 1.00 el protocolo es distinto (5), permitiendo el acceso remoto.

Enviar compilado (binario)

    Ya sea que el binario sea el programa compilado o extraído de otro PLC se debe tener cuidado de que el modelo y versión de BIOS coincidan con el PLC de destino. Es un método que ofrece alguna seguridad para enviar actualizaciones de programas y mantener en secreto el código fuente del mismo. El procedimiento de 5 pasos para enviar el programa es el mismo. En el punto 5 es donde se elige enviar el binario:

  • Poner PLC en modo programación (con el botón correspondiente de la barra de herramientas o las teclas Alt + P).
  • En el menú PLC usar el ítem Enviar compilado CP12x. Se elige el archivo correspondiente (del cual se tiene certeza de que es adecuado para el PLC).
  • Concluido el envío se verifica el funcionamiento.

     Si el programa no es para la versión de BIOS del PLC este puede entrar en error y bloquearse. entonces es necesario desbloquearlo.

    

Reprogramar/Desbloquear

  

    Suele suceder que se programa el PLC con una versión de BIOS equivocada o con un error grave (lazo infinito, etc.). Esto bloquea el PLC. Al lado del jumper de programación (PRG) hay otro que está abierto (NoP, Skip, MODO, u otra denominación según modelo). Si éste está puesto al momento de encender el PLC, entonces  ignorará cualquier cosa que se le halla cargado, permitiendo nuevamente la programación (desbloqueo). Algo similar sucede cuando el puerto de programación se usa en modo maestro(3), impidiendo la recepción. En esta condición de desbloqueo el ID del PLC es 1.

    Una vez reprogramado se quita el jumper y se vuelve a encender.

    Cunado el PLC se enciende con este jumper puesto, Llos LEDs RUN, MODO y ERR se encienden un instante y lugo permanecen apagados. Esto es señal de que la inhibición es exitosa.

    A partir de algunas revisiones (CP121 2.13 y 2.51, CP122 1.52 y 2.00, CP123 2.02) no recibe el programa si no fue compilado con la versión de BIOS correspondiente. Al intentar programar con una versión que no corresponde el PLC queda en modo programación, ya que rechazó el programa.

   

    A partir de las versiones CP121 2.60, CP122 2.10, CP123 2.20 el jumper PROG no tiene ninguna función. Los modelos CP124, CP125, CP126, CP220, IP1300, IP1301, CP127 no han implementado nunca el jumper PROG.

   

    Si el envío del programa fue exitoso, el PLC pasa inmediatamente a modo RUN.

    Modelos como el CP123, IP1300 e IP1301 abortan la ejecución del programa si las cuatro teclas están presionadas al momento de encender el PLC (emula jumper NoP). 

  

Cambio de ID

 

    El ID se puede cambiar cuando se carga el programa en el PLC (el procedimiento tiene unos pasos más) o se puede cambiar usando el monitor(4). En algunos equipos (como el IP1300) se puede cambiar el ID desde el programa. Se debe consultar el área de memoria SM para ver si está disponible en el correspondiente equipo a usar. La variable NewID del área SM sirve para cambiar el ID. Se debe escribir un número entre 23041 y 23295 (0x5A01 y 0x5AFF) para asignar un ID entre 1 y 255. En la representación hexadecimal se puede ver que la 1ª parte (alta) es un código de seguridad preventivo (0x5A), y la 2ª (baja) es el ID (0x01 al 0xFF). Al leer NewID solo se obtiene el ID (sin el código de seguridad).
   Si no se dispone de NewID, entonces se cambia cuando se carga el programa:

 

1.               Conectar el cable al puerto 1 del PLC.

2.               Verificar/colocar solo el jumper de programación. (*)

3.               Conectar el otro extremo del cable de programación al puerto serie de la PC.

4.               Elegir le puerto serie (si es necesario).

5.               Inspeccionar PLC.

6.               Usar ID reportado por el PLC.

7.               Poner el PLC en modo programación (o detenido, teclas Alt + P o botón   )

8.               Cambiar el ID del programa.

9.               Enviar programa con botón      (enviar programa al PLC).

   

    En el menú 'PLC' también está el modo de envío broadcast.

    

   Ejemplo de uso de NewID mediante programa de PLC:

   

LD   SetID          ;Lee variable (con posible) nuevo ID
NE   0              ;Permiso de ejecución (distinto de cero)
ADD  &h5a00, SetID  ;Añade código de seguridad al ID
CMOV 0, SetID       ;Atendido (evita repetición)
CMOV AAccL, NewID   ;Cambia ID

    

   En el ejemplo se ha creado una variable SetID. Ya sea vía comunicación o desde el teclado-display integrados se asigna valor a SetID. Nótese que la rutina tiene una protección que evita la repetición.

   

IMPORTANTE: DEBE TENERSE CUIDADO DE NO CAMBIAR PERMANENTEMENTE EL ID PORQUE CAUSA DAÑO IRREPARABLE.

    

Modo Broadcast

   

    Envía programa al PLC, que es aceptado sin importar el ID que tenga programado. Su uso es peligroso porque puede causar estropicios si hay varios PLCs en red (porque es aceptado por todos). Debe usarse con un solo PLC, con conexión directa para asegurarse que no sea afectado otro PLC durante la programación. Si el PLC tiene esta funcionalidad entonces recibirá el programa sin importar el ID. Este método NO debe usarse en una red de PLCs, porque todos quedarían igual, sin poder distinguirlos en la comunicación.
No funciona con Modbus Ethernet.

   

Monitoreo

   

Para monitorear las variables se requiere:

  

· Que esté en modo ejecución (RUN)(5)
· Que se hallan declarado las variables (son las únicas que se pueden monitorear)

  

En la columna penúltima (de la derecha)  se ven los valores respectivos cuando se activa el monitor. Para enviar un valor se elige la fila correspondiente (con un clic) y luego se usa el comando de enviar. En las versiones de BIOS 1.07 y 2.01 (CP121) y 1.00 (CP122) no es posible escribir bits, pero si monitorearlos.

 

   

(1)    A partir del winEdit 3.1.13.0 enviar en un solo clic hace la detección automáticamente. Esto hace dos cosas:

  1. Asume la versión de ROM adecuada al BIOS y modelo que se ha detectado.

  2. Asume el ID que tenga el PLC (no lo cambia).

  3. No usar en una red de PLCs(2).

(2)    La autodetección permite la posibilidad de programar al PLC equivocado. Por eso no es bueno cargar un programa a un PLC que está en una red de PLCs. Si se ha decidido asumir el riesgo, el ID del PLC y el declarado en el WinEdit3 deben ser el mismo. Ver broadcast.

   

(3)    Hay instrucciones que toman control del puerto, lo mismo que si el PLC tiene expansiones.

   

(4)    En los PLCs en que se puede cambiar el ID en "caliente" (mediante NewID del área SM) puede resultar que no sea posible el cambio por el método descrito al principio. Use el método de escribir en NewID con el monitor en lugar del primero.

   

(5)   En CP121 2.72, CP122 2.22, CP123 2.32, CP124 1.10, CP127 1.00, CP128 1.00, CP220 1.00 la comunicación es posible, aun estando en error. Este nuevo formato paquetizado permite también programarlo vía Ethernet (o remotamente).

 

Relacionados

  

Tips de programación.

Jumper programación 

Extraer/Recuperar programa

    

Índice