STDVT

Top 

Standard Deviation (Desviación Estándar)

    En conjunto con la instrucción FIFO puede calcular el desvío estándar de los datos acumulados. Los argumentos para la instrucción son los mismos que se usan en la instrucción FIFO.

    FIFO y STDVT se usan por separado. Cada vez que se ejecuta la instrucción FIFO un nuevo dato es añadido al registro (y eliminado el mas viejo). Una vez que se han acumulado los datos necesarios en el registro se ejecuta STDVT para obtener el desvío estándar a partir de los datos del registro. El resultado queda en el acumulador.

 

  También produce una rotación de acumuladores.

 

 

    Esta instrucción está a partir de el CP121 ROM 2.55 hasta 2.65, CP122 ROM 2.03 hasta 2.13, CP123 2.20 hasta 2.23, CP124 1.00, CP125 1.00, CP126 1.00, IP1300 1.00, IP1301 1.00

 
;Ejemplo de media y desvío estándar
;
; Bellplast 22/11/2013
;-------------------------------------------------------------------------------


        LD Init                  ;Evento que ocurre solo una vez
        jmpc Inicio
       
        LD puls_c1seg            ;Evento cada segundo
        calc LeeADC
        end
       
LeeADC  LD Ent_Trans            ;Lee valor actual del transmisor conectado a la entrada analógica de 12bit
        SUB 800                 ;Quito la cantidad de cuentas correspondientes a los 4mA
        SCALE 10, 32            ;Convierte el rango del transmisor (16mA) a 0 - 100 con un decimal
                                ;Resultado: 4mA -> 0.0, 20mA -> 100.0
        FIFO Var0, Var9         ;Registro de desplazamiento con los últimas 10 muestras (de var0 a Var9)
        INC ContaM              ;Cuenta las mediciones
        LD ContaM
        EQ 10                   ;ContaM (en el acumulador) llegó a 10?
        calc Calcula
        RET
       
Calcula FAVG Var0, Var9         ;Calcula el promedio del las muestras
        ST Media                ;y lo guarda en la variable Media
        STDVT Var0, Var9        ;Calcula el desvío estándar del las muestras
        ST DesvioST             ;y lo guarda en la variable DesvioST
        MOVE 0, ContaM          ;Re inicia contador
        RET
       
; Inicialización (se ejecuta una sola vez)
Inicio  LD 0
        FILL Var0, Var9         ;Inicializo (borrado) del registro de variables
        MOVE 0, ContaM          ;Inicia contador
        END

    El ejemplo se puede descargar de aquí.

   

Con tres argumentos

  

A partir del CP121 2.70, CP122 2.20, CP123 2.30, CP125 1.10, CP127 1.00, CP128 1.00, CP220 1.00 varias instrucciones de dos argumentos son reemplazadas por tres argumentos. El comportamiento de cada uno resulta en la siguiente forma:

 

STDVT arg1, arg2, arg3               equivale a                 arg1 = desvío desde arg2 hasta arg3

 

El primer argumento (arg1) debe ser de 32bit mientras que el resto (arg2 y arg3) deben ser de 16bit (Ver tipo de dato). El arg3 puede indicar la última variable de las que se promedian o la cantidad (que se cuenta a partir de arg2). La ejecución es condicional y no hace rotación de acumuladores.

 

En Ladder, por causa de la representación gráfica, el arg1 al final en vez de al principio. Esto ocurre con ADD, DIV, FAVG, FIFO, FILL, MOD, MUL, SCALE, STDVT y SUB.


FIFO
FILL
FAVG

Lista de instrucciones
Índice