Power PMAC
Discussions about Power PMAC products (including UMAC Accessories, Power Brick products, Power Clipper, CK3x products, and more) along with their software, including Power PMAC IDE, NC16 HMI, and Power PMAC PDK.
Subforums
2,348 topics in this forum
-
- 7 replies
- 14k views
Hi DT Support, I noticed some interesting behavior with soft limits. If I set up soft limits and then initiate a move that will violate one of the limits, the Motor[x].SoftLimit flag is set almost immediately, long before the move is complete. This disagrees with the description in the manual, which says the motor has stopped on a limit. The SoftPlusLimit and SoftMunusLimit forms of the flag do not activate until the limit violation actually occurs. Is this the normal behavior? Also, when the plus or minus soft limit flag is set, the motor stops and the servo loop remains closed. In my particular case, the servo is now closed on the soft limit position and the positio…
Last reply by curtwilson, -
- 5 replies
- 11.1k views
When writing C programs for the Power Pmac you must be careful not to lock the code in any type of loop for too long a period. If you do lock the code in a loop you will lock-up the CPU and create either a soft or hard watchdog condition. When writing PowerPmac script code this is not an issue. Any code that encounters a 2nd jump to a previous program location will automatically release the CPU to let other other tasks have time. This is called the double jump back rule. This rule does not exist in C code. The programmer must decide to release the CPU at the end of each loop or after X number of cycles. This gives the programmer more capability with the cos…
Last reply by KEJR, -
- 3 replies
- 7.1k views
How I can save variables remanently?
Last reply by MartinOphey, -
- 1 reply
- 5.6k views
Is it possible to watch the commanded position before it is filtered by pre-notch-filter? I have programmed a spline move with motion programm to create a asymmetric sine wave. The motion programm spline between sine reference points. If I use the pre-notch-filter the original reference position is not the same like commanded position of motor. I do not want to create a phantom motor for this.
Last reply by Omron Forums Support, -
- 1 follower
- 6 replies
- 11.7k views
How I can watch lokal C-Variables form rticplc.c? Regarding the folowing sample: stiffness1 #include #include #include #include #include #include "../../Include/pp_proj.h"const double pi = 3.1415926535;void simulation(void);void realtimeinterrupt_plcc(){simulation(); }void simulation(void){//input variables for simulation double mass, freq1; //output variablesint feedback1;//simulation constantsdouble stiffness1; .... //copy parameters from P-variables to double variables mass = GetGlobalVar (pSimMass); ... stiffness1 = 2 * pi * pi * freq1 * freq1 * mass; feedback1=.... .... //set the simulation output parameters: fe…
Last reply by KEJR, -
- 2 replies
- 8.6k views
I have master / slave working with ACC-28E. The question I have is how to control the speed of reaction to a new master command position. Below I describe the setup and algorithm. Motor[2] is stopped in closed loop during following. This is working fine, but when a new M1 is calculated, the slave motor 2 seems to want to jump to the new commanded master position as opposed to travel there in a given speed. Is there a way to control the speed? //--------------- // Setup the analog following in pp_Startup.txt //--------------- //Enc Table 9 is used for Z axis following the probe EncTable[9].Type = 1 //Parallel 32 bit m1->s.user:$20.0.32 //to set the maste…
Last reply by Amir, -
- 3 replies
- 7.7k views
I am having difficulties after installing the Feb 2011 IDE and 1.3.0.0 firmware. I get a ton of warnings from the header files included from usrcode.h I'm not even using this feature, it just won't let me delete it from the project. the code is stock, I haven't modified it to the best of my knowledge. Please wait while uploading Libraries from Power Pmac.Libraries Uploaded successfullyPlease wait while mapping Power PMAC variables.End of syncing the database.PMAC variables are mapped successfully. Build Process For XYOilerMain.out has started. Build Process For XYOilerMain.out has ended. Build Process For usralgo.ko has started. Build Process For usralgo.ko has end…
Last reply by bradp, -
- 1 follower
- 6 replies
- 30.3k views
Hello, I am new to Macro, so please excuse my terminology. I need to set a parameter on a macro servo drive, which, from what I understand is done with MacroSlave0,i1024 type commands. It seems that anything above i999 gives me an error on the terminal of: MacroSlave0,i1000 stdin:28:1: error #21: ILLEGAL PARAMETER: MacroSlave0,i1000 So is this an error of the command processor, or are these parameters not accessable? Our variables on our drives start at i1024. Also, am I able to access these from C calls? the routine I'm using is programmed in C so I could use this as a workaround if it is possible. Is there an example of this available? Thanks, KE…
Last reply by KEJR, -
- 1 reply
- 5.3k views
Hi DT Support, I noticed the following behavior wrt Motor[x].DesVelZero which disagrees with the PPMAC SW Reference manual (Power PMAC Status Data Structure Elements). The manual says: The Motor[x].DesVelZero status bit is set to 1 if the motor is in closed-loop control and the commanded velocity is zero (i.e. it is trying to hold position). It is zero either if the motor is in closed-loop mode with non-zero commanded velocity, or if it is in open-loop mode (enabled or disabled). It is bit 14 of 32-bit element Motor[x].Status[0]. I am seeing that the value is 1 (true) if the servo loop is open. See the example below. First status is for the loop closed, second one i…
Last reply by bradp, -
- 3 replies
- 8.1k views
I recall in the training classes that we could use the controls developed to support the IDE in our own software, ie use your position and status displays and terminal to develop our own .net based HMI. Are there any example VS projects of how to do this?
Last reply by bradp, -
- 1 follower
- 0 replies
- 4.7k views
Currently there some installation issues with the IDE on 64 Bit XP machine. IDE needs windows installer 3.1 or greater and Microsoft site link for this installer does not install on 64 XP with Service pack 2. We are working on this issue and will update this thread. Thanks Atul THIS PROBLEM IS FIXED IN THE SERVICE PACK 1 RELEASED ON 04/18/2011 Ver 1.3.1.46.
Last reply by Omron Forums Support, -
- 3 replies
- 7.7k views
The IDE setup requires "Windows Installer 3.1". Cannot find a copy for 64-bit Windows XP. Does anyone know where to down load?
Last reply by hongchinlin_992x, -
- 5 replies
- 11.7k views
I don't seem to have any hardware. Motor setup gives the following errors: 2/9/2011 :10:36 AM - 192.168.0.200, Module - Setup Motor Container : There was some error while executing database query. Details : Database Error:Table 'ppmaccommon.hardware_tbl0' doesn't exist. 2/9/2011 :10:36 AM - 192.168.0.200, Module - Global Clock : Empty Servo hardware List Also, Persistant "Database sync function failed!" message in IDE startup, may be related? Installation all local (no networked drives)
Last reply by JeffLowe, -
- 4 replies
- 10k views
Hi DT Support, I have been testing my Java motion control codes using gpascii and getsends and have experienced some interesting behavior, which leads me to some questions: 1. At the motion program level, is the sendN command thread safe? If I have multiple programs writing with the send0 command, can they clobber each other? I am guessing they can. 2. I am using send0 and getsends to indicate completion of a move. I write a completion message using send0 and then I have a thread on my remote host that reads the output of getsends to get the completion message. I find that if I command my motor repeatedly to move to its current position in rapid succession that g…
Last reply by erikj, -
- 1 follower
- 2 replies
- 6.1k views
Hi, Is there a way to make a motion program thread-safe so that it can be called multiple times simultaneously from gpascii? I want to create a generic program that moves an arbitrary motor to a specified position. I want to be able to pass in the motor number, possibly using a P variable. I can easily use blocks of P variables assigned to each motor number to pass in other information (position, rate, etc), but I don't see a clean way to pass in the motor number while still maintaining thread safety (I don't want a second program invocation to step on the motor number used by the current runnning program). The only solution I can think of is to have a separate mot…
Last reply by erikj, -
- 7 replies
- 15.1k views
Power PMAC Suite Installshield Wizard X CreateFile failed OK Closes...
-
- 1 reply
- 5k views
I'm using an ACC-51 interpolation where the Motor unit is one quadrature count and the subcount interpolation is carried as a decimal fraction. The default display does not display enough resolution and I could find nothing within the IDE to change this. To increase resolution I edited the PositionControl.ini file in c:Program Files\Delta Tau Data Systems Inc\2.0\Power PMAC Suit\ConfigFiles and changed MotorDecimalDigits#=2 to =4. I changed them all, but sometime I'll go back and figure out why there are multiples.
Last reply by bradp, -
- 3 replies
- 9.7k views
I've just got done setting up our gantry system and successfully configured the two y-axis motors using the cross-coupled gantry mode. The tuning using the Auto Tuner was actually pretty good, but I think we'll need to fine-tune the gantry tuning for our application. I was wondering if you guys have any advice, or maybe some white papers handy describing how best to utilize the tools in motor Tune for cross coupled gantry mode. Questions: -When adjusting gains, should you only adjust gains for the 'master' or both master and follower? Since each motor does its own servo calculations, I assume I'll need to tweak the gains for each motor. -What about the Cross-Cou…
Last reply by Omron Forums Support, -
- 7 replies
- 15.5k views
Hello, I would like to develop a generic C function call that starts a script motion program and then monitors for the motion program to be completed and with no errors. One could say it is simple as the following: - command motion via command interpreter - wait for motion to start by monitoring some status - wait for motion program to be ended. - Check for errors and optionally in-position. There is kind of a catch 22 situation with motion controllers when the motor happens to already be at the end point. Depending on timing if you use the above method your motion program could end before your calling thread can recognize the "motion start" or "motion in…
Last reply by KEJR, -
- 3 replies
- 7.5k views
Hello, I'm experiencing a very noticeable performance hit in my C# HMI after configuring my servos from the default phase clock/ servo clock to 15Khz phase and 7.5Khz servo clocks. To give an idea of what my HMI is doing, I have a few buttons and 4-5 P variables that get polled every 100ms using the GetPmacVar(char *) function in the C library. Normally without motors enabled it screams and I don't notice any lags at all. After I updated the frequencies it started giving me random 0.5-1.5 second lags and delays which are a bit problematic. My machine has two servos over Macro with the above stated frequencies. Task manager reports the following: Phase Interr…
Last reply by KEJR, -
- 9 replies
- 16.7k views
I have been using VS 2008 and VS 2010 for several years and there are a few questions that I have about Delta Tau's IDE: 1) Currently the code window does not seem to support intellisense for local variables, global variables, or library functions. Will this functionality be added in the future? 2) I am using the July 2010 release of Power PMAC Suite and I cannot get it to work properly in offline mode. Every time I attempt to type several letters in the editor, it freezes up for 30+ seconds. However, I do not experience this problem when I am connected to a Power PMAC. Is this a known issue? Do you have a "bug" reporter where I can send information about bugs I fin…
Last reply by michaelthompson, -
- 1 reply
- 4.9k views
Hi Delta Tau Support, I cannot get the following very simple motion program to move a motor: open prog1 linear abs x10000 dwell500 x0 dwell500 close I have tried entering this code directly at the gpascii prompt and downloading it from the PPMAC IDE. If I replace the axis moves with jogs (jog1=10000, jog1=0) it works fine. I have made sure to assign motor1 to the CS axis: #1->x, and made sure I am addressing the proper coordinate system (&1), but the axis moves still do not work. What am I doing wrong? Thanks, Erik
Last reply by erikj, -
- 3 replies
- 7.1k views
Is there a simple way to change the time units for a motor? I now have my motor in inches for position, but inch/msec and inch/msec^2 are awkward units. Alternatively should I just scale them right in the setup code? //Converts for items expecting motor units per millisecond to motor units per second #define UnitsPerSecondSf 0.001 Motor[n].JogSpeed = 5 * UnitsPerSecondSf I'm just looking for best practice that lets me work with reasonable units. Thanks, KEJR
Last reply by bradp, -
- 1 follower
- 2 replies
- 6k views
Hi Delta Tau Support, I have some questions regarding programs: 1. Please point me to documentation summarizing the differences between motion programs and PLC programs. 2. Why would I use one over the other? 3. Please explain the difference in the finishing or completion behavior oif each. 4. I am sending commands over an SSH link to the Delta Tau PPMAC using gpascii. I have tried using cpx to send a motion command with an in-position test ending with a send0 to show completion of the move. This works fine, but while the command is in progress, I cannot use cpx again to send another command. If I use a motion or PLC program instead, can I call it multiple …
Last reply by Sina.Sattari, -
- 1 follower
- 20 replies
- 43.6k views
Hello, I found reference to this in an old post: http://forums.deltatau.com/showthread.php?tid=42 Are we going to be able to define C.S. from PLC programs at some time? We do all our configuration of the PMAC through code (usually an Initialization PLC of some sort). Right now I am calling an init PLC from C code and then turning around and defining the coordinate systems from a command() call. KEJR
Last reply by bradp,