First fare 2011 lab-view overview

893 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
893
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

First fare 2011 lab-view overview

  1. 1. Dennis C. Erickson ~ Senior Mentor for Teams 1510 and 2898 1  
  2. 2. Working  with  National  Instrument’s   Hardware  and  Software     Specifically:   Software  ~  LabVIEW   Hardware  ~  cRIO   2  
  3. 3. LabVIEW   VI  =  Virtual  Instrument   EW  =  Engineering  Workstation    VI  =  Virtual  Instrument  or  in  other  languages  “Routine”,   SubVI  =  Subroutine   3  
  4. 4. • Graphical  Interface  (Not  Text  Based)  • Dataflow  (All  inputs  must  be  updated  before  VI  –  Virtual  Instrument  –  executes)  • Self  Documenting  (You  know  what  the  code  does)     4  
  5. 5. • Portable  Code  (VIs  are  easily  reused)  • Advanced  set  of  diagnostic  tools;  probes,  execution  highlighting,  error  reporting,  ability  to  surround  the  code  with  a  “virtual  world  simulation  environment”  for  testing.   5  
  6. 6. • Perfectly  tailored  for  NI  hardware  • Automatically  handles  multiple  cores    and  threads  • Easily  compiles  to  RT  (Real-­‐time)  Operating  Systems  and  FPGA  (Field  Programmable  Gate  Arrays)  used  in  the  cRIO  processor   6  
  7. 7. While  it  is  entirely  possible  to  win  a  contest  with  a  robot  that  is  “bare  bones”  the  better  goal  is  to  learn  how  to  do  things  along  the  way  that  may  or  may  not  be  used.       7  
  8. 8. 8  
  9. 9. This  section  offers  a  brief  short  course  on   the  language  LabVIEW     9  
  10. 10. Launch  LabVIEW  to  create  a  new  project   10  
  11. 11. Name  your  project  .  You  might  for  example  use  your  team  name  and  year  in  the  name:  i.e.,  “Team  1510  for  2010  Robot  Project”    Be  sure  that  you  enter  your  team  IP  in  the  following  format:   11  
  12. 12. Adding  a  VI  to  your  project:  If  its  new,  then  right-­‐click  to  “VI”  and  select  and  name  it.    If  adding  an  existing  one  select  the  menu  item  “Add”.   12  
  13. 13. Some  example  controls  and  indicators  for  the  Front  Panel   Numerical  Controls   and  Indicators   13  
  14. 14. Some  example  controls  and  indicators  for  the  Front  Panel   Booleans   14  
  15. 15. Some  example  controls  and  indicators  for  the  Front  Panel   Strings  and  Paths   15  
  16. 16. Some  example  controls  and  indicators  for  the  Front  Panel   Arrays,  Clusters,   Matrices  and   Dialog  Boxes   16  
  17. 17. Some  example  controls  and  indicators  for  the  Front  Panel   List  Boxes,  Tables   and  Trees   17  
  18. 18. Some  example  controls  and  indicators  for  the  Front  Panel   2D,  3D   Digital   Charts  and   Graphs  and   Special  Plots   18  
  19. 19. Some  example  controls  and  indicators  for  the  Front  Panel   Rings  and  Enums   19  
  20. 20. Some  example  controls  and  indicators  for  the  Diagram   Structures   20  
  21. 21. Some  example  controls  and  indicators  for  the  Diagram   Arrays   21  
  22. 22. Some  example  controls  and  indicators  for  the  Diagram   Structures,  Classes   and  Variants   22  
  23. 23. Some  example  controls  and  indicators  for  the  Diagram   Numerics,  Booleans   and  Files   23  
  24. 24. Some  example  controls  and  indicators  for  the  Diagram   Timing,  Dialog  Boxes,   Waveforms,  etc,  etc   Hundreds  of  other   functions   24  
  25. 25. Testing  the  Joystick  Power  Function  VI  Task:    Test  the  VI  with  1000  simulated  Joystick  positions  from  0  to  +1  to  0  to  -­‐1  (White  Line)  and  create  9  plots  with  the  following  function:    Plotn  =  (motor  speed)m    Where:    Plotn  =  a  series  of  plots  (9  total)  Motor  speed  =  voltage  input  to  the  motor  (from  1  to  -­‐1)  m  =  power  function  (use  to  alter  the  forward  sensitivity  of  the  Joystick)     25  
  26. 26. This  discussion  touches  on  the  following   principle  areas:    • The  cRIO  hardware  (The  Brain)  • The  Sensors,  Motors  and  Actuators  that  can  be  used    • The  DS  Drive  Station  (Link  from  the  User  to  the  robot’s  brain)     26  
  27. 27. cRIO  –  Compact  Real-­‐time  Input/Output    A  PAC  (Programmable  Automation  Controller)  which  is  an  industrial  controller  that  is  used  in  advanced  systems  incorporating  software  capabilities  such  as  control,  communication,  data  logging,  and  signal  processing  requiring  rugged  hardware  performing  logic,  motion,  process  control,  and  vision.  For  FIRST  applications,  ideal  for  robot  building.   A  fully  populated   cRIO  example   27  
  28. 28. Real-­‐time  operating  system  cRIO  connected   to  a  Laptop   FPGA  –  Field  Programmable  Gate  Array   located  under  the  cRIO  chassis   28  
  29. 29. The  following  Example  code  shows  how  to  create  an  environment  to  test   and  calibrate  VI  modules.  In  this  case  we  are  testing  the  Camera  Servo   motors   Next  run  the  test  in  a  While  loop.  Note  the  Loop  First  Initialize  the  test  (note   Sweep  constant  which  defines  the  loop    cycle  the  “Data  Dependency”  wire)   (20ms).  Here  the  loop  is  stopped  using  the  Stop   Test?  command     Finally  End  the  test  by  closing  all   references,  etc.  Again  note  the  Data   Dependency  and  use  of  a  Frame   structure  as  the  SubVI  has  no  wired   input  to  use   29  
  30. 30. The  following  slides  start  with  a  State  Chart  to  show  what  the  State  Diagram  will  do.  The  next  slides  show  the  State  Diagram  created.   30  
  31. 31. State  diagrams  are  extremely  useful  in  creating  small  or  large  applications.  Since  LabVIEW  is  a  DataFlow  language,  this  approach  adds  to  the  robustness  of  the  application  The  Application  starts  by  selecting  the  Initialize  Test  State  (case).  Note  that  we  check  for  errors  and  if  the  Stop  Test?  Button  is  pressed.  Note  that  the  Enum  (far  left  constant  control)  has  3  possible  states;  Initialize  Test,  Run  Test  and  End  Test   31  
  32. 32. These  slides  show  a  typical  State  Diagram  that  tests  camera   servos.  Note  the  inputs  from  the  joystick  and  a  smoothing   control  to  test  filtering.  Next  if  no  errors,  run  the  While  loop  until  an  error  happens  or  the  Stop  Test?  Button  is  pressed  the  go  to  the  next  State   32  
  33. 33. One  of  the  interesting  features  of  the  State  Diagram  is  confining  the  application  code  to  one  screen,  thus  self  documenting  code  Finally,  there  has  been  an  error  or  the  Stop  Test?  Button  has  been  pressed  so  end  the  test  by  closing  references,  etc.  Note  that  now  the  Boolean  constant  is  now  TRUE  which  stops  the  loop   33  
  34. 34. Dennis C. Erickson - dcerickson1@comcast.net  

×