labview_256.png

EN-STI-ECE LabView Guidelines

The following page is designed to give guidelines for the National Istrument Labview software. The material is divided by topics.

PREREQUISITE

To obtain an exaustive project, the following milestones documents and actions should be implemented.

Functional specification document

It is a document that reviews all the function of the software and the related interconnection to other software or hardware devices. Please see the following guideline.

FunctionalSpecifications.pdf

Requirements document

It is a document that defines all the requirements that the software has to fulfil. Use the NI requirements gateway to tag and cover all the requirements. See the Requirements Gateway section of this web tutorial and the example in the following attachments.

PrsRequirements.docx

MdcRequirements.docx

Software design document

It is a document that describes in tecnical details the software. Please follow the the IEEE standard for code documentation present in the Code Documentation section of this web tutorial. Examples in the following attachments.

PrsSoftwareDesignDocument.docx

MdcSoftwareDesignDocument.docx

Hardware design document

It is a document that describes the hardware (if present) that is controlled by the software. Please see the example in the following attachment.

LCCS_HW_Design_Specification.docx

Software repository

Use tortoise (http://tortoisesvn.tigris.org/ ) to commit software into the section software repository for labview code. The section repository software is named STI-ECE-SVN located in the CERN web SVN. Please ask Rosario Esposito for access rights.

INTRODUCTION TO LABVIEW

Overview

Overview goals:

  • Become comfortable with the LabVIEW environment and data flow execution
  • Ability to use LabVIEW to solve problems
  • LabVIEW Concepts :
    • Acquiring, saving and loading data
    • Find and use math and complex analysis functions
    • Work with data types, such as arrays and clusters
    • Displaying and printing results

Introduction_to_LabVIEW-Overview.pdf

DEVELOPMENT GUIDELINES

The LabVIEW Development Guidelines describe many of the issues that arise when developing large applications. The guidelines are based on the advice of LabVIEW developers and provide a basic survey of software engineering techniques you might find useful when developing your own projects.

This manual also includes a discussion of style for creating VIs. Developers who have used LabVIEW and are comfortable in the LabVIEW environment can use the LabVIEW Development Guidelines to maintain a consistent style in their projects.

Introduction_to_LabVIEW-Development_Guidelines.pdf

LABVIEW USER MANUAL

This manual describes the LabVIEW graphical programming environment and techniques for building applications in LabVIEW, such as test and measurement, data acquisition, instrument control, datalogging, measurement analysis, and report generation applications.

Documentation_-_UserManual.pdf

LABVIEW COURSES

Labview Fundamentals

This manual describes Labview programming concepts, techniques, features, VIs and function you can use to create test and measurement, data acquisition, instrument control, datalogging, measurement analysis and report generation application.

LabView_Fundamentals.pdf

Basic course I

Use this manual to learn about LabVIEW programming concepts, techniques, features, VIs, and functions you can use to create test and measurement, data acquisition, instrument control, datalogging, measurement analysis, and report generation applications. This course manual assumes that you are familiar with Windows and that you have experience writing algorithms in the form of flowcharts or block diagrams. The course manual is divided into lessons, each covering a topic or a set of topics. Each lesson consists of the following:

  • An introduction that describes the purpose of the lesson and what you will learn
  • A description of the topics in the lesson
  • A set of exercises to reinforce those topics
Some lessons include optional and challenge exercise sections or a set of additional exercises to complete if time permits.

  • A summary that outlines importantconcepts and skills taught in the lesson Several exercises in this manual use one of the following National Instruments hardware products:
  • A plug-in multifunction data acquisition (DAQ) device connected to a DAQ Signal Accessory containing a temperature sensor, function generator, and LEDs
  • A GPIB interface connected to an NI Instrument Simulator

If you do not have this hardware, you still can complete the exercises. Alternate instructions are provided for completing the exercises without hardware. Exercises that explicitly require hardware are indicated with an icon, shown at left. You also can substitute other hardware for those previously mentioned. For example, you can use a GPIB instrument in place of the NI Instrument Simulator, or another National Instruments DAQ device connected to a signal source, such as a function generato

Labview_Basics_I.pdf

Basic course II

Use this manual to learn aboutLabVIEW programming concepts, techniques, features, VIs, and functions you can use to create test and measurement, data acquisition, instrument control, datalogging, measurement analysis, and report generation applications.

This course manual assumes that you are familiar with Windows, Macintosh, or UNIX; that you have experience writing algorithms in the form of flowcharts orblock diagrams; and that you have taken the LabVIEW Basics I or have equivalent experience.

The course manual isdivided into lessons, each covering a topic or a set of topics. Each lesson consists of the following:

  • An introduction that describes the purpose of the lesson and what you will learn
  • A description of the topics in the lesson
  • A set of exercises to reinforce those topics
  • A set of additional exercises to complete if time permits
  • A summary that outlines important concepts and skills taught in the lesson

Labview_Basics_II.pdf

Advanced CERN Customized Course

The custom advanced course contains description on how to make software engineering process, system architecture, best practice developments and validation.

AdvancedCustomCourse.pdf

LABVIEW REALTIME COURSES

Getting started

This document provides exercises to teach you how to develop a real-time project and VIs from setting up RT targets to building, debugging, and deploying real-time applications. This document provides references to the LabVIEW Helpand other Real-Time Module documents for more information as you create the real-time application.

Labview_RealTime_Module_-_getting_started_.pdf

LABVIEW Real-Time I

The LabVIEW Real-Time 1 course teaches you to use LabVIEW Real-Time to develop a deterministic and reliable application. Most LabVIEW applications run on a general-purpose operating system (OS) like Windows, Linux, Solaris, or Mac OS. Some applications require deterministic real-time performance that general-purpose operating systems cannot guarantee. The LabVIEW Real-Time Module extends the capabilities of LabVIEW to address the need for deterministic real-time performance.

This course assumes you have a level of experience with LabVIEW equivalent to completing the material in the LabVIEW Core 1 course. In addition, you should be familiar withthe Windows operating system and computer components such as the mouse, keyboard, connection ports and plug-in slots, and have experience writing algorithms in the form of flowcharts or block diagrams. The course and exercise manuals are divided into lessons, described as follows.

In the course manual, each lesson consists of the following:

  • An introduction that describes the purpose of the lesson and what you will learn
  • A description of the topics in the lesson
  • A summary quiz that tests and reinforces important concepts and skills taught in the lesson
In the exercise manual, each lesson consists of the following:


  • A set of exercises to reinforce topics
  • (Optional) Self-study and challenge exercise sections or additional exercises

Course Labview_RealTime_Module_-_basic.pdf
Exercise Labview_RealTime_Module_-_basic_exercise.pdf

LABVIEW NI ONLINE COURSES

Labview online courses from National Instruments are accessible through the following link being registered using the serial key that CERN uses for the software.

http://sine.ni.com/myni/self-paced-training/app/main.xhtml

DATA COMUNICATION

An overview of Data Comunication in LabView

Data_Communication.pdf

MEASUREMENTS AND DATA ACQUISITION

An overview measurements and data acquisistion in LabView.

Measurement.pdf

Data_acquisition.pdf

Daqm.pdf

MOTION CONTROL

An overview of motion control in LabView.

Motion_Control.pdf

TEMPLATES

Overview

LabVIEW 2013 continues to expand the in-product templates and sample projects, which provide recommended starting points designed to ensure the quality and scalability of a system. All of the

templates and sample projects are open-source and include extensive documentation designed to clearly indicate how the code works and the best practices for adding or modifying functionality. In

addition to demonstrating recommended architectures, these projects also illustrate best practices for documenting and organizing code.

You can create a new LabVIEW project from an existing template or sample project by selecting “Create Project” from the Getting Started window. The list of available options depends on the

software modules and drivers that you have installed. This document lists the templates and sample projects that National Instruments provides and supports.

TemplateOverview.pdf

State Machines

The concept of “State Machines” as they pertain to LabVIEW based application development. Focus will be on design considerations and merits for selecting various State Machines models.

Topics

  • Single loop
  • Multiple Loops (Asynchronous)
  • Supporting techniques
  • Queue
  • Functional Globals
  • Multi-threading and performance (comments)
Architecture State_Machine_Architectures.pdf
State Machine and Queue State_Machines_Queue_based_at_end_.pdf

Functional Global Variables

In NI LabVIEW software, the order of execution is controlled by the flow of data (data flow) though wires rather than the sequential order of commands. This allows you to create a block diagram with simultaneous (parallel) operations. When you have parallel loop structures, you cannot use wires to communicate data between the two loops because data flow prevents parallel operation. To overcome this, you must use variables. With variables, you can circumvent normal data flow by passing data from one place to another without connecting the two places with a wire. In LabVIEW, variables take many forms.

LocalGlobalVariablesRaceConditions.pdf
Functional_Global_Variables.pdf

CODE DOCUMENTATION

IEEE standard for code documentation

The following document has to be use as templeates for the software design document.

Software_Design_Document_Reference.pdf

Tables numeric error codes

In the following document the Labview error codes are explained.

Documentation_-_Error_Codes.pdf

REQUIREMENTS GATEWAY

The code implementation could be driven by a requirement document. To link the requirements to code modules, NI Requirements Gateway could be use.

Requirements_Gateway.pdf

EXAMPLES AND EXERCISES

In the following there is a list of various examples and exercises.

Various

Introduction_to_LabVIEW.zip

Motion_State_Machine.zip
Functional_Global_Variables.zip

DMA_Best_Practices.zip

Bioreactor_Scan_Engine.zip

Bioreactor_FPGA.zip

LabviewRealTimeExercise.rar

Network_Streams_Example.zip

yED_Basic_cRIO_Architectures.zip

Exams

cla_exam_prep_guide.pdf

cla_sample_atm_solution.rar

cla_sample_exam_atm_machine.pdf


  • Member list (comma-separated list):

  • Persons/group who can change the list:
  • Twiki Web page created on 28.10.2013

    -- MarioDiCastro - 28-Oct-2013

    Added CLA preparation guide and example exercises.

    -- MarioDiCastro - 31 Oct 2013

    Topic attachments
    I Attachment History Action Size Date WhoSorted ascending Comment
    PDFpdf AdvancedCustomCourse.pdf r1 manage 3044.2 K 2013-10-28 - 11:37 MarioDiCastro  
    Compressed Zip archivezip Bioreactor_FPGA.zip r1 manage 1090.6 K 2013-10-28 - 11:40 MarioDiCastro  
    Compressed Zip archivezip Bioreactor_Scan_Engine.zip r1 manage 318.2 K 2013-10-28 - 11:40 MarioDiCastro  
    Compressed Zip archivezip DMA_Best_Practices.zip r1 manage 483.3 K 2013-10-28 - 11:40 MarioDiCastro  
    PDFpdf Daqm.pdf r1 manage 8988.8 K 2013-10-28 - 11:37 MarioDiCastro  
    PDFpdf Data_Communication.pdf r1 manage 2061.0 K 2013-10-28 - 11:37 MarioDiCastro  
    PDFpdf Data_acquisition.pdf r1 manage 2570.4 K 2013-10-28 - 11:37 MarioDiCastro  
    PDFpdf Documentation_-_Error_Codes.pdf r1 manage 151.8 K 2013-10-28 - 11:37 MarioDiCastro  
    PDFpdf Documentation_-_UserManual.pdf r1 manage 3606.4 K 2013-10-28 - 11:37 MarioDiCastro  
    JPEGjpg EN-STI-LOGO.jpg r1 manage 35.9 K 2013-10-28 - 13:40 MarioDiCastro  
    PDFpdf FUNCSPEC.pdf r1 manage 32.5 K 2013-12-12 - 16:49 MarioDiCastro  
    PDFpdf Functional_Global_Variables.pdf r1 manage 1010.1 K 2013-10-28 - 11:37 MarioDiCastro  
    Compressed Zip archivezip Functional_Global_Variables.zip r1 manage 2036.6 K 2013-10-28 - 11:40 MarioDiCastro  
    PDFpdf Introduction_to_LabVIEW-Development_Guidelines.pdf r1 manage 848.8 K 2013-10-28 - 11:37 MarioDiCastro  
    PDFpdf Introduction_to_LabVIEW-Overview.pdf r1 manage 3978.2 K 2013-10-28 - 11:37 MarioDiCastro  
    Compressed Zip archivezip Introduction_to_LabVIEW.zip r1 manage 11083.9 K 2013-10-28 - 11:40 MarioDiCastro  
    Unknown file formatdocx LCCS_HW_Design_Specification.docx r1 manage 7523.5 K 2013-12-12 - 17:06 MarioDiCastro  
    PDFpdf LabView_Fundamentals.pdf r1 manage 1567.2 K 2013-10-28 - 11:39 MarioDiCastro  
    Unknown file formatrar LabviewRealTimeExercise.rar r1 manage 1498.8 K 2013-10-28 - 11:40 MarioDiCastro  
    PDFpdf Labview_Basics_I.pdf r1 manage 3384.6 K 2013-10-28 - 11:37 MarioDiCastro  
    PDFpdf Labview_Basics_II.pdf r1 manage 1308.5 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf Labview_RealTime_Module_-_basic.pdf r1 manage 1396.8 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf Labview_RealTime_Module_-_basic_exercise.pdf r1 manage 3546.0 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf Labview_RealTime_Module_-_getting_started_.pdf r1 manage 345.2 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf LocalGlobalVariablesRaceConditions.pdf r1 manage 954.6 K 2013-10-28 - 11:58 MarioDiCastro  
    Unknown file formatdocx MdcRequirements.docx r1 manage 974.7 K 2013-12-12 - 16:57 MarioDiCastro  
    Unknown file formatdocx MdcSoftwareDesignDocument.docx r1 manage 1846.8 K 2013-12-12 - 17:03 MarioDiCastro  
    PDFpdf Measurement.pdf r1 manage 3293.9 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf Motion_Control.pdf r1 manage 2670.1 K 2013-10-28 - 11:39 MarioDiCastro  
    Compressed Zip archivezip Motion_State_Machine.zip r1 manage 104.7 K 2013-10-28 - 11:40 MarioDiCastro  
    Compressed Zip archivezip Network_Streams_Example.zip r1 manage 442.6 K 2013-10-28 - 11:40 MarioDiCastro  
    Unknown file formatdocx PrsRequirements_1.docx r1 manage 1064.5 K 2013-12-12 - 16:57 MarioDiCastro  
    Unknown file formatdocx PrsSoftwareDesignDocument.docx r1 manage 1150.5 K 2013-12-12 - 17:03 MarioDiCastro  
    PDFpdf Requirements_Gateway.pdf r1 manage 1999.8 K 2013-10-28 - 12:09 MarioDiCastro  
    PDFpdf Software_Design_Document_Reference.pdf r1 manage 133.0 K 2013-10-28 - 12:07 MarioDiCastro  
    PDFpdf State_Machine_Architectures.pdf r1 manage 592.2 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf State_Machines_Queue_based_at_end_.pdf r1 manage 1824.0 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf TemplateOverview.pdf r1 manage 87.1 K 2013-10-28 - 11:39 MarioDiCastro  
    PDFpdf cla_exam_prep_guide.pdf r1 manage 66.1 K 2013-10-31 - 09:49 MarioDiCastro  
    Unknown file formatrar cla_sample_atm_solution.rar r1 manage 278.9 K 2013-10-31 - 09:49 MarioDiCastro  
    PDFpdf cla_sample_exam_atm_machine.pdf r1 manage 527.5 K 2013-10-31 - 09:49 MarioDiCastro  
    Compressed Zip archivezip yED_Basic_cRIO_Architectures.zip r1 manage 10.7 K 2013-10-28 - 11:40 MarioDiCastro  
    Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
    Topic revision: r5 - 2013-12-12 - MarioDiCastro
     
      • Cern Search Icon Cern Search
      • TWiki Search Icon TWiki Search
      • Google Search Icon Google Search

      Main All webs login

    This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
    Ideas, requests, problems regarding TWiki? Send feedback