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
-
- 218
- posts
2,397 topics in this forum
-
- 1 follower
- 3 replies
- 267 views
Hi all. I've recently encountered a difficulty while debugging an SSI encoder using the CK3M series with a 1515 axis module (firmware 2.6.1.1) After I set up the parameters according to the manual, he was able to read out the scale position information correctly and mapped it to the motor correctly. I found small fluctuations in the normal open loop curve during the open loop motion, next I found parabolic fluctuations after adjusting the PID parameters and while adjusting the Kvff and other parameters. And then I found in the actual JOG movement, when the motor is closed loop and at rest, the motor is noiseless, when I move the motor the motor emits noise, an…
Last reply by 1220801328, -
- 1 follower
- 2 replies
- 309 views
Hello. When I Do Build & Download project. After Download to PMac, Somtimes I've got message like the pic that attatched and i can see the messages in Output window like the pic that attatched Sometimes there is no error. in both situation, Project file seems to downloaded to the PMac Successfully. PowerPmac CPU is LS1021A and Firmware 2.7.1.0 If anyone knows the reasons for these message, Let me know please. Thanks.
Last reply by wonjae lee, -
- 1 follower
- 3 replies
- 753 views
I'm using a PowerPMAC ARM Quad Core with Acontis EtherCAT master and a Kollmorgen AKD EtherCAT drive. I'm also using a ACC24E3 gatearray for the phase and servo clock. My phase clock is set to 16kHz and servo clock is set to 2kHz and the corresponding settings are set in the Kollmorgen drive (see attached screen shot). When I set the EtherCAT Master Distributed Clock Clock Adjustment setting to "Master Shift", I can activate EtherCAT without errors. As I understand it, in this mode, the EtherCAT master clock is sync'ing to the Reference Clock. But when I set it to "Bus Shift" and change FBUS.Parameter02=1 in the drive, and activate EtherCAT, I get ECAT[0].Error=$98110010 …
Last reply by steve.milici, -
- 1 follower
- 11 replies
- 517 views
Hi I have a Stober motor and Drive Controller that I want to control via EtherCAT from a PowerPMAC UMAC in "Cyclic synchronous velocity mode". I got the motor working fine using the Stober DriveControlSuite software (I can jog the motor and get proper feedback) and I created the needed ESI files for the controller to be used in the PowerPmac IDE. On the PMAC side I have added the device to the EtherCAT topology and all correct PDOs are there and the EtherCAT Master can be activated without any issues. Then I added a new motor to the project and set it up to have "Cyclic Velocity" as Control Type and set the PDO sent to the drive controlle…
Last reply by MoMo, -
- 1 follower
- 5 replies
- 362 views
Hello, I'm having issues trying to apply a matrix interpolation to my kinematic variables. We are designing a 3-axis robotic arm with a polar coordinate system. Basically, we have 2 15x15 2D matrices measured at the factory that give a radius correction and a Z correction based on current radius and Z, in order to compensate for inaccuracies in axis polynomial definitions and frame deformations. I need to implement these compensation matrices in my kinematics as an addition to my radius and Z. I tried 2 methods which gave me basically the same result : - Using the CompTable by setting virtual motors as sources which are set in inverse and forward kinematics (d…
Last reply by MoMo, -
- 3 replies
- 321 views
I used G93 and to set Coord[1].InvTimeMode = 1,then my prog finishtime is 1S with "F1" command,but when i used "F2" command it finishtime is 0.5S,and "F0.5" command's finishtime is 2S,and if i want to set when i use "F1" command it finished in 1S,"F2" finished in 2S,"F0.5" finished in 0.5S,how shoud i do?
Last reply by leandro.martins, -
- 2 replies
- 270 views
Is there a way to read a negative capture number via Mi921 into a variable in Power? If I query Mi921 = $0000fffdc66c. As a signed 32-bit, it's -145812. MacroSlaveRead 48, Mi921, M1 returns M1=2147483647, truncating the left most bit. I have tried M1 as M1->Sys.Idata[1] M1->s.user:$f8b4.0.32 M1->sys.fdata[1] M1->sys.Udata[1] M1->sys.ddata[1] as well as copying to a signed integer register or p-variable. In Turbo, this comes across fine as a negative number. Any ideas?
Last reply by gregaxisne.com, -
- 1 follower
- 5 replies
- 693 views
I have been investigating if there is a way to include git submodules in the project. Initially, we'd like to keep tracking of the version of each PLC in a git repository, but that could be useful for other instances (e.g. motion programs, kinematics). I have edited the .ppproj to include the new folder created by the submodule, the same approach described in the topic: I got the same problems, however I figured that if I add the whole path (including the new folder) to the pp_proj.ini, then the PLC is recognized by the PowerPMAC, and could be executed just like any PLC. Unfortunately, on the next time that did a download on the IDE, the pp_proj.ini …
Last reply by DaveBarnett, -
- 3 replies
- 383 views
I often use the CX command in the terminal or Watch window to quickly check out a subroutine. But, I've noticed a problem; The example subroutine below will work as expected if you call it from a PLC. But, if instead you call it from the command line: CX R0=1 ; CALL MySubTest Then, the P1 =0 statement will execute, but the P1 = 99 statement does not execute... strange.... open subprog MySubTest(dummy) P1 = 0 call Timer.msec(999) P1 = 99 // why doesnt this execute when we call from terminal? return close I tried replacing the call to the Timer subroutine with a local while loop, and the result is the same. Anyone have any idea why this is ?? A…
Last reply by leandro.martins, -
I hope to obtain the positions of all target points after the program parsing but before the PMC program runs, so that I can plot the motion trajectory in advance.
Last reply by steve.milici, -
- 43 replies
- 1.7k views
I am using ethercat and the servo drives are in CSV mode, my current motion program (motion.pmc) is as follows. &1 #1->100x open prog1 f 50 x 100 x 0 close This motion program has a speed of 50, now I want to have an offset for the motor speed, say with a veloffset, but I don't want to modify the motion program, so how do I change the motor configuration file or add a plc program? I found a parameter in ethercat called velorityoffset (60B1) but it doesn't work well and I can't change the speed by adding the variable veloffset directly to the address corresponding to Motor[x].pDac (target speed).
Last reply by David Jan, -
- 1 follower
- 7 replies
- 684 views
I'm having some trouble to start a stepper motor on channel 5 of a Power Brick LV since the PowerBrick[0] board is not working. Is there a way to start this motor using only the PowerBrick[1] board, perhaps bypassing board 0?
Last reply by steve.milici, -
- 8 replies
- 471 views
Under normal circumstances, I can use open prog6 close to replace program number 6 and the memory space is released. However, sometimes for the same model but different control card CPUs, I find that using this will display a new program, but the memory space of the old program is not released. In this case, my program buffer becomes smaller and smaller as I use it, and in the end, I have to power off and restart. May I ask if there is any way to clear this motion program separately? The type that can release space under abnormal circumstances.
Last reply by MoMo, -
- 1 follower
- 2 replies
- 575 views
It would be useful to be able to use 2’s complement math in Script. But, I noticed the following oddity: Sys.Udata[0]++ // doesn’t rollover… it saturates instead but, Sys.Idata[0]++ // does rollover and Sys.CData[0]++ //does rollover To wrap my head around this… I created the following watch window: I would have expected the unsigned data to be the one that rolls over. 'Curious. Can we rely on this rollover behavior not to change in future firmware ?? I haven't tried it yet..but I wonder if this behaviour is the same when using C routines instead of script. If you want to try out for yourself, I…
Last reply by leandro.martins, -
- 1 follower
- 6 replies
- 599 views
Hi, we've been struggling with a problem for many years. We have an Ethercat slave I/O device that won't scan in the current firmware. We use Omron R88D-1SN servo drives, Omron ethercat splitters, various I/O devices, and all scan up fine. When we connect this one particular I/O device we suddenly lose all ability to scan the Ethercat network. It doesn't matter how many other devices are in line with it. If we do exactly the following procedure we can get it to scan... Disconnect troublesome device from end of ecat network Power up PPMAC and other ecat slave devices Scan EtherCat network (succeeds) Put Master0 in Diagnosis mode …
Last reply by steve.milici, -
- 4 replies
- 376 views
Dear Forum, I'd like to solve the following issue: I have a small state machine and sequence logic that I need to operate on a given machine axis. There are 5 identical axes on which I need the code to run. Currently, I have 5 separate script PLC's running the exact some logic, but with some different indices. Cutting & Pasting to create the 5 PLC's is awkward and error prone during code development. What I'd like, is to be able to instantiate each plc from a template, like is done with OOP programming with classes/objects. Then, it occurred to me that a motion program can be instantiated and run in any number of coordinate systems, each completely inde…
Last reply by leandro.martins, -
- 1 follower
- 9 replies
- 676 views
I'm using the PDK link library in C# now, and then I want to use the rotation buffer, is there any function that can directly send the motion program for him to run directly? I want to send the motion program directly through the HMI interface for him to execute line by line, is there such a function?
Last reply by leandro.martins, -
- 1 reply
- 205 views
I have noticed that in the rtpmaclib.h there is vcross function for the cross product operation between vectors As the vcopy, vmadd and vscale can be used also in the script language, I would like to know if in fact the vcross isn't available for script language, or if it's just not documented. Thanks
Last reply by MoMo, -
- 1 follower
- 6 replies
- 633 views
I want to use PMAC and Ethercat to control two identical motors, one in CSP mode and the other in CSV mode,After configuring the configuration file, there are issues with both motor jogs. The CSP motor jog does not move, while the CSV motor jog accelerates directly to the maximum speed, which is very dangerous.
Last reply by MoMo, -
- 1 follower
- 3 replies
- 438 views
Hello everyone, I'm trying to synchronize my pumping system flow rate to my motion system commanded speed. I am using a CK3E 8 axis, and my motors are defined in Coord[1] which uses a kinematic routine and lookahead (LHDistance = 250, SegMoveTime = 20). Because my pumping system has a lot of inertia, I need to anticipate a change in XY velocity about 2 seconds before segment execution and change my pump speed command accordingly. How can I achieve this ? Best regards,
Last reply by MoMo, -
- 2 followers
- 4 replies
- 570 views
Hello, Are there plans to ship PowerPMACs with a newer version of Python installed, or are there instructions for how we can upgrade existing units? The installed version is 2.7.9. It would be great to have at least version 3.7+ Thank you, James
Last reply by steve.milici, -
- 4 replies
- 203 views
Is there any detailed information about Bkgthread sem_timedwait? When entering "ECAT[0].Enable=1" in the terminal window , it appears. I want to know what caused it. The error name appears to be caused by a thread timeout.
Last reply by zerbzhang, -
Thanks
Last reply by Alex Anikstein, -
We have constructed a user-defined servo C program algorithm in the realtime routines folder. After build and downloaded and enabled a motor using ( #nj/ ) command from terminal where n is the motor number, the servo algorithm starts running. However, I do not know how to stop the algorithm afterwards and it keeps running forever. I know how to stop the motor or how to kill the amplifier, but no idea about the algorithm itself. Any comment would be appreciated.
Last reply by aoligei, -
- 1 follower
- 2 replies
- 543 views
Hi all, I'm trying to follow the application note Laser Pulse Control with Power PMAC DSPGATE3, specifically the section Equidistant Pulse Output Per Traveled Distance Along the Path. This involves setting up a virtual motor, custom user servo routine, and PFM + EQU, and I'm trying to implement this on a PowerBrick LV controller. My end goal is to output equally-spaced pulses as the machine moves in X/Y. For example, I want to generate a pulse every 0.8mm traveled. I'm looking to use an EQU output from Gate3[1].Chan[3], and I'm using Motor 10 as my virtual motor, and I've set the L-variables in the example motor setup code as such. As the app note example s…
Last reply by rr_seas,