Enviar programa

�ndice 

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 o formas de env�o

  • 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 (6).
  • 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.74 y CP122 2.24 las entradas anal�gicas tambi�n se programan. Debe tenerse en cuenta antes de enviar el programa.

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 que se leen durante el procedimiento de 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 (m�todo antiguo) 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 apagar y encender.

Cunado el PLC se enciende con este jumper puesto, Los LEDs RUN, MODO y ERR se encienden un instante y luego 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(4). 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 versiones posteriores no existe la variable AAccL

       LD   SetID          ;Lee variable (con posible) nuevo ID
       EQ   0              ;Compara con cero (si es igual)
       JMPC NoAsum         ;Si es cero, salta hasta NoAsum
       LD   SetID          ;No hizo el salto. Toma el nuevo ID
       ADD  &h5a00         ;A�ade c�digo de seguridad
       ST   NewID          ;Asume el nuevo ID
NoAsum MOVE 0, SetID       ;Resetea el "disparador"

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 (volviendo a poner en cero a SetID).

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.

Notas

(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 alBIOS 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).

(6)   No es necesario para la segunda versi�n de comunicaci�n (5).

Relacionados