It is time to add a new software to our list of used ones, in this case it is a masterpiece created by the company National Instruments (NI from now on) and I am referring to LabView.
I am not in an affiliate program or selling advertising (since it is not a free software), I have no commercial relationship with NI, however I believe that when something has been done well worth the mention and of course, more when that something will be very useful.
I do not intend to dictate a LabView course or give step by step tutorials on its use because I consider that the amount of material is very abundant. But it is necessary to know the functionality and basic notions of the software since we will be using it in the future.
What this article seeks is that the reader is left with an impression of what LabView is and to present the things concerning the work environment that I consider indispensable for the future understanding of the projects in which I make use of this software.
Es tiempo de agregar un nuevo software a nuestra lista de utilizados, en este caso se trata de una obra maestra creada por la empresa National Instruments (NI en adelante) y me estoy refiriendo a LabView.
No estoy en un programa de afiliados ni vendiendo publicidad (ya que no es un software gratuito),no tengo ninguna relacion comercial con NI, sin embargo creo que cuando algo se ha hecho bien merece la pena la mención y por supuesto, más cuando ese algo nos será de mucha utilidad.
No pretendo dictar un curso de LabView ni dar tutoriales paso a paso respecto a su uso porque considero que la cantidad de material es muy abundante. Pero es necesario conocer la funcionabilidades y las nociones básicas del software ya que los estaremos usando en el futuro.
Lo que este artículo busca es que el lector se quede con una impresión de lo que es LabView y presentar las cosas concernientes al entorno de trabajo que considero indispensables para la comprensión futura de los proyectos en los que haga uso de este software.
What is LabView? |
|---|
In my own definition I think it is a software that presents a graphical programming language based on images and blocks. Ah well that was not my own definition and it is very similar to the official one but mine starts from there... but it is so many things that I could not define it in a single paragraph so let's go by parts.
It is a programming language because it has its own structure through which you can develop applications even with the .exe extension so at the same time it is its own compiler.
But it is a modular development tool, that is to say, its field is practically unlimited since it will depend on the modules that are installed and new modules are constantly created.
It is flexible, for example it is possible to install modules of other programming languages and in this way we can create an application using different programming languages in the same compiler.
En mi propia definición creo que es un software que presenta un lenguaje de programación gráfico basado en imágenes y bloques. Ah bueno esa no fue mi propia definición y se parece mucho a la oficial pero la mía parte de ahí... pero es tantas cosas que no lo podría definir en un solo párrafo así que vamos por partes.
Es un lenguaje de programación porque tiene su estructura propia mediante la cual se pueden desarrollar aplicaciones incluso con la extensión .exe asi que a la vez es su propio compilador.
Pero es una herramienta de desarrollo modular, es decir, su campo es prácticamente ilimitado ya que dependerá de los módulos que se instalen y se crean nuevos módulos constantemente.
Es flexible, por ejemplo se pueden instalar módulos de otros lenguajes de programación y de esta forma podemos crear un aplicación usando distintos lenguajes de programación en un mismo compilador ¿Sorprendente verdad?
It is a simulator because it allows us to simulate the applications created.
It is a powerful SCADA thanks to its ability to communicate with anything that is programmable or has the ability to communicate by any of the existing communication protocols, and I mean not only microcontrollers, this software can communicate with any industrial automation device such as PLCs, SCADA, and others of the same nature, if you learn to use it well could make you a lot of money.
It is a monitoring software, this implies that we can connect it against our designs in physical or in Proteus and perform all the tests monitoring the process from our PC with LabView.
It really is many other things but since NI is not paying me for advertising I will stop here to move on to what specifically is of interest to us. 😅
Es un simulador porque permite que podamos simular las aplicaciones creadas.
Es un potente SCADA gracias a su capacidad de comunicarse con cualquier cosa que sea programable o tenga capacidad de comunicarse por alguno de los protocolos de comunicación existentes, y me refiero no solo a microcontroladores, este software puede comunicarse con cualquier dispositivo de automatización industrial como PLCs, SCADAS,y otros de la misma naturaleza, si aprendes a usarlo bien podría hacerte ganar mucho dinero.
Es un software de monitoreo, esto implica que podemos conectarlo contra nuestros diseños en físico o en Proteus y realizar todas las pruebas monitoreando el proceso desde nuestra PC con LabView.
Realmente es muchas otras cosas pero como NI no me está pagando la publicidad me detendré aquí para pasar a lo que específicamente es de nuestro interés. 😅
The work environment |
|---|
In the previous image we see the screen that is shown when we choose to create a new project, of the options available there we will start with VI (virtual instrument) because it is the one we will need in our initial simulation and monitoring projects.
Once there we will have two work windows that will be related to each other, that is, what we do in one will affect the other so it is convenient to have both visible while working, for this just use the combination of hot keys (Ctrl T).
En la imagen anterior vemos la pantalla que se nos muestra cuando escogemos crear nuevo proyecto, de las opciones ahí disponibles nosotros iniciaremos con VI (instrumento virtual) porque es la que necesitaremos en nuestros proyectos iniciales de simulación y monitoreo.
Una vez ahí tendremos dos ventanas de trabajo que estarán relacionadas entre sí, es decir, lo que hagamos en una afectara a la otra por lo que es conveniente tener ambas visibles mientras trabajamos, para esto basta usar la combinación de teclas rápidas (Ctrl T)
In the right window we have the block diagrams, it is where we create the logical structure of the program we want to create, the panel that you can see appears by pressing right click.
In this panel we will have different icons that we can immediately classify in two groups, folders and blocks.
The folders have a small gray bar on top that gives them the shape of a folder and if we click on them it will open what they contain which are blocks and/or folders. The representative icon is similar to this
In the following image I have given right click and then I have given click to a folder inside which there were blocks and other folders, of those other folders I have chosen one to deploy a third window with the blocks contained in it, as an image says more than thousand words please look at the following one.
En la ventana de la derecha tenemos los diagramas de bloques, es donde se crea la estructura lógica del programa que deseamos crear, el panel que se puede ver aparece por presionar click derecho.
En este panel vamos a tener diferentes Iconos que de inmediato podemos clasificar en dos grupos, carpetas y bloques.
Las carpetas tienen una pequeña barra gris arriba que les da forma de carpeta y si damos click en ellas se abrirá lo que estas contienen que son bloques y/o carpetas. El icono representativo es similar a este
En la siguiente imagen he dado click derecho y luego he dado click a una carpeta dentro de la cual se encontraban bloques y otras carpetas, de esas otras carpetas he escogido una para desplegar una tercera ventana con los bloques contenidos en ella, como una imagen dice mas que mil palabras por favor mira la siguiente.
The blocks are the equivalent to the functions of other programs, to be understood let's say that when we write codes we use functions such as if, for, while among a huge number of functions available, now imagine that we convert them into blocks and instead of writing we place the block and the data input.
When we place a block they will have connection points similar to the components in the proteus simulator, through these points we can connect the blocks to interact with each other in the data processing thus fulfilling the logic of the program we are creating.
On the left screen we have the front panel where the controls and indicators are placed in our project, these are presented graphically with images that relate to the variable that is being processed, when a program or application is finished in many occasions the client only looks and interacts with what we do here so it is important the aesthetic work in addition to the logical.
If we place a control on the front panel will appear in the block diagram a block with a data entry that will depend on the state in which this control on the front panel, the same thing will happen with the indicators and everything we use.
Los bloques son el equivalente a las funciones de otros programas, para que se entienda digamos que cuando escribimos códigos usamos funciones como if, for, while entre una enorme cantidad de funciones disponibles, ahora imagina que las convertimos en bloques y en lugar de estar escribiendo colocamos el bloque y la entrada de datos.
Cuando colocamos un bloque ellos tendrán puntos de conexión similares a los componentes en el simulador proteus, mediante estos puntos se pueden conectar los bloques para que interactúen entre sí en el procesamiento de datos cumpliendo así la lógica del programa que estemos creando.
En la pantalla izquierda tenemos el panel frontal donde se colocan los controles e indicadores en nuestro proyecto, estos se presentan de forma gráfica con imágenes que llevan relacion a la variable que se está procesando, cuando un programa o aplicación está terminado en muchas ocasiones el cliente solo mira e interactúa con lo que hagamos aquí por eso es importante el trabajo estético además del lógico.
Si colocamos un control en el panel frontal aparecerá en el diagrama de bloques un bloque con una entrada de datos que será dependiente del estado en que este ese control del panel frontal, pasara lo mismo con los indicadores y todo lo que usemos.
Let's go back to the window with the block diagrams, although the blocks have connection points there are rules that must be respected, for example the type of data that the connected blocks handle must be the same (unless it is a block that changes the data from one type to another).
To make it visibly easy to differentiate LabView accepts four base data types and others that depend on these four, the base data are integer (represented in blue), float (represented in orange), Boolean (represented in green) and string (represented in purple).
Vamos de vuelta a la ventana con los diagramas de bloques, aunque los bloques tienen puntos de conexión existen reglas que deben respetarse, por ejemplo el tipo de datos que manejan los bloques conectados deben ser el mismo (a menos que sea un bloque que cambia los datos de un tipo a otro).
Para que sea visiblemente fácil de diferenciar LabView acepta cuatro tipos de datos base y otros que dependen de estos cuatro, los datos bases son entero (representado en azul), flotante (representado en naranja), booleano (representado en verde) y cadena de caracteres (representado en púrpura).
In this way just by looking at the color of a line we can know what type of data it is handling, with the blocks it is similar, when we place a block its connection points will present the color corresponding to the type of data to be connected there.
There are blocks that handle different types of data but these must be placed in specific connection points, in this case the colors are also helpful.
Regarding the blocks there are blocks for almost anything you can imagine and if they are not enough you can install modules to have more.
Although we do not know them all it is not complicated to relate to them, especially because they made a lot of effort to get all the help you need, so in addition to the help menu that usually have all the windows in the top menu bar you can press Ctrl H and a kind of very useful assistant window will appear.
When this window is present just click on a block to get information about it, a text with its utility and an image with its correct connections.
De esta forma con solo mirar el color de una línea podremos saber qué tipo de datos está manejando, con los bloques es similar, cuando colocamos un bloque sus puntos de conexión presentarán el color correspondiente al tipo de datos que debe conectarse ahí.
Existen bloques que manejan distintos tipos de datos pero estos deben ser colocados en puntos de conexiones específicos, en este caso los colores también son de ayuda.
Respecto a los bloques existen para casi cualquier cosa que puedas imaginar y si no te son suficientes puedes instalar módulos para tener más.
Aunque no los conozcamos todos no es complicado relacionarnos con ellos, especialmente porque se esforzaron mucho en que obtengas toda la ayuda que necesites, así que además del menú de ayuda que suelen tener todas las ventanas en la barra superior de menús puedes presionar Ctrl H y aparecerá una especie de ventana asistente de mucha utilidad.
Cuando está presente esta ventan basta con hacer click a un bloque para que nos aparezca información sobre este, un texto con su utilidad y una imagen con sus conexiones correctas.
When I was a teenager I learned to use many programs from scratch using only the help menu offered by those programs so I can tell you from my own experience that learning LabView is very easy.
Although I will not give LabView courses or tutorials (as I indicated at the beginning), when the time comes to use it I will make a great effort to explain in detail each function used, that way we will accumulate knowledge and at some point without noticing it we will already be mastering LabView programming. 😉
Cuando era adolescente aprendí a usar muchos programas desde cero usando solo el menú de ayuda que ofrecían dichos programas por lo que puedo decirte por experiencia propia que aprender LabView es muy fácil.
Aunque no daré cursos ni tutoriales de LabView (como indiqué al principio), cuando llegue el momento de usarlo me esforzare mucho en explicar detalladamente cada función usada, de esa forma vamos acumulando conocimientos y en algún punto sin notarlo ya estaremos dominando la programación en LabView. 😉