_spls.png SPLS

Top 

Instrucción dedicada al posicionamiento (a lazo abierto), de ejecución condicional.

Despacha una cantidad definida de pulsos (PulN)(2) a una frecuencia definida (MaxF), con rampa de aceleración y desaceleración (Tms).

Disponible en CP121 BIOS 2.63, CP122 BIOS 2.12, CP123(1) BIOS 2.22, CP124 BIOS 1.10, CP125 BIOS 1.12

 Salvo otra indicación, la salida es la 1ª (q0.0).

(1) A partir del la versión 3.00 ya no está disponible. Reemplazar con PLS.

(2) Variantes 16bit (tabla 1) y 32bit (tabla 2). Puls_Out del área SM define 16 o 32 bit.

El rango de frecuencia va desde 1Hz hasta 20KHz (0Hz es apagado). La cantidad de pulsos va desde 1 hasta 32000(2). Tms admite valores de 1 a 100.
 
Use solo con salida a transistor
 

Ejemplo:

    LD 1               ;Permiso de ejecución
    SPLS MaxF          ;1° variable del bloque de variables

La instrucción requiere un espacio de 12(2) variables contiguas. Este es el bloque de variables. Como argumento de la instrucción se le pasa la primera (MaxF), y ésta tomará el control de las 11 restantes. Los primeros 3 valores (MaxF, PulN y Tms) determinan el comportamiento, y la restantes serán usadas por las funciones internas de la instrucción.

Variables

Estas son las variables requeridas:

Nombre sugerido Tipo Descripción
MaxF int_16 Frecuencia máxima de salida (de 0 a 20000)
PulN int_16 Cantidad total de pulsos a despachar (de 1 a 32000)
Tms int_16 Tiempo de la rampa de aceleración y desaceleración en 1/10 segundo (de 1 a 100)
Pn int_16 Cantidad de pulsos despachados
p_Use1 int_16 Espacio reservado para ser usado por la instrucción
p_Use2 int_16 Espacio reservado para ser usado por la instrucción
p_Use3 int_16 Espacio reservado para ser usado por la instrucción
p_Use4 int_16 Espacio reservado para ser usado por la instrucción
p_Use5 int_16 Espacio reservado para ser usado por la instrucción
p_Use6 int_16 Espacio reservado para ser usado por la instrucción
p_Use7 int_16 Espacio reservado para ser usado por la instrucción
p_Use8 int_16 Espacio reservado para ser usado por la instrucción

Tabla 1 - 16 bit

 

Nombre sugerido Tipo Descripción
MaxF int_16 Frecuencia máxima de salida (de 0 a 20000)
PulN int_32 Cantidad total de pulsos a despachar (de 1 a 2'000'000'000)
Tms int_16 Tiempo de la rampa de aceleración y desaceleración en 1/10 segundo (de 1 a 100)
Pn int_32 Cantidad de pulsos despachados
p_Use1 int_16 Espacio reservado para ser usado por la instrucción
p_Use2 int_16 Espacio reservado para ser usado por la instrucción
p_Use3 int_16 Espacio reservado para ser usado por la instrucción
p_Use4 int_16 Espacio reservado para ser usado por la instrucción
p_Use5 int_16 Espacio reservado para ser usado por la instrucción
p_Use6 int_16 Espacio reservado para ser usado por la instrucción
p_Use7 int_16 Espacio reservado para ser usado por la instrucción
p_Use8 int_16 Espacio reservado para ser usado por la instrucción
p_Use9 int_16 Espacio reservado para ser usado por la instrucción

Tabla 2 - 32 bit

Características

La instrucción es condicional, es decir, se ejecuta cuando el el acumulador tiene valor 1. Pero aunque el acumulador tenga valor 0 igualmente tomará control de la salida asignada (impide/estorba el uso de ésta por otra función).

   

Uso

spls_use.png

Figura 1

Primero se deben declarar las variables en el orden y tipo indicados en la tabla 1 (o 2, según talla de Puls_Out ). Los nombres quedan a gusto del usuario.

Los parámetros contiguos p_Use1 al p_Use8(2) son usados internamente por la instrucción. El objetivo de declararlos es asegurar esa área solo para la instrucción.

Es necesario que se ejecute permanentemente la instrucción para que se refresque el valor de salida acorde a la aceleración o desaceleración. Cuando todos los pulsos hayan sido despachados (tarea concluida) la variable Freq_Out_En (área SM) volverá a cero.

El doble de Tms debe ser menor al tiempo total en que se despachan los pulsos para evitar cruce de rampas. Ejemplo: si se envían 1000 pulsos a 1KHz, Tms debe ser menor que medio segundo.

Para recuperar el control de la salida que se le haya asignado, simplemente hay que dejar de ejecutar la instrucción.

Midiendo la frecuencia a la salida el resultado es:

spls_ramp.png

Comportamiento de SPLS

   

Ejemplo en instrucciones
Ejemplo en Ladder

   

CLPOS
PLS
PLSY

   

   

Lista de instrucciones
Índice