Tuesday, July 31, 2007

NI Week T-6 Days

NI Week is one day closer. I was impressed by the National Instruments NI Week auto schedule helper, even though it didn't easily have everything I wanted.

You have to be logged in and registered for the auto chedule to work, but here's a brief synopsis of how it works. You log in and go to the session catalog. You click on the link that allows you to pick your interests. You can view and pick your sessions along technical lines like DAQmx, or Hands On sessions, or all the sessions. Once figure out how you want to look at the sessions, you you can pick the sessions you're interested in. You just go down the list and pick and the label changes to "interested".

Once you've selected everything you're interested in, you click "auto scheduler". It will set up your schedule and will allow you to resolve your conflicts. The auto scheduler goes through each time slot and lets you know what sessions you expressed interest that overlap each other. From there you pick which which one you want to schedule for that time slot. If a session is scheduled for multiple times, it will let you know and allow you to move that session to another time. Of course, the 2nd time a session is given may have a conflict, too.

Your whole schedule can be set up in this manner. Later, there is an option to manually change your schedule. The scheduler will let you know when you pick a session that conflicts with another. After that you can then export the schedule to MS Outlook, or in csv format or tabbed format. This allows you to have your schedule in almost any tool to carry around with you.

The one thing I didn't like about NI schedule is it wasn't easy to extract all the session at one time. I had to bring up all the sessions at one time, print that, then go to the next time, and print, etc. It's a bit of a problem but not to bad.

They have a lot of good sessions planned, a lot of potential learning. I can't wait!

Have a great day

Monday, July 30, 2007

Road to NI Week T-7 days

NI Week is coming up. NI Week is National Instruments week long showcase of products and learning opportunities. This will be my first time to go to NI Week and I'm hoping I'll come back inspired. In 2003 I went to AutoTestCon (Automated Testing Conference) and I came back inspired to write a paper. I wound up writing a paper on Simultaneously, multiple UUT testing and I got to go to the 2004 AutoTestCon to present it.

There are several things I want to learn and it sounds like this is the place to learn. Almost all the NI employees will be there to answer questions and they have a lot of seminars on NI products. One thing I want to learn about is NI Requirements Gateway. It's a product to help trace requirements from requirements documents to TestStand to code. The group I'm in at Lockheed doesn't do requirements as well as we should and so I want to find out what we can do to do them better. Also, I want to learn about LabVIEW. I've had training in LabVIEW, I written some LabVIEW, and I've tried to like it, or at least not dis-like it. So far I've failed. I'm going to try to learn to like it...and not come away with Carpel Tunnel Syndrome. (But that's another blog)

One of the things I really want to learn about is Lego Mindstorms NXT. Lego and NI went into a joint venture to come up with an easy way to program Mindstorms NXT. They came with a LabVIEW derivative graphical language that works a lot like LabVIEW.

NI Week should be really great and I'm excited. I'll write more about it tomorrow.

Sunday, July 29, 2007

NI TestStand Panel Programming

It's Sunday, so this will be short. Yesterday I mentioned that to set up calling functions in TestStand a panel was popped up and the information was entered. A HUGE leap National Instruments has made between earlier TestStand's and there current version of 4.0 is getting away from Panel programming.

TestStands sequences resembled a programming language in many ways except for the Panels. Panel's were used to set up sequence steps, it was as if in a language like C, to enter an "i = i + 2", a panel had to be opened, the variable "i" is found and added to the statement, then the operation "=" had to be found and added, etc. Version 4.0 eliminates that. It meant a lot of mouse movement. TestStand is finally growing up.

TestStand 4.0 is more of an Integrated Development Environment (IDE). Group changes can now be made rather than opening a sequence in notepad and doing search and replace on multiple statements. Everyone who starts with TestStand 4.0 won't know the hassle's Pannel Programming, at least with TestStand.

All I can say to NI is thank you for TestStand 4.0...and my carpel tunnel syndrome thanks them too.

Have a good day

Saturday, July 28, 2007

TestStand, how it works (Sequences) part 1

Yesterday, I wrote about my vague, rumored history of TestStand...it put me to sleep, too. But I slept really well!

Today, I just wanted to talk a little about how to get started in TestStand. The New User Data sheet gives a 30,000 foot view of TestStand, the basics of it's structure. My favorite way of getting started on anything is to try it. If you make an account on ni.com and then go this TestStand Download link you can download a 30 day evaluation copy. I believe there is a getting started tutorial that gets you past the basics.

Baically, with TestStand you build test sequences (.seq). That's the start of all things TestStand. A test sequence is a list of steps that do actions, tests, checks, and control. Each step can call and run other programs, run functions in .dlls, diddle (technical term) TestStand variables. make ActiveX calls, call LabVIEW vi's, call other TestStand test sequences, call .Net objects, and probably do a few other things that I haven't tried.

NI took a page from Microsoft ole, their products integrate well together. But one thing NI did much better than Microsoft is integrate with other products. Like I noted above, once you have to specified what type of call you are making with a drop down box at the top of TestStand, you can call almost anything. If you have old code, it can be reused in the sequences.

To use a function, say a dll function, first a step is created. To do this right-click and select add a step. A step is created based on the drop down box at the top of the screen. Then a sequence step is highlighted and you hit m (or right-click on Specify Module...) , a Specify module panel pops up. If you're specifying a .dll, either generically made or made using LabWindows, the .dll, functions can be called from a sequence step. One think I really like about TestStand steps is that once you call out a .dll, all the functions defined with the standard dll declspec can be seen from the panel, you don't have to know what functions.

Bonus Note: Actually this can be handy when you have any .dll you can find out what kinds of calls are available. This is good for looking at just about any .dll, playing around with it, figuring out how it works.

Like I indicated, .dlls are just one way to set up a sequence step but, like may parts of TestStand, they can be very useful.

I'll talk more about sequence steps later, give my opinion on the "Panel" programming paradigm.

Friday, July 27, 2007

Intro to NI TestStand, Part 1, ancient history or untrue facts

Today, I'm going to start writing about National Instruments TestStand. Of course you can read all about it at the above link, but that's the NI take on things, and it's not my vague, rumored history. Overall, I'm not sure how long TestStand has been around but I know that I've seen some very old version's of it on test sets around work. It's now at TestStand 4.0, although 4.0 has only been out for a few months.

I'm not really sure of it's origins, but one rumor of it's origin is that a test group in a division of Lockheed Martin came up with an example of a standard structure for running tests. It was little more than a main program that you added calls to your own functions that made up the individual test steps. Basically, just your standard program with some standards on how it was set up. The rumor is that it was in the late 80's or early 90's that Lockheed was working closely with early versions of NIs LabWindows CVI instrument drivers. More of the rumor is that someone gave the structure and code to someone at National Instruments. (Note: it was not proprietary code, the rumor continues) NI took the concept and the early code, massaged it, changed it, updated it, worked with it and came up with TestExec 1.0. Little did anyone know how far it would go from those, rumored, early beginnings.

In case people reading this didn't know, Automated testing is typically made up of a series of test steps. Each step would conduct a specific test to check out a Unit Under Test (UUT). I'm sure I'll discuss testing methodologies in the future. TestExec 1.0 did little more than control the test execution steps but it did make it easier to set up your test sequences. But, NI doing the good job at incorporating feedback from the customer that they usually do, worked and upgraded TestExec 1.0 to TestStand 2.0. It began to take on a little bit more of it's modern look. It allowed the test developer to build sequence files for testing.

TestStand 2.0 was a quantum leap for TestStand. NI developed a basic TestStand engine to drive the tests and sequence files to be executed by the engine. All future TestStand versions were built on this TestStand engine and sequence file concept. It has continued to work and evolve over the years.

Well, that's a quick, vague rumor, or set of untrue facts, of the ancient history of TestStand. (Is that statement wishy-washy enough?)

I wrote this because everything that has come before now is history. And since TestStand came before, it has a history. Well, it's obvious my mind is tired from work and I'm starting to ramble semi-incoherently...or maybe it's because I was writing about history. Anyway, I'll stop here for now.

I'll write something more interesting about TestStand and testing tomorrow.

Have a great evening.

Thursday, July 26, 2007

Introduction and National Instruments

This blog will be about various testing issues using the National Instruments products, at least the ones I use. These are mainly LabWindows CVI, TestStand, and LabVIEW. I decided to write this blog simply because I use National Instruments products, I'm always interested in making them better, and I wanted to learn more about blogging. I have to start somewhere, so here I am.

This will be a positive blog, I like National Instruments, and I like their products. However, like every other product, there are good points and not so good points. Overall, there's a lot more good than bad.

NI's website at this link NI. It has an incredible amount of information about NI, it's products, and about automated testing. However, while NI's focus is automated testing and everything around testing, their products can be used for many, many other applications.

Coming up soon is NI Week, which National Instruments showcase of it's products and how various companies use their products. I'll be attending this year for my first time. I'm told it's very informative. I'm starting to gather questions/issues/information needs that can be answered there. All the NI Experts will be there so it should be a good forum to gather information.

NI headquarters is located in Austin Texas, which is where NI Week will be held. This should be interesting, the University of Texas and the Capitol of Texas is in the area. If nothing else, I should be able to get in some good sightseeing.

Well, like I said at the beginning, I'm just learning about blogging, so I'll stop here. I'm always interested in improving so suggestions are welcome. I haven't learned to put pictures in the blog yet, so it may be more spiced up tomorrow.

Thanks for your patience with this noob Blogger.