|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
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
|
|||
|
|||
|
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
|
|||
|
|||
|
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. |
|
#4
|
|||
|
|||
|
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". |
|
#5
|
|||
|
|||
|
Re: LabVIEW vs. Easy C
Quote:
For the original poster, once you have some comfort with LV, look at the examples here: http://forums.usfirst.org/forumdisplay.php?f=749 |
|
#6
|
||||
|
||||
|
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. |
|
#7
|
|||
|
|||
|
Re: LabVIEW vs. Easy C
Thanks everyone, you all helped alot. I'm checking out the FIRST Labview tutorial right now.
|
|
#8
|
|||
|
|||
|
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 |
|
#9
|
|||
|
|||
|
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 |
|
#10
|
|||
|
|||
|
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. |
|
#11
|
|||
|
|||
|
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 |
|
#12
|
|||
|
|||
|
Re: LabVIEW vs. Easy C
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.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
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 |