Síntoma
Se cuenta con una entrada 0-10 de un transductor de presión cuya salida no es lineal. El fabricante facilita una fórmula para hacer la conversión. En ella hay una exponenciación. Se adjunta explicación de la fórmula de cálculo en inglés. Es un FB donde entrada y salida son REAL. La salida sería en mbar. ¿Cómo hay que implementar la función para realizar la exponenciación?//Función específica para transductor de presión para vacío no lineal referencia VSP63MV (*The output signal 1.5...8.5V of your VSP63MV has a logaritmic dependence on pressure over the whole measurement range 1.0*10-4 - 1000 mbar (1V per pressure decade) Conversion of voltage signal and pressure is done according to the following formula: Vout(V)=log(p(mbar))+5.5p(mbar)=10^(Vout(V)-5.5) *) //El valor de entrada debería tener un rango de 0..10 salida:=10^(entrada-5.5);
Solución
Se genera un bloque que implementa la conversión por cada fórmula. El primer bloque está pensado para llevar la entrada directa de la señal analógica en tensión y obtener la medida en milibares directamente. El segundo, en cambio, ofrece la fórmula teórica (a modo de calculadora científica) donde se puede ver la tensión esperada (en Voltios) para una presión dada. Para mayor facilidad de uso se recurre a una librería externa (OSCAT) que cuenta con el bloque de exponenciación entre otras aportaciones. También se puede realizar desde la instrucción EXPT:PRESION:=EXPT(10.0,((INT_TO_LREAL(%IW2)/1000.0)-5.5)); La división entre 1000 es para adaptar la medida directa de la señal analógica en rango 0-10000 a los Voltios necesarios. Se adjunta proyecto en formato projectarchive para permitir recuperar la librería OSCAT, de la que también se aporta manual.
Se cuenta con una entrada 0-10 de un transductor de presión cuya salida no es lineal. El fabricante facilita una fórmula para hacer la conversión. En ella hay una exponenciación. Se adjunta explicación de la fórmula de cálculo en inglés. Es un FB donde entrada y salida son REAL. La salida sería en mbar. ¿Cómo hay que implementar la función para realizar la exponenciación?//Función específica para transductor de presión para vacío no lineal referencia VSP63MV (*The output signal 1.5...8.5V of your VSP63MV has a logaritmic dependence on pressure over the whole measurement range 1.0*10-4 - 1000 mbar (1V per pressure decade) Conversion of voltage signal and pressure is done according to the following formula: Vout(V)=log(p(mbar))+5.5p(mbar)=10^(Vout(V)-5.5) *) //El valor de entrada debería tener un rango de 0..10 salida:=10^(entrada-5.5);
Solución
Se genera un bloque que implementa la conversión por cada fórmula. El primer bloque está pensado para llevar la entrada directa de la señal analógica en tensión y obtener la medida en milibares directamente. El segundo, en cambio, ofrece la fórmula teórica (a modo de calculadora científica) donde se puede ver la tensión esperada (en Voltios) para una presión dada. Para mayor facilidad de uso se recurre a una librería externa (OSCAT) que cuenta con el bloque de exponenciación entre otras aportaciones. También se puede realizar desde la instrucción EXPT:PRESION:=EXPT(10.0,((INT_TO_LREAL(%IW2)/1000.0)-5.5)); La división entre 1000 es para adaptar la medida directa de la señal analógica en rango 0-10000 a los Voltios necesarios. Se adjunta proyecto en formato projectarchive para permitir recuperar la librería OSCAT, de la que también se aporta manual.