Thursday, September 27, 2012

Nav Class, Day Three

This is getting to feel kinda long.  I never felt it when we did four day classes at CMU, but four days here is a lot of hours into this training.  This morning you could tell we were kinda beat, we didn't even make 2 hours before we took a break because people were dozing a little.

How did the day start?  We were back in the classroom talking about Analog outputs, how to wire them and how to map them into the I/O device.  We also spent some time talking about the rules we'd written yesterday - specifically about "general" and "enable" conditions and what kind of thing ought to be what.  After that we went out to the lab to wire up and assign the I/O Bus analog output to the motor drive so that it could control the speed of the motor.

Not many pictures from this trip so far.  Here's the rig we've been working with (there are two separate rigs in the photo):

Kevin and I have started to talk about the possibil;ity of putting together such a thing for PCA209.  I checked today and this rig actually takes 120VAC instead of 3 phase 208, so we could set one up in a classroom without installing more power.

Setting up speed control required changing some drive parameters and then doing the wiring from the I/O bus to the motor drive.  At this point it wasn't mapped to anything in the control, but we could select the parameter directly to adjust it.

After lunch we went back to the classroom to discuss the Navigator Axis I/O device.  This is a virtual device, gathering up the I/O's and clumping them into a single device that has many preset features.  As it turns out, most of the rules we wrote yesterday to govern things we'd put onto the bus are regular features that Navigator knows how to deal with as part of an Axis device.  So instead of wiring and attaching a limit switch and then writing a rule that says when the limit switch is tripped the motion should stop you can wire and attach a limit switch, install an Axis device and then tell Navigator the input is a limit switch and from that point Nav knows what to do with it.  It mooted a lot of the work from yesterday, but I feel like it was still really useful.

Around this point I started to feel like most of the Axis I/O is centered around running a non-FTSI winch.  The rub here is that our winches are FTSI and run native under Navigator, so if we make a new machine it will in all likelihood not be a winch and so might not work as gracefully with the general set up of the Axis I/O.  Kevin and I started to try to think how each thing we were talking about would apply to a turntable or an electro-linear actuator.  A lot of that stuff seems like it will just wind up being on/off, and that type of control can happen right off the bus instead of using the Axis device.  We're thinking about making up a turntable simulator back in Pittsburgh to see how well it works.

Here's a bonus photo:

This was the stuff that was making my brain hurt yesterday.  We kept haing to match turning a bit "on" or "off" with "up" and "down" or "forward" and "reverse" when every one of those parameters was arbitrary (as well as remember which was the "H+" and "H-" limit switch at the end of the track.)  Today I decided a sign would be better than drinking after.

The next part of the afternoon was installing the Axis I/O and then writing cues for the Axis device to mimic the rules we'd written on the I/O bus yesterday.  It might have been possible to do this with one rule and one cue, but we settled on three rules and two cues (I think).

Finally we had classroom time to talk about analog input via encoder and how to calculate speed and position from an incremental encoder.  There was much discussion of absolute and incremental encoders and encoder counter cards and then about wrap values (like a scoreboard rollover) and scaling - making something like 0-60000 counts into recognizable speed or position.  And then back to the rig to impliment the speed control and position controls on the Axis device.

Each day feels thinker than the last.

No comments: