FAQs Técnicas

Realizar una pregunta

¿Es posible realizar una lectura de frecuencia con precisión mayor de 1Hz en SoMachine - M241?

Mediante el FB HSC_Main en modo FrequencyMeter la resolución mínima de lectura es 1 Hz. Para poder tener una resolución mayor se puede utilizar el HSCMain en función de PeriodMeter y calcular la inversa de este valor (teniendo en cuenta la unidad del periodo) para obtener la frecuencia.

Con la precisión máxima del PeriodMeter por defecto (1 µs), para frecuencias altas (1000 Hz) podemos llegar a tener un error de 2 Hz
La manera de obtener una precisión mayor es utilizando el bloque ExpertSetParam. En la siguiente imagen  se muestra un ejemplo de configuración. Aunque en la ayuda de este FB encontraremos que solo es válido para precisiones de 100ms, 1s, 10s y 60s, también es posible utilizarlo de la siguiente manera:
- Para una resolución de 0,1 µs, escribir en ParamValue un -1
- Para una resolución de 20 ns, escribir en ParamValue un -255
Para utilizar este bloque es necesario un firmware igual o superior a 4.0.2.42

En definitiva, las entradas para el bloque HSCMain – PeriodMeter, son las mismas que si se utiliza un FreqMeter. Simplemente hay que añadir la línea del final, para transformar el Periodo en Frecuencia, teniendo en cuenta la resolución.
Para el bloque SetExpertParam:
- Entrada Expert_Ref_In, se debe introducir la variable de salida del bloque HSCMain. HSC_REF
- Execute: variable de activación del bloque
- Param: según la tabla siguiente, introducimos un 3 para cambiar la base de tiempos:

- ParamValue: valor según lo comentado anteriormente, -255 máxima resolución (20ns)

*NOTA: primero se debe activar el bloque ExpertSetParama y después el bloque HSCMain, de lo contrario el cambio de resolución no será efectivo.
*NOTA2: si tenemos varios bloques HSCMain, se debe utilizar un bloque ExpertSetParam para cada uno, pues la variable de entrada Expert_Ref_In, es diferente para cada uno.
 
¿Ha sido útil?
¿Qué podemos hacer para mejorar la información?