remote data acquisition and control using labview vi...
Post on 22-Apr-2020
23 Views
Preview:
TRANSCRIPT
Remote Data AcquisitionRemote Data Acquisitionand Control and Control
UsingUsing LabVIEWLabVIEW VI SERVERVI SERVER
OmariaOmaria E. TuckerE. Tucker
SeniorSeniorDepartment of Mathematics and Computer Science Department of Mathematics and Computer Science
South Carolina State UniversitySouth Carolina State UniversityFlorence, SCFlorence, SC
South Carolina State UniversitySouth Carolina State UniversityNASANASA--PAIRPAIR20022002--20032003
((Partnership Award for the Partnership Award for the Integration of Research)Integration of Research)
Engineering GroupDr. Nikunja N. Swain, Mentor
Garrett M. Joseph Marvin Fulton, Jr. Omaria E. Tucker
IntroductionIntroductionThe SCSU PAIR is a The SCSU PAIR is a program divided into 3 program divided into 3 sectionssections
6 weeks during the 6 weeks during the SummerSummerFall Semester Fall Semester Spring SemesterSpring Semester
SMILEY radioSMILEY radio--telescope at PARI telescope at PARI (Pisgah Astronomical (Pisgah Astronomical Research Institute)Research Institute)
Team Objectives:Team Objectives:To design and modify To design and modify the SMILEY front panelthe SMILEY front panel
To develop a simple To develop a simple interface to allowinterface to allow
LabVIEWLabVIEW to interface to interface withwith PARIsPARIs controlscontrols
To allow remote To allow remote operation access to operation access to SMILEY over the SMILEY over the
InternetInternet
Background InformationBackground Information
LabVIEWLabVIEW----Laboratory Virtual Instrument Laboratory Virtual Instrument Engineering WorkbenchEngineering Workbench
FlexibleFlexibleCost effectiveCost effectivePowerfulPowerfulIncreases ProductivityIncreases Productivity
VIRTUAL INSTRUMENTSVIRTUAL INSTRUMENTS——VIsVIsCan build using software objectsCan build using software objectsCan be used for:Can be used for:
Remote data acquisitionRemote data acquisitionAnalysisAnalysisDesign and distributed controlDesign and distributed control
APPLICATIONSAPPLICATIONSVI Server (Web Server)VI Server (Web Server)Data Socket ServerData Socket ServerActiveXActiveXJava and JavaScriptJava and JavaScript
WhyWhy LabVIEWLabVIEW VI Server?VI Server?
Used to control entireUsed to control entire VIsVIsAllow multiple users/clients to connect Allow multiple users/clients to connect simultaneously to the same front panelsimultaneously to the same front panelAllows machines withoutAllows machines without LabVIEWLabVIEWinstalled to view and controlinstalled to view and control VIsVIs, with, withLabVIEWLabVIEW runrun--time enginetime engineCan run from many different software Can run from many different software platformsplatforms
DisadvantagesDisadvantages
Must configure license to support the Must configure license to support the number of clientsnumber of clientsCannot manipulate the dimension of the Cannot manipulate the dimension of the front panel because of web browser front panel because of web browser constraintsconstraintsMay not run exactly the same on a remote May not run exactly the same on a remote computer, as it would when ran locallycomputer, as it would when ran locally
What is the VI Server?What is the VI Server?
An easier way to build a networkedAn easier way to build a networked LabVIEWLabVIEWapplication over TCP/IPapplication over TCP/IPGives the capability to access features Gives the capability to access features programmatically by using VI Server functions in programmatically by using VI Server functions in the block diagram or through an ActiveX controlthe block diagram or through an ActiveX controlBecause of network transparency, users can Because of network transparency, users can perform manipulations of a VI or ofperform manipulations of a VI or of LabVIEWLabVIEWitself on another machine across the networkitself on another machine across the network
VI Server FunctionalityVI Server Functionality
Open Application RefOpen Application RefReturns a reference to a VI Returns a reference to a VI Server app running on the Server app running on the specified machinespecified machine
Open VI RefOpen VI RefReturns a VI reference to a Returns a VI reference to a VI specified in the pathVI specified in the path
Call By Ref NodeCall By Ref NodeUse to call a VIUse to call a VIVI determined at runtime VI determined at runtime by its value and could be by its value and could be on another computeron another computer
Property NodeProperty NodeSets (writes) or gets Sets (writes) or gets (reads) VI and application (reads) VI and application property info property info
Invoke NodeInvoke NodeInvokes a method or action Invokes a method or action on a VI or Application on a VI or Application objectobject
Close Application or VI Close Application or VI RefRef
Closes the reference to an Closes the reference to an app or VIapp or VI
*VI Server programming model follows the convention similar to file I/O and network references
Application Controls Palette inLabVIEW
ObjectObject--Orientation inOrientation in LabVIEWLabVIEWVI Server gives a mechanism to create references to two classes VI Server gives a mechanism to create references to two classes ofof LabVIEWLabVIEW objects, objects,
allowing operation on the objects by invoking methods and settinallowing operation on the objects by invoking methods and setting propertiesg properties
Two General Classes of ObjectsTwo General Classes of ObjectsApplicationApplication-- refers to graphical programming refers to graphical programming environment: obtaining info from the environment: obtaining info from the operating systemoperating system
i.e. set or read status of Web serveri.e. set or read status of Web server
VI ClassVI Class-- refers to a VIrefers to a VIi.e. loading a VI into memoryi.e. loading a VI into memory
Application ClassApplication ClassProperties and MethodsProperties and Methods
PropertiesPropertiesApplicationApplicationDisplayDisplayOperating SystemOperating SystemPrinting Printing
Allows users to set printing Allows users to set printing optionsoptions
ServerServerModify VI Server Modify VI Server configuration itselfconfiguration itself
Web ServerWeb ServerConfiguration of the builtConfiguration of the built--in in serverserveri.e. turn on/off, change i.e. turn on/off, change access permissions
MethodsMethodsBring to FrontBring to FrontMass CompileMass Compile
*three most powerful properties *three most powerful properties are Printing, Server, and Web are Printing, Server, and Web ServerServer
*many Application class *many Application class properties are readproperties are read--only and only and and some are read and writeand some are read and write
access permissions
Web ServerWeb ServerWhat is it?What is it?
A useful tool to interface between A useful tool to interface between the Web and equipment the Web and equipment connected to Data Acquisition and connected to Data Acquisition and Control of computersControl of computersUsed to allow users anywhere on Used to allow users anywhere on the Web to run actual laboratory the Web to run actual laboratory experiments with equipment in experiments with equipment in Engineering labs Engineering labs
Direct Internet CommunicationDirect Internet CommunicationInterface with Operating Interface with Operating EquipmentEquipmentRemote user runs a Remote ClientRemote user runs a Remote ClientLabVIEWLabVIEW program that also uses program that also uses TCP/IP communication (UDP also TCP/IP communication (UDP also used)used)Equipment available on a 1Equipment available on a 1stst
come, 1come, 1stst served basis (2served basis (2ndnd user user can observe the results of 1can observe the results of 1stst user user that’s already in controlthat’s already in controlIn this mode the Web server only In this mode the Web server only needs to receive a short string of needs to receive a short string of info as well as send, making this info as well as send, making this communication faster than a communication faster than a WWW interfaceWWW interface
What actually happens?What actually happens?“Web Server” VI
Sends the response to the browser
Decides on the appropriate response to the message
Receives the message from the browser
Waits for a TCP/IP connection
“Receive Command”
“Generate Reply”
ConfigurationConfigurationLabVIEWLabVIEW gives you three sets of setup panels when configuring the Web Sgives you three sets of setup panels when configuring the Web Server:erver:
Either Allowed/Denied access to the Browser and/or Remote Viewing and Controlling
Used to enable or disable the web server
ConfigurationConfigurationLabVIEWLabVIEW gives you three sets of setup panels for the VI Server:gives you three sets of setup panels for the VI Server:
Either Allowed/Denied access to the Server and/or VIs
Sets up how the VI server resources are shared
Smiley Front Panel.VI
*Configured so that a user can not Calculate, Position, or Acquire Data from Smiley without “Logging In” first
Conclusion and Future PlansConclusion and Future Plans
With the use ofWith the use of LabVIEWLabVIEW and its VI Server we and its VI Server we were able to complete our objectives to were able to complete our objectives to modify the Smiley Front Panel, implement modify the Smiley Front Panel, implement usernames and passwords for security, and usernames and passwords for security, and allowing remote access and control over the allowing remote access and control over the SCSU Network and the Internet. In the future SCSU Network and the Internet. In the future we plan to usewe plan to use VisualBasicVisualBasic and Java in and Java in completing our objectives.completing our objectives.
AcknowledgementsAcknowledgements
This work was funded This work was funded in part by a PAIR in part by a PAIR grant from NASAgrant from NASA--MURED to SCSUMURED to SCSU55--454.454.
top related