SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
CPR de Badajoz
             Curso 2012 /2013




UD3.Lenguaje de programación LD/KOP
y set de instrucciones.
José María Delgado Casado
Profesor Técnico FP Instalaciones Electrotécnicas IES JAVIER GARCÍA TÉLLEZ (Cáceres)
UD3. Lenguaje de programación y set de instrucciones.
1.Introducción al lenguaje LD /KOP.


Como se ha visto anteriormente, la nemotecnia básica en lenguaje LD / KOP permite una traducción “casi” directa entre lógica de relés y diagrama de
contactos.




La estructura de un programa en lenguaje KOP se basa en la disposición ordenada y consecutiva de barras de contactos (denominadas segmentos o
Networks), de acuerdo a unas reglas específicas, y conectadas todas ellas a una barra de red suministradora de señal en la parque izquierda.

La lectura del programa en lenguaje KOP se realiza de forma completa en cada ciclo de scan del PLC, volcando los resultados al proceso de imagen de las
salidas, y actuando de forma consecuente con las áreas de memoria correspondientes.




                                                        Network 1 ó SEGMENTO 1




               BARRA DE RED
                                                        Network 2 ó SEGMENTO 2




                                                        Network 3 ó SEGMENTO 3


Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.1. Contactos.

Los contactos son la base de programación en lenguaje KOP. Son elementos tipo bit que pueden adoptar los valores 1 ó 0. Se representan como abiertos o
cerrados, y su uso es idéntico al que se hace de los contactos de relés en esquemas cableados. Pueden estar asociados a diversas áreas de memoria (E/S
físicas, temporizadores, contadores, marcas y variables, etc.).

La dirección de memoria asociada al contacto será una dirección tipo bit de acuerdo a la estructura de direccionamiento directo anteriormente vista.




2.2. Bobinas

Las bobinas reciben este nombre por analogía con los sistemas cableados. Son el resultado lógico de una combinación de elementos anteriores en el
segmento, que si se cumplen, harán llegar señal desde la barra de red hasta la bobina, activando ésta mientas la señal se mantenga, y operando sobre el
área de memoria correspondiente.




Las bobinas son los últimos elementos en cada barra de red, no pudiendo estar en posición intermedia (excepto en S7-1200).




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.3. Funciones SET / RESET.

La activación de salidas (áreas de memoria) asociada a bobinas sólo se mantiene durante el tiempo que dure la señal activadora. Es posible no obstante
producir un cambio permanente en el área de memoria con sólo un flanco positivo de señal (cambio de 0 a 1 en la alimentación de la bobina) mediante la
función SET.




                                                                                      Una vez hecho un SET de una salida (área de memoria), sólo se
                                                                                      podrá desactivar haciendo un correspondiente RESET, ya que
                                                                                      aunque no le llegue alimentación a la función SET, la salida sobre
                                                                                      la que actuó continuará activada en tanto no se realice su
                                                                                      correspondiente RESET.


                                                                                      En el caso del S7-1200 existen las funciones S_BF y R_BF, que,
                                                                                      de forma análoga a como se realiza como MicroWIN, permiten
                                                                                      poner a SET o a RESET un bloque de bits indicando su dirección
                                                                                      inicial y su tamaño.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.4. Temporizadores.

Los temporizadores son áreas de memoria que generan eventos cuando alcanzan un valor de tiempo preestablecido (PT o Preset Value). Su
comportamiento es muy similar a los empleados en los circuitos cableados.

A pesar de que su funcionamiento es similar, las funciones de temporización son distintas en los dispositivos S7-200 y S7-1200. No obstante, ambos tienen
una entrada de activación (IN) y un tiempo preestablecido (PT). Mientras la señal de activación llegue a la puerta de entrada (IN), el temporizador empezará a
contar desde 0 hasta su valor preestablecido (PT). En ese momento, siempre y cuando se mantenga la señal de activación, los contactos dependientes del
temporizador conmutarán, y se mantendrán en ese estado mientras el temporizador siga alimentado.




                                              TEMPORIZADOR S7-200                      TEMPORIZADOR S7-1200


Tanto en el S7-200 como en el S7-1200 existen varios tipos de temporizadores:

1) Temporizadores al trabajo (TON): Los temporizadores TON (Timer ON Delay o retardo al conectar) retardan la conmutación de sus contactos
dependientes el tiempo establecido en PT. Al cambiar de 0 a 1 la entrada de habilitación (IN) el temporizador empieza a contar. Si se mantiene la señal en IN
hasta el PT, los contactos dependientes del temporizador conmutarán.

2) Temporizadores al reposo (TOF): Los temporizadores TON (Timer OFf delay o retardo al desconectar) retardan la conmutación de sus contactos
dependientes el tiempo establecido en PT una vez la señal de habilitación cambia de 1 a 0. Al cambiar de 0 a 1 la entrada de habilitación (IN), los contactos
dependientes del temporizador conmutan de forma automática, sin iniciarse la temporización. Cuando la entrada IN cambia de 1 a 0, los contactos se
mantienen en su posición conmutada, iniciándose el contaje, y volverán a su posición al llegar a PT.

3) Temporizadores retentivos (TONR): Por definición, los temporizadores (a no ser que en propiedades de sistema se definan de otro modo) son no-
retentivos ante una falta de alimentación. Es posible emplear temporizadores retentivos empleando para ello los tipos TONR.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.4. Temporizadores.

En el siguiente ejemplo del S7-200 puede observarse el funcionamiento de un temporizador al trabajo:




                               !




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.4.1. Temporizadores en el S7-200.

El S7-200 dispone de 256 temporizadores (T0 a T255), con la particularidad de que la base de tiempos de los mismos no es uniforme. De esta forma, existen
diversas bases de contaje que están relacionadas con el número de temporizador:


                            !




Dado que únicamente dispone de 2 temporizadores con base 1ms (TON y TOF), estos deberán emplearse para aquellas tareas cuyo tiempo de contaje sea
crítico y necesite por tanto estar ajustado al ms. Si la criticidad de la tarea o el tiempo de contaje es menos relevante, se emplearán temporizadores de base
10ms o 100ms.

MicroWIN detecta automáticamente el número de temporizador especificado, reflejando la base de tiempos en el mismo. Si el tiempo especificado en PT
excede del tiempo máximo de contaje del temporizador, el precompilador de programa dará un error.




Es fundamental tener en cuenta que cada temporizador ocupa en el área de memoria una palabra (1W = 2 bytes), y la consulta del mismo en tabla de estado
nos devolverá el tiempo instantáneo de contaje.


Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.4.2. Temporizadores en el S7-1200.

A diferencia del S7-200, en el S7-1200 todos los temporizadores tienen base de tiempo de 1ms, por lo que el valor de tiempo puede introducirse directamente
independientemente del número de temporizador.




Los temporizadores en el S7-1200 tienen varias entradas / salidas de función:

IN - Entrada de habilitación. Su uso y funcionalidad es igual que en el S7-200.
PT - Preset Value del temporizador. La diferencia con el S7-200 radica en la base de tiempos constante de 1ms.
Q - Salida de habilitación: salida que se activa una vez transcurrido el tiempo PT.
ET - Valor de tiempo actual.


Los temporizadores en el S7-1200 tienen además la particularidad de necesitar un bloque de datos (DB) asociado al temporizador (o global), que se declara
como una estructura específica del tipo IEC_Timer. En dicha estructura de 16 bits (1W = 2 bytes) se almacenan los datos del temporizador, y entre ellos el
valor de contaje (ET). Los valores de los bloque de datos pueden consultarse posteriormente en los Bloques de Sistemas del Árbol del Proyecto.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.4.2. Temporizadores en el S7-1200.

Dado que en los temporizadores del S7-1200 existe salida de habilitación, es posible condensar en un sólo Network instrucciones que en el caso del S7-200
requerían al menos 2. En el siguiente ejemplo pueden verse las diderencias de uso.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.5. Contadores.

Los contadores son áreas de memoria que generan eventos cuando alcanzan un determinado número de sucesos. Su uso es necesario en funciones que
tengan como finalidad o medio el contaje de sucesos. Tanto en el S7-200 como en el S7-1200 existen diversos tipos de contadores:

1) Contadores incrementales (CTU): Los contadores incrementales (CounTer Up) cuentan un suceso hacia adelante cuando se produce un flanco positivo en
la entrada de contaje hacia adelante (CU). Si el valor actual del temporizador es igual o mayor al valor de preselección PV, se activa el bit de contaje
dependiente. El contador se inicializa cuando se activa la entrada de desactivación (R) o cuando se resetee el área de memoria (o DB) correspondiente.




                                                               S7-200                        S7-1200


2) Contadores decrementales (CTD): Los contadores incrementales (CounTer Down) cuentan un suceso hacia atrás desde PV cuando se produce un flanco
positivo en la entrada de contaje hacia atrás (CD). Si el valor actual del temporizador es igual a 0 se activa el bit de contaje dependiente. El contador desactiva
el bit de contaje y carga el valor actual con el valor de preselección (PV) cuando se activa la entrada de carga LD.




                                                               S7-200                        S7-1200



Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.5. Contadores.

3) Contadores incrementales / decrementales (CTUD): La operación Incrementar/decrementar contador (CTUD) empieza a contar adelante cuando se
produce un flanco positivo en la entrada de contaje adelante (CU), y empieza a contar atrás cuando se produce un flanco positivo en la entrada de contaje
atrás (CD). El valor actual del contador conserva el contaje actual. El valor de preselección PV se compara con el valor actual cada vez que se ejecuta la
operación de contaje. Al llegar a 0 los bits dependientes del contador conmutarán.




                                                            S7-200                     S7-1200


Al igual que ocurre con los temporizadores, los contadores en el caso del S7-1200 llevan asociados necesariamente un bloque de datos (DB) de instancia o
globales donde poner almacenar los datos necesarios del contador, con una estructura del tipo IEC_Counter.

De igual forma, no existe un número límite de contadores, sino que su número estará limitado por la memoria del dispositivo PLC, ya que es posible crear
tantos DBs asociados como permite la memoria de dispositivo.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.5. Contadores.

En el siguiente ejemplo del S7-1200 puede observarse el funcionamiento de un contador incremental y su diagrama asociado:




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.6. Operaciones lógicas con lenguaje de contactos.

Las operaciones lógicas con lenguaje de contactos que pueden realizarse con autómatas programables son muy diversas. No obstante, existen una serie de
operaciones lógicas básicas en las que el procesado de información del autómata programable basa su funcionamiento, que son las siguientes:


1) Operación AND: Tiene su correspondencia con el circuito eléctrico combinacional de contactos en serie. El resultado de operación sólo llega a la bobina
como activación cuando los operandos de los contactos abiertos se encuentran a 1 y los de los contactos cerrados a 0.




2) Operación OR: Tiene su correspondencia con el circuito eléctrico combinacional de contactos en paralelo. El resultado de operación llega a la bobina como
activación cuando al menos uno de los operandos de los contactos abiertos se encuentran a 1 o los de los contactos cerrados a 0.




3) Operación NOT: La operación NOT invierte el valor de la operación lógica previa (RLO previo de la operación o conjunto de operaciones anteriores).




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.6. Operaciones lógicas con lenguaje de contactos.

4) Agrupaciones de contactos: Las operaciones OR, AND y NOT pueden agruparse entre sí, dando lugar a bloques de contactos que pueden
descomponerse en las operaciones elementales.




                                     Agrupación AND de ORs                                      Agrupación OR de ANDs

Existen no obstante una serie de agrupaciones no lícitas:

- NO se permite crear ramas que puedan causar un flujo inverso de la “corriente”.




                                                       X

- NO se permite crear ramas que puedan causar cortocircuito, y en el caso del S7-200, no se permiten más de dos inicios de rama dentro del mismo network.




Curso Autómatas Programables
                                                                    X
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.7. Operaciones con flancos.

Las operaciones de flancos (flanco positivo y flanco negativo), permiten la activación de contactos únicamente durante un ciclo de scan, cuando las
entradas a las que van asociadas cambian de “on” a “off” y viceversa.

En el caso del S7-200 se denominan “detectar flanco positivo” y “detectar flanco negativo”, mientras que en el S7-1200 pasan a nombrarse como “Consultar
flanco de señal ascendente de un operando” y “Consultar flanco de señal descendente de un operando” respectivamente.

El contacto flanco positivo (P) permite que la corriente circule durante un ciclo de scan cada vez que se produce un cambio de OFF a ON.




El contacto flanco negativo (N), en cambio, permite que la corriente circule durante un ciclo de scan cada vez que se produce un cambio de ON a OFF.




El S7-1200 añade operaciones de flancos no soportadas por el S7-200, como son:

- Activar operando con señal de flanco ascendente: Pone el operando indicado a 1 cuando se registra un cambio lógico de 0 a 1.

- Activar operando con señal de flanco descendente: Pone el operando indicado a 1 cuando se registra un cambio lógico de 1 a 0.

- Consultar flanco de señal ascendente del RLO: La instrucción "Consultar flanco de señal ascendente del RLO" permite consultar un cambio del estado
lógico del resultado lógico de "0" a "1".

- Consultar flanco de señal descendente del RLO: La instrucción "Consultar flanco de señal descendente del RLO" permite consultar un cambio del estado
lógico del resultado lógico de "1" a "0".

Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.7. Operaciones con flancos.

En el siguiente ejemplo puede verse el uso y empleo de la detección de flancos positivos (P) y negativos (N):




Los flancos son por tanto especialmente útiles en el procesado de señales de corta duración o bien en el caso de posible intromisión de señales en una
misma activación, permitiendo discernir la acción a realizar en función de las condiciones.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.8. Operaciones de memoria y uso de marcas.

Una función de memoria es aquella que genera un evento y lo mantiene aunque cese la acción inicial que lo originó. El almacenamiento de operaciones en
memoria no es una función específica del PLC, sino que, al igual que en la lógica cableada, puede conseguirse de diversas formas: mediante
realimentaciones por contacto, haciendo uso de marcas internas o empleando biestables (como las funciones SET y RESET anteriormente introducidas).

En la lógica cableada es muy común el uso de la realimentación por contacto. De este modo, puede almacenarse un estado previo para su uso posterior.
En un arranque con pulsadores de marcha y paro, el pulsador de marcha es el que origina el evento que alimenta la bobina, el contacto en paralelo el que la
realimenta y el pulsador de parada el que la desactiva. Si transcribimos ese circuito a lógica de contactos, el programa será similar al de la siguiente figura:




En el caso anterior se emplea un contacto abierto de la salida Q0.0 para mantener la alimentación en la misma aunque la condición de activación que lo
originó (cambio de 0 a 1 de I0.0) haya cesado.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

                                                                           Figura 1.75. Realimentación por contactos.
2.8. Operaciones de memoria y uso de marcas.
                                      El empleo de marcas internas, también denominadas memorias o bits internos, tiene un comportamiento similar al
El área de marcas del PLC (denominadasauxiliares en la lógica cableada. De estaoforma,internos),almacenar estados intermedios de memoria de los relés auxiliares en la lógica
                                de los relés marcas internas, relés internos bits es posible tiene un comportamiento similar al (al
cableada. De esta forma, es posible almacenar relés auxiliares) para usarlos a conveniencia en la activación / desactivación de salidas físicas, usarlos a conveniencia en la
                                igual que hacen los estados intermedios de memoria (al igual que hacen los relés auxiliares) para
activación / desactivación de salidas físicas, activación marcas, temporizadoresmarcas, temporizadores o contadores, o bien para la llamada a funciones.
                                activación / desactivación de / desactivación de o contadores, o bien para la llamada a funciones.




                                                                            Figura 1.76. Empleo de marcas internas.


En el ejemplo anterior puede verse 7.1.8. Órdenes de comparación. física a través de un relé interno (marca interna), con el que se actúe de forma similar a como
                                    cómo se alimenta una salida
se hacía en el ejemplo anterior sobre la propia salida.
                                      Las operaciones de comparación se utilizan para comparar dos valores. Las posibilidades son:

El área de marcas (M) tiene un tamaño específico dependiendo del PLC.
                                      IN1 = IN2!
                                      IN1 >= IN2!
                                      IN1 <= IN2
         S7-200                       IN1 > IN2!
                                      IN1 < IN2!
                                      IN1 <> IN2


        S7-1200                        Estas comparaciones pueden realizarse con todos los tipos de datos que podemos encontrar en un S7-200. Los
                                  tipos de datos más corrientes en representación (que ocuparán determinados bits, bytes, palabras y dobles palabras
                                  como elementos de almacenamiento de información que ya hemos visto), son los siguientes:
Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.9. Marcas especiales.

Las marcas especiales (SM en el S7-200) permiten intercambiar datos entre la CPU y el programa. Estas marcas (muchas de sólo lectura) se pueden utilizar
para seleccionar y controlar algunas funciones especiales de la CPU S7-200. Por ejemplo, hay una marca que se activa sólo en el primer ciclo, marcas que se
activan y se desactivan en determinados intervalos, o bien marcas que muestran el estado de las operaciones matemáticas y de otras operaciones.



                                       Manual del sistema de automatización S7-200l




                                      SMB0: Bits de estado
El área SM puede ser accesible en diversos formatos, pero normalmente se lee en formato BIT o formato BYTE. En la tabla resumen de la figura puede verse
                                              Como muestra la tabla D-1, SMB0 contiene ocho bits de estado que la CPU S7--200 actualiza al
el tamaño del área de memoria que abarca el área SM.
                                              final de cada ciclo.
Algunos bytes y bits del área SM son de especial uso y relevancia:
                                               Tabla D-1    Byte de marcas SMB0 (SM0.0 a SM0.7)
                                       SMB0     Bits SM       Descripción (sólo lectura)
                                                SM0.0         Este bit siempre está activado.
                                                SM0.1         Este bit se activa en el primer ciclo. Se utiliza p. ej. para llamar una subrutina de inicialización.
                                                SM0.2         Este bit se activa durante un ciclo si se pierden los datos remanentes. Se puede utilizar como
                                                              marca de error o como mecanismo para llamar a una secuencia especial de arranque.
                                                SM0.3         Este bit se activa durante un ciclo cuando se pasa a modo RUN tras conectarse la
                                                              alimentación. Se puede utilizar durante el tiempo de calentamiento de la instalación antes del
                                                              funcionamiento normal.
                                                SM0.4         Este bit ofrece un reloj que está activado durante 30 segundos y desactivado durante 30
                                                              segundos, siendo el tiempo de ciclo de 1 minuto. Ofrece un retardo fácil de utilizar o un reloj de
                                                              1 minuto.
                                                SM0.5         Este bit ofrece un reloj que está activado durante 0,5 segundos y desactivado durante 0,5
                                                              segundos, siendo el tiempo de ciclo de 1 segundo. Ofrece un retardo fácil de utilizar o un reloj
                                                              de 1 segundo.
                                                SM0.6         Este bit es un reloj que está activado en un ciclo y desactivado en el ciclo siguiente. Se puede
                                                              utilizar como entrada de contaje de ciclos.
                                                SM0.7         Este bit indica la posición del selector de modos de operación (OFF = TERM; ON = RUN). Si el
                                                              bit se utiliza para habilitar el modo Freeport cuando el selector esté en posición RUN, se podrá
Curso Autómatas Programables                                  habilitar la comunicación normal con la programadora cambiando el selector a TERM.
IES San Roque (BADAJOZ)
José María Delgado Casado
Manual del sistema de automatización S7-200l


UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.
                 SMB1: Bits de estado
                            SMW22 amuestra la tablaTiempos de ciclo indicadores de los posibles errores.
                               Como SMW26: D-2, SMB1 contiene varios
2.9. Marcas especiales.             Estos bits son activados y desactivados por ciertas operaciones durante el tiempo de ejecución.
                                    Como muestra la tabla D-9, las marcas especiales SMW22, SMW24, y SMW26 informan sobre el
                                    tiempo de ciclo. Permiten leer el último tiempo de ciclo, así como los tiempos de ciclo mínimo y
                                    Tabla D-2
                                    máximo.      Byte de marcas SMB1 (SM1.0 a SM1.7)
                            SMB1     Bits SM      Descripción (sólo lectura)
                                     Tabla D-9
                                     SM1.0       Palabras se activa alSMW22 a SMW26 operaciones si el resultado lógico es cero.
                                                  Este bit de marcas ejecutarse ciertas
                                      Palabra de    Descripción (sólo lectura)
                                     SM1.1        Este bit se activa al ejecutarse ciertas operaciones si se produce un desbordamiento o si se
                                      marcas
                                                  detecta un valor numérico no válido.
                                      SMW22         Tiempo del último ciclo en milisegundos.
                                     SM1.2        Este bit se activa si el resultado de una operación aritmética es negativo.
                                      SMW24         Tiempo de ciclo mínimo en milisegundos desde que inició el modo RUN.
                                     SM1.3        Este bit se activa si se intenta dividir por cero.
                                      SMW26         Tiempo de ciclo máximo en milisegundos desde que inició el modo RUN.
                                     SM1.4        Este bit se activa si la operación Registrar valor en tabla intenta sobrepasar el límite de llenado
                                                  de la tabla.

                            SMB28 y SMB29: Potenciómetros analógicos de una tabla vacía.
                                SM1.5  Este bit se activa si las operaciones FIFO o LIFO intentan leer
                                     SM1.6          Este bit se activa si se intenta convertir un valor no BCD en un valor binario.
                                     Como muestra la tabla D-10, SMB28 almacena el valor digital que representa la posición del
                                     potenciómetro analógico 0. SMB29 almacena el valor digital queen un valor hexadecimal válido.
                                     SM1.7       Este bit se activa si un valor ASCII no se puede convertir
                                                                                                            representa la posición del
                                     potenciómetro analógico 1.

                                     Tabla D-10    Bytes de marcas SMB28 y SMB29
                            SMB28     Byte SM         Descripción (sólo lectura)
                            SMB29
                                      SMB28           Este byte almacena el valor leído del potenciómetro analógico 0. El valor se actualiza una
                                                      vez por ciclo en STOP/RUN.
                                      SMB29           Este byte almacena el valor leído del potenciómetro analógico 1. El valor se actualiza una
                                                      vez por ciclo en STOP/RUN.



                            SMB30 y SMB130: Registros de control del modo Freeport
                            506      SMB30 y SMB130 controlan la comunicación Freeport en los puertos 0 y 1, respectivamente.
                                     SMB30 y SMB130 son marcas de lectura y escritura. Como muestra la tabla D-11, estos bytes
                                     configuran la comunicación Freeport en los respectivos puertos y permiten seleccionar si se debe
                                     asistir el modo Freeport o el protocolo de sistema.

                                     Tabla D-11    Bytes de marcas SMB30
                                      Puerto 0      Puerto 1        Descripción
                                      Formato de    Formato de         Byte de control del modo Freeport
Curso Autómatas Programables
                      SMB30                         SMB130             MSB                           LSB
IES San Roque (BADAJOZ)                                                 7                             0
José María Delgado Casado                                                p   p   d   b   b   b   m m
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.9. Marcas especiales.

En el S7-200 no existe el área de marcas especiales. Éstas se han distribuido en múltiples localizaciones, de forma que no hay necesidad específica de
disponer de un área concreta de selección y control de áreas especiales. No obstante existen determinadas “marcas de sistema” y “marcas de ciclo” que
pueden definirse en las propiedades de la CPU y que actúan de forma similar a las áreas SM del S7-200:

                                                                                                    En las propiedades del PLC, en “Marcas de
                                                                                                    sistema y de ciclo” pueden habilitarse áreas M que
                                                                                                    posibilitan disponer de bit de primer ciclo (aunque
                                                                                                    se pueda implementar mediante el OB100), bit de
                                                                                                    siempre ON o siempre OFF y bits de frecuencias
                                                                                                    de reloj específicas.

                                                                                                    Es importante tener en cuanta que al configurar
                                                                                                    áreas M con este uso, ya no estarán disponibles
                                                                                                    como áreas de marcas para relés internos en el
                                                                                                    uso del PLC.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
2. Elementos básicos de programación en LD / KOP.

2.9.1. Marcas especiales: potenciómetros analógicos (S7-200).


                                                                El S7-200 viene con uno o dos potenciómetros analógicos
                                                                (dependiendo de CPU) cuyo valor en formato byte es
                                                                accesible en el área de marcas especiales, en los bytes
                                                                SMB28 y SMB29.

                                                                El valor de los potenciómetros puede ser empleado para
                                                                ajustes externos sin necesidad de tener que realizar
                                                                modificaciones en el programa de usuarios (ajuste de
                                                                valores de contaje, tiempos de arranque de máquinas,
                                                                tiempos de proceso o soldadura, modificación de medidas
                                                                memorizadas en el autómata, etc.).

                                                                Dado que los potenciómetros figuran en memoria en
                                                                formato byte (tienen una resolución de 8 bits o 256
                                                                valores), a la hora de realizar ajustes de tiempo es
                                                                necesario hacerlos pasar por un acumulador para poder
                                                                realizar los movimientos de datos.

                                                                En el ejemplo puede observarse el proceso (aunque se
                                                                emplean órdenes aún no vistas).




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
        3. Otras instrucciones de programación en LD / KOP.

        3.1. Comparaciones.

        Los bits de comparación permiten comparar áreas de memoria del PLC, activándose o desactivándose si se cumplen las condiciones de comparación.
        Existen varias comparaciones posibles que pueden realizarse:




Sistemas La forma de realizar la comparación entre áreas de memoria difiere sustancialmente entre el S7-200 y el S7-1200. Mientras que en el primero, siempre que se
         automatizados basados en Autómatas Programables      52
                                                                                       IES
           realiza una comparación, es necesario especificar el formato de la misma, resultando de esta forma comparaciones en formato byte, entero, doble entero y
SISTEMAS ELÉCTRICOS Y AUTOMATIZADOS                             Curso             García Téllez
           real, en el caso del S7-1200 se simplifica la operación, implementando una sola función de comparación en la que será necesario escoger el tipo de dato a
                                                                                    (Cáceres)
a Delgado Casado                                              2012/2013
           comparar entre los implementados por el S7-1200.




                                                                                                   Comparaciones posibles en S7-1200
                              Figura 1.78. Tipos de comparaciones.
                             Comparaciones posibles en S7-200
       Curso Autómatas Programables
       IES San Roque (BADAJOZ)
        José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
3. Otras instrucciones de programación en LD / KOP.

3.1. Comparaciones.

El tipo de dato a comparar es fundamental, ya que obliga a escoger uno u otro bit de comparación de entre las posibilidades que ofrece la CPU.

En el siguiente ejemplo para un S7-200 puede verse cómo se compara, en formato Byte, el valor de un potenciómetro (SMB28) con valores fijos (50 y 150) y
se activan o desactivan salidas en función del resultado lógico de la comparación:




En el caso del S7-1200, dado que los potenciómetros no están implementados en el PLC, puede compararse una entrada analógica en formato entero:




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
3. Otras instrucciones de programación en LD / KOP.

3.2. Órdenes de movimiento.

Las órdenes de movimiento o transferencia posibilitan el movimiento de datos entre diferentes áreas de memoria. Es importante tener en cuenta que,
aunque se denominen órdenes de movimiento, los datos originales continuarán en el área de memoria de origen.

Las órdenes de movimiento son esenciales para el trabajo de memoria del autómata programable, ya que el procesado de datos obliga en numerosas
ocasiones a mover / depositar datos en posiciones de memoria en las que originalmente no estaban.

Estos comandos de transferencia difieren, al igual que ocurría con las comparaciones, entre el S7-200 y el S7-1200. Mientras que en el primero es necesario
especificar el formato de los datos a mover, en el segundo puede emplearse un formato genérico.

Las órdenes de movimiento exigen que el formato de datos a la entrada y a la salida (área origen y área destino) sean el mismo: byte, palabra o doble
palabra.




En el caso del S7-1200, las órdenes de movimiento (obviando las de tipo tabla) se han sustituido por una única orden (MOVE) en la que además no es
necesario la concordancia del tipo de datos, sino que los datos se truncan o llenan valores nulos a necesidad, con la ventaja adicional de poder copiar el
área de origen en múltiples localizaciones de destino.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
3. Otras instrucciones de programación en LD / KOP.

3.2. Órdenes de movimiento.

En los siguientes ejemplos se muestran algunos casos prácticos de empleo de órdenes de movimiento:




                                  Movimiento de valor de un temporizador a un área de memoria en formato W




                                       Movimiento del valor de PI a un área de memoria en formato REAL




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
3. Otras instrucciones de programación en LD / KOP.

3.3. Bloques de organización de programa (S7-200)

Como se ha comentado anteriormente, el S7-200 ejecuta de forma cíclica un bloque de programa, denominado PRINCIPAL. En él va estructurado el
programa de usuario. Es posible, no obstante, estructurar el programa de usuario en bloques o subrutinas que se ejecutarán ante una llamada desde el
principal.


Las subrutinas son trozo de código de programa que se utilizan para estructurar o dividir el programa en bloques más pequeños, más fáciles de gestionar.
Son elementos opcionales del programa (su uso no es ni mucho menos obligado, como ya has podido comprobar hasta este punto), adecuándose para
funciones que se deban ejecutar repetidamente.

Así, en vez de tener que escribir la lógica de la función en cada posición del programa principal donde se deba ejecutar esa función, basta con escribirla sólo
una vez en una subrutina y llamar a la subrutina desde el programa principal cada vez que sea necesario. Las subrutinas tienen varias ventajas:


- La utilización de subrutinas permite reducir el tamaño total del programa.

- La utilización de subrutinas acorta el tiempo de ciclo, puesto que el código se ha extraído del programa principal. El S7-200 evalúa el código del programa
principal en cada ciclo, sin importar si el código se ejecuta o no. Sin embargo, el S7-200 evalúa el código en la subrutina sólo si se llama a ésta. En cambio, no
lo evalúa en los ciclos en los queno se llame a la subrutina.

-  La utilización de subrutinas crea códigos portátiles. Es posible aislar el código de una función en una subrutina y copiar ésta a otros programas sin
necesidad de efectuar cambios o con sólo pocas modificaciones.

- Facilita las tareas de comprobación, eliminación de errores y mantenimiento del programa.

- La CPU también se puede utilizar más eficientemente, invocando el bloque sólo cuando se necesite, en vez de ejecutar todos los bloques en cada ciclo.

- Permite el paso de parámetros desde el programa principal, así como devolver resultados desde la misma al principal.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
      3. Otras instrucciones de programación en LD / KOP.                                                Figura 2.23. Insertar Subrutina desde menú Edición.


       3.3. Bloques de organización de programa (S7-200)
                                                           - O bien
  TEMA 1. Sistemas automatizados basados en Autómatas Programables    insertar la subrutina desde la pestaña inferior de PRINCIPAL, con botón derecho de ratón > Ins
                                                                         14
                                                                                               IES
CIDA – 2º CFGSposible insertar hasta 256 subrutinas en el programa de usuario, bien desde García Téllez
            Es SISTEMAS ELÉCTRICOS Y AUTOMATIZADOS             Subrutina.
                                                                        Curso
                                                                                           el menú edición -> insertar o bien desde la pestaña de subrutinas en la
Autor: José ventana de edición.
            María Delgado Casado                                      2012/2013             (Cáceres)




                                  Figura 2.23. Insertar Subrutina desde menú Edición.
                                                                                                              Figura 2.24. Insertar Subrutina pestañas.
       Para la llamada a la subrutina se emplea la orden de llamamiento a subrutina precedida de las condiciones de activación definidas. Sólo podrán llamarse
 O biensubrutinas subrutina desde la previamente creadas.
        insertar la que hayan sido pestaña inferior de PRINCIPAL, con botón derecho de ratón > Insertar >
                                                                    !           Es posible llamar a una subrutina con parámetros (similar a la llamada a funciones con paráme
 Subrutina.
                                                                    entrada / salida de la programación estructurada). Los parámetros se definen en la tabla de variables locale
                                                                    subrutina. Estos parámetros deben tener un nombre simbólico (de 23 caracteres como máximo), un tipo de varia
                                                                    tipo de datos. Se pueden transferir 16 parámetros a o desde una subrutina.


       Una vez llamada, el control del programa pasará a la subrutina, que lo devolverá al principal tablavez finalizada o al encontrarse funciones especiales de a la s
                                                     !         El campo “Tipo de variable” en la una de variables locales define si la variable se transfiere
       retorno condicionado (RET).                   (IN), a y desde la subrutina (IN_OUT) o desde la subrutina (OUT).



      Curso Autómatas Programables
      IES San Roque (BADAJOZ)
      José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
3. Otras instrucciones de programación en LD / KOP.

3.3. Bloques de organización de programa (S7-1200)

En el S7-200, la organización de programa sólo podía realizarse mediante subrutinas, rutinas de interrupción, marcas especiales y órdenes de control
de programa (saltos, fines condicionados, etc.).

En el S7-1200 se ha implementado la lógica organizativa de modelos superiores de PLCs como los S7-300 y los S7-400, de forma que existen diferentes
bloques de programa, que pueden ser de varios tipos:


                                                                          - Bloques de organización (OB): definen la estructura del programa.
                                                                          Existen OBs predefinidos (como el OB1, que es el principal o MAIN, el
                                                                          OB100, que es el de arranque, el OB200, de alarmas cíclicas, etc.) y otros
                                                                          que pueden ser definidos por el usuario.

                                                                          - Funciones (FC) y bloques de función (FB): Contienen el código de
                                                                          programa correspondiente tareas específicas o combinaciones de
                                                                          parámetros. Cada FC o FB provee parámetros de entrada y salida para
                                                                          compartir datos con el bloque invocante. Un FB utiliza también un bloque de
                                                                          datos asociado (denominado DB instancia) para conservar el estado de
                                                                          valores durante la ejecución que pueden utilizar otros bloques del programa.

                                                                          - Bloques de datos (DB): almacenan datos que pueden ser utilizados por
                                                                          los bloques del programa.




                             Imagen: Siemens




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD3. Lenguaje de programación y set de instrucciones.
3. Otras instrucciones de programación en LD / KOP.

3.3. Bloques de organización de programa (S7-200 y S7-1200)


                                                                  Como puede observarse, la estructura de programa cambia sustancialmente
                                                                  entre el S7-200 y el S7-1200.

                                                                  En el primero existe un único bloque principal (MAIN) desde el que se
                                                                  realizan llamadas a subrutinas e interrupciones. A su vez, desde cada una de
                                                                  estas pueden realizarse llamadas a nuevas subrutinas e interrupciones,
                                                                  debiendo posteriormente devolver el control al bloque principal.




 En el caso del S7-1200, el OB1 o principal toma el control del
 programa tras la rutina de arranque (OB100) y puede
 intercambiar datos con bloques de datos globales (accesibles
 desde cualquier elemento de programa), y realizar llamadas a
 funciones (FC) o bloques de función (FB). Estos últimos
 además podrán intercambiar datos con bloques de datos de
 instancia (accesibles únicamente desde esa FB).




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
CPR de Badajoz
                   Curso 2012 /2013




            Podéis encontrarme en:


                     @JM_Delgado



                      José María Delgado Casado


                      jmdelgado@elec2.es



                      www.elec2.es


                      http://www.youtube.com/jmardelc



                       http://www.slideshare.net/Jmardelc



                      http://pinterest.com/jmardelc/



                       http://magnetic.tumblr.com/



                       José María Delgado Casado




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
CPR de Badajoz
                   Curso 2012 /2013




   Todo el material contenido y generado en este documento, excepto aquellas imágenes que pudieran tener licencia copyright y que se han empleado con
                                    fines educativos, están licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.




Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado

Más contenido relacionado

La actualidad más candente

Unidad 5 - Introducción al control PID e implementación en S7-1200.
Unidad 5 - Introducción al control PID e implementación en S7-1200.Unidad 5 - Introducción al control PID e implementación en S7-1200.
Unidad 5 - Introducción al control PID e implementación en S7-1200.José María Delgado Casado
 
Circuitos integrados l298 y uln2803
Circuitos  integrados l298 y uln2803Circuitos  integrados l298 y uln2803
Circuitos integrados l298 y uln2803Donde ya tu sabes!!!
 
PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET SANTIAGO PABLO ALBERTO
 
Introducción a la domótica x10
Introducción a la domótica x10Introducción a la domótica x10
Introducción a la domótica x10julianp46
 
Métodos clásicos para modelación de sistemas
Métodos clásicos para modelación de sistemasMétodos clásicos para modelación de sistemas
Métodos clásicos para modelación de sistemasMatías Gabriel Krujoski
 
06 blocos de_programação
06 blocos de_programação06 blocos de_programação
06 blocos de_programaçãoconfidencial
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Anllel Cardenas Yllanes
 
Cam unidad 4 - tema 1 - scada y dcs.
Cam   unidad 4 - tema 1 - scada y dcs.Cam   unidad 4 - tema 1 - scada y dcs.
Cam unidad 4 - tema 1 - scada y dcs.UDO Monagas
 
DeltaV overview v11
DeltaV overview v11DeltaV overview v11
DeltaV overview v11Luis Atencio
 
I Control de Sistemas.
I Control de Sistemas.I Control de Sistemas.
I Control de Sistemas.ESCOM
 
SIMATIC S7-1200 Overview
SIMATIC S7-1200 OverviewSIMATIC S7-1200 Overview
SIMATIC S7-1200 OverviewLuis Narvaez
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y tecladoLuis Zurita
 
Examen 2013
Examen 2013Examen 2013
Examen 2013josglods
 

La actualidad más candente (20)

Unidad 5 - Introducción al control PID e implementación en S7-1200.
Unidad 5 - Introducción al control PID e implementación en S7-1200.Unidad 5 - Introducción al control PID e implementación en S7-1200.
Unidad 5 - Introducción al control PID e implementación en S7-1200.
 
Circuitos integrados l298 y uln2803
Circuitos  integrados l298 y uln2803Circuitos  integrados l298 y uln2803
Circuitos integrados l298 y uln2803
 
PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET
 
Introducción a la domótica x10
Introducción a la domótica x10Introducción a la domótica x10
Introducción a la domótica x10
 
Métodos clásicos para modelación de sistemas
Métodos clásicos para modelación de sistemasMétodos clásicos para modelación de sistemas
Métodos clásicos para modelación de sistemas
 
06 blocos de_programação
06 blocos de_programação06 blocos de_programação
06 blocos de_programação
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler
 
Cam unidad 4 - tema 1 - scada y dcs.
Cam   unidad 4 - tema 1 - scada y dcs.Cam   unidad 4 - tema 1 - scada y dcs.
Cam unidad 4 - tema 1 - scada y dcs.
 
Automatizacion ejercicios
Automatizacion ejerciciosAutomatizacion ejercicios
Automatizacion ejercicios
 
Logo
LogoLogo
Logo
 
DeltaV overview v11
DeltaV overview v11DeltaV overview v11
DeltaV overview v11
 
I Control de Sistemas.
I Control de Sistemas.I Control de Sistemas.
I Control de Sistemas.
 
SIMATIC S7-1200 Overview
SIMATIC S7-1200 OverviewSIMATIC S7-1200 Overview
SIMATIC S7-1200 Overview
 
PLC: GRAFCET
PLC: GRAFCETPLC: GRAFCET
PLC: GRAFCET
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Plc
PlcPlc
Plc
 
Examen 2013
Examen 2013Examen 2013
Examen 2013
 
Apunte electroneumatica-micro-051
Apunte electroneumatica-micro-051Apunte electroneumatica-micro-051
Apunte electroneumatica-micro-051
 
Programación GRAFCET
Programación GRAFCETProgramación GRAFCET
Programación GRAFCET
 

Destacado

Unidad 0 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 0 - Autómatas Programables en las Instalaciones Térmicas y de FluidosUnidad 0 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 0 - Autómatas Programables en las Instalaciones Térmicas y de FluidosJosé María Delgado Casado
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Guido Carmona Girón
 
PLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasPLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasDidier Ramirez
 
Teoria s7 300-basico
Teoria s7 300-basicoTeoria s7 300-basico
Teoria s7 300-basicoGerardo Moya
 
Manual de plc
Manual de plcManual de plc
Manual de plcpapito15
 
Presentación Erasmus Curso 2012/2013 IES Javier García Téllez
Presentación Erasmus Curso 2012/2013 IES Javier García TéllezPresentación Erasmus Curso 2012/2013 IES Javier García Téllez
Presentación Erasmus Curso 2012/2013 IES Javier García TéllezJosé María Delgado Casado
 
Presentación Erasmus IES Javier García Téllez - Curso 2013 2014
Presentación Erasmus IES Javier García Téllez - Curso 2013 2014Presentación Erasmus IES Javier García Téllez - Curso 2013 2014
Presentación Erasmus IES Javier García Téllez - Curso 2013 2014José María Delgado Casado
 
Estructura del Control PID
Estructura del Control PIDEstructura del Control PID
Estructura del Control PIDPaolo Castillo
 
Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado  Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado Ramon Fernandez
 
Reglas de sintonizacion_para_controladores_pid
Reglas de sintonizacion_para_controladores_pidReglas de sintonizacion_para_controladores_pid
Reglas de sintonizacion_para_controladores_pidCesar Garech
 
Electronica de Potencia
Electronica de PotenciaElectronica de Potencia
Electronica de PotenciaGabriel Charry
 
cascada electroneumatica
cascada electroneumaticacascada electroneumatica
cascada electroneumaticaDimas Rumay
 
Presentacion modelo casacada_ modelo_v
Presentacion modelo casacada_ modelo_vPresentacion modelo casacada_ modelo_v
Presentacion modelo casacada_ modelo_vJorge Luis
 
Curso: Simatic S7: Fundamentos
Curso: Simatic S7: FundamentosCurso: Simatic S7: Fundamentos
Curso: Simatic S7: FundamentosAIINTECPERU
 

Destacado (20)

Unidad 0 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 0 - Autómatas Programables en las Instalaciones Térmicas y de FluidosUnidad 0 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 0 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7
 
PLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasPLC- Instrucciones avanzadas
PLC- Instrucciones avanzadas
 
Insercion laboral alumnos IES San Roque
Insercion laboral alumnos IES San RoqueInsercion laboral alumnos IES San Roque
Insercion laboral alumnos IES San Roque
 
Teoria s7 300-basico
Teoria s7 300-basicoTeoria s7 300-basico
Teoria s7 300-basico
 
Manual de plc
Manual de plcManual de plc
Manual de plc
 
Apuntes s7 200
Apuntes s7 200Apuntes s7 200
Apuntes s7 200
 
Presentación Erasmus Curso 2012/2013 IES Javier García Téllez
Presentación Erasmus Curso 2012/2013 IES Javier García TéllezPresentación Erasmus Curso 2012/2013 IES Javier García Téllez
Presentación Erasmus Curso 2012/2013 IES Javier García Téllez
 
Herramientas colaborativas
Herramientas colaborativasHerramientas colaborativas
Herramientas colaborativas
 
Presentación Erasmus IES Javier García Téllez - Curso 2013 2014
Presentación Erasmus IES Javier García Téllez - Curso 2013 2014Presentación Erasmus IES Javier García Téllez - Curso 2013 2014
Presentación Erasmus IES Javier García Téllez - Curso 2013 2014
 
Estructura del Control PID
Estructura del Control PIDEstructura del Control PID
Estructura del Control PID
 
Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado  Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado
 
Potenciometro
PotenciometroPotenciometro
Potenciometro
 
Reglas de sintonizacion_para_controladores_pid
Reglas de sintonizacion_para_controladores_pidReglas de sintonizacion_para_controladores_pid
Reglas de sintonizacion_para_controladores_pid
 
Micromaster 410
Micromaster 410Micromaster 410
Micromaster 410
 
Electronica de Potencia
Electronica de PotenciaElectronica de Potencia
Electronica de Potencia
 
Braulio yeuris g3
Braulio yeuris g3Braulio yeuris g3
Braulio yeuris g3
 
cascada electroneumatica
cascada electroneumaticacascada electroneumatica
cascada electroneumatica
 
Presentacion modelo casacada_ modelo_v
Presentacion modelo casacada_ modelo_vPresentacion modelo casacada_ modelo_v
Presentacion modelo casacada_ modelo_v
 
Curso: Simatic S7: Fundamentos
Curso: Simatic S7: FundamentosCurso: Simatic S7: Fundamentos
Curso: Simatic S7: Fundamentos
 

Similar a Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos

Similar a Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos (20)

Diagrama escalera
Diagrama escaleraDiagrama escalera
Diagrama escalera
 
Diagrama escalera
Diagrama escaleraDiagrama escalera
Diagrama escalera
 
final PWM
final PWMfinal PWM
final PWM
 
Curso-de-PLC.pdf
Curso-de-PLC.pdfCurso-de-PLC.pdf
Curso-de-PLC.pdf
 
Rtc ds1307
Rtc ds1307Rtc ds1307
Rtc ds1307
 
Apuntes s7 200
Apuntes s7 200Apuntes s7 200
Apuntes s7 200
 
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
 
preinforme PWM
preinforme PWMpreinforme PWM
preinforme PWM
 
Elaboracion de circuitos modulos logicos programables
Elaboracion de circuitos modulos logicos programablesElaboracion de circuitos modulos logicos programables
Elaboracion de circuitos modulos logicos programables
 
Manual de usuario
Manual de usuarioManual de usuario
Manual de usuario
 
Pixx
PixxPixx
Pixx
 
Areas de memoria PLCs Omron
Areas de memoria PLCs OmronAreas de memoria PLCs Omron
Areas de memoria PLCs Omron
 
Btin 03
Btin 03Btin 03
Btin 03
 
15ava_Clase.pptx
15ava_Clase.pptx15ava_Clase.pptx
15ava_Clase.pptx
 
electrio
electrioelectrio
electrio
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
 
Profinet PN
Profinet PNProfinet PN
Profinet PN
 
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptxCURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
 
Topfield
TopfieldTopfield
Topfield
 
Comunicacion industrial profinet
Comunicacion industrial   profinetComunicacion industrial   profinet
Comunicacion industrial profinet
 

Último

RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 

Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos

  • 1. CPR de Badajoz Curso 2012 /2013 UD3.Lenguaje de programación LD/KOP y set de instrucciones. José María Delgado Casado Profesor Técnico FP Instalaciones Electrotécnicas IES JAVIER GARCÍA TÉLLEZ (Cáceres)
  • 2. UD3. Lenguaje de programación y set de instrucciones. 1.Introducción al lenguaje LD /KOP. Como se ha visto anteriormente, la nemotecnia básica en lenguaje LD / KOP permite una traducción “casi” directa entre lógica de relés y diagrama de contactos. La estructura de un programa en lenguaje KOP se basa en la disposición ordenada y consecutiva de barras de contactos (denominadas segmentos o Networks), de acuerdo a unas reglas específicas, y conectadas todas ellas a una barra de red suministradora de señal en la parque izquierda. La lectura del programa en lenguaje KOP se realiza de forma completa en cada ciclo de scan del PLC, volcando los resultados al proceso de imagen de las salidas, y actuando de forma consecuente con las áreas de memoria correspondientes. Network 1 ó SEGMENTO 1 BARRA DE RED Network 2 ó SEGMENTO 2 Network 3 ó SEGMENTO 3 Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 3. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.1. Contactos. Los contactos son la base de programación en lenguaje KOP. Son elementos tipo bit que pueden adoptar los valores 1 ó 0. Se representan como abiertos o cerrados, y su uso es idéntico al que se hace de los contactos de relés en esquemas cableados. Pueden estar asociados a diversas áreas de memoria (E/S físicas, temporizadores, contadores, marcas y variables, etc.). La dirección de memoria asociada al contacto será una dirección tipo bit de acuerdo a la estructura de direccionamiento directo anteriormente vista. 2.2. Bobinas Las bobinas reciben este nombre por analogía con los sistemas cableados. Son el resultado lógico de una combinación de elementos anteriores en el segmento, que si se cumplen, harán llegar señal desde la barra de red hasta la bobina, activando ésta mientas la señal se mantenga, y operando sobre el área de memoria correspondiente. Las bobinas son los últimos elementos en cada barra de red, no pudiendo estar en posición intermedia (excepto en S7-1200). Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 4. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.3. Funciones SET / RESET. La activación de salidas (áreas de memoria) asociada a bobinas sólo se mantiene durante el tiempo que dure la señal activadora. Es posible no obstante producir un cambio permanente en el área de memoria con sólo un flanco positivo de señal (cambio de 0 a 1 en la alimentación de la bobina) mediante la función SET. Una vez hecho un SET de una salida (área de memoria), sólo se podrá desactivar haciendo un correspondiente RESET, ya que aunque no le llegue alimentación a la función SET, la salida sobre la que actuó continuará activada en tanto no se realice su correspondiente RESET. En el caso del S7-1200 existen las funciones S_BF y R_BF, que, de forma análoga a como se realiza como MicroWIN, permiten poner a SET o a RESET un bloque de bits indicando su dirección inicial y su tamaño. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 5. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.4. Temporizadores. Los temporizadores son áreas de memoria que generan eventos cuando alcanzan un valor de tiempo preestablecido (PT o Preset Value). Su comportamiento es muy similar a los empleados en los circuitos cableados. A pesar de que su funcionamiento es similar, las funciones de temporización son distintas en los dispositivos S7-200 y S7-1200. No obstante, ambos tienen una entrada de activación (IN) y un tiempo preestablecido (PT). Mientras la señal de activación llegue a la puerta de entrada (IN), el temporizador empezará a contar desde 0 hasta su valor preestablecido (PT). En ese momento, siempre y cuando se mantenga la señal de activación, los contactos dependientes del temporizador conmutarán, y se mantendrán en ese estado mientras el temporizador siga alimentado. TEMPORIZADOR S7-200 TEMPORIZADOR S7-1200 Tanto en el S7-200 como en el S7-1200 existen varios tipos de temporizadores: 1) Temporizadores al trabajo (TON): Los temporizadores TON (Timer ON Delay o retardo al conectar) retardan la conmutación de sus contactos dependientes el tiempo establecido en PT. Al cambiar de 0 a 1 la entrada de habilitación (IN) el temporizador empieza a contar. Si se mantiene la señal en IN hasta el PT, los contactos dependientes del temporizador conmutarán. 2) Temporizadores al reposo (TOF): Los temporizadores TON (Timer OFf delay o retardo al desconectar) retardan la conmutación de sus contactos dependientes el tiempo establecido en PT una vez la señal de habilitación cambia de 1 a 0. Al cambiar de 0 a 1 la entrada de habilitación (IN), los contactos dependientes del temporizador conmutan de forma automática, sin iniciarse la temporización. Cuando la entrada IN cambia de 1 a 0, los contactos se mantienen en su posición conmutada, iniciándose el contaje, y volverán a su posición al llegar a PT. 3) Temporizadores retentivos (TONR): Por definición, los temporizadores (a no ser que en propiedades de sistema se definan de otro modo) son no- retentivos ante una falta de alimentación. Es posible emplear temporizadores retentivos empleando para ello los tipos TONR. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 6. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.4. Temporizadores. En el siguiente ejemplo del S7-200 puede observarse el funcionamiento de un temporizador al trabajo: ! Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 7. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.4.1. Temporizadores en el S7-200. El S7-200 dispone de 256 temporizadores (T0 a T255), con la particularidad de que la base de tiempos de los mismos no es uniforme. De esta forma, existen diversas bases de contaje que están relacionadas con el número de temporizador: ! Dado que únicamente dispone de 2 temporizadores con base 1ms (TON y TOF), estos deberán emplearse para aquellas tareas cuyo tiempo de contaje sea crítico y necesite por tanto estar ajustado al ms. Si la criticidad de la tarea o el tiempo de contaje es menos relevante, se emplearán temporizadores de base 10ms o 100ms. MicroWIN detecta automáticamente el número de temporizador especificado, reflejando la base de tiempos en el mismo. Si el tiempo especificado en PT excede del tiempo máximo de contaje del temporizador, el precompilador de programa dará un error. Es fundamental tener en cuenta que cada temporizador ocupa en el área de memoria una palabra (1W = 2 bytes), y la consulta del mismo en tabla de estado nos devolverá el tiempo instantáneo de contaje. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 8. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.4.2. Temporizadores en el S7-1200. A diferencia del S7-200, en el S7-1200 todos los temporizadores tienen base de tiempo de 1ms, por lo que el valor de tiempo puede introducirse directamente independientemente del número de temporizador. Los temporizadores en el S7-1200 tienen varias entradas / salidas de función: IN - Entrada de habilitación. Su uso y funcionalidad es igual que en el S7-200. PT - Preset Value del temporizador. La diferencia con el S7-200 radica en la base de tiempos constante de 1ms. Q - Salida de habilitación: salida que se activa una vez transcurrido el tiempo PT. ET - Valor de tiempo actual. Los temporizadores en el S7-1200 tienen además la particularidad de necesitar un bloque de datos (DB) asociado al temporizador (o global), que se declara como una estructura específica del tipo IEC_Timer. En dicha estructura de 16 bits (1W = 2 bytes) se almacenan los datos del temporizador, y entre ellos el valor de contaje (ET). Los valores de los bloque de datos pueden consultarse posteriormente en los Bloques de Sistemas del Árbol del Proyecto. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 9. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.4.2. Temporizadores en el S7-1200. Dado que en los temporizadores del S7-1200 existe salida de habilitación, es posible condensar en un sólo Network instrucciones que en el caso del S7-200 requerían al menos 2. En el siguiente ejemplo pueden verse las diderencias de uso. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 10. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.5. Contadores. Los contadores son áreas de memoria que generan eventos cuando alcanzan un determinado número de sucesos. Su uso es necesario en funciones que tengan como finalidad o medio el contaje de sucesos. Tanto en el S7-200 como en el S7-1200 existen diversos tipos de contadores: 1) Contadores incrementales (CTU): Los contadores incrementales (CounTer Up) cuentan un suceso hacia adelante cuando se produce un flanco positivo en la entrada de contaje hacia adelante (CU). Si el valor actual del temporizador es igual o mayor al valor de preselección PV, se activa el bit de contaje dependiente. El contador se inicializa cuando se activa la entrada de desactivación (R) o cuando se resetee el área de memoria (o DB) correspondiente. S7-200 S7-1200 2) Contadores decrementales (CTD): Los contadores incrementales (CounTer Down) cuentan un suceso hacia atrás desde PV cuando se produce un flanco positivo en la entrada de contaje hacia atrás (CD). Si el valor actual del temporizador es igual a 0 se activa el bit de contaje dependiente. El contador desactiva el bit de contaje y carga el valor actual con el valor de preselección (PV) cuando se activa la entrada de carga LD. S7-200 S7-1200 Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 11. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.5. Contadores. 3) Contadores incrementales / decrementales (CTUD): La operación Incrementar/decrementar contador (CTUD) empieza a contar adelante cuando se produce un flanco positivo en la entrada de contaje adelante (CU), y empieza a contar atrás cuando se produce un flanco positivo en la entrada de contaje atrás (CD). El valor actual del contador conserva el contaje actual. El valor de preselección PV se compara con el valor actual cada vez que se ejecuta la operación de contaje. Al llegar a 0 los bits dependientes del contador conmutarán. S7-200 S7-1200 Al igual que ocurre con los temporizadores, los contadores en el caso del S7-1200 llevan asociados necesariamente un bloque de datos (DB) de instancia o globales donde poner almacenar los datos necesarios del contador, con una estructura del tipo IEC_Counter. De igual forma, no existe un número límite de contadores, sino que su número estará limitado por la memoria del dispositivo PLC, ya que es posible crear tantos DBs asociados como permite la memoria de dispositivo. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 12. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.5. Contadores. En el siguiente ejemplo del S7-1200 puede observarse el funcionamiento de un contador incremental y su diagrama asociado: Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 13. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.6. Operaciones lógicas con lenguaje de contactos. Las operaciones lógicas con lenguaje de contactos que pueden realizarse con autómatas programables son muy diversas. No obstante, existen una serie de operaciones lógicas básicas en las que el procesado de información del autómata programable basa su funcionamiento, que son las siguientes: 1) Operación AND: Tiene su correspondencia con el circuito eléctrico combinacional de contactos en serie. El resultado de operación sólo llega a la bobina como activación cuando los operandos de los contactos abiertos se encuentran a 1 y los de los contactos cerrados a 0. 2) Operación OR: Tiene su correspondencia con el circuito eléctrico combinacional de contactos en paralelo. El resultado de operación llega a la bobina como activación cuando al menos uno de los operandos de los contactos abiertos se encuentran a 1 o los de los contactos cerrados a 0. 3) Operación NOT: La operación NOT invierte el valor de la operación lógica previa (RLO previo de la operación o conjunto de operaciones anteriores). Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 14. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.6. Operaciones lógicas con lenguaje de contactos. 4) Agrupaciones de contactos: Las operaciones OR, AND y NOT pueden agruparse entre sí, dando lugar a bloques de contactos que pueden descomponerse en las operaciones elementales. Agrupación AND de ORs Agrupación OR de ANDs Existen no obstante una serie de agrupaciones no lícitas: - NO se permite crear ramas que puedan causar un flujo inverso de la “corriente”. X - NO se permite crear ramas que puedan causar cortocircuito, y en el caso del S7-200, no se permiten más de dos inicios de rama dentro del mismo network. Curso Autómatas Programables X IES San Roque (BADAJOZ) José María Delgado Casado
  • 15. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.7. Operaciones con flancos. Las operaciones de flancos (flanco positivo y flanco negativo), permiten la activación de contactos únicamente durante un ciclo de scan, cuando las entradas a las que van asociadas cambian de “on” a “off” y viceversa. En el caso del S7-200 se denominan “detectar flanco positivo” y “detectar flanco negativo”, mientras que en el S7-1200 pasan a nombrarse como “Consultar flanco de señal ascendente de un operando” y “Consultar flanco de señal descendente de un operando” respectivamente. El contacto flanco positivo (P) permite que la corriente circule durante un ciclo de scan cada vez que se produce un cambio de OFF a ON. El contacto flanco negativo (N), en cambio, permite que la corriente circule durante un ciclo de scan cada vez que se produce un cambio de ON a OFF. El S7-1200 añade operaciones de flancos no soportadas por el S7-200, como son: - Activar operando con señal de flanco ascendente: Pone el operando indicado a 1 cuando se registra un cambio lógico de 0 a 1. - Activar operando con señal de flanco descendente: Pone el operando indicado a 1 cuando se registra un cambio lógico de 1 a 0. - Consultar flanco de señal ascendente del RLO: La instrucción "Consultar flanco de señal ascendente del RLO" permite consultar un cambio del estado lógico del resultado lógico de "0" a "1". - Consultar flanco de señal descendente del RLO: La instrucción "Consultar flanco de señal descendente del RLO" permite consultar un cambio del estado lógico del resultado lógico de "1" a "0". Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 16. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.7. Operaciones con flancos. En el siguiente ejemplo puede verse el uso y empleo de la detección de flancos positivos (P) y negativos (N): Los flancos son por tanto especialmente útiles en el procesado de señales de corta duración o bien en el caso de posible intromisión de señales en una misma activación, permitiendo discernir la acción a realizar en función de las condiciones. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 17. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.8. Operaciones de memoria y uso de marcas. Una función de memoria es aquella que genera un evento y lo mantiene aunque cese la acción inicial que lo originó. El almacenamiento de operaciones en memoria no es una función específica del PLC, sino que, al igual que en la lógica cableada, puede conseguirse de diversas formas: mediante realimentaciones por contacto, haciendo uso de marcas internas o empleando biestables (como las funciones SET y RESET anteriormente introducidas). En la lógica cableada es muy común el uso de la realimentación por contacto. De este modo, puede almacenarse un estado previo para su uso posterior. En un arranque con pulsadores de marcha y paro, el pulsador de marcha es el que origina el evento que alimenta la bobina, el contacto en paralelo el que la realimenta y el pulsador de parada el que la desactiva. Si transcribimos ese circuito a lógica de contactos, el programa será similar al de la siguiente figura: En el caso anterior se emplea un contacto abierto de la salida Q0.0 para mantener la alimentación en la misma aunque la condición de activación que lo originó (cambio de 0 a 1 de I0.0) haya cesado. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 18. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. Figura 1.75. Realimentación por contactos. 2.8. Operaciones de memoria y uso de marcas. El empleo de marcas internas, también denominadas memorias o bits internos, tiene un comportamiento similar al El área de marcas del PLC (denominadasauxiliares en la lógica cableada. De estaoforma,internos),almacenar estados intermedios de memoria de los relés auxiliares en la lógica de los relés marcas internas, relés internos bits es posible tiene un comportamiento similar al (al cableada. De esta forma, es posible almacenar relés auxiliares) para usarlos a conveniencia en la activación / desactivación de salidas físicas, usarlos a conveniencia en la igual que hacen los estados intermedios de memoria (al igual que hacen los relés auxiliares) para activación / desactivación de salidas físicas, activación marcas, temporizadoresmarcas, temporizadores o contadores, o bien para la llamada a funciones. activación / desactivación de / desactivación de o contadores, o bien para la llamada a funciones. Figura 1.76. Empleo de marcas internas. En el ejemplo anterior puede verse 7.1.8. Órdenes de comparación. física a través de un relé interno (marca interna), con el que se actúe de forma similar a como cómo se alimenta una salida se hacía en el ejemplo anterior sobre la propia salida. Las operaciones de comparación se utilizan para comparar dos valores. Las posibilidades son: El área de marcas (M) tiene un tamaño específico dependiendo del PLC. IN1 = IN2! IN1 >= IN2! IN1 <= IN2 S7-200 IN1 > IN2! IN1 < IN2! IN1 <> IN2 S7-1200 Estas comparaciones pueden realizarse con todos los tipos de datos que podemos encontrar en un S7-200. Los tipos de datos más corrientes en representación (que ocuparán determinados bits, bytes, palabras y dobles palabras como elementos de almacenamiento de información que ya hemos visto), son los siguientes: Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 19. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.9. Marcas especiales. Las marcas especiales (SM en el S7-200) permiten intercambiar datos entre la CPU y el programa. Estas marcas (muchas de sólo lectura) se pueden utilizar para seleccionar y controlar algunas funciones especiales de la CPU S7-200. Por ejemplo, hay una marca que se activa sólo en el primer ciclo, marcas que se activan y se desactivan en determinados intervalos, o bien marcas que muestran el estado de las operaciones matemáticas y de otras operaciones. Manual del sistema de automatización S7-200l SMB0: Bits de estado El área SM puede ser accesible en diversos formatos, pero normalmente se lee en formato BIT o formato BYTE. En la tabla resumen de la figura puede verse Como muestra la tabla D-1, SMB0 contiene ocho bits de estado que la CPU S7--200 actualiza al el tamaño del área de memoria que abarca el área SM. final de cada ciclo. Algunos bytes y bits del área SM son de especial uso y relevancia: Tabla D-1 Byte de marcas SMB0 (SM0.0 a SM0.7) SMB0 Bits SM Descripción (sólo lectura) SM0.0 Este bit siempre está activado. SM0.1 Este bit se activa en el primer ciclo. Se utiliza p. ej. para llamar una subrutina de inicialización. SM0.2 Este bit se activa durante un ciclo si se pierden los datos remanentes. Se puede utilizar como marca de error o como mecanismo para llamar a una secuencia especial de arranque. SM0.3 Este bit se activa durante un ciclo cuando se pasa a modo RUN tras conectarse la alimentación. Se puede utilizar durante el tiempo de calentamiento de la instalación antes del funcionamiento normal. SM0.4 Este bit ofrece un reloj que está activado durante 30 segundos y desactivado durante 30 segundos, siendo el tiempo de ciclo de 1 minuto. Ofrece un retardo fácil de utilizar o un reloj de 1 minuto. SM0.5 Este bit ofrece un reloj que está activado durante 0,5 segundos y desactivado durante 0,5 segundos, siendo el tiempo de ciclo de 1 segundo. Ofrece un retardo fácil de utilizar o un reloj de 1 segundo. SM0.6 Este bit es un reloj que está activado en un ciclo y desactivado en el ciclo siguiente. Se puede utilizar como entrada de contaje de ciclos. SM0.7 Este bit indica la posición del selector de modos de operación (OFF = TERM; ON = RUN). Si el bit se utiliza para habilitar el modo Freeport cuando el selector esté en posición RUN, se podrá Curso Autómatas Programables habilitar la comunicación normal con la programadora cambiando el selector a TERM. IES San Roque (BADAJOZ) José María Delgado Casado
  • 20. Manual del sistema de automatización S7-200l UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. SMB1: Bits de estado SMW22 amuestra la tablaTiempos de ciclo indicadores de los posibles errores. Como SMW26: D-2, SMB1 contiene varios 2.9. Marcas especiales. Estos bits son activados y desactivados por ciertas operaciones durante el tiempo de ejecución. Como muestra la tabla D-9, las marcas especiales SMW22, SMW24, y SMW26 informan sobre el tiempo de ciclo. Permiten leer el último tiempo de ciclo, así como los tiempos de ciclo mínimo y Tabla D-2 máximo. Byte de marcas SMB1 (SM1.0 a SM1.7) SMB1 Bits SM Descripción (sólo lectura) Tabla D-9 SM1.0 Palabras se activa alSMW22 a SMW26 operaciones si el resultado lógico es cero. Este bit de marcas ejecutarse ciertas Palabra de Descripción (sólo lectura) SM1.1 Este bit se activa al ejecutarse ciertas operaciones si se produce un desbordamiento o si se marcas detecta un valor numérico no válido. SMW22 Tiempo del último ciclo en milisegundos. SM1.2 Este bit se activa si el resultado de una operación aritmética es negativo. SMW24 Tiempo de ciclo mínimo en milisegundos desde que inició el modo RUN. SM1.3 Este bit se activa si se intenta dividir por cero. SMW26 Tiempo de ciclo máximo en milisegundos desde que inició el modo RUN. SM1.4 Este bit se activa si la operación Registrar valor en tabla intenta sobrepasar el límite de llenado de la tabla. SMB28 y SMB29: Potenciómetros analógicos de una tabla vacía. SM1.5 Este bit se activa si las operaciones FIFO o LIFO intentan leer SM1.6 Este bit se activa si se intenta convertir un valor no BCD en un valor binario. Como muestra la tabla D-10, SMB28 almacena el valor digital que representa la posición del potenciómetro analógico 0. SMB29 almacena el valor digital queen un valor hexadecimal válido. SM1.7 Este bit se activa si un valor ASCII no se puede convertir representa la posición del potenciómetro analógico 1. Tabla D-10 Bytes de marcas SMB28 y SMB29 SMB28 Byte SM Descripción (sólo lectura) SMB29 SMB28 Este byte almacena el valor leído del potenciómetro analógico 0. El valor se actualiza una vez por ciclo en STOP/RUN. SMB29 Este byte almacena el valor leído del potenciómetro analógico 1. El valor se actualiza una vez por ciclo en STOP/RUN. SMB30 y SMB130: Registros de control del modo Freeport 506 SMB30 y SMB130 controlan la comunicación Freeport en los puertos 0 y 1, respectivamente. SMB30 y SMB130 son marcas de lectura y escritura. Como muestra la tabla D-11, estos bytes configuran la comunicación Freeport en los respectivos puertos y permiten seleccionar si se debe asistir el modo Freeport o el protocolo de sistema. Tabla D-11 Bytes de marcas SMB30 Puerto 0 Puerto 1 Descripción Formato de Formato de Byte de control del modo Freeport Curso Autómatas Programables SMB30 SMB130 MSB LSB IES San Roque (BADAJOZ) 7 0 José María Delgado Casado p p d b b b m m
  • 21. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.9. Marcas especiales. En el S7-200 no existe el área de marcas especiales. Éstas se han distribuido en múltiples localizaciones, de forma que no hay necesidad específica de disponer de un área concreta de selección y control de áreas especiales. No obstante existen determinadas “marcas de sistema” y “marcas de ciclo” que pueden definirse en las propiedades de la CPU y que actúan de forma similar a las áreas SM del S7-200: En las propiedades del PLC, en “Marcas de sistema y de ciclo” pueden habilitarse áreas M que posibilitan disponer de bit de primer ciclo (aunque se pueda implementar mediante el OB100), bit de siempre ON o siempre OFF y bits de frecuencias de reloj específicas. Es importante tener en cuanta que al configurar áreas M con este uso, ya no estarán disponibles como áreas de marcas para relés internos en el uso del PLC. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 22. UD3. Lenguaje de programación y set de instrucciones. 2. Elementos básicos de programación en LD / KOP. 2.9.1. Marcas especiales: potenciómetros analógicos (S7-200). El S7-200 viene con uno o dos potenciómetros analógicos (dependiendo de CPU) cuyo valor en formato byte es accesible en el área de marcas especiales, en los bytes SMB28 y SMB29. El valor de los potenciómetros puede ser empleado para ajustes externos sin necesidad de tener que realizar modificaciones en el programa de usuarios (ajuste de valores de contaje, tiempos de arranque de máquinas, tiempos de proceso o soldadura, modificación de medidas memorizadas en el autómata, etc.). Dado que los potenciómetros figuran en memoria en formato byte (tienen una resolución de 8 bits o 256 valores), a la hora de realizar ajustes de tiempo es necesario hacerlos pasar por un acumulador para poder realizar los movimientos de datos. En el ejemplo puede observarse el proceso (aunque se emplean órdenes aún no vistas). Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 23. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.1. Comparaciones. Los bits de comparación permiten comparar áreas de memoria del PLC, activándose o desactivándose si se cumplen las condiciones de comparación. Existen varias comparaciones posibles que pueden realizarse: Sistemas La forma de realizar la comparación entre áreas de memoria difiere sustancialmente entre el S7-200 y el S7-1200. Mientras que en el primero, siempre que se automatizados basados en Autómatas Programables 52 IES realiza una comparación, es necesario especificar el formato de la misma, resultando de esta forma comparaciones en formato byte, entero, doble entero y SISTEMAS ELÉCTRICOS Y AUTOMATIZADOS Curso García Téllez real, en el caso del S7-1200 se simplifica la operación, implementando una sola función de comparación en la que será necesario escoger el tipo de dato a (Cáceres) a Delgado Casado 2012/2013 comparar entre los implementados por el S7-1200. Comparaciones posibles en S7-1200 Figura 1.78. Tipos de comparaciones. Comparaciones posibles en S7-200 Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 24. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.1. Comparaciones. El tipo de dato a comparar es fundamental, ya que obliga a escoger uno u otro bit de comparación de entre las posibilidades que ofrece la CPU. En el siguiente ejemplo para un S7-200 puede verse cómo se compara, en formato Byte, el valor de un potenciómetro (SMB28) con valores fijos (50 y 150) y se activan o desactivan salidas en función del resultado lógico de la comparación: En el caso del S7-1200, dado que los potenciómetros no están implementados en el PLC, puede compararse una entrada analógica en formato entero: Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 25. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.2. Órdenes de movimiento. Las órdenes de movimiento o transferencia posibilitan el movimiento de datos entre diferentes áreas de memoria. Es importante tener en cuenta que, aunque se denominen órdenes de movimiento, los datos originales continuarán en el área de memoria de origen. Las órdenes de movimiento son esenciales para el trabajo de memoria del autómata programable, ya que el procesado de datos obliga en numerosas ocasiones a mover / depositar datos en posiciones de memoria en las que originalmente no estaban. Estos comandos de transferencia difieren, al igual que ocurría con las comparaciones, entre el S7-200 y el S7-1200. Mientras que en el primero es necesario especificar el formato de los datos a mover, en el segundo puede emplearse un formato genérico. Las órdenes de movimiento exigen que el formato de datos a la entrada y a la salida (área origen y área destino) sean el mismo: byte, palabra o doble palabra. En el caso del S7-1200, las órdenes de movimiento (obviando las de tipo tabla) se han sustituido por una única orden (MOVE) en la que además no es necesario la concordancia del tipo de datos, sino que los datos se truncan o llenan valores nulos a necesidad, con la ventaja adicional de poder copiar el área de origen en múltiples localizaciones de destino. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 26. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.2. Órdenes de movimiento. En los siguientes ejemplos se muestran algunos casos prácticos de empleo de órdenes de movimiento: Movimiento de valor de un temporizador a un área de memoria en formato W Movimiento del valor de PI a un área de memoria en formato REAL Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 27. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.3. Bloques de organización de programa (S7-200) Como se ha comentado anteriormente, el S7-200 ejecuta de forma cíclica un bloque de programa, denominado PRINCIPAL. En él va estructurado el programa de usuario. Es posible, no obstante, estructurar el programa de usuario en bloques o subrutinas que se ejecutarán ante una llamada desde el principal. Las subrutinas son trozo de código de programa que se utilizan para estructurar o dividir el programa en bloques más pequeños, más fáciles de gestionar. Son elementos opcionales del programa (su uso no es ni mucho menos obligado, como ya has podido comprobar hasta este punto), adecuándose para funciones que se deban ejecutar repetidamente. Así, en vez de tener que escribir la lógica de la función en cada posición del programa principal donde se deba ejecutar esa función, basta con escribirla sólo una vez en una subrutina y llamar a la subrutina desde el programa principal cada vez que sea necesario. Las subrutinas tienen varias ventajas: - La utilización de subrutinas permite reducir el tamaño total del programa. - La utilización de subrutinas acorta el tiempo de ciclo, puesto que el código se ha extraído del programa principal. El S7-200 evalúa el código del programa principal en cada ciclo, sin importar si el código se ejecuta o no. Sin embargo, el S7-200 evalúa el código en la subrutina sólo si se llama a ésta. En cambio, no lo evalúa en los ciclos en los queno se llame a la subrutina. -  La utilización de subrutinas crea códigos portátiles. Es posible aislar el código de una función en una subrutina y copiar ésta a otros programas sin necesidad de efectuar cambios o con sólo pocas modificaciones. - Facilita las tareas de comprobación, eliminación de errores y mantenimiento del programa. - La CPU también se puede utilizar más eficientemente, invocando el bloque sólo cuando se necesite, en vez de ejecutar todos los bloques en cada ciclo. - Permite el paso de parámetros desde el programa principal, así como devolver resultados desde la misma al principal. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 28. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. Figura 2.23. Insertar Subrutina desde menú Edición. 3.3. Bloques de organización de programa (S7-200) - O bien TEMA 1. Sistemas automatizados basados en Autómatas Programables insertar la subrutina desde la pestaña inferior de PRINCIPAL, con botón derecho de ratón > Ins 14 IES CIDA – 2º CFGSposible insertar hasta 256 subrutinas en el programa de usuario, bien desde García Téllez Es SISTEMAS ELÉCTRICOS Y AUTOMATIZADOS Subrutina. Curso el menú edición -> insertar o bien desde la pestaña de subrutinas en la Autor: José ventana de edición. María Delgado Casado 2012/2013 (Cáceres) Figura 2.23. Insertar Subrutina desde menú Edición. Figura 2.24. Insertar Subrutina pestañas. Para la llamada a la subrutina se emplea la orden de llamamiento a subrutina precedida de las condiciones de activación definidas. Sólo podrán llamarse O biensubrutinas subrutina desde la previamente creadas. insertar la que hayan sido pestaña inferior de PRINCIPAL, con botón derecho de ratón > Insertar > ! Es posible llamar a una subrutina con parámetros (similar a la llamada a funciones con paráme Subrutina. entrada / salida de la programación estructurada). Los parámetros se definen en la tabla de variables locale subrutina. Estos parámetros deben tener un nombre simbólico (de 23 caracteres como máximo), un tipo de varia tipo de datos. Se pueden transferir 16 parámetros a o desde una subrutina. Una vez llamada, el control del programa pasará a la subrutina, que lo devolverá al principal tablavez finalizada o al encontrarse funciones especiales de a la s ! El campo “Tipo de variable” en la una de variables locales define si la variable se transfiere retorno condicionado (RET). (IN), a y desde la subrutina (IN_OUT) o desde la subrutina (OUT). Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 29. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.3. Bloques de organización de programa (S7-1200) En el S7-200, la organización de programa sólo podía realizarse mediante subrutinas, rutinas de interrupción, marcas especiales y órdenes de control de programa (saltos, fines condicionados, etc.). En el S7-1200 se ha implementado la lógica organizativa de modelos superiores de PLCs como los S7-300 y los S7-400, de forma que existen diferentes bloques de programa, que pueden ser de varios tipos: - Bloques de organización (OB): definen la estructura del programa. Existen OBs predefinidos (como el OB1, que es el principal o MAIN, el OB100, que es el de arranque, el OB200, de alarmas cíclicas, etc.) y otros que pueden ser definidos por el usuario. - Funciones (FC) y bloques de función (FB): Contienen el código de programa correspondiente tareas específicas o combinaciones de parámetros. Cada FC o FB provee parámetros de entrada y salida para compartir datos con el bloque invocante. Un FB utiliza también un bloque de datos asociado (denominado DB instancia) para conservar el estado de valores durante la ejecución que pueden utilizar otros bloques del programa. - Bloques de datos (DB): almacenan datos que pueden ser utilizados por los bloques del programa. Imagen: Siemens Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 30. UD3. Lenguaje de programación y set de instrucciones. 3. Otras instrucciones de programación en LD / KOP. 3.3. Bloques de organización de programa (S7-200 y S7-1200) Como puede observarse, la estructura de programa cambia sustancialmente entre el S7-200 y el S7-1200. En el primero existe un único bloque principal (MAIN) desde el que se realizan llamadas a subrutinas e interrupciones. A su vez, desde cada una de estas pueden realizarse llamadas a nuevas subrutinas e interrupciones, debiendo posteriormente devolver el control al bloque principal. En el caso del S7-1200, el OB1 o principal toma el control del programa tras la rutina de arranque (OB100) y puede intercambiar datos con bloques de datos globales (accesibles desde cualquier elemento de programa), y realizar llamadas a funciones (FC) o bloques de función (FB). Estos últimos además podrán intercambiar datos con bloques de datos de instancia (accesibles únicamente desde esa FB). Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 31. CPR de Badajoz Curso 2012 /2013 Podéis encontrarme en: @JM_Delgado José María Delgado Casado jmdelgado@elec2.es www.elec2.es http://www.youtube.com/jmardelc http://www.slideshare.net/Jmardelc http://pinterest.com/jmardelc/ http://magnetic.tumblr.com/ José María Delgado Casado Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado
  • 32. CPR de Badajoz Curso 2012 /2013 Todo el material contenido y generado en este documento, excepto aquellas imágenes que pudieran tener licencia copyright y que se han empleado con fines educativos, están licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES. Curso Autómatas Programables IES San Roque (BADAJOZ) José María Delgado Casado