Jump to content
OMRON Forums

jwkuehne

Members
  • Posts

    11
  • Joined

  • Last visited

jwkuehne's Achievements

Apprentice

Apprentice (3/14)

  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In
  • First Post

Recent Badges

0

Reputation

  1. Does the Linux in Power PMAC have the gnat Ada compiler that's part of the gnu compiler suite? And if so, can I use Ada instead of C? The high-reliability and concurrency features of Ada would be a natural fit to motion control. Also, Power PMAC has support for Simulink, and Simulink has support for Ada.
  2. Does the Linux in Power PMAC have the gnat Ada compiler that's part of the gnu compiler suite? And if so, can I use Ada instead of C? The high-reliability and concurrency features of Ada would be a natural fit to motion control. Also, Power PMAC has support for Simulink, and Simulink has support for Ada.
  3. What's the maximum number of concurrent TCP/IP sockets accepted on the geobrick? For years I have used (and need) 3 concurrent sockets, using vr_pmac_getresponse to send commands and get the response with proper sequencing, and I think the maximum is 4, but I don't see this information in the manual. Is this a supported feature?
  4. Sometimes when I power up my 4-Axis Geobrick I can't servo any motors, and I get the error message "Attempt to perform phase reference during move, move during phase reference, or enabling with phase clock error." This happens every now and then. My motors are induction motors. Power cycling usually fixes it. What's going on? -John
  5. Thanks for the quick response. For those of us weak in the heart, and just a a few days out from an engineering run who see frightening counts appear that aren't really there, could we get a sentence inserted into TURBO SRM for IXX00 "When no encoder is attached to an input and Ixx00=1, the value of the corresponding 24-bit position register is indeterminate and may fluctuate randomly." There might be conditions where you need to activate a motor, but you aren't using an encoder, e.g. direct microstepping of a 3-phase induction motor. In this case, you don't want engineers gasping in horror and dropping dead from a heart attack. -J
  6. Setup: new 4-axis Geobrick, 2100 line BEI differential encoder on Encoder Input 1. $$$*** Turn encoder, watch M101->X:$078001,0,24,S, looks fine. Now I200=1, leave encoder on Input 1, and M201 now counts to minus infinity when I turn encoder, but M101 seems fine. I300=1, leave encoder on Input 1, M301 counts randomly up all the time. ^K does not stop the counting on M301. Put encoder on Input 2, turn encoder and M201 seems fine but M101 fluctuates +-1 count and M301 counts randomly up. Now $$$*** (so that I200=0), turn encoder, and M101 fluctuates randomly +-1 count. Two questions: 1) Is this normal? I'm kind of surprised. I don't right off see anything about this in Turbo SRM, or a warning about doing this, or what might happen. I might have guessed the 24 bit counters would stay zero without a working encoder on them, regardless of whether the motor activation control is 0 or 1, or what other encoders are doing. Turbo SRM says if activated monitoring is performed for the motor, but it doesn't say if not activated the registers are random numbers. I don't recall seeing this behavior on my 2007 Geobrick, but I don't have it with me right now - I don't know where it is between here and Chatsworth. And I'm surprised that, given something weird happens, the weirdness is different between M201 and M301. I mean, inconsistent weirdness is weirdness^2. Anyway, is this the way it is for everybody, or is my Geobrick faulty? 2) With respect to this encoder behavior, if I'm closing the position loop for motor 3 using encoder Input 4 (and using encoder Input 3 for velocity and commutation), do I need to I400=1? Or will putting a working encoder on input 4 suffice? Now I'm worried that Ixx00 has something to do with encoders, and has to be activated for them to work correctly.
  7. Our university is demanding that all laptops be encrypted. Will whole-disk encryption of Vista using Microsoft Bitlocker or WinMagic SecureDoc break our pewin32pro2 license? I have had our license break when Vista asked me to enable User Access Control, so I'm a little leery about doing things like this. Anybody with some experience in this? -John
  8. Delta Tau's class, in one week, saved me a about a year of hacking through the manuals the hard way. I still only know about a fraction of the things PMAC can do, but it's the fraction I need :) If you can, take the classes. You'll save time and money in the long run, the DT team is great, the factory floor fascinating, and the doughnuts were really appreciated. -John
  9. Great! You should also look at PMATCH in Turbo SRM, which essentially does Mxx62=Mxx61, taking into account the coordinate system. I think you'll find this works, and you'll be able to take this idea and extend it to your needs. For example, you could jump into velocity mode when the following error or actual current becomes intolerable, and elide into the position loop later. -John
  10. I have posted a detailed reply to a similar problem in "Smooth transition from Open to Closed Loop while motor is moving: catch the egg." This tells you how to run in pure velocity mode and make a seamless transition when you want to close the position loop. -John Kuehne, Ph.D. McDonald Observatory, Texas
  11. This is easily done by disabling the position loop and running in pure velocity mode. This is a very neat trick, and Turbo SRM only hints at what you need to do in the Ixx67 section. In this mode, you can slew your machine as fast as she goes for the conditions, and resume control - e.g. J/ or start a motion control program - when you reach your destination. Think -5F temperatures, grease thick as cold fudge, and big telescopes. First, however, I want to stress that you should not be running open loop: this is not a solution! Running open loop can be dangerous, and gives you no speed control. For example, open loop can spin up the motor to high speed under no load in two seconds, and quickly reach the back-EMF limit. Suddenly the motor will have no torque, and will drop back to a lower speed. Depending on the load, you can get into damaging oscillations. There are legitimate reasons for running open loop, but your application isn't one of them. On a Geobrick (Turbo PMAC2 with torque mode amplifier), do the following: 0) Set Ixx32 very carefully to produce the correct velocity. To do this experimentally under no load, do steps 1 and 2 below, and then adjust Ixx32 so that the actual velocity matches the commanded velocity. On the Geobrick you may find that Ixx32 is almost Ixx31, typically just a fraction of a percent larger. Set Ixx11, Ixx69, Ixx57, and Ixx58 for your application. You might start with Ixx69 at the maximum safe continuous current for your motor, or the maximum continuous power for your amp, whichever is lower. 1) disable the position error limit Ixx67, setting it to zero. 2) You must set the integration limit Ixx63 to zero. Otherwise you may find your motor mysteriously spinning up after a stop - not a good thing! Even if Ixx33=0, just be safe and set Ixx63 to zero. Now when you do something like J+, your motor will be running in what I call velocity/torque mode. When you hit the Ixx69 limit and your motor can't go any faster, the following error will build up and trip on Ixx11, which you can prevent by zeroing it, and use other criteria to ensure safety - you don't want your motor taking full current while stalled. Your motor will now hum along at the commanded speed or something less, depending on conditions. When you are ready to resume position mode - you might be monitoring Mxx62 for example - first do Ixx63=4194304 Ixx67=4194304 Mxx61=Mxx62 To force a smooth transition, the M variable assignment forces the commanded position to be the actual position, after which you can immediately do, for example, a J^* and land right on target. In some cases you'll need to do Mxx62=Mxx61, for example when you have backlash compensation on, and you're reversing direction. Otherwise the compensation can do strange things. Of course you could just stop under pure velocity control with a plain "J/". You'll find other times when doodling directly with Mxx61 and Mxx62 is useful. Check the manuals for the full computation of following error - it involves the position bias and a couple of other things - to tell sweet lies to the PMAC. -John Kuehne, Ph.D. McDonald Observatory, Texas
×
×
  • Create New...