View
28
Download
11
Category
Preview:
Citation preview
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
•MathScript es un lenguaje de programación de alto nivel que incluye más de 600 funciones.
•Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas, etc.
•Se pueden crear funciones del usuario.
•Los scripts son interpretados secuencialmente por líneas.
•Los scripts son archivos de texto que pueden ser editados por cualquier editor de textos. Deben ser grabados con extensión “.m”
•Visualizar datos en «plots».
•Los comandos de MathScript son similares a los de Matlab (algunos comandos puede que no estén implementados)
LabVIEW MathScript
Ejemplo escrito en Matlab (1) Ejemplo escrito en Matlab(2)
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
MathScript se puede usar de dos maneras;
-En un “Nodo MathScript”, en el cual aparece como un cuadro dentro del diagrama de bloques de un VI (disponible en Functions/Mathematics/Scripts&Formulas palette).
-En una ventana MathScript como una herramienta matemática totalmente independiente de LabVIEW.
LabVIEW MathScript
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
La ventana Workspace, contiene Variables, Script, History en sub-ventanas conteniendo los siguientes tab:
Variables: Lista todas las variables generadas. El valor numérico de estas variables pueden ser desplegados.
Script: Abre un Editor de Script. Para abrir otro Script editor: Select File/New Script Editor.
History: Muestra una lista de todos los comandos previos ejecutados.
Ventana MathScript Windows
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript>>4+5
ans = 9
>>ans+7ans = 16
Varios comandos pueden ser escritos en una misma línea, separando los comandos por coma o punto y coma.
Con “;” el resultado no es desplegado pero sí es ejecutado
Con “,” el resultado es visible
>>z=5;x=4,y=8x = 4
y = 8
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScriptMathScript distingue entre minúsculas y mayúsculas.
Help, escribir primero help seguido de la función o comando. Los comandos conocidos por lo general incluyen un ejemplo.
>>help plot
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
Formato de números
El comando format es usado para seleccionar distintas presentación de los números.
Format short, 100*pi (5 dígitos)
Format long (16 dígitos)
Format short e (5 dígitos y exp. de 10)
Format long e (16 dígitos y exp. De 10)
Para la mayoría de los casos basta con format short, que es el formato por defecto. Para resetear el formato escriba “format short”
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScriptFormato de números
X1=0.1
X1=1e-1
X3=2e2
X4=2*10^2
X5=exp(1)
X6=4+3i
Todas las variables generadas en una sesión de MathScript son guardadas en un MathScript Workspace. Para ver los contenidos de esas variables menú Tools/Workspace/Variables (tab).
Alternativamente se puede usar el comando who
Borrar una variable con clear x6.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScriptMATRICES Y VECTORES
Para crear una matriz, usamos “,” o espacio“,” o espacio para separar elementos de una fila y ““;”;” para separar columnas.
Para crear una matriz que tengan “1 y 2” en la primera fila y “ 3 y 4” en la segunda, escribimos:
>>A=[1,2;;3,4]A = 1 2 3 4
La transpuesta de una matriz con apóstrofe:
>>B=A'B =
1 3 2 4
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
MathScript - Creación de Matrices Abrimos un corchete, introducimos los valores deseados separados por espacios o comas y cerramos con un corchete.
Los elementos individuales de un array se acceden utilizando subíndices; así z(5) en el ejemplo es igual a 6.
Otra forma de introducir arrays, mediante notación dos puntos, (6:1:10), crea un array que comienza en 6, incrementa en 1 y finaliza en 10.
z=[1:9]z=[1 2 3 4 5 6 7 8 9]z=[1,3,4,5,6,7,9]
z(5)
ans =
6
z =
6 7 8 9 10
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScriptPara crear un vector fila desde 0 a 4 con incremento de 1:
M=[0:4]
Para crear un vector fila desde 0 a 4 con incrementos de 0.5:
M=[0:0.5:4]
Para crear un vector columna desde 0 a 4 con incremento de 1:
M=[0:4]’
Crear matrices por combinación de vectores:
C1=[1,2,3];C2=[4,5,6];
>>M=[C1,C2]
M =
1 2 3 4 5 6
>>N=[C1;C2]
N =
1 2 3 4 5 6
>>N'
ans =
1 4 2 5 3 6
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScriptPara direccionar un elemento de una matriz se usa indexación standard
(número de fila, número de columna)
El elemento indexado se inicia con uno, no con cero como en LabVIEW.
M=[1 2 3 4; 5 6 7 8]
Producto de dos vectores (elemento x elemento), operador punto (.)>>[1 2 3 4].*[5 6 7 8]ans = 5 12 21 32
Ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
Ejemplo
>>A=[1 2 3 4]
A =
1 2 3 4
>>B=[4 5 6 7]
B =
4 5 6 7
>>A*B
Error in function * at line 1: The sizes of the input matrices are incompatible. Verify that the matrices have the same size or that one is a scalar.
>>A.*B
ans =
4 10 18 28
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Otra forma de crear arrays:
Función linspace
linspace(primer exponente, último exponente, número de valores) linspace(primer exponente, último exponente, número de valores)
>>linspace(1,10,10)ans =
1 2 3 4 5 6 7 8 9 10
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
TEXTOTEXTO
Una cadena de caracteres es texto rodeado entre comillas simples (‘)
>>t='esto es una cadena de caracteres‘
t =
esto es una cadena de caracteres
t(13:18)
ans =
cadena
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
MathScript sigue el convenio usual, donde un número complejo se escribe de la forma 4+7*i (4+7*j).
Las operaciones matemáticas sobre números complejos se escriben de la misma forma que con números reales.
Las funciones real, imag, abs y angle son útiles para la conversión entre las formas polar y rectangular.
NUMEROS COMPLEJOS
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
function Rt = rvt (r, t) %Definición de la función%Rt Resistencia variable con la temperatura%Parametros r=Resistencia a 20 grados%Parametros dt=t-20;dt=t-20;% Rt (r,t) devuelve el valor de R alfa=0.004;Rt=r*(1+alfa*dt);
function Xc=XC(C,f)XC=1/(2*pi*50*C*1e-6)
function reactancia=XL(L,f)XL=2*pi*f
ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
function Rt = rvt (r, t) %Definición de la función%Rt Resistencia variable con la temperatura%Parametros r=Resistencia a 20 grados%Parametros dt=t-20;dt=t-20;% Rt (r,t) devuelve el valor de R alfa=0.004;Rt=r*(1+alfa*dt);
ejemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
ARCHIVOS SCRIPT
MathScript permite leer órdenes desde un simple archivo de texto grabado previamente con extensión ‘m’.
corriente.m
U=220;Z=5+4*j;I=U/ZIm=abs(I)Ir=real(I)Ij=imag(I)phi_g=angle(I)*180/pi
>>type corriente
U=220;Z=5+4*j;I=U/ZIm=abs(I)Ir=real(I)Ij=imag(I)phi=angle(I)*180/pi
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Las funciones tienen que estar grabadas en el directorio de trabajo -por defecto de LabVIEW Data-.
LabVIEW MathScript
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
x=1while x<15x=2*xend
for x = 1:1:10y=sin(x)end
for x=1:100if x<50x=x+1elseif x>=50x=x+2endend
MathScript- While – For - If
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
MathScript- While – For - Ifmynumber=input('ingrese un numero entero')switch mynumbercase -1disp('numero negativo');case 0disp('numero cero');case 1disp('numero positivo');otherwisedisp('ingresó otro número');end
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
MathScript- While – For - If
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Recuperación de ondas de corriente
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
EjemploEjemplo
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
t=[0:.1:100];y1=sin(0.2*t);y2=sin(0.6*t);y=y1+y2;plot(t,y1,'r',t,y2,'b',t,y,'g')
LabVIEW MathScript
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
t=[0:.1:10];y1=sin(0.2*t);y2=sin(0.6*t);y=y1+y2;fprintf('Variable medida %.2f con dos decimales\n',y)
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScriptGrabar y leer a txt
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
fid = fopen('testvoltage.txt', 'w');fprintf(fid, '%.2f\n', u);fclose(fid);
fid = fopen(filename, mode)
fprintf(fid, format, b, ...)
Grabar a txt
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Grabar a txt
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Leer txt
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Leer txt
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
VariablesVariables
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
OPERACIONES RELACIONALES Y LÓGICAS
OPERADORES RELACIONALES
OPERADORES LÓGICOS
Igual == No igual ~= Menor que < Mayor que > Menor o igual que <= Mayor o igual que >=
AND & OR | NOT ~
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Funciones definidas por el usuario
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
EjercicioEjercicio
Graficar vectores XY
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LabVIEW MathScript
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Plotear una onda seno
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
GRAFICAS EN MathScript
Primero se crean los valores para el eje horizontal x (variable independiente), seguido se calcula el eje vertical y (variable dependiente).
La orden plot(x, y) genera la gráfica:
x=0:0.1:2*pi;y=sin(x);plot(x,y);grid on;title('Señal Seno')xlabel('Tiempo')ylabel('Volt')
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Text(x,y,’string’)
EjercicioEjercicio
x=0:0.1:2*pi;y=sin(x);plot(x,y);text(2,0.8,'seno')gtext('función seno')
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADAMathScript Node
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Funciones a aplicar en Ingeniería EléctricaFunciones a aplicar en Ingeniería Eléctrica
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
PROBLEMAS GUÍA 7PROBLEMAS GUÍA 7
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 1Ejercicio 1
Ejercicio 1.- Grafique cinco ciclos completos para las funciones seno y coseno en un Plot con la sintaxis de MathScript. En el gráfico la función seno debe aparecer en color rojo y la función coseno en azul.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 2.- Comprobación de compatibilidad entre Matlab y MathScript: Copiar el script del Trabajo Práctico Nº 2 de Dinámica de Máquinas Eléctricas en un nodo MathScript y modificando los gráficos de salida para obtener la figura siguiente:
Ejercicio 2Ejercicio 2
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 2Ejercicio 2
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 2Ejercicio 2
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 3.- Adquiera una muestra de 10 lecturas con el demo “Read Tensión” y a través de estructuras events y nodos MathScript grabe y lea el archivo txt, obteniendo la lectura en un array. (Obtenga en help información de cómo emplear las funciones: fopen, fprintf, fclose, fscan)
Ejercicio 3Ejercicio 3
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 4: A partir de un archivo ‘csv’ con registros de ondas de tensiones y corrientes obtenidas con el analizador HIOKI en un ensayo de generador trifásico, obtener a partir de sintaxis de MathScript los THDu y THDi, de una de las fases. A partir de los datos de FFT calcular la corriente de neutro.Incorporar el espectro de frecuencia de los armónicos contenidos en la corriente de fase.
Ejercicio 4Ejercicio 4
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
PROBLEMAS ADICIONALES
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio Ejercicio
Ejercicio 8.- Resuelva el siguiente ejercicio de un sistema trifásico utilizando MathScript en el cual deben ingresar como variables: Z=R+jX y U1rms. Obtenga en indicadores Meter datos de potencia activa total, reactiva total y factor de potencia del sistema. Graficar el triángulo de potencias.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Agregar Gráfico del Triángulo de Potencias.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 9.- Resolver el problema del secuencímetro lámpara-capacitor con los datos indicados en la figura siguiente. Complete con los diagramas fasoriales de caídas de tensión en cada una de las cargas y el correspondiente desplazamiento de neutro. Incorporar un indicador de secuencia directa o inversa.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Llamar rutinas MatlabLlamar rutinas Matlab
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
Ejercicio 10. Construir un VI que represente un sistema trifásico equilibrado 3x380V con cargas resistivas conectadas en estrella y inductivas en triángulo. Graficar el diagrama fasorial tensión-corriente, y las indicaciones en vatímetros, varmetros y cofímetros.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio 11.- A partir de los datos grabados en el Analizador de Redes HIOKI en un ensayo de laboratorio con una lámpara de bajo consumo LFC de 20 W se obtuvo la siguiente tabla:El factor de desplazamiento medido en el Hioki fue de 0.935.Obtener la señal de corriente utilizando sentencias de MathScript en un plot con los detalles de la figura:
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
Ejercicio.- Diseñe un subVI “LFC” –lámpara fluorescente compacta- con fuentes simuladas que sea capaz de generar la misma onda de corriente.
Complete la aplicación obteniendo para un sistema trifásico de 3x380V los siguientes datos:1. THDF% 2. Espectro de frecuencias 3. Factor de potencia verdadero (mostrando en un mismo Meter el
ángulo y el ángulo correspondiente a )4. Valor eficaz de la corriente para una lámpara en un Meter.5. Corriente de línea y neutro para un sistema equilibrado conformado
por 100 lámparas por fase.6. Potencias activas, reactivas y aparentes por fase y totales.
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
LFC20W.viLFC20W.vi
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
INSTRUMENTACIÓN AVANZADAINSTRUMENTACIÓN AVANZADA
EjercicioEjercicio
Recommended