Enviar programa |
Top |
Requisitos. Métodos. Protocolos.
Preferiblemente usar COM1 del PLC para programarlo.
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, 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) (***) 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.
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:
Si el programa no es para la versión de BIOS del PLC este puede entrar en error y bloquearse. entonces es necesario desbloquearlo.
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).
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).
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
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.
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.
Para monitorear las variables se requiere:
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:
(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
|
||||