Existing Lab Hardware and Software Problem .. don't connect to each other
Today software and hardware from one vendor dominates educational institutions. Students are trained through labs to use this equipment. But there are drawbacks:
no community of users on the internet
constantly being updated requiring constant purchase/constant obsolescence
no easy interconnect with other vendors
never will be seen again because industry doesn't use it
can not put on resume to get summer jobs
How is LabView sold to an Educational Institution?
To convince educational institutions to change, the goal is to:
show solutions that embrace emerging technology .. new
solutions that maintain the ... old
use test equipment in a remote lab .. borrowed
connect emerging open source hardware ... blue
If implemented poorly, LabView is compared to a procedural language such as Java, C, etc. In reality LabView is teaching the world how to program parallel CPU's ... and computers computers. It's only competitor is MathWork's Simulink.
Connect everything
LabView is used to run the Large Hadron Collider. It is used by Space X for mission control .. coordinating activity all over the earth. launch rockets It essentially creates an operating system on top of all computers and lab equipment.
It can collect data and respond by activating output devices. It potentially could connect every piece of lab equipment in a school or company automating all repetitive scientific/engineering processes. It also provides a common, easy to learn, graphical mechanism to do all this.
Most institutions are full of equipment that comes with it's own drivers, it's own programming environment and it's own "family" of add on products. The term for this is "stove pipe or silo". The goal is to find examples of things that can not be done with independent technologies. Example silos or stove pipes include:
Vernier hardware and software
Xbox kinect and controllers
Arduino and its IDE
AR drone and cell phone flight controllers
Leap Motion and it's driving software
Lab View is a Real Time Operating System
The goal is to break up these silo's by connecting them through common software to each other. For example connect an arudino to a veriner logic gate. Connect a Leap Motion to DR drone.
LabView is an operating system that evolved out of the real-time world. Real time operating systems were used to collect data from experiments without dropping any data. Today they coordinate many computers through high speed networks so that data is not lost.
LabView runs on PC's to coordinate devices hooked up through a network. When the speed is not fast enough, the PC's themselves can be replaced with specialized hardware and the networks can be upgraded to Gigabit Ethernet.
LabView is software from a company called National Instruments
LabView connects input to output devices and collects data from computers.
In the past this software required dedicated computers
The programs are called VI's (Virtual Instruments)
VI stands for virtual instrument. It is a dataflow programming language that has it's roots in a 1960 paper called a "Block diagram Computer" and is very similar to VHDL which is taught in FPGA class. Most software allows just one execution path through it's code. This type of programming allows things to happen in parallel.
The result of a VI is something that looks like a flight simulator or oscilloscope simulator .. a screen with lots of virtual knobs and guages that help control, collect data and visualize results .. a virtual customized instrument panel.
What can be done with LabView, that can't be done now?
The goal is to use existing equipment within an institution that is lying around unused and connect it all with LabView. This is similar to how Wordperfect began to connect all printers (1990-1995) before Microsoft moved printer drivers into the operating system and sold Word to everyone.
List of things to connect
This is the potential hardware to connect
Microphone in Laptop, use Lab View to start application when fingers are snapped
Arduino Motor shield, use Lab View to control motors
MIDI shield, use Lab View to play songs
LED array, use Lab View to blink lights
Kinect, use Lab View to interpret what the Kinect sees
Leap Motion, use Labview to interpret what the Leap Motion sees
DR Drone, use Lab View to control quad copter
Agilent MSO, collect data from it
iRobot, use Lab View to control it's motion
Digilent FPGA, Digilent Analog Discovery, Digilent Electronics Explorer
Deleting unwanted items from block diagram and front panel; Video explanation
Play with Examples
Examples are found in the VIPM or VI Package Manager. It maintains a list of the example names which can be downloaded. If VIPM can not connect with the VI server, then go to Options->VI Server->Machine Access, add localhost to the list and just below it in Exported VIs, add * to that list.
Causing VI to launch notepad or calc on another computer
VI's can be used to connect programs. System Exec is a VI that can launch programs.NI's databases can be used to search for VI'S. VI's are created by connecting icons of other VI's. VI'S "Simple TCP" and "TCP Named Service" are good example VI's. Send continuously to work.
Here is how the above VI's were connected:
Block Diagram of Receiver Program
Block Diagram of Sender Program, Version 1
Block Diagram of Sender Program, Version 2
Opening Notepad and Other Programs
Notepad
LabVIEW System Exec VI
Copy VI program
Use for loop to open just one file, make boolean incidator true so file opens after program is run
Error message for trying to load a program with LabVIEW
Microsoft has changed Kinect models. It is difficult to tell them apart. So far this is the test .. look at the ball joint:
The Kinect with the black tilt function does not work properly in LabVIEW
The Kinect with the mirrored tilt function works properly in LabVIEW
Counting Fingers with Leap Motion
Leap Motion looks at your fingers in the air. The VI software reveals more about what the Leap Motion controller is capable of than any of the corporate demos.
sample LeapMotion block diagram
Using "Unbundle by Name" was able to extract just one of the possibilities.
Video using LeapMotion to turn on a control panel button]
Failure to connect Lego Mindstorms NTX robots
Lego's forces purchase of their licensed version of LabView own program
Mathworks Simulink can.
LabView can not because Lego is preventing this.
The problem is not the company NI or the LabView community. The problem is Lego making their brick proprietary.
One brick has a problem with lines appearing on the display
Lego service websites replacement for non-functioning parts.
iRobot Connection Status
The robot has as a USB port on it and it has a removable command module that also has a usb port on it. It has to infared walls that the robot will avoid and a charge it can locate, drive up, park and recharge itself.
Can get both USB cables to create a functioning device in the windows device driver window. But these were generic USB devices.
Next step is to download the Command Module software which was found in iRobot support. A Video overview of the LabView VI was made.