Professional Documents
Culture Documents
Sistema STEP7
de programación
de autómatas
programables
~ Su ma r i o B
2.1. Introducción
2.2. Característic as generales de STEP7
2.2. 1. T ipos de dat os
2.2.2. Unida des de orga nizació n del program a
2.2.3. Variabl es
2.3. Len guaje de lista de instruccione s (AWL ) de STEP7
2.3. 1. Co nce ptos ge nera les
2.3.2 . Identificación de variables
2.3.3. Instru ccion es
2.3.4 . Instrucciones qu e op eran co n variables lóg icas
2.3.5. Instru cciones qu e opera n co n co mbinacio nes bin arias
2.3.6. Instru ccion es de tempori zaci ón
2.3.7. Instru ccion es de co ntaj e
2.3.8. Instruc cion es de co ntro l de l prog ra ma
2.4. Len guaj e de esquema de contactos (KOP) de STEP7
2.4. 1. Co ncep tos ge nera les
2.4 .2. Identi ficación de variables
2.4 .3. Operac iones co n co ntac tos
2.4.4. Operac iones co n co ntac tos y bloqu es
2.5. Lenguaje de diagrama de funcion es (FU P) de STEP7
2.5. 1. Co nce ptos ge nera les
2.5.2. Identificación de variabl es
2.5.3. Funciones lógicas
2.5.4. O perac iones de mem or ización
2.5.5. Ope racio nes co n flanc os
2.5.6. O perac iones de tempori zación
2.5.7. Operac iones de co ntaje
2.6. Lenguaje de dia grama funcion al de secuencias (S7-GR APH) de STEP7
Bibliografía
© ITES-Paraninfo 95
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
2.1. INTRODUCCiÓN
La program aci ón de un autó mata programable o PLC (Pro grammable Lo g i c Con tro l l er )
co nsiste e n el establec imiento de una secue nc ia ord enada de instrucc io nes qu e resu elv en una
determinada tarea de control. Dicha sec ue ncia es tablece la rela ción e ntre las dist inta s variables
lógica s y constituye el program a del autómata pro gramabl e.
En e l Capítulo 1 se demuestra qu e a cada aut ómata pro gramable le corresponde un determi -
nado len guaj e máquina de acu erdo co n su estru ctura físic a (hard wa re). Igu alm ent e se demuestra
en dich o ca pítulo qu e es posible pro gramar un autómata pro gramable mediante e l es tablec imien-
to dir ecto de una se cu encia de instru cciones en len guaje máquina. Pero es indudable qu e es te
len guaj e es tá bastante alejado del ut ilizado por el técnico esp eci ali zado para es pec ificar el fun -
cio na miento de un sistema de control. Por ello, los fabri cantes de aut ómatas pro gramabl es han
de sarrollado, para sus eq uipos, di verso s len guaj es de pro gramaci ón que co ns tituyen un sistema
de pro gramación. El desarrollo de dichos len guaj es ha sido reali zado por cad a fabricant e de for-
ma indep endi ent e y, aunque tod os ellos tienen una base común , so n diferent es de un fabri cant e a
otro y se denominan len guajes propietarios.
La ex istencia de múltiples sistemas de pro gramac ión propi etarios difer ent es e incompatibl es
entre sí, propició e l desa rrollo de un sistema de pro gram ación normali zad o por parte de la Co-
mi sión Electrotécnica Internacional (l EC ). En la actualidad coex isten el siste ma de programa-
ción normalizado y los propietarios. Por ello, a continuació n se describe uno de los siste mas de
pro gramaci ón propi et arios co n may or implantación indu strial , qu e es el STEP7 de Si em en s. En
el Ca pítulo 3 se describe el siste ma de pro gramaci ón normali zad o lEC 1131- 3 [UN E 97].
El sistema de programación ST EP7 es tá formado por do s tip os de len guajes de pro gramaci ón
diferent es:
- Lenguaj es literales
Las instru cciones de es te tipo de len guajes es tán formadas por let ras, núm ero s y sím bolos es pe-
ciales . So n len guaj es de este tipo:
• El len guaje de lista de instru cciones qu e en ST EP7 se denomina ST L (de l inglé s S ta te -
men t Lis t) o AWL (de l alem án " Anweisungsli ste " ) qu e sig nifica n preci sament e " Lista
de Instrucci on es ". Es el len guaj e ensamblador de ST EP7 [BERG 98 ].
• El len guaj e de texto estructurado qu e en ST EP7 se den omina SCL (de l inglés S t r u c -
t ured Cont r o l Langua g e) . Es un len guaj e de alto nivel similar al Pascal qu e cumple la
norma lE C 11 31 -3. Se utili za para la pro gram ación de tarea s compl eja s e n la s qu e es ne-
ces ario reali za r un proc esami ent o de gran cantidad de datos.
Le nguajes gráficos
Son len guaj es en los qu e las instrucci on es se representan mediante figuras geo mé tricas. So n len -
guajes ele es te tipo:
• El len gu aje de esquema de contactos qu e en STEP7 se den omina LAD (de l inglés La d d e r
Di a g r am) o KOP (abreviatura del alemán " Ko ntakts plan " ).
96 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓMATAS PROGRAMABLE S
• El lenguaje de diagrama de fun ci ones que en STEP7 se denomina FBD (del inglés Func-
t ion Block Di a gram) o FUP (abreviatura del alemán " Funktions Plan" ).
• El Diagrama fun cional de sec uencias [S e q u e n t i a l Fun cti on Chart SfC) ] que en
STE P7 se denomina S7-GRAPH, cuyo principal antecedente es el lenguaje GRAFCET
(Grafo ele control etapa-transición) desarrollado por la Asociación Francesa para la Ciber-
nética Económica y Técnica (AFCET).
• El Diagrama de transici án de estados S7-H iG raph y el lenguaje de conexión de bloqu es
CFC similar al diagrama de funciones, en el que cada bloque es a su vez un programa.
Todos estos lenguajes facilitan la labor de programación del usuario y la elección de uno u
otro depende ele su experiencia y conocimientos (en Electrónica Digital, Informática, realización
de sistemas de control con relés, etc.), de la forma en que se especifica el problema de control a
resolver y de la complej idad e1el mismo.
En este capítulo se analizan en primer lugar los principales lenguajes de programación defi-
nidos en STE P7 para los autómatas programables S7-300 y S7-400 de Siemens. Dichos lengua-
jes se utilizan, a través de un conj unto de ejemplos, para formar al lector en el diseño de siste-
mas secuenciales de control basados en un autómata programabl e. En el Capítulo 4 se describen
diversos métodos de diseño de sistemas secuenciales de control que utilizan los e1iferentes len-
guajes del sistema de programación STEP7.
Aunque los distintos lenguajes del sistema STEP7 presentan diferencias notables entre ellos,
existe un conj unto de elementos comunes a toelos que es conveniente conocer previamente. A
continuació n se analizan los más importantes. Para una referencia completa, consúltense los ma-
nuales suministrados por el fabricante (SIEM 04].
Los elatos constituyen la información básica con la que se realizan operac iones. En STEP7 se
definen los tipos de datos que se indican en la Tabla 2. 1.
© ITES-Paraninfo 97
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
Tabla 2.1. Prin cip al es tip os de dat os del siste ma de pro gr am aci ón STEP7.
Bloques de organización
En las ap licaciones de los autó matas progr am ables, hay determ inad as tareas qu e deben se r eje-
cutadas peri ódi cam en te o cua ndo se producen determinados sucesos. Para faci litar al usu ario la
tarea de desarro llo del program a, STEP7 pone a su disposición un co nj unto de bloques que se
ejecu tan en las circ unsta ncia s ci tadas. Dich os bloqu es rec ibe n el nombre de bloques de organi-
zación porque contribuye n a la estruct uración del program a de co ntro l, tal co mo se ind ica en e l
Capítulo 4 . Entre los bloqu es de organi zac ión más util izados ca be cita r e l bloque O B l que se
ejec uta cíclicame nte y el bloqu e O B l 00 qu e se ejecuta al pasar e l autó ma ta program abl e de la
situació n de paro ( st op) a la de ejecució n (run) .
Funciones
Las funciones , denomin ad as FC (abrev iatura de F un c t i on) , son uni dad es de org anizació n del
program a qu e tien en co mo obje tivo:
• Agrupar las instrucciones qu e se tien en que ejec utar varias veces a lo largo del progr ama.
• Subd ividir el program a en partes fác ilme nte co mprensi bles.
Su invocación se reali za en los len gu ajes literale s de STEP7 mediant e una ope rac ió n es pecí-
fica de llam ada. Una fun ción es una un idad de organizació n del pro gram a qu e pu ed e ac tua r de
do s formas distintas:
98 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓMATAS PROGRAMABLES
Bloques funcionales
U n bloque func io na l, den ominado FB (acró nimo de Fun c t i on Bl o c k), re prese nta un a lgoritmo
q ue pued e se r utiliza do e n nu me rosos s iste mas de co ntro l y co nst ituye una uni dad de orga niza -
c ió n de l pro g ra ma q ue, a l se r ejecutada, pro porci o na un a o más var iab les de salida. S u co mpo r-
tam ien to se puede a prox ima r medi ant e e l co nce pto de "caja neg ra " ( B l a ck Box) q ue func io-
na de un a fo rm a pe rfectamente de finida . Se carac teriza po r poseer varia bles de es tado inte rn o
qu e pu ed en a lmace na r res ulta dos par ci a les . Po r e llo s ie m pre tien e asoc ia do un bloq ue de da tos
(O B) .
Los bl oques func io na les pu ed en real izar una fu nc ió n " clás ica", co mo por eje m p lo un
bies ta b le, o una funció n definida por e l usua rio , co mo por eje m plo un bu c le de co ntro l de
tempe rat ura .
Las va riables co ns tituye n la inform aci ón de los termin ales de e ntrada/salida de un a utó ma ta pro -
g ra mable o la co nte nida e n un a posici ón de su mem oria inte rna .
Las va riables pued en es ta r pred efinidas por e l fabri cant e o, e n ca so co ntrar io, se r definid as
(D eclare) por e l pro g ra mado r. Las variabl es predefinid as es tá n es ta blec idas e n el len gu aj e y e l
pro gr am ad or pued e utili zarl as e n c ua lq uier punto del pr ogr am a. Un a variable defin ida por e l
program ador pued e se r accesible desd e c ua lq uier punto del progra ma o sola me nte dent ro de la
uni dad de o rgan izaci ó n e n la que se define. En el primer ca so es g lobal y e n e l segu ndo ca so es
local.
© ITES-Paraninfo 99
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
el Desplazamiento y rotación
dI Comparación
> Mayor
>= Mayor o igual
-- Igual
< Menor
<= Menor o igual
<> Desigual
100 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓMATAS PROGRAMABLES
Por ser la programación mediante códigos simbólicos la que más se aproxima al lenguaje
máquina, está especial mente indicada para usuarios familiarizados con la electrónica digital y
con la informática. Por otra parte, este lenguaje fue el único utilizable con las unidades de pro-
gramación sencillas, que solamente visualizaban una o varias líneas de programa simultánea-
mente.
En sucesivos apartados se analiza la forma de represe ntar las variables y las instrucciones
más usuales del lenguaje AWL de lista de instrucciones de STE P7 que en el Capítulo 4 se utili-
za para diseñar diversos sistemas de control. AWL facilita todos los elementos que se necesitan
para crear un programa de control completo. Contiene un juego de instrucciones formado por
más de 130 instrucciones básicas, así como una gama completa de operandos y su correspon-
diente direccionamiento. Lo mismo se puede decir de la concepción de las funciones y de los
bloques de función, que se utilizan para estructurar los programas de modo claro y fácil de com-
prender.
Para defin ir los nombres de las variables y las distintas instrucciones del sistema STEP7 se
pueden utilizar los códigos simbólicos procedentes de la denominación inglesa de las instruccio-
nes (denominada por Siemens " Internacional") o de la alemana (denominada "S IMATIC").
Las instrucciones que ejec utan las operaciones lógicas básicas de STEP7 no difieren significati-
vamente de las establecidas por la norma lEC l 13 l-3 (descritas en el Capítulo 3) cuando se uti-
liza la denominación internacional y simplemente existen diferencias sintácticas elementales
al utilizar la denominación alemana (que es la que se utiliza en el resto del capítulo). En la
Tabla 2.3 se pueden observar la diferencias.
Tal como se indica en el Apartado 2.2.3, según la forma en que se identifican, las variables
pueden ser predefinidas y no predefinidas. En función del tipo de variable, la identificación se
realiza tal como se indica a continuación:
- Variables predefinidas
Son variables definidas en el lenguaje. En STE P7 están predefinid as:
• Variables de entrada E 11.111 . El térm ino E (del alemán "Engang") representa una varia-
ble lógica de entrada y tiene asociado un número 11 que corresponde a la situación del
módulo de entradas y otro número 111 que corresponde a la situación de la variable lógica
dentro del módulo.
• Variables de salida exte rnas A 11 .111 . El término A (del alemán "Augang") representa
una variable lógica de salida y lleva asociados dos números 11 y 111 que tienen la misma
correspondencia que en el caso de las entradas.
• Variables de salida internas M 11.//1. El término M (Ma rca) representa una variable lógi-
ca interna (elemento de memoria) y 11 Y 111 tienen la misma correspondencia que en el caso
de las entradas y salidas.
Las variables predefi nidas pueden ser lógicas (bits) (X en los bits de los bloques de datos
OB), octetos (B) [B ytes (8 bits)], palabras de 16 bits (W) ( Words) y dobles palabras de 32 bits
(OW) (Doubl e Wor ds ), que constituyen datos del siste ma de programación STEP7 (Tabla 2. 1).
En la Tabla 2.4 se resumen los tipos de variables predefinidas de STEP7.
© ITES-Paraninfo 101
AUTÓM ATAS PROGRAMABLES. ENTORNO Y APLICA CIONES
Tabla 2.3. Denom inació n norma lizada lEC, STEP7 ing lesa y STEP7 alem ana,
de las operacion es con va riab les lógi cas.
y A ND( A( U(
NO-Y AN DN { AN{ UN{
O OR{ O{ O{
NO-O ORN{ ON{ ON{
O-exclusiva XOR{ X{ X{
NO-a-exc lus iva XORN{ X N{ XN{
Cerra r par éntesis ) ) )
Asignar ST = =
Desactivar R R R
Acti var S S S
Para faci litar la la bor del pro gram ad or, se pued e ut ilizar un a tabla de sí m bo los qu e a ca da
variable predefinida le asi gn a un nombre qu e la ide ntifica. Por ejemplo , a la va ria ble A 1.3 se le
pu ed e as ig nar e l nombre M ot or3 .
- Variables no predefinida s
Son va riables a las qu e el program ad or asig na un nombre y un tipo me dia nte una definición
(Declarati on) . E n los diver sos ejemplos de sistemas ele co ntro l secue ncia l qu e se diseñ an e n
e l Ca pí tulo 4 se inc luyen ejemplos de defin ici ón de es te tipo de va ria bles .
Tabla 2.4. Variabl es predefinidas del lengu aje de lista de in stru cciones de STEP7.
Tabla 2.5. Ejempl o de programa en el lengu aje de list a de in stru cciones de STEP7.
~.;.Et"rque t a, 1 Operador
-: y Modificattor I "ld I
O peran o Comentario
Los pro gr am as en el lengu aje AW L de STE P7 se d iseñan medi ant e la herrami enta de edi-
ci ón de Sieme ns den ominada " Editor KOP / AWL/ FUP" . En la Figura 2. 1 se mu estra, co mo
ejemplo. un program a editado con la citada herrami ent a.
Según las acci ones que ej ec uta n, las instru cci ones se pued en dividi r en cuatro grandes cla-
ses :
• Instru cc iones que operan co n vari abl es bin arias inde pe nd ientes tambi én den omin ad as va-
riabl es lógicas (bits) .
• Instruccione s que operan con co mbinac iones binari as [octetos (Byte s), palabras ( Wor d s)
de 16 bit s o dobl es palabras (D oubl e Wo rds ) de 32 bit s] .
• Instru cciones de temporización y co ntaje.
• Instru cciones de co ntrol qu e permiten modifi car la secuenc ia de ejecució n de las instru c-
ci ones del programa.
© ITES-Paraninfo 103
AUTÓM ATAS PROGRAMABLES. ENTORNO Y APLICACIONES
D I ¡¿; I '~H ~ I ~
=' JJ , I ~I ....
~ (','lilW l 3 ~ ~ m~ E:J jl l Hlnl, 1IL., I J If.¡ I ~ :
- ..:J ~
1"
I ,
~
U E 0. 1
U E 0. 2
= A 4 .0
O E 0. 3
ti O E 0. 4
-
I = A 4. 1
jv:
~ Elementos d. . IE :: Eslruclura
<1 I 1>I
~I
.:J
,
II I~ I Lt l ~U\ ~lor A
i 2: Info /\ - 3: Helerencies
-
clllzad~~
- -
- -
JI ~J~fOl mac ió n
--
operendo 11 5: Forzado JI 6: Diagnóslico _ 1
- -
104 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRA MACiÓN DE AUTÓMATAS PROGRAMABLES
Tab la 2.6. Inst ruccione s qu e ope ran con va riabl es lógicas de l lengu aje
de lista de instru cciones de STEP7.
Estas instrucc iones reali zan alguna de las acc io nes siguie ntes :
• Seleccion an una determin ad a var iab le para utili zarl a co mo opera ndo o co mo objeto de una
acci ón de lectura de un a entrada .
• Re alizan una acci ó n de ac tivació n o de desact ivac ión de un a sa lida.
• Realizan un a determinada op eración co n un a variable lóg ica.
• Inicial izan el RLO.
Las instrucci on es de se lecc ión, de e ntrada y salida o de operac ió n se pued en di vidir en do s
tipos difer ent es qu e se caracte rizan por utilizar o no los paréntesis y se analiza n a continuació n.
Las instrucciones lóg icas básicas qu e se describen en es te apartado realizan las operac iones lógi-
cas y (U en STEP7 ), O (O en STEP7 ), O-Exclusi va (X en STEP7 ) y sus respectivas inversa s
NO- y (UN) , NO-O (O N) Y NO -O-excl usiv a (X N) . Medi ante es tas instrucciones se co nsultan y
combinan los niveles lógicos de los op era ndo s que las acom pañan, y se o btiene co mo res ultado
un a var iable lógica de valor I (activada) o O (des ac tivada) , qu e , co mo se ind ica en el apartado
anterior, se almacena en el biesta ble RL O.
© ITES-Paraninfo 105
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICAC IONES
Como operandos básicos se pueden utilizar las variables predefinidas indicadas en la Ta-
bla 2.4, en la que se indican también sus números máximos. Alguno s tipos de autómatas progra-
mab les de la familia S7-300 j400 no admiten un número tan elevado.
En el Apartado 1.3.2 .2 se pone de manifiesto que , para seleccionar la primera variable que
forma parte de una secuencia de instrucciones, el lengu aje de lista de instruccio nes puede es tar
dotado de instrucciones de carga o carecer de ellas. El le nguaj e STEP7 de Siemens pertenece a
este segundo grupo y, por ello, uti liza para llevar a cabo dicha carga las instrucciones U jUN
(Y lógicajY lógica invertida) u OjON (O lógicaj O lógica invertida).
Las instrucciones de selección, de entrada y sa lida o de operación con variables lógicas que
define STEP7 son las siguientes:
UlUN (Y lógica)
Tabla 2.7. Secuencia de instrucciones que muestra la uti lización de la operación lóg ica Y.
-, ~RiT(':t
..f-W L
, -,' --'
hl ' ! , .D'rscripción d~1 comportamiento
•t o
106 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓMATAS PROGRAMABLES
OjON (O lógica )
Tab la 2.9. Secu en ci a de instrucciones que ejecuta la operación lóg ica O a continu ación de la Y.
U EO.5
U EO.3
O A1.5
Tab la 2.10 . Secuenci a de instruc ciones qu e ejec uta la ope raci ón lógica y a contin uación de la O.
U EO.5
O EO.3
U A1 .5
© ITES-Paraninfo 107
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
= (Asignación )
Las instrucciones anteriores realizan una determinad a co mbinación lógica pero no actúa n so bre
ninguna variable de salida. Esta instrucc ión actúa sobre la variable lógica de salida (externa o
interna) espec ificada en ella. Por eje mplo, la secuencia:
U E I.O
A2.0
selecc iona en primer lugar la variable de entrada E 1.0 Y transfiere su valor lógico al RLO . A
continuación, la ejecució n de la instrucción = A2.0 hace que el valor almace nado en el biesta-
ble RLO se introduzca en la variable de salida A2.0.
Para asignar el valor inverso del conten ido del RLO a una varia ble de salida, se puede utili-
zar la secuencia a) o la b) indicadas en la Tabl a 2. 11.
En la Tabla 2. 1Ia, la instru cción UN E 1.0 se leccio na el inverso del valor lógico de la varia-
ble de entrada E 1.0 Y lo transfiere al RLO , y la instrucción = A2.0 transfiere el co ntenido del
RLO a la variable de sa lida A2.0. En la Tabla 2. 11b, la instrucción U E 1.0 selecc iona la variab le
de entrada E 1.0 Y transfiere su valor lógico al RLO. Mediante la instrucción NOT se invierte el
co ntenido del RLO y, a continuación, la instrucc ión de asignación = A2.0 hace que el valor
almacenado en el biestable RLO se introduzca en la variable de salida A2.0. La utilización de la
instrucció n NOT permit e invertir el resultado de una secuencia de ope raciones lógicas.
Ta b la 2.11. Secuenc ia de ins tru ccion es qu e asig na n el valor inverso del co ntenido
del RLO a un a varia ble de salid a.
~ U
NOT
E1.a
r.". al b)
A 2.a
Cua lquier secuencia de instruccio nes puede ir seguida de la instrucción de asignac ión. Por
eje mplo, si a continuación de la secue ncia de instrucciones de la Tabla 2.8 se co loca la instru c-
ción = AO. I, se asig na a la variable de salida AO. I el valor de la función AS. I + E3. l + M7. 1,
tal co mo se indica en la Ta bla 2. 12.
Es conveniente resaltar que el contenido del RLO no se modifica al ejecu tarse la instrucción
de asignación ( = ). Esto permit e asignar el resultado de una co mbinació n lógica a varias salidas.
108 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMAC iÓN DE AUTÓMATAS PROGRAMAB LES
Para ello. simplemente se colocan las correspondientes instru cciones de asignación una a con -
tinuación de la otra . Por eje mplo. la Tabla 2. 13 muestra un programa que as igna a las varia -
bles de salida AG.O y A7.0 el resu ltado de la operación lóg ica O entre las variables de entrada
E I. I y E9.2.
Tab la 2.13 . Programa q ue asigna a vari as variabl es lógi cas de salida el va lor
de una única operación lóg ica.
O E1.1
O E9.2
A6 .0
A7 .0
Tambi én es necesario indicar que la instrucci ón de asignació n da por finalizada una expre-
sión lógica. Por ello. la primera instrucción U/UN o O/ON situada a conti nuación de ella inicia
una nueva expresión lógica y constituye una instrucción de selección (primera consulta). Un
ejemp lo de ello lo constitu ye la lista de instrucciones de la Tabla 2. 14, que realiza las ecuacio-
nes A4.0 = E 1.0 . ETT y AO.O = A 2.S + EO.3 + MO.7.
Tab la 2.14. Programa en el que U E 1.0 Y U A 2.5 son inst ruccio nes
de selecció n (pri m era consu lta ).
Realiza la operaci ón lógica O-exclus iva entre una variab le lógica o combinaci ón de variab les
lógicas y la variable especificada en la instrucción . Por ejemplo, la secuencia de instruccion es
de la Tab la 2. 1S da como resultado la ecuación A 1.1 = (EO.O· EO. I) E8 A 1.3.
Tab la 2.15. Secuencia de instrucc iones q ue eje cut a la opera ción lógi ca O-exclus iva .
© ITES-Paraninfo 109
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICA CIONES
Realiza la operación lógica O-exclusiva entre una variable o combinación de variables y la in-
versa de la variable especificada en la instrucción. El lector puede analizar la secuencia de ins-
trucciones de la Tabla 2. 16 y deducir que realiza la ecuación M l A = (A 1.6· EO.3) E8 E9.2.
Tabla 2.16 . Secu encia de in strucciones que ejecut a la operación lógica O-exclusiva invertid a.
U A1 .6
UN EO.3
XN E9.2
M1.4
En algunas aplicaciones es necesario realizar una operación lógica O o Y entre dos expresiones
complejas. Un eje mplo es la ecuación lógica:
Para ello, el lenguaje de lista de instrucciones de STE P7 permite utilizar los paréntesis. El
paréntesis abierto "(" detrás de una operación lógica indica que la misma debe realizarse entre
la secuencia de instrucciones que la precede y la comprendida entre ella y el paréntesis cerrado
" )". Esto es equivalente a decir que el modificador paréntesis abierto " (" indica que la evalua-
ción del operador se aplaza hasta llegar a un operador paréntesis cerrado " )" . A continuación se
describe la utilización de los paréntesis con las diferentes operaciones lógicas.
O(
Realiza la operación lógica O entre la secuencia de instrucciones que la precede y la compren-
dida entre ella y el paréntesis cerrado ")" . Por eje mplo, la secuencia de instrucciones de la
Tabla 2.17 da como resultad o la ecuación:
Tabla 2.17. Program a que realiza la operación lógica O entre dos secuenc ias de instrucciones.
110 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓMATA S PROGRAMAB LES
O(
U M3. 1
U E6. 0
ON A6. 1
)
ON(
Realiza la ope rac ión lógica O entre la sec ue ncia de instru cciones que la preced e y la inversa de
la sec ue ncia de ins trucc io nes co mp rendida e ntre e lla y el pa ré ntes is cerrado . Por ejemp lo, la
sec ue ncia de ins trucc io nes de la Tabla 2. 18 da co mo res ultado la ec uació n:
Tabla 2.18. Prog ram a que realiza la op erac ió n " ON(" ent re d os secu en cias de inst ruccio nes.
V(
Realiza la operac ión lógica y entre dos sec uenc ias de instrucc io nes . Co mo eje mplo , la sec ue n-
cia de instru cciones de la Ta bla 2. 19 rea liza la ec uac ió n:
Tab la 2.19. Pro gram a q ue reali za la o pe rac ió n ló g ica y ent re dos sec ue nc ias de inst rucc iones .
UN E1.0
U(
U E2.0
ON M.O
)
A 4.1
© ITES-Paraninfo 111
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
UNe
Realiza la operaci ón lóg ica y e ntre la secue nc ia de instruccio nes que la pr ec ed e y la inver sa de
la sec ue nc ia de instrucciones comprendida e ntre ella y e l parént esi s ce rrado . Por ejemp lo, la
secuencia de instrucciones de la Tabla 2.2 0 da co mo resu ltado la fu nci ó n:
Tab la 2.20. Pro g ram a que rea liza la opera ción lóg ica y entre una secu enc ia
de instru cciones y el in verso de otra.
X(
Realiza la ope rac ió n lógica O-exclus iva e ntre do s sec ue nc ias de instruccio nes. Por ej e mp lo, la
sec ue nc ia de instru cciones de la T abla 2 .2 1 da co mo resultado la funció n:
Tab la 2.21. Program a q ue rea liza la operación lógica O-ex clusiva entre dos secuenc ias
de instrucciones.
U E7.1
O E9.2
UN A5 .3
X(
U M 3.1
U E6.0
O A6.1
)
AB.1
XN(
Rea liza la ope rac ió n lóg ica O-exclu s iva e ntre la sec ue nc ia de instrucciones qu e la precede y la
inv er sa de la secue ncia de instruccion es comprendida e ntre ella y el parént esis cerrado ") ".
112 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMA CiÓN DE AUTÓMATAS PROGRAMABLES
Es co nve niente indi ca r q ue para rea lizar las instruccion es co n parént esis, el autó ma ta progr a-
mabl e de be poseer co mo mín im o dos biestables internos RLO. En un o de ellos se alm acena e l
resultado de la sec ue nc ia de operac iones qu e preced e al par éntesis y en el otro (que a veces se
den omina " me moria (bina ria) de paréntesis" ) el resultad o de la sec ue nc ia de instrucciones en-
ce rrada entre pa rént esis. El pa réntes is ce rra do " )" hace qu e se real ice la correspond iente opera-
ción lógi ca entre e l contenido de am bos biestabl es.
Co mo eje m plo adi cion al de utili zación de las instruccion es co n par éntesis, en la Tabla 2.22
se mu estra un progr am a qu e reali za la ecu aci ón :
Del aná lisis de la T abla 2.22 se desprende qu e ca da instrucción con paré ntes is abier to " ("
pro voca qu e la instrucció n situada a co ntinuac ió n rea lice la selecc ió n de un a va riable. En dicha
tabla se utilizan dos biestabl es RLO , qu e se de no mina n RLO l y RL02 para ac larar la form a en
qu e el programa los util iza.
Tabla 2.22. Ejemplo d e prim era co nsu lt a en inst ruccio nes con paréntesi s.
Par a reali zar op er aci on es co mplej as , es posibl e abrir un nuevo paré ntes is sin haber cerrado
el anterior , utili zand o el mism o mecani sm o ex puesto en la T abl a 2.22 . Dado qu e ca da paré ntes is
abierto (s in ce rrar el anterior) precisa un nuevo RL O, STEP7 es ta blece un nivel máxim o de siete
parént esis abiert os si multá nea me nte.
© ITES-Paraninfo 113
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
Son instru ccion es qu e pon en a " 1" o " O" una variable lógic a. Ex iste un tip o de inst rucc ion es
de mem ori zación qu e actúa sobre el RLO y ot ro qu e actúa so bre un a va riable cu alqui era. A
continuació n se analiza cada uno de ellos.
Par a pon er incondi ci onalmente a uno o a cero el biestable RLO se pu ed en util izar, resp ectiva-
mente, las instruccion es de pu esta a un o SET y puesta a cero CLR (abrev iatura de Clear) . La
instru cción NOT inviert e el es tado del RLO y la instru cción SA VE lo mem or iza en una mem oria
int erna RB , tran sparente al usuari o (o éanse las instru ccion es de salto) .
Son instru ccion es qu e ac túan so bre el es tado de un a variable lógica en fun ción del valo r lóg ico
de la expresión es tablec ida por las instrucciones que la prec ed en . Dicho valo r qu eda mem or iza-
do en la vari abl e aunq ue la condi ción lógi ca qu e lo provoque cambie de valor. La instru cci ón de
activaci ón S (Set) pon e a uno la variable asociada si el valor de la citada ex pres ió n es un uno y
no la modifica si es un ce ro . La instru cción de borrado o desactivaci ón R (Re s e t) pone a ce ro la
va riable asociada si el valo r de la ex pres ión lógi ca qu e la preced e es un un o y la deja inalterad a
en caso co ntrario.
Es tas instrucci on es dan por fin ali zada una ex pres ión lógica y, por ello, la primer a instru c-
ció n U/UN o O/ON situada a co ntinuació n de ellas inici a una nu eva ex pres ió n lógica y co ns ti-
tuye una instrucción de se lecc ió n (prime ra con sulta ).
La Figura 2.2a mu est ra un programa qu e utili za las instrucciones S y R para e mular un bies-
tab le R-S [MANO 98 ] cuyas variables de ent rada so n EO.O (S) y EO.l (R) y la de salida M2.0.
La Figura 2.2b indica gráficame nte qu e M2 .0 se pon e a uno cuando EO.O (se ñal de acti vaci ón )
se pon e a uno, y permanece en dicho es tado (a unque EO.O vuel va a ce ro) ha sta qu e EO. I (se ña l
de de sactivación ) se pon e a uno .
U EO.O EO.O
S M2.0
U EO.1 EO.1
R M2.0
M2.0 --.J
a) b)
Figura 2.2. Emul aci ón de un bi estab le R-S: al Secuen ci a de inst rucc io nes ; bl Cron ogram a.
El orde n en qu e se pro graman las instruccio nes S y R es tablece la prioridad de la acti vaci ón
sobre el borrado o vice ve rsa , e n e l caso de qu e se acti ven simultá neame nte. S i la última de las
do s es R, el biestabl e es de desa cti vaci ón prioritaria, y si la últim a es S, de activaci ón prioritaria.
114 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓ MATAS PROGRAMABLE S
Tabla 2.23. Ejempl o de utili zación de la in stru cci ón FP par a detec tar el fl an co
de sub ida de un a vari abl e lógi ca.
U E1 .0
FP M50.1
M100.1
U M100 .1
U E1.3
A1.6
La expresión lógica A 1.6 = E 1.0 i . E 1.3 se puede realizar también mediante el programa de
la Tab la 2.24. En dicha tabla la instrucción FP MSO.I almacena el resultado de la detección del
llanca de subida de la variable E J.ü en el RLO y a continuación la instrucción U E J.3 realiza
una operació n lógica y entre el contenido elel RLO y la variable E l .3, y memoriza el resultado
en el RLO. En este caso no se utiliza una marca ele impulso y por ello no se puede comprobar si
se ha producido o no el flanco, en cualquier parte elel programa.
Tabla 2.24. Ejempl o de util izaci ón de la in stru cci ón FP para detecta r el fl anco
de sub ida de un a vari abl e lógica.
U E1.0
FP M 50.1
U E1.3
A1.6
Para detectar el flanco de subida, la instrucción FP realiza el producto lógico del valor de la
variable o ele la expresión que la precede (almacenado en el RLO) con el inverso del valor alma-
cenado en la marca auxiliar y lleva a cabo las dos acciones siguientes:
Transfiere el resultado obtenido al RLO. Por ello, en el RLO queda un " 1" lógico si se
ha producido un llanca ele subida.
Transfiere el contenido del RLO a la marca auxiliar para permitir la detección ele un
flanco en un próximo ciclo ele ejec ución elel programa.
© ITES-Paraninfo 115
AUTÓMATA S PROGRAMABLES . ENTORNO Y APLICACIONES
El contenido del RLO se puede transferir a cualquier variable lógica para utilizarlo en una
expresión lógica.
En la Figura 2.3a se muestra el algoritmo ejec utado por las tres primeras instrucciones del
programa de la Tabla 2.23, que detecta un flanco de subida de la entrada E 1.0. La Figura 2.3b
muestra el cro nograma de las variables utilizadas en dicha detección, en el cual t; es el tiem po
de ciclo del autómata programable, igual a la suma del ciclo de entrada-salida y del ciclo de
proceso descritos en el Apartado 1.3.2.3.
E1.0
M50 .1
M100 .1
--Q-------------
a) b)
Figura 2.3. al Al gori tm o qu e detec ta un f lanco de subida de E1.10; bl Cron ogram a d e las va riab les utili zadas.
De forma similar, la instrucción FN realiza el producto lógico del inverso del RLO (que
con tiene el valor de la variable o de la expresió n que la precede) con el valor almacenado en la
marca auxiliar y transfiere el resultado al RLO. Por ello, en el RLO queda un " 1" lógico si se ha
producido un flanco de bajada. A continuación transfiere el contenido del RLO a la marca auxi-
liar para permiti r la detección de un flanco en un próximo ciclo de ejecución de program a. El
contenido del RLO se puede transferir a cualquier variable para utilizarlo en una expresión lógica.
En la Figura 2.4 se muestra el algoritmo y el cro nograma de las variables utilizadas para
detectar un flanco de bajada en la entrada E 1.0.
E1.0 ---,~
M50.0 - - - - - '
M100 .0 n _
w
a) b)
Figura 2.4. al Alg oritm o q ue det ecta un fl anco de bajad a de E1.0; b) Cro no grama de las variab les utili zad as.
En la Tabla 2.25 se representa el programa adecuado para realizar la expres ión lógica
A 1.6 = E 1.0 i . E 1.3 + E 1.1 ! . E 1.2, en la que se combina un flanco de sL;bida con un flanco de
bajada.
116 © ITES-Paraninfo
SISTEMA STEP7 DE PROGRAMACiÓN DE AUTÓMATAS PROGRAMA BLES
Tabla 2.25. Ejempl o de utili zaci ón de in stru ccion es qu e ope ran co n fl ancos.
U E1.0
FP M50.1 M50 .1 es una marca de fl anco de subida
M100.1 M100 .1 es una m arca de impulso (indica el posible flanco de subida de E1.0)
U E1.1
FN M50.0 M50.0 es una m ar ca de f lanco de baj ada
M100.0 M100 .0 es un a m arca de impulso (indica el po sible fl anco de bajad a de E1.1)
O(
U M100.1 Selecci on a la m arca M 100. 1 qu e v al e uno si se ha produ cid o un flanc o
de subida en E1.0
U E1.3 y lógica ent re M 100.1 Y E1.3
)
O(
U M100.0 Selecciona la marca M100.0 que vale uno si se ha producido un flan co
de subida en E1.1
UN E1.2 y lógica entre M100.0 y E1.2
)
A 1.6 Asigna el valor del RLO a la salida A 1.6
LJ . .
r(j"2)l
________1'A' 'B' 1.-- - - - - - -
Figura 2.5. Recinto y co locació n de las cé lu las de d et ecci ón de l Ejem pl o 2.1.
Solución
En la Figura 2.6 se representan las secuencias de evolución posibles de las variables A y B. En
ella se observa que una forma de realizar el contaje es diseñar un programa que incremente en
una unidad el número de personas que se encuentran en el recinto si es " 1" la expresión lógica
A . B i y que lo decremente si es " 1" A . B 1. Otra forma alternativa es incrementar con Al· B Y
decrementar con A i . B.
© ITES-Paraninfo 117
AUTÓMATAS PROGRAMABLES. ENTORNO Y APLICACIONES
y
Entrad a
incompleta
En la Tabla 2.26 se muestra el programa que detecta los tlancos de B (entrada E 1.1 ) cuando
A (entrada E I.O) está en nivel " 1" .
U E1.1 Entrada B
FP M50.1 M50.1 es una marca de flanco de subida
M100.1 M100.1 es una marca de impulso (indica el posible flanco de subida de E1.1)
U E1.1 Entrada B
FN M50 .0 M50.0 es una marca de flanco de bajada
M100.0 M100.0 es una marca de impulso (indica el posible flanco de bajada de E1.1)
u E1.0 Entrada A
U M100.1 y lógica entre A y la marca M 100.1 (esta marca vale uno si se ha producido
un flanco de subida de B)
M1 .1 Asigna el valor del RLO a la marca M1.1 que indica que se debe incrementar
el contador de personas
U E1.0 Entrada A
U M100.0 y lógica entre A y la m arca M 100.0 (esta marca vale uno si se ha produ cido
un flanco de bajada de B)
Ml.0 A signa el valor del RLO a la marca Ml .0 que indica que se debe dec rem entar
el contador de personas
Las instrucciones que operan con combina ciones binarias utilizan uno o dos operandos. de los
cuales sólo uno, como máximo, está especificado de forma explícita en la propia instrucción.
Dado que algunas instrucciones precisan dos operandos, el autómata programabl e dispon e de
varios registros internos que reciben el nombre de acumuladores y son utilizados de forma im-
plícita por algunas instrucciones, lo cual los hace transparentes para el usuario. Cada acumula-
dor (ACU en STEP7) tiene un tamaño de 32 bits aunque en algunas circunstancias puede traba-
jar sólo con 8 o 16 bits. Si el resultado de una operación es de tipo lógico , su valor se almacena
en el biestable RLO y si, por el contrario. el resultado de una operación es una combinación
binaria, su valor se almace na en alguno de los acumul adores mencionados (nor malmente el
ACUI ).
118 © ITES-Paraninfo