Go to Post That's is why I raised this question, becuase I do not know all the facts (I doubt anyone does). - Ken Leung [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 17-12-2008, 16:11
ryantanner ryantanner is offline
Registered User
FRC #1782
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2006
Location: Raytown, MO
Posts: 4
ryantanner is an unknown quantity at this point
LabVIEW vs. Easy C

I'm somewhat new to FIRST Robotics (ie, I worked with the team when I was a freshman, and now I'm a senior helping out again), and I have kind of an important question.

The last three years, they've used Easy C to program the robot, but this year our sponsor is wanting us to switch to LabVIEW. And to be quite honest, I don't understand it at all. It seems to me almost like CAD, just something to show a visual representation. I don't see a way to even download code to a robot.

I guess what I'm asking is, should I stick with easy C? Or will LabVIEW work for me if I just stick it out?
  #2   Spotlight this post!  
Unread 17-12-2008, 16:17
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,069
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: LabVIEW vs. Easy C

First, welcome to CD.

Second, not to be a jerk but please search before you post. You will get a lot better answers if you do.

Third, to answer your question. Labview is a programming language just the same as easyC is. Depending on what version of Labview you have you may not have the option of downloading code to a robot. You will need the version that shipped with your controls if your team already has the controls. I think you would find it pretty hard to use easyC this next year for FRC. The only supported languages are Labview and C++. Please review the documentation that came/will come with your teams control system for more information.

If you have further questions feel free to ask.
__________________




.
  #3   Spotlight this post!  
Unread 17-12-2008, 16:20
EricVanWyk EricVanWyk is offline
Registered User
no team
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Boston
Posts: 1,597
EricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond repute
Send a message via AIM to EricVanWyk
Re: LabVIEW vs. Easy C

Unfortunately, EasyC isn't an option this year. C++ (with the WPI LIB) is the closest available option.

For me, LabVIEW had a very sudden learning curve. I won't say steep, just sudden. When it clicked, everything became blindingly obvious and intuitive. Before the click, I thought it was a pile of hooey.

I'd suggest trying LabVIEW a little longer - the click might be just around the corner. If it isn't, perhaps C/C++ would be better for you. The WPI folks did a really nice job with their libraries, so C/C++ is also a rather friendly path.

What helped my click is "Everything in an area executes exactly once, and only once it has all of its inputs" and "Execution flow is based on data flow".

Also, enable context help and keep it on. Learn what the different color wires mean. I like to think of a loop/structure as a subVI, because the execution rules are similar (the same?). I'm not a LabVIEW expert, so I should probably shut up before I misinform you.

Good luck, and have fun with it. It is a cool language "post-click".
  #4   Spotlight this post!  
Unread 17-12-2008, 16:22
ryantanner ryantanner is offline
Registered User
FRC #1782
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2006
Location: Raytown, MO
Posts: 4
ryantanner is an unknown quantity at this point
Re: LabVIEW vs. Easy C

Yeah, I feel a little foolish now. I posted, then started reading about searching before you ask and such. Thanks for answering anyway though.

We're working with Labview 8. I think that's the version that shipped with the controls, but our sponsor's in a meeting right now, so I have no clue.

So, basically, just learn Labview. Got it, thanks!

And Eric, C may be easier to learn for me, as I know Java pretty well, and I feel more comfortable with an actual language, but I am just going to learn Labview. Thanks too you too.
  #5   Spotlight this post!  
Unread 17-12-2008, 16:24
BrentJ BrentJ is offline
Registered User
no team
Team Role: Mentor
 
Join Date: Sep 2008
Rookie Year: 2009
Location: Auckland, New Zealand
Posts: 64
BrentJ has a spectacular aura aboutBrentJ has a spectacular aura about
Re: LabVIEW vs. Easy C

EasyC isn't supported on the new controller. You can use C++ or C.

The best thing to do is search the forum for Labview.

This will give you helps of links to training info.

Also check the official FIRST website for info.

If your sponsor wants you to use labview then does this mean they use Labview? If it does see if someone there will mentor you.

Here is a link to some videos done by WPI to get you started.

http://first.wpi.edu/FRC/contro876.html

Hope this helps, if you search this forum you will find a lot of what you need to know.

Labview is not a CAD type system.

It is more like EasyC on steriods, you place blocks down then change their values like say specifiying which motor to use. Then connect the diffrenet block with wires that transport data around the program. A very quick and dirty overview.


Brent
  #6   Spotlight this post!  
Unread 17-12-2008, 16:26
ryantanner ryantanner is offline
Registered User
FRC #1782
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2006
Location: Raytown, MO
Posts: 4
ryantanner is an unknown quantity at this point
Re: LabVIEW vs. Easy C

Brent, my sponsor doesn't know Labview. At all. He's the metals teacher at our school, he doesn't understand anything with computers. I know the program better than anyone on the team, and I still barely know it.

Eric, what do you mean when you say "everything in an area"? Like, what defines an area?

Last edited by ryantanner : 17-12-2008 at 16:32. Reason: new question.
  #7   Spotlight this post!  
Unread 17-12-2008, 17:04
Russ Beavis Russ Beavis is offline
Registered User
no team
 
Join Date: Nov 2005
Location: Manchester, NH - DEKA R&D Corp.
Posts: 341
Russ Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond reputeRuss Beavis has a reputation beyond repute
Re: LabVIEW vs. Easy C

Ryan,
For starters, the version of LabVIEW that NI is supplying to FIRST is custom installer based on 8.5.1. You can certainly learn a LOT about LabVIEW using the older version 8 but the custom installer for FRC is very nicely integrated for us.

There's another feature in LabVIEW that, IMHO, can really promote "the click" - Highlight Execution mode. Click on the little light bulb on the toolbar and, when your program is running, you'll see data "passing along" the wires. I personally think that this is great way to debug your program AND understand the data flow paradigm (and hopefully answer your "what area" question).

Good Luck!
Russ
  #8   Spotlight this post!  
Unread 17-12-2008, 17:59
EricVanWyk EricVanWyk is offline
Registered User
no team
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Boston
Posts: 1,597
EricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond repute
Send a message via AIM to EricVanWyk
Re: LabVIEW vs. Easy C

Quote:
Originally Posted by ryantanner View Post
Like, what defines an area?
If you grab a VI and drag it around, LabVIEW will highlight the "area" that it would be placed in if you let go at that moment.
  #9   Spotlight this post!  
Unread 17-12-2008, 18:41
rwood359 rwood359 is offline
Registered User
AKA: Randy
FRC #0359 (Hawaiian Kids)
Team Role: Mentor
 
Join Date: Aug 2008
Rookie Year: 2008
Location: Waialua, HI
Posts: 212
rwood359 is a name known to allrwood359 is a name known to allrwood359 is a name known to allrwood359 is a name known to allrwood359 is a name known to allrwood359 is a name known to all
Re: LabVIEW vs. Easy C

Quote:
Originally Posted by EricVanWyk View Post
For me, LabVIEW had a very sudden learning curve. I won't say steep, just sudden. When it clicked, everything became blindingly obvious and intuitive. Before the click, I thought it was a pile of hooey.

Good luck, and have fun with it. It is a cool language "post-click".
My experience almost exactly. My "click" moment came going through the beta teams sample code.
For the original poster, once you have some comfort with LV, look at the examples here: http://forums.usfirst.org/forumdisplay.php?f=749
  #10   Spotlight this post!  
Unread 17-12-2008, 20:17
Tom Line's Avatar
Tom Line Tom Line is offline
Raptors can't turn doorknobs.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 2,533
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: LabVIEW vs. Easy C

If you look through these forums carefully, you will find a link to the labview website that will take you to an area with tutorial videos. They are well made and will familiarize you with how labview functions, and how to program a basic drive system and make it move.

There are numerous sources on the web - labview for dummies and others.

Use the search function here, and use the labview website and forums. This is one of those cases where you are going to actually have to read the "manual". There's also a getting-started guide that is around 400 pages of labview goodness that will get you going.

Start reading. Believe me, you won't be done before kickoff.

Editted to add: the labview "getting started" guide is on the usfirst.org website.
  #11   Spotlight this post!  
Unread 17-12-2008, 21:49
ryantanner ryantanner is offline
Registered User
FRC #1782
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2006
Location: Raytown, MO
Posts: 4
ryantanner is an unknown quantity at this point
Re: LabVIEW vs. Easy C

Thanks everyone, you all helped alot. I'm checking out the FIRST Labview tutorial right now.
  #12   Spotlight this post!  
Unread 20-12-2008, 08:39
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: LabVIEW vs. Easy C

Hopefully late is still better than never. Just to add some standard terminology to this good discussion, the area that Eric is referring to is called a diagram. At first diagrams are a bit hard to make out since they are more a space than an object, but they are equivalent to the space between { and } in a C program. A diagram is a bit like a statement -- does nothing on its own, but organizes other operations to do something bigger.

The first place you will find a diagram in LV is in the block diagram window. This diagram belongs to the VI and the code place on it will execute as Eric mentioned, all nodes exactly once, according to dataflow, each time the VI is run.

Another place to find diagrams is inside of the for or while loop. The loop is a box with an inside and an outside. This is the same as the { and }'s again. Code inside belongs to the loop, code outside belongs to a different diagram. When a loop node executes once, it can decide to execute its diagram as many times as it likes. Each execution follows the rules. Note that code within a loop seems to execute many times for one execution of the VI, but that is fine because it doesn't belong to the VI's diagram, it belongs to the loop diagram, and none of these are breaking the rule that Eric stated with respect to their owning diagram.

Other places you'll find diagrams are conditional case statements which owns a set of diagrams, picking one to execute, and a sequence which owns a set of diagram that are executed in an order.

The other thing that happens when you move from one diagram to another is to synchronize data. You'll see boxes drawn on edge called tunnels. The tunnel holds the data as long as necessary until the data on other wires arrives, then the execution can move from one diagram to another and that is when the tunnel data is transferred from one diagram to the other, and execution of that diagram begins.

Hope the terminology lecture helped.
Greg McKaskle
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
CMUCam, Easy C, and Labview JJMax7 Programming 28 07-02-2007 22:20
Small, very easy Labview question (Hopefully) 1733_programmer LabView and Data Acquisition 2 08-12-2006 15:48
Easy-c MC_FALCON_842 Programming 11 13-10-2006 22:42
Easy C redragon226 Programming 8 28-01-2006 16:56
EASY C JamesByrne Programming 4 10-01-2006 15:21


All times are GMT -5. The time now is 16:11.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi