Está en la página 1de 28

IES Antonio José Cavanilles.

Alicante
CFGS Automatización y Robótica Industrial
http://cavanilles.edu.gva.es

Sistemas
Programables
Avanzados
Contadores rápidos en PLC Siemens S7 31xC
y alarmas de proceso (OB40).
Utilización de los contadores rápidos de los autómatas S7 300 para aplicaciones
de contaje, medición de frecuencia y modulación el ancho de pulso.
Uso de las alarmas de proceso (OB40) para tareas de interrupción.

Este trabajo se distribuye bajo licencia Creative Commons BY-NC-SA


http://creativecommons.org/licenses/by-nc-sa/4.0/ Roberto Álvarez Sindín
Revisión 0.9
Febrero 2014
Índice
1. Especificaciones y funciones básicas ................................................................ 1
2. Cableado .......................................................................................................... 2
3. Función de contaje ........................................................................................... 4
3.1 Contaje sin fin .......................................................................................... 5
3.2 Contaje único ........................................................................................... 5
Sin sentido normal de contaje: ................................................................. 5
Sentido de contaje normal adelante ........................................................ 6
Sentido de contaje atrás ........................................................................... 6
3.3 Contaje periódico ..................................................................................... 7
Sin sentido normal de contaje: ................................................................. 7
Sentido de contaje normal adelante ........................................................ 7
Sentido de contaje atrás ........................................................................... 7
4. Función de medición de frecuencia .................................................................. 8
5. Función de modulación del ancho de pulso ..................................................... 9
6. Evaluación de los datos de entrada del encoder ............................................ 10
7. Configuración Hardware y parametrización (en Step 7) ................................. 11
8. Control de los contadores rápidos desde programa ....................................... 16
8.1 Control de contadores. SFB COUNT (SFB 47) .......................................... 17
8.2 Control de medida de frecuencia. SFB FREQUENC (SFB 48) .................... 18
8.3 Control de modulación de ancho de pulso. SFB PULSE (SFB 49) ............. 19
8.4 Alarmas de diagnostico y de proceso ..................................................... 20
9. Ejemplo de aplicación .................................................................................... 22

Documentación de referencia:
A5E00105486-05 CPU 31xC Funciones tecnológicas
A5E00105494-12 CPU 31xC y CPU 31x: Configuración e instalación
A5E00105477-12 CPU 31xC y CPU 31x: Datos técnicos
A5E02789978-01 Software de sistema para S7-300 y S7-400 -
Funciones estándar y funciones de sistema
Disponibles en la web del fabricante del producto:
http://support.automation.siemens.com/

Este trabajo se distribuye bajo licencia Creative Commons BY-NC-SA


http://creativecommons.org/licenses/by-nc-sa/4.0/
Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

1. Especificaciones y funciones básicas


De acuerdo con las especificaciones del fabricante la CPU compacta 313C dispone de 3 canales con una
frecuencia máxima de 30 kHz, mientras que la 314C cuenta con 4 canales a una frecuencia máxima de
60 kHz.

Las señales admisibles son de encoder incremental de 24 V con dos fases desfasadas en 90° (encoder
rotativo de fase diferencial) (medida de pulsos x4).

Las funciones de contaje están integradas en la propia CPU y se han de configurar a través del software
de programación.

Funcionalidades:

Contaje Modos de operación de contaje


 Contaje sin fin
 Contaje único
 Contaje periódico
Función de puerta
Para iniciar, detener e interrumpir las funciones de contaje.
Función latch
Esta función permite guardar el valor interno de contaje actual con flanco ascendente
en la entrada digital.
Comparador
En la CPU se puede guardar un valor de comparación. Dependiendo de los valores de
contaje y comparación es posible activar una salida digital y/o generar una alarma de
proceso.
Histéresis
Para la salida digital es posible ajustar una histéresis. Esto evitará que cambie la salida
digital cuando el valor de contaje entre en el rango del valor de comparación en caso
de producirse ligeras fluctuaciones en la señal del encoder.
Alarmas de proceso
Medición del período
Es posible medir la duración del período de la señal de contaje hasta una frecuencia
máxima de contaje de 1 kHz
Medición de Función de puerta
frecuencia La función de puerta se utiliza para iniciar y detener la medición de frecuencia.
Límite inferior/límite superior
Para vigilar la frecuencia se puede ajustar un límite inferior y un límite superior.
Cuando se alcanzan estos límites se puede activar una salida digital y/o generarse una
alarma de proceso.
Alarmas de proceso
Modulación del Función de puerta
ancho de pulso La función de puerta se utiliza para iniciar y detener la modulación del ancho de pulso.
(PWM) Alarmas de proceso

Contadores rápidos en Siemens S7 31xC 1


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

2. Cableado
La disposición básica de los conectores se representa en la
imagen, para las CPU con dos conectores (X1 y X2) como es el
caso de las CPU 313C y 314C 2 DP.

La asignación de los conectores para estas dos CPU se resume en las tablas siguientes:

Contadores rápidos en Siemens S7 31xC 2


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Tomando los canales estándar para este tipo de CPU y utilizando un encoder incremental de fase
diferencial (A+B+Z) tendremos que conectar para los diferentes contadores:

Contador 0 Contador 1 Contador 2 Contador 3


Fase A E124.0 Fase A E124.3 Fase A E124.6 Fase A E125.1
Fase B E124.1 Fase B E124.4 Fase B E124.7 Fase B E125.2
Puerta HW E124.2 Puerta HW E124.5 Puerta HW E125.0 Puerta HW E125.3
Latch E125.4 Latch E125.5 Latch E125.6 Latch E125.7
Salida A124.0 Salida A124.1 Salida A124.2 Salida A124.3
Nota: El contador 3 sólo está disponible en la CPU 314C-2 DP

Para otras funciones realizar el cableado según lo indicado en las tablas anteriores.

Contadores rápidos en Siemens S7 31xC 3


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

3. Función de contaje
El PLC dispone de funciones específicas de contaje para registrar y evaluar las señales mediante la
función SFB COUNT (SFB 47). El contaje puede realizarse hacia delante o hacia atrás y tres modalidades
de operación (seleccionables en la configuración HW el PLC):

 Contaje sin fin, por ejemplo para leer el recorrido con un encoder incremental de 24 V

 Contaje único, por ejemplo para contar unidades hasta un límite máximo.

 Contaje periódico, por ejemplo en aplicaciones con procesos de contaje repetidos.

La frecuencia de contaje máxima depende del modelo de autómata, en el 31C es de 30 kHz y en el


314C-2 DP de 60 kHz. Este valor es seleccionable (hasta el máximo) desde la configuración HW. Con
frecuencias superiores a 1 kHz no se mide la duración del periodo entre dos flancos de contaje
sucesivos.

Los límites de contaje vienen determinados por el tipo de dato en que se almacenan los valores (32
bits), por lo que los rangos admisibles serán (puede seleccionarse cualquier valor para el contador
dentro de esos límites):

Límite inferior – 2 147 483 648 (- 231)

Límite superior: + 2 147 483 647 (231 – 1)

El sentido de contaje puede establecer se tres formas:

 Sentido normal: Cuenta entre los valores límite de contaje

 Adelante. Cuenta de 0 hasta el límite


seleccionado y se reinicia (valor de
carga).

 Atrás, descuenta desde el valor


parametrizado hasta -1, para
reiniciarse (valor de carga) con el
siguiente pulso.

Mediante la función puerta (Gate) se puede iniciar, detener o interrumpir la función del contador.
Existen dos tipos de puerta por software (bit de control SW_GATE) y por hardware (Puerta HW una
entrada física del PLC, que se abre con un flanco ascendente y se cierra con el descendente). Además es
posible definir una puerta interna combinación lógica de las puertas SW y HW, que se indica con el bit
STS_GATE, que controlará el contaje. En modo contaje único esta puerta interna se cierra de forma
automática al rebasar los límites de contaje.

Existen además otros bits de control cuando el contaje rebasa por exceso (STS_OFLW), por defecto
(STS_UFLW) o pasa por cero (STS_ZP).

Contadores rápidos en Siemens S7 31xC 4


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

3.1 Contaje sin fin


En este modo de operación, la CPU empieza a contar a partir de 0 o a partir del valor de carga.

 Cuando el contador alcanza el límite superior de contaje contando hacia delante y recibe un
impulso de contaje adicional en sentido positivo, salta al límite inferior de contaje y sigue
contando desde allí.

 Cuando el contador alcanza el límite inferior de contaje contando hacia atrás y recibe un impulso
adicional de contaje en sentido negativo, salta al límite de contaje superior y sigue contando
desde allí.

 Los límites de contaje están ajustados permanentemente en el rango de contaje máximo.

De forma gráfica se comportará de la siguiente forma:

3.2 Contaje único


En esta modalidad de operación la CPU cuenta el sentido normal de contaje parametrizado sólo una vez.
Deberá reiniciarse la puerta de contaje para realizar otra operación. Podremos configurar este modo de
tres formas diferentes.

Sin sentido normal de contaje:


La CPU empieza a contar a partir del valor de carga una sola vez y en ambos sentidos, hacia delante y
hacia atrás. Los límites de contaje se ajustan a los valores máximos (por exceso y defecto) de forma
permanente. Cuando el contador rebasa el límite inferior o superior de contaje salta al otro límite y la
puerta se cierra automáticamente. Para reiniciar el contaje deberá generar un flanco ascendente del
control de la puerta. Si se interrumpe el control de la puerta el contaje continuará en el estado de
contaje actual. Si se cancela el control de puerta, el contador empezará a contar a partir del valor de
carga.

Gráficamente:

Contadores rápidos en Siemens S7 31xC 5


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Sentido de contaje normal adelante


La CPU empieza a contar a partir del valor de carga, el contaje es hacia adelante o hacia atrás. Si el
contador alcanza el valor de fin -1 en sentido positivo, éste saltará con el siguiente impulso de contaje
positivo hasta el valor de carga y la puerta se cerrará automáticamente. Para reiniciar el contaje deberá
generar un flanco ascendente del control de la puerta. Una vez iniciada la puerta, el contador comienza
a contar desde el valor de carga.

También dispone de la posibilidad de contar rebasando el límite inferior. No obstante, en tal caso no
será compatible el valor de contaje con los resultados de comparación resultantes. Por eso deberá
evitarse este rango.

De forma gráfica:

Sentido de contaje atrás


La CPU empieza a contar a partir del valor de carga, el contaje es hacia adelante o hacia atrás. Si el
contador alcanza en sentido negativo el valor de contaje 1, saltará con el siguiente impulso de contaje
negativo hasta el valor de carga (valor inicial) y la puerta se cerrará automáticamente. Para reiniciar el
contaje deberá generar un flanco ascendente del control de la puerta. Una vez iniciada la puerta, el
contador comienza a contar desde el valor de carga.

También dispone de la posibilidad de contar rebasando el límite superior de contaje. No obstante, en tal
caso no serán compatibles el valor de contaje con los resultados de comparación resultantes. Por eso
deberá evitarse este rango.

De forma gráfica tendremos:

Contadores rápidos en Siemens S7 31xC 6


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

3.3 Contaje periódico


En este modo de operación, la CPU cuenta periódicamente en función del sentido normal de contaje.
Podremos configurar este modo de tres formas diferentes.

Sin sentido normal de contaje:


La CPU empieza a contar a partir del valor de carga en ambos sentidos, hacia delante y hacia atrás. Los
límites de contaje se ajustan a los valores máximos (por exceso y defecto) de forma permanente.
Cuando el contador rebasa el límite inferior o superior de contaje, salta al valor de carga y sigue
contando desde allí.

Gráficamente:

Sentido de contaje normal adelante


La CPU empieza a contar a partir del valor de carga, el contaje es hacia adelante o hacia atrás. Si el
contador alcanza el valor de fin -1 en sentido positivo, éste saltará con el siguiente impulso de contaje
positivo hasta el valor de carga y sigue contando desde allí.

También dispone de la posibilidad de contar rebasando el límite inferior. No obstante, en tal caso no
será compatible el valor de contaje con los resultados de comparación resultantes. Por eso deberá
evitarse este rango.

De forma gráfica:

Sentido de contaje atrás


La CPU empieza a contar a partir del valor de carga, el contaje es hacia adelante o hacia atrás. Si el
contador alcanza en sentido negativo el valor de contaje 1, saltará con el siguiente impulso de contaje
negativo hasta el valor de carga (valor inicial) y sigue contando desde allí. Para reiniciar el contaje
deberá generar un flanco ascendente del control de la puerta. Una vez iniciada la puerta, el contador
comienza a contar desde el valor de carga.

Contadores rápidos en Siemens S7 31xC 7


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

También dispone de la posibilidad de contar rebasando el límite superior de contaje. No obstante, en tal
caso no serán compatibles el valor de contaje con los resultados de comparación resultantes. Por eso
deberá evitarse este rango.

De forma gráfica tendremos:

4. Función de medición de frecuencia


En esta modalidad de operación la CPU cuenta los impulsos que llegan en un determinado tiempo de
integración y emite un valor de frecuencia. El tiempo de integración puede ajustarse a un valor
comprendido entre 10 ms y 10 000 ms en intervalos de 1 ms. El tiempo de integración se puede ajustar
en las pantallas de parametrización, o bien escribirlo y leerlo en el programa de usuario.

El valor de la frecuencia a determinar está disponible en la unidad "mHz" . Es posible leer este valor en
su programa de usuario a través del parámetro MEAS_VAL del FREQUENC (SFB 48). Si hay un valor
nuevo, se activa el bit STS_CMP.

La medición se llevará a cabo durante el tiempo de integración que haya sido parametrizado por el
usuario. Una vez transcurrido el tiempo de integración se actualizará el valor medido. Si el período de la
frecuencia medida es mayor que el tiempo de integración parametrizado, como valor medido se
notificará 0 o el valor medio, dependiendo de la parametrización. Hasta el final del primer tiempo de
integración notificará como respuesta el valor -1.

Los valores de medición de frecuencia dependen del modelo de CPU, de 0 a 30 kHz para el 313C y de 0 a
60 kHz para el 314C-2 DP.

Si durante el tiempo de integración se produce una inversión del sentido de giro, el valor de medición
para ese período será indeterminado. Los bits de respuesta STS_C_UP y STS_C_DN permiten la
evaluación del sentido.

Una vez finalizado el tiempo de integración, se indica la frecuencia medida (f ≥ 1mHz). Si la periodicidad
de la frecuencia medida supera el tiempo de integración parametrizado:

Contadores rápidos en Siemens S7 31xC 8


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

 Con "frecuencia directa" se emitirá el valor "0" al terminar el tiempo de integración.

 Con "frecuencia media" se repartirá el último valor entre los siguientes intervalos de medición sin
flanco ascendente (f ≥ 1 mHz). Esto se corresponde con una ampliación del tiempo de integración.
Para ello se divide el último valor medido por el número de intervalos de medición sin flanco
ascendente.

Ejemplo: Si el último valor medido fue 12 000 mHz, se emitirá el valor 4000 mHz después de tres
intervalos de medición.

5. Función de modulación del ancho de pulso


El valor de salida predeterminado (OUTP_VAL) de la función SFB PULSE (SFB 49) es transformado por la
CPU en una secuencia de impulsos con la correspondiente relación impulso/pausa (modulación del
ancho de pulso). La secuencia de impulsos se emite una vez transcurrido el retardo a la conexión
parametrizado en la salida digital DO (secuencia de salida).

Contadores rápidos en Siemens S7 31xC 9


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

6. Evaluación de los datos de entrada del encoder


Se podrán utilizar encoder incrementales asimétricos de 24 V con dos impulsos eléctricos desfasados en
90°. Los datos característicos del encoder a tener en cuenta:

Incrementos: Un incremento caracteriza el período de señales de las dos pistas, A y B, del sensor. Este
valor se indica en los datos técnicos del encoder y/o en su placa de características.

Flancos en pistas A y B: La CPU puede contar los flancos de las pistas. En general sólo se evaluará el
flanco A (evaluación simple). Si se lleva a cabo una evaluación múltiple, obtendrá mayor resolución. En
las pantallas de parametrización se determina si en las pistas se lleva a cabo una evaluación simple,
doble o cuádruple. La evaluación múltiple sólo puede ejecutarse con encoders incrementales
asimétricos de 24 V con pistas A y B desfasadas en 90°.

Evaluación simple: Evaluación simple significa que sólo se evaluará un flanco de la pista A; los impulsos
de contaje hacia delante se evaluarán en caso de flanco ascendente en la pista A y en caso de darse un
nivel Low en la pista B, se evaluarán los impulsos de contaje hacia atrás con flanco ascendente en A y el
nivel High en la pista B.

Evaluación doble: Evaluación doble significa que se evaluaran los flancos positivos y negativos de la
pista A; dependerá del nivel de la pista B que se generen impulsos de contaje hacia delante o hacia
atrás.

Evaluación cuádruple: Evaluación cuádruple significa que se evaluarán los flancos positivos y negativos
de las pistas A y B; dependerá de los niveles de las pistas A y B que se generen impulsos de contaje hacia
delante o hacia atrás.

Contadores rápidos en Siemens S7 31xC 10


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

7. Configuración Hardware y parametrización (en Step 7)


Una vez tengamos cableadas las entradas del PLC habrá que hacer los ajustes en el HW desde el
programa. Con el proyecto creado e insertado el PLC iremos a la página de HW y allí seleccionaremos el
apartado ‘Contaje’, haciendo doble clic sobre el mismo para editar la configuración.

Por defecto tendré 3 pestañas una de descripción general y otras dos para modificar los parámetros
básicos de alarmas, que veremos más adelante.

En la parte superior hay dos desplegables, para


seleccionar el canal a utilizar (3 canales en el 313C
y 4 en el 314C-2 DP) y el modo de operación.
Seleccionando uno de los modos de contaje nos
aparecerá un aviso y una nueva pestaña para la
configuración.

Contadores rápidos en Siemens S7 31xC 11


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Los parámetros disponibles en la pestaña


dependerán del modo de contaje
seleccionado (derecha), mediad de
frecuencia o modulación de pulso.

Los parámetros más significativos del modo contaje los resumimos en la siguiente tabla:

Parámetro Funcionamiento Comentario


Sentido normal de  Ninguno: Sin limitación del rango de contaje No disponible en
contaje  Adelante: Limitación del rango de contaje hacia arriba. El modo
contador cuenta de 0 o del valor de carga en sentido positivo ‘Contaje sin fin’
hasta el valor final parametrizado 1 para saltar a continuación
de nuevo con el siguiente impulso positivo del encoder al
valor de carga.
 Atrás: Limitación del rango de contaje hacia abajo. El
contador cuenta desde el valor de inicio parametrizado o
desde el valor de carga hasta 1 en sentido negativo para saltar
después de nuevo hasta el valor de carga con el siguiente
impulso negativo del encoder.
Función de puerta  Cancelar el contaje: El contaje comienza después de cerrarse
la puerta y volverse a iniciar esta puerta desde el valor de
carga.
 Interrumpir el contaje: El contaje continúa después de
cerrarse y volver a iniciarse la puerta en el último estado de
contaje.
Valor final/  Valor al fin con sentido normal de contaje adelante No disponible en
Valor inicial  Valor inicial con sentido normal de contaje atrás modo
31 ‘Contaje sin fin’
De 2 a 2147483647 (2 - 1)
Valor de comparación El valor de contaje se compara con el valor de comparación.
Consulte también el parámetro "Comportamiento de la salida":
 Sin sentido normal de contaje -231 a + (231-1)
 Sentido normal de contaje adelante -231 hasta el valor de fin -1
 Sentido normal de contaje atrás 1 a + (231 – 1)
Histéresis La histéresis sirve para evitar conexiones frecuentes de la salida Rango admisible
cuando el valor de contaje se encuentra en el rango del valor de De 0 a 255
comparación.
0 y 1 significan: Histéresis desconectada
Base de tiempo Es posible elegir si la duración del período debe medirse en Rango admisible
unidades de 125 ns o 1 μs en caso de una frecuencia máxima de De 125 ns a 1 μs
contaje de 1 kHz.
Si la frecuencia máxima de contaje es superior a 1 kHz no se mide
la duración del período y no se puede ajustar.

Contadores rápidos en Siemens S7 31xC 12


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Parámetro Funcionamiento Comentario


Entrada: Ajustar según el tipo de dispositivo conectado:
Evaluación de señal  Impulso más señal sentido.
 Encoder (evaluación x1, x2 ó x4)
Entrada: Según esté marcada la casilla determina si el control de puerta se
Puerta HW hará a través de la puerta SW y puerta HW. Si no está marcada el
control será sólo por SW. Dependerá del tipo de encoder utilizado
(Fase Z) y si se desea utilizar.
Sentido de contaje Permite configurar la entrada invirtiendo el sentido de contaje.
invertido
Comportamiento de la La salida y el bit de estado "Comparador" (STS_CMP) se activan en Seleccionando
salida función de este parámetro. Opciones: Impulso se puede
 Sin comparación definir la duración
 Valor de contaje ≥ valor de comparación de los impulsos de
la señal de salida
 Valor de contaje ≤ valor de comparación
De 0 a 510 ms
 Impulso del valor de comparación (Duración del impulso)
Alarmas de proceso: Existen una serie de opciones de alarma que pueden activarse.
Dependiendo de la configuración del modo de contaje y las
opciones seleccionadas estarán o no disponibles.
Abrir / Cerrar la puerta HW
Cuando se abre o se cierra la puerta hardware se genera una
alarma de proceso si está abierta la puerta software.
Alcance del comparador
Cuando se alcanza el comparador (reacción) se genera una
alarma de proceso.
Flanco de contaje (Impulso de contaje)
Puede seleccionar si se debe disparar una alarma de proceso en
cada flanco de contaje a una frecuencia máxima de contaje de 1
kHz. Esta alarma de proceso no se puede seleccionar si la
frecuencia máxima de contaje es superior a 1 kHz. El disparo de
una alarma de proceso en cada flanco de contaje provoca una
fuerte carga de trabajo de la CPU en caso de frecuencias de
contaje elevadas. Por tanto, habilite esta alarma de proceso
sólo si los flancos de contaje están separados como mínimo 10
ms entre sí.
Rebase por exceso / defecto
Cuando se produce un rebase por exceso y/o defecto (rebase
del límite superior/inferior de contaje) se genera una alarma de
proceso.

Frecuencia máxima: La frecuencia máxima de contaje de las señales pista A/impulso, Máximo 30 kHz
Contaje pista B/sentido y puerta HW se puede graduar de forma para 313C y 60 kHz
escalonada. El valor máximo depende de la CPU utilizada. para 314C-2 DP
Frecuencia máxima: La frecuencia máxima de la señal Latch (de congelación) se puede Máximo 30 kHz
Latch graduar de forma escalonada. El valor máximo depende de la CPU para 313C y 60 kHz
utilizada. Por defecto 10 kHz. para 314C-2 DP
Ocupación de los Es posible elegir si con una frecuencia máxima de contaje de 1 kHz Depende de la
datos de entrada puede leerse el valor de contaje o bien la duración del período en frecuencia máxima
los datos de entrada (datos E) del submódulo "Contaje". Si la de contaje
frecuencia máxima de contaje es superior a 1 kHz sólo se admite
"Valor de contaje"

Contadores rápidos en Siemens S7 31xC 13


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Parámetros de Medición de frecuencia

Parámetro Funcionamiento Comentario


Tiempo de integración Ventana de tiempo en la que se miden los impulsos entrantes.
Valores admisibles de 10 ms a 10.000 ms
Límite inferior El valor medido se compara con el límite inferior. Valores admisibles
CPU 313C
Cuando se rebasa por defecto el límite inferior se activa el bit de
De 0 a 29.999.999 mHz
estado "Rebase por defecto" (STS_UFLW). El límite inferior debe
CPU 314C-2 DP
ser menor que el límite superior.
De 0 a 59.999.999 mHz

Límite superior El valor medido se compara con el límite superior. Valores admisibles
CPU 313C
Cuando se rebasa por exceso el límite superior se activa el bit de
De 0 a 30.000.000 mHz
estado "Rebase por exceso" (STS_OFLW). El límite superior debe
CPU 314C-2 DP
ser mayor que el límite inferior.
De 0 a 60.000.000 mHz

Frecuencia máxima de La frecuencia máxima de contaje de las señales pista A/impulso, Máximo 30 kHz para
313C y 60 kHz para
contaje/Puerta HW pista B/sentido y puerta HW se puede graduar de forma 314C-2 DP
escalonada. El valor máximo depende de la CPU utilizada:
Indicación del valor Si la periodicidad de la frecuencia medida supera el tiempo de
medido integración parametrizado,
 se emitirá con frecuencia "directo" el valor "0" cuando se
agote el tiempo de integración,
 con frecuencia "valor medio" se extiende el último valor por
los siguientes intervalos de medición sin flancos (f ≥ 1 mHz).
Esto se corresponde con una ampliación del tiempo de
integración. Para ello se divide el último valor medido por el
número de intervalos de medición o flancos.
Entrada: Ajustar según el tipo de dispositivo conectado:
Evaluación de señal  En la entrada se conecta la señal de contaje y la señal de
sentido.
 En la entrada se conecta un encoder con evaluación simple.
Entrada: Según esté marcada la casilla determina:
Puerta HW Si está marcada, el control de puerta se hará a través de la puerta
SW y puerta HW. La frecuencia máxima de la señal de puerta HW
corresponde a la frecuencia máxima de contaje ajustada
Si no está marcada el control será sólo por puerta SW.
Entrada: Permite configurar la entrada invirtiendo el sentido de contaje.
Sentido de contaje
invertido

Contadores rápidos en Siemens S7 31xC 14


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Parámetro Funcionamiento Comentario


Comportamiento de la El valor medido se compara con el límite inferior y superior. La
salida salida se ajustará en función de este parámetro. Opciones:
 Sin comparación
 Fuera de límites
 Por debajo del límite inferior
 Por encima del límite superior
Alarmas de proceso: Existen una serie de opciones de alarma que pueden activarse.
Dependiendo de la configuración del modo de contaje y las
opciones seleccionadas estarán o no disponibles.
Abrir / Cerrar la puerta HW
Cuando se abre o se cierra la puerta hardware se genera una
alarma de proceso si está abierta la puerta software.
Fin de la medición
Al final de la medición se genera una alarma de proceso.
Rebase por exceso / defecto
Cuando se produce un rebase por exceso y/o defecto (rebase
del límite superior/inferior) se genera una alarma de proceso.
Nota
El disparo de una alarma de proceso en cada flanco de contaje provoca una fuerte carga
de trabajo de la CPU en caso de frecuencias de contaje elevadas. Si las alarmas de
proceso aparecen en el submódulo "Contaje" con más rapidez de la que pueden
procesarse en el OB de alarma de proceso (OB 40), se produce un diagnóstico de
"Alarma de proceso perdida" si la alarma de diagnóstico está habilitada.
Las frecuencias de contaje altas pueden provocar una carga de trabajo de la CPU tan
elevada, de manera que se exceda el tiempo de vigilancia de ciclo configurado, o bien
que la comunicación de la CPU deje de funcionar o que funcione muy lentamente. Se
recomienda habilitar la alarma de proceso en cada flanco de contaje sólo si es seguro
que los flancos de contaje están separados como mínimo 10 ms entre sí.

Parámetros de Modulación del ancho de pulso

Contadores rápidos en Siemens S7 31xC 15


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

8. Control de los contadores rápidos desde programa


El control de las funciones desde el programa de usuario se hace llamando los siguientes bloques de
función del sistema:

Contaje SFB COUNT (SFB 47)


Medición de frecuencia SFB FREQUENC (SFB 48)
Modulación del ancho de pulso SFB PULSE (SFB 49)

Los SFB se encuentran en la "Standard Library" bajo "System Function Blocks". El acceso a los SFB se
realiza a través de los correspondientes DB instancia, en el que se encuentran los parámetros del SFB. Al
insertar el SFB le especificaré el DB asociado al mismo. Es posible acceder a los parámetros a través de:

 el número de DB y la dirección absoluta en el bloque de datos.

 el número de DB y la dirección simbólica en el bloque de datos.

Los parámetros más importantes para la función están interconectados adicionalmente en el bloque. Es
posible asignar a los parámetros de entrada un valor directamente en el SFB o consultar los parámetros
de salida.

Nota: Para cada canal deberá acceder siempre con el mismo DB instancia al SFB, ya que el DB instancia contiene los estados
necesarios para el procesamiento interno del SFB. No se permite el acceso de escritura a las salidas del DB instancia.

Contadores rápidos en Siemens S7 31xC 16


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

8.1 Control de contadores. SFB COUNT (SFB 47)


Funciones disponibles:
 Iniciar/Detener el contador con la puerta software SW_GATE
 Habilitar/controlar la salida DO
 Leer bits de estado
 Leer el valor actual de contaje y del valor Latch
 Peticiones de lectura y escritura de los registros internos de
contaje
 Leer la duración del período actual (sin conexión al bloque;
disponible sólo en el DB instancia)

Especificaciones de los parámetros del bloque:

Parámetros de entrada:
LADDR (WORD) Dirección E/S del submódulo que se ha definido previamente en "HW Config". Por defecto serán del
W768 al W783 (W768 en hexadecimal sería W#16#300). La dirección 0 en el DB de instancia.
CHANNEL (INT) Número de canal a utilizar (0, 1, 2 ó 3). (Dirección DB de instancia 2).
SW_GATE (BOOL) Puerta software para iniciar o detener el contador. (DB de instancia bit 4.0).
CTRL_DO (BOOL) Habilitación de salida (además de lo parametrizado en el HW). (DB de instancia bit 4.1).
SET_DO (BOOL) Forzado de salida (si está habilitado CTRL_DO). (DB de instancia bit 4.2).
Parámetros de salida:
STS_GATE (BOOL) Estado de puerta interna. (DB de instancia bit 12.0).
STS_STRT (BOOL) Estado puerta HW (entrada de inicio). (DB de instancia bit 12.1).
STS_LTCH (BOOL) Estado entrada LATCH. (DB de instancia bit 12.2).
STS_DO (BOOL) Estado salida. (DB de instancia bit 12.3).
STS_C_DN (BOOL) Estado sentido atrás. (DB de instancia bit 12.4).
STS_C_UP (BOOL) Estado sentido adelante. (DB de instancia bit 12.5).
COUNTVAL (DINT) Valor actual de contaje. (Dirección DB de instancia 14)
LATCHVAL (DINT) Valor actual de LATCH. (Dirección DB de instancia 18)
Otros parámetros NO conectados al bloque (datos locales estáticos)
RES_STS (BOOL) Desactivar bit de estado. Permite desactivar los bits STS_CMP, STS_OFLW, STS_UFLW y STS_ZP. (DB
de instancia bit 32.2).
STS_CMP (BOOL) Estado del comparador. Indica que la condición del comparador o que la salida está activada. (DB de
instancia bit 26.3).
STS_OFLW (BOOL) Estado de rebase por exceso. (DB de instancia bit 26.5).
STS_UFLW (BOOL) Estado de rebase por defecto. (DB de instancia bit 26.6).
STS_ZP (BOOL) Estado de paso por cero (sólo contaje sin sentido normal de contaje). También se activa cuando el
contador se pone a 0 o cuando empieza a contar a partir del valor de carga 0. (DB de instancia bit 26.7).
Para trabajar desde el programa con la interfaz del contador tendremos una serie de parámetros (no es
necesario escribirlos en la SFB para utilizarla), que nos permiten trabajar con los contadores.
Parámetros de entrada
JOB_REQ (BOOL)Lanzamiento de la petición(flanco ascendente). (DB de instancia bit 4.3).
JOB_ID (WORD) Número de petición. (Dirección DB de instancia 6). Puede tomar los valores:
00 hex Petición sin función
01 hex Escribir valor de contaje
02 hex Escribir valor de carga
04 hex Escribir valor de comparación
08 hex Escribir la histéresis
10 hex Escribir la duración de impulso
82 hex Leer valor de carga
84 hex Leer valor de comparación
88 hex Leer la histéresis
90 hex Leer la duración de impulso
31 31
JOB_VAL (DINT) Valor para la petición de escritura. (Dirección DB de instancia 8). Valores entre (-2 ) a (+2 – 1)
Resultados en la salida del SFB
JOB_DONE (BOOL) Es posible iniciar una nueva petición. (DB de instancia bit 22.0).
JOB_ERR (BOOL) Petición errónea. (DB de instancia bit 22.1).
JOB_STAT (WORD) Número de error de petición (0 a FFFF hex). (Dirección DB de instancia 24).
Otros parámetros NO conectados al bloque
JOB_OVAL (DINT) Valor de salida para las peticiones de lectura. (Dirección DB de instancia 28). Los valores admisibles
dependen del tipo de contaje. La histéresis entre 0 y 255 y la duración del impulso de 0 a 510 ms.

Contadores rápidos en Siemens S7 31xC 17


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

8.2 Control de medida de frecuencia. SFB FREQUENC (SFB 48)


Funciones disponibles:
 Iniciar/detener con la puerta software SW_GATE
 Habilitar/controlar la salida DO
 Leer bits de estado
 Leer el valor medido actual
 Peticiones para leer y escribir en el registro interno de
frecuencia

Especificaciones de los parámetros del bloque:

Parámetros de entrada:
LADDR (WORD) Dirección E/S del submódulo que se ha definido previamente en "HW Config". Por defecto serán del
W768 al W783 (W768 en hexadecimal sería W#16#300). La dirección 0 en el DB de instancia.
CHANNEL (INT) Número de canal a utilizar (0, 1, 2 ó 3). (Dirección DB de instancia 2).
SW_GATE (BOOL) Puerta software para iniciar o detener la medida de frecuencia. (DB de instancia bit 4.0).
MAN_DO (BOOL) Habilitación del control manual de la salida. (DB de instancia bit 4.1).
SET_DO (BOOL) Forzado de salida. (DB de instancia bit 4.2).
Parámetros de salida:
STS_GATE (BOOL) Estado de puerta interna. (DB de instancia bit 12.0).
STS_STRT (BOOL) Estado puerta HW (entrada de inicio). (DB de instancia bit 12.1).
STS_DO (BOOL) Estado salida. (DB de instancia bit 12.2).
STS_C_DN (BOOL) Estado sentido atrás. (DB de instancia bit 12.3).
STS_C_UP (BOOL) Estado sentido adelante. (DB de instancia bit 12.4).
MEAS_VAL (DINT) Valor actual de frecuencia. (Dirección DB de instancia 14)
COUNTVAL (DINT) Valor actual de contaje (Dirección DB de instancia 18)
Otros parámetros NO conectados al bloque (datos locales estáticos)
RES_STS (BOOL) Desactivar bit de estado. Permite desactivar los bits STS_CMP, STS_OFLW, STS_UFLW y STS_ZP. (DB
de instancia bit 32.2).
STS_CMP (BOOL) Estado del comparador. Indica que la condición del comparador o que la salida está activada. (DB de
instancia bit 26.3).
STS_OFLW (BOOL) Estado de rebase por exceso. (DB de instancia bit 26.5).
STS_UFLW (BOOL) Estado de rebase por defecto. (DB de instancia bit 26.6).

Para trabajar desde el programa con la interfaz de medida de frecuencia tendremos una serie de
parámetros (no es necesario escribirlos en la SFB para utilizarla. La última petición debe haber concluido
(JOB_DONE = TRUE).

Parámetros de entrada
JOB_REQ (BOOL)Lanzamiento de la petición(flanco ascendente). (DB de instancia bit 4.3).
JOB_ID (WORD) Número de petición. (Dirección DB de instancia 6). Puede tomar los valores:
00 hex Petición sin función
01 hex Escribir límite inferior
02 hex Escribir límite superior
04 hex Escribir tiempo de integración
81 hex Leer límite inferior
82 hex Leer límite superior
84 hex Leer tiempo de integración
31 31
JOB_VAL (DINT) Valor para la petición de escritura. (Dirección DB de instancia 8). Valores entre (-2 ) a (+2 – 1)
Resultados en la salida del SFB
JOB_DONE (BOOL) Es posible iniciar una nueva petición. (DB de instancia bit 22.0).
JOB_ERR (BOOL) Petición errónea. (DB de instancia bit 22.1).
JOB_STAT (WORD) Número de error de petición (0 a FFFF hex). (Dirección DB de instancia 24).
Otros parámetros NO conectados al bloque
JOB_OVAL (DINT) Valor de salida para las peticiones de lectura. (Dirección DB de instancia 28). Los valores admisibles
31 31
son de (-2 ) a (+2 – 1).

Rangos admisibles para JOB_VAL, dependen del modelo de CPU


Escribir límite inferior: De 0 a 29 999 999 (313C) y de 0 a 59 999 999 (314C-2 DP)
Escribir límite superior: De 0 a 30 000 000 (313C) y de 0 a 60 000 000 (314C-2 DP)
Escribir tiempo de integración: de 10 a 10 000 ms

Contadores rápidos en Siemens S7 31xC 18


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

8.3 Control de modulación de ancho de pulso. SFB PULSE (SFB 49)


Funciones disponibles:
 Iniciar/detener con la puerta software SW_EN
 Habilitar/controlar la salida DO
 Leer bits de estado
 Introducción del valor de salida
 Peticiones de escritura y lectura de registros

Especificaciones de los parámetros del bloque:

Parámetros de entrada:
LADDR (WORD) Dirección E/S del submódulo que se ha definido previamente en "HW Config". Por defecto serán del
W768 al W783 (W768 en hexadecimal sería W#16#300). La dirección 0 en el DB de instancia.
CHANNEL (INT) Número de canal a utilizar (0, 1, 2 ó 3). (Dirección DB de instancia 2).
SW_EN (BOOL) Puerta software para iniciar o detener la salida. (DB de instancia bit 4.0).
MAN_DO (BOOL) Habilitación del control manual de la salida. (DB de instancia bit 4.1).
SET_DO (BOOL) Forzado de salida. (DB de instancia bit 4.2).
OUTP_VAL (INT) Preajuste del valor de salida por miles (de 0 a 1000) o como valor analógico (de 0 a 27648). (Dirección
DB de instancia 6)
Parámetros de salida:
STS_EN (BOOL) Estado de habilitación. (DB de instancia bit 16.0).
STS_STRT (BOOL) Estado puerta HW (entrada de inicio). (DB de instancia bit 16.1).
STS_DO (BOOL) Estado salida. (DB de instancia bit 16.2).
Otros parámetros NO conectados al bloque (datos locales estáticos)

Para trabajar desde el programa con la interfaz de modulación de ancho de pulso tendremos una serie
de parámetros (no es necesario escribirlos en la SFB para utilizarla. La última petición debe haber
concluido (JOB_DONE = TRUE).

Parámetros de entrada
JOB_REQ (BOOL)Lanzamiento de la petición(flanco ascendente). (DB de instancia bit 4.3).
JOB_ID (WORD) Número de petición. (Dirección DB de instancia 10). Puede tomar los valores:
00 hex Petición sin función
01 hex Escribir duración del periodo
02 hex Escribir retardo a la conexión
04 hex Escribir duración mínima de impulsos
81 hex Leerr duración del periodo
82 hex Leer retardo a la conexión
84 hex Leer duración mínima de impulsos
31 31
JOB_VAL (DINT) Valor para la petición de escritura. (Dirección DB de instancia 12). Valores entre (-2 ) a (+2 – 1)
Resultados en la salida del SFB
JOB_DONE (BOOL) Es posible iniciar una nueva petición. (DB de instancia bit 16.3).
JOB_ERR (BOOL) Petición errónea. (DB de instancia bit 16.4).
JOB_STAT (WORD) Número de error de petición (0 a FFFF hex). (Dirección DB de instancia 18).
Otros parámetros NO conectados al bloque
JOB_OVAL (DINT) Valor de salida para las peticiones de lectura. (Dirección DB de instancia 20). Los valores admisibles
31 31
son de (-2 ) a (+2 – 1).

Rangos admisibles para JOB_VAL:


Escribir duración del periodo: Según base de tiempo de 0,1 ms (de 4 a 65535) o de 1 ms (de 1 a 65535)
Escribir el retardo a la conexión: De 0 65535
Escribir la duración mínima de impulsos: Según base de tiempo de 0,1 ms (de 2 a T/2) o de 1 ms (de 0 a T/2)

Contadores rápidos en Siemens S7 31xC 19


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

8.4 Alarmas de diagnostico y de proceso


Utilización de la alarma de diagnóstico

En caso de aparición de

 errores de parametrización (datos de los módulos) y

 el error "Se ha perdido un error de proceso"

Se puede disparar una alarma de diagnóstico. La alarma de diagnóstico se muestra tanto si se trata de
un error entrante como saliente. La alarma de diagnóstico permite reaccionar inmediatamente a errores
en el programa de usuario. En todo caso, se activará el led rojo SF.

Procedimiento

1. Habilite la alarma de diagnóstico en la pantalla de parametrización "Parámetros básicos".


(Selección de alarmas: diagnóstico o diagnóstico/proceso)

2. Instale el OB de alarma de diagnóstico (OB 82) en su programa de usuario.

Evaluación de una alarma de diagnóstico en el programa de usuario

Después de dispararse una alarma de diagnóstico podrá evaluar en el OB 82 qué alarma de diagnóstico
se ha disparado.

 Si en el OB 82, byte 6 + 7 (OB 82_MDL_ADDR) consta la dirección de su submódulo, significa que


la alarma de diagnóstico ha sido disparada por el contador de su CPU.

 Si aún queda por lo menos un error pendiente, en el OB 82, byte 8, se activa el bit 0 (módulo
defectuoso). Si todos los errores pendientes se han notificado como "salientes", en el OB 82, byte
8, se desactiva el bit 0.

 Obtendrá la causa exacta del error evaluando los bytes 8 y 11.

Uso de la alarma de proceso

Es posible disparar una alarma de proceso con determinados eventos. La alarma de proceso permite
reaccionar a los eventos inmediatamente en el programa de usuario.

Procedimiento

1. Habilite la alarma de proceso en la pantalla de parametrización "Parámetros básicos".


(Selección de alarmas: Proceso o diagnóstico/proceso)

2. Ajuste cada uno de los eventos que desea que disparen una alarma de proceso en las
pantallas de parametrización correspondientes a "Contaje", "Medición de frecuencia" o
"Modulación del ancho de pulso".

3. Instale el OB de alarma de proceso (OB 40) en su programa de usuario.

Reacción ante una alarma de proceso

El sistema operativo de la CPU accede al OB 40 en el programa de usuario.

La activación de una alarma de proceso sin que se encuentre cargado el OB correspondiente provoca
que la CPU pase a STOP.

Contadores rápidos en Siemens S7 31xC 20


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Evaluación de una alarma de proceso en el programa de usuario

Después de dispararse una alarma de proceso podrá evaluar en el OB 40 qué alarma de proceso se ha
disparado.

 Si en el OB 40, byte 6 + 7 (OB_40_MDL_ADDR) consta la dirección de su submódulo, la alarma de


proceso ha sido disparada por el contador de su CPU.

 Obtendrá la causa exacta evaluando los bytes 8 a11 de la palabra doble OB40_POINT_ADDR.

Contaje Medición de frecuencia

Modulación de ancho de pulso

Contadores rápidos en Siemens S7 31xC 21


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

9. Ejemplo de aplicación
Conectar un encoder de fase diferencial al canal 0 del PLC y realizar un contaje sin fin hasta el valor
1000. Realizar la configuración HW del contador con una histéresis de valor 10, habilitando la alarma de
proceso cuando se alcance el valor establecido. Al activarse esta alarma deberá conectarse la salida
A125.0, que se desactivará mediante la entrada E125.0. Comprobar el funcionamiento del resto de
funciones del SFC.

Cargar mediante JOB_VAL un valor que se escribirá de forma indirecta en un área de memoria MW20. El
nuevo valor del contador se obtendrá escalando el valor de la entrada analógica 0 del PLC entre 0 y
10000 (es necesario pasar el valor real resultante del escalado a entero para poder ser introducido al
contador). Volver a realizar la medida del comprobando que se han modificado los valores de la alarma.

Desde Step 7 crearemos un nuevo proyecto basado en el modelo de PLC disponible, CPU 313C ó CPU
314C-2 DP y editaremos el HW paa habilitar el módulo de contaje en el canal 0 en modo ‘Contaje sin fin’.

Haremos el ajuste de los parámetros de


contaje tal y como se muestran en la imagen:
Canal 0: Contaje sin fin
Función puerta -> Interrumpir contaje
Valor de comparación -> 1000
Histéresis -> 10
Evaluación señal -> Encoder 1x
Puerta HW -> Habilitada
Comportamiento de la salida - > Comparación
El resto de parámetro, dejarlos por defecto. Guardar y
compilar cambios.

Contadores rápidos en Siemens S7 31xC 22


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Crearemos después una función FC1 ‘Contador’ y en ella insertaremos el SFB 47 desde la Standard
Library -> System Function Blocks -> SFB 47

Como es un bloque de sistema necesita un DB de instancia para almacenar los datos, por lo que le
asignaremos el DB1, que se creará de forma automática.

Ahora parametrizamos el bloque con los datos que se muestran a continuación (revisar la ayuda del
bloque y la documentación)

Datos imprescindibles

LADDR = W#16#300 (Dirección contaje ajustada en HW 768)


CHANNEL = 0 (Canal 0 de contaje)
SW_GATE = E126.0 (Inicialización contaje)
CTRL_DO = E126.1 (Habilitación salida)
SET_DO = E126.2 (Forzado salida)
STS_GATE = M10.1 (Estado de puerta interna)
STS_STRT = M10.2 (Estado puerta HW E124.2)
STS_LTCH = M10.3 (Estado entrada LATCH E125.4 ).
STS_DO = M10.4 (Estado salida A124.0).
STS_C_DN = M10.5 (Estado sentido atrás)
STS_C_UP = M10.6 (Estado sentido adelante)
COUNTVAL = MD100 (Valor actual de contaje)
LATCHVAL = MD104 (Valor actual de LATCH)
El resto de valores los dejamos de momento sin completar.

Contadores rápidos en Siemens S7 31xC 23


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Ahora lo único que me queda es llamar al FC1 en el OB1 y comprobar el funcionamiento del contador.

Accediendo al DB1 de instancia podremos ver y utilizar todos los


parámetros asociados a las operaciones de contaje, lo que nos facilita
la utilización por programa.

En este ejemplo hemos usado marcas para ver mejor el estado de


algunos bits, pero en programa no es necesario ya que las podemos
llamar directamente desde el programa.

Comprobar el funcionamiento correcto del contador.

Contadores rápidos en Siemens S7 31xC 24


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Modificación de los parámetros del contador mediante programa:

JOB_REQ Lanzamiento de la petición


JOB_ID Número de petición. Valores admisibles (formato W#16#xy): →→→→
JOB_VAL Valor para la petición de escritura (numérico o canal).
Resultados en la salida del SFB
JOB_DONE Última petición completada.
JOB_ERR Petición errónea
JOB_STAT Número de error de petición

Escribiremos en el bloque de función de contador rápido los parámetros

En el OB1 (o en otra FC) añadimos una línea de programa que


mueva los parámetros a las palabras de control.

Con la E125.7 cargaremos los valores en el contador rápido (M10.0)


W#16#4 en MW50 para escribir un nuevo valor de comparación
L#10000 en MD60 para poner la comparación en 10000
Comprobar que ahora el disparo de comparación (A125.0) se hace al alcanzar 10000. Probar otros
valores y otras operaciones sobre el contador.

Alarmas de proceso en OB40

Vamos ahora a configurar una alarma de proceso en el OB40, para ello modificamos la configuración
HW para que se habiliten las alarmas de proceso y configuramos una alarma de alcance del valor de
comparación.

Como siempre, guardar, compilar y cargar en el PLC las modificaciones.

Contadores rápidos en Siemens S7 31xC 25


Roberto Álvarez Sindín. IES Cavanilles. Alicante Sistemas Programables Avanzados

Creamos ahora una OB40 de alarma de proceso que nos ponga a SET una salida la A125.0 (y también
A125.1) y que se reseteará (en OB1) mediante la entrada E125.0.

La evaluación de las alarmas de interrupción se hacen en la doble palabra OB40_POINT_ADDR, el


disparador de comparación del contador 0 es el bit 3 del primer byte de la doble palabra (ver tablas del
punto 8.4), por tanto el valor que tengo que evaluar es 08000000:

Byte 1 Byte 2 Byte 3 Byte 4


7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 8 0 0 0 0 0 0

Entonces, cuando tenga un 08000000 en OB40_POINT_ADDR significa que se ha disparado la alarma de


proceso de que el contador 0 ha alcanzado su valor de contaje. Me bastará entonces comparar el valor
de la doble palabra con ese valor en el OB40. Como no puedo compararlo en hexadecimal puedo
hacerlo de dos formas. Mediante una comparación lógica con doble palabra. O pasando el valor de
OB40_POINT_ADDR a una doble palabra y comparando en entero:

(OB40) Método 1 (OB40) Método 2

Lo pondremos de las dos formas en el OB40, para verificar que ambas formas son válidas, una activará la
salida A125.0 y la otra la A125.1. Finalmente ya sólo me queda poner en el OB1 un reset de la alarma
que desactive los bits que se había puesto a 1 al activarse al alarma de contaje y probar el
funcionamiento del programa. Si está todo correcto, se producirá el disparo de la alarma al llegar el
contaje a 10000 pulsos.

Nota:
En caso de tener varias alarmas de interrupción activas en el OB40, además de evaluar el bit del
OB40_POINT_ADDR, hay que tomar en consideración que módulo es el que ha disparado la alarma ya que
podría darse la casualidad de que otra alarma de otro módulo active también ese mismo bit. Para ello hay que
evaluar el OB_40_MDL_ADDR que indica el módulo que ha provocado el disparo.
Combinando el módulo y el punto, se pueden poner varias alarmas de proceso en el OB40 y cada una tendrá su
disparador propio y realizará acciones únicas en función de la alarma activa.

Contadores rápidos en Siemens S7 31xC 26

También podría gustarte