sdefisher
-
Posts
21 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Events
Downloads
Posts posted by sdefisher
-
-
I found my issue. It was rather taxing. Related to the following post. I think the ACK was a false problem. The main issue I later determined was my GPASCII instances were being killed by the PowerPMAC on the linux side.
mount -o remount,rw /
nano /.readonly/etc/ssh/sshd_config
[Move to end of file with arrow keys][Remove All instances of MaxSessions, ClientAliveInterval, and ClientAliveCountMax]
[Ctrl-X, Y, ENTER]
mount -o remount,ro /Below is what my sshd_config looked like after downloading my project with the latest version of the PowerPMAC IDE. It doesn't happen with the older revision. I noticed you can attempt to set MaxSessions, ClientAliveInterval, and ClientAliveCountMax in the newest version, but it seems buddy and doesn't actually save (from what I have found)
UsePAM yes
UseDNS no
MaxSessions 256
ClientAliveCountMax 3
ClientAliveInterval 15
MaxSessions 256
MaxSessions 256
MaxSessions 256
MaxSessions 256
MaxSessions 256
MaxSessions 256
MaxSessions 512
MaxSessions 256
MaxSessions 512
MaxSessions 256
MaxSessions 256
MaxSessions 256
MaxSessions 256
MaxSessions 256I confirmed this by using WinSCP to download the readonly folder from a working machine then compared the configs.
- 1
-
I have been trying to troubleshoot an odd ethernet issue. It's been narrowed down to the CPU board proper. I have 3 CPU cards, only one has good ethernet performance. This board has a revision number 604045-106. The boards that are not working well are 604045-107. We use GPASCII and SENDGETSENDS with the ethernet communction. And they are not pushing data though at the same rates with the new boards. Is there any configuration on these that would affect them?
I have all 3 boards running the same firmware (2.3.2.5), and same project downloaded by the same version of the IDE (in-case the complier is differnt. As far as I can tell all boards are also running the same backend linux kernel version as well (3.2.21-powerpmac-smp). All of the CPUs were acquired as part of a full UMAC system at various dates/times in the last few years.
Update: The boards that don't work were setup with IDE version 4.5.2.9 and the working one was done with 3.1.1.0. Re-downloaded my project via 4.5.2.9 into the good board and now that CPU no longer performing well. The symptom seems to stem from GPASCII not transmitting the ACK character. Which is was previously doing without fail. Would 4.5.2.9 have anything to do with this? By default it's should be on, I don't see how the PowerPMAC Ide would change this. Is there a GPASCII switch to force the ACK to be active? I know there is one to turn it off.
-
I have a macro loop set up. And we're having issues with very short feedback spikes. Sub 100 micro seconds. Very large spikes. Causing following error faults. We have troubleshooted it down the to the macro loop (took a while since it looked like electrical noise).
We currently have Encoder Table MaxDelta set to 0 for all axes and the manual recommends against this, Is there an easier calculator for setting this value? We have 24 bit feedback. But the units are in LSB feedback per servo cycle. I need to translate that to counts/second basically. Is there a quick and dirty formula available as I hunt down the servo cycle time?
-
13 hours ago, steve.milici said:
Make sure the phase frequency is greater than the servo frequency and gather on phase. I suspect that the jog ribbon and master following could be producing spikes in FE that servo rate gather does not see.
That did it. There is a very very short spikes in the feedback that is sub millisecond. My previous gather settings weren't fast enough to catch it. Looking into the wiring/feedback cables now. Is there a time component/setting to any of the feedback settings? Some CNC's have a time constant for controlling following error faults. Although I think that would just be a band aid in this case.
-
- I have a motor that is tripping a fatal following error fault when the observed following error is well below the Motor[x].FatalFeLimit. I've used the plot/gather system to prove that the following error is 25% of the limit when the FeFatal error kicks on. This only occurs when using a handwheel (master follower) or jog commands/jog ribbon. If I grab the axis and push it by hand, it trips the FeFatal error at the correct limit value.
- The motor jogs fine with the limit set to 0 (disabled). So I know it's not a drive fault kicking the motor off. Any reccomended troubleshooting steps?
-
16 hours ago, Eric Hotchkiss said:
You can set an encoder conversion table entry to act as a digital tracking filter by changing the values of index1 and index2. A "motor" could then be set up to read the position and display it in the position window. It would probably look like below.
EncTable[n].type = 1 // Single register read EncTable[n].pEnc = [HardwareLocation].a EncTable[n].index1 = (filter Ki) // For possible digital tracking filter EncTable[n].index2 = (filter gain) // For possible digital tracking filter EncTable[n].ScaleFactor = 1/65536 // For result units of LSBs Motor[x].pEnc = EncTable[n].a // Use result for position-loop feedback Motor[x].pEnc2 = EncTable[n].a // Use result for velocity-loop feedback
Any possibility of self referencing a previous EncTable Entry?
e,g, EncTable[11].pEnc = EncTable[3].a
-
I am running a real time PLC that is stuffing position data into registers that I can read from later. I'd like to filter the positions to take random out . My plan was to make a simple average. Is there a feature in PowerPMAC that can already do this for me, or do I need to roll my own? How fast is the RTI PLC operating (or how can I look it up on my machine?). I am reading the data around 2000 Hz, so I need to make sure my running average is a lot faster than that.
-
On 6/19/2022 at 6:48 AM, Raghav said:
Hi David,
Thank you for the advice. FRAX(C,X,Z) works fine. Now I'm facing issue with the C feedrate. I would like to provide a Ffeedrate F72000 corresponding to 200 RPM, but the C feedrate is struck at 54000... Seems the problem is due to some settings with Segmove or lookahead. Any advice on the same?
With frax on it will use the X and Z moves to calculate the feedrate for the C-Axis as well. So if X/Z were not moving you would get 200 RPM.
-
I found a problem people should be aware of. We are using a CK3M controller with a realtime C PLC. We stream data using a Send command in the RTI CPLC.
Using two Putty instances, I am able to boot into the CK3M and run "sendgetsends/sendgetsends -5" to begin receiving the data stream, and gpascii -2 to trigger my RTICPLC to Send.
If I close the "sendgetsends/sendgetsends-5" Putty window without stopping the RTICPLC send loop the "sendgetsends/sendgetsends-5" process will get stuck open on the CK3M. This means if I run a fresh "sendgetsends/sendgetsends-5" Putty window, the data is steaming erractically. And if you Putty in, and call "ps -aux" you can see two instances of "sendgetsends/sendgetsends -5" . If I kill the older process the newer "sendgetsends/sendgetsends -5" stream will pick back up and have data pumping correctly.
I don't recall this being an issue with our older Power PMACs. Also, the older PowerPMAC's only needed a "sendgetsends -5" to run, without the double name. Historically you can't even connect two instances of SendGetSends since it is supposed to lock the stream.
-
I've been troubleshooting a weird motion problem that seems to go away if is reset the CNC controller ($$$). I generated a config before and after a reset to detect parameter differences. The only difference I found was as follows
Before (problem)
Acc5E[0].MacroMode=$4073
After (working fine)
Acc5E[0].MacroMode=$4070
According to the manual, it seems that I have "Data Overrun Error" and "Byte Violation Error" on my MACRO ring. Is there a way to clear this without rebooting? Any ideas how I am triggering such a fault?
Note:
Other MACRO settings I currently have set.
Macro.TestPeriod=40
Macro.TestReqdSynchs=36
Macro.TestMaxErrors=4
-
Found the issue. Because the ACC-5E card is running a different PWM period, I needed to change the sys.servoperiod accordingly.
default: Sys.ServoPeriod=0.44274211
Acc5E[0].PwmPeriod=3684
therefore
Sys.ServoPeriod=0.24993896484375
0.44274211/0.24993896484375 = 1.77
-
I am having an issue where the axes are moving the correct amount, the counts are proper, but the velocity is reported significantly (~1.8x) slower at the PowerPMAC vs reality. It's appears systemic to all of my axes. I confirmed it by watching the speed in the drive software, and also with a tachometer. For now I am debugging a rotary axis, since it's safer that the linears.
My Setup:
Copley Xenus Plus MACRO
ACC-5E (Gate2?)
Rotary Axis with 11,840,000 counts per rev
PPMAC Configuration
Encoder Conversion Table
Single 32 bit read
LSB Bit #: 8
# Bits Used: 24
Result Units Per LSB: 1
index1: 8
index2: 8
Scale factor: 1/256 (0.00390625)
Other Parameters
Motor[x].CaptPosRightShift=0
Motor[x].CaptPosLeftShift=8
Motor[x].pEnc = EncTable[x].a
Motor[x].pEnc2 = EncTable[x].a
Xenus Configuration
Network Configuration
Position Output Scaling: OFF
To Recap. The above configuration allows me to position correctly, but the reported velocity is slower by a factor of about 1.8. Any thoughts or suggestions would be greatly appreciated!
-
http://forums.deltatau.com/filedepot/ [FILE REMOVED]
2.3.2.5
Readme.txt
powerpmac460ex ...... Power UMAC 460 CPU and Power Brick
powerpmac465 ........ Power UMAC/CPCI/Clipper 465 CPU
powerpmacARM ........ Power UMAC ARM (hardware not yet released)
powerpmacARM_Posix .. Omron uPower PMAC (CK3E Acontis EtherCAT)
powerpmacWIN_Posix .. Omron IPC Windows (NY51[]-A Acontis EtherCAT)
powerpmacX86_Posix .. Omron IPC Linux (Acontis EtherCAT)
When I send the cpu command I get the following report
PowerPC, APM86xxx
therefore I am not sure which firmware to use. Can anyone advise?
-
When I cycle power on my Power PMAC the sys.compenable variable resets to zero. I have used the save command several times.
Is this the expected behavior?
-
That will work until the storage pointer wraps around to the beginning of the rotary buffer. Then your expression will report a negative number. To make it more robust, you could do the following:
BufferUsed = (Coord[x].RotStore - Coord[x].RotExec) modulo (Coord[x].RotEnd - Coord[x].RotStart)
Using the modulo operation with the size of the buffer would turn a -4000 value into a +6000 value for a 10000-byte buffer.
Good catch!
-
Here is how I solved the issue
You can check Coord[1].RotStore and Coord[1].RotExec
(Coord[1].RotStore - Coord[1].RotExec) will tell you how much information is buffered. Then set a threshold to begin downloading new lines
-
What version of the IDE was used to create the project?
Power PMAC IDE (2.0.3.40)
Our current workaround has been to copy the project from the network. Work on it locally. Then recopy it back to the network when we are done. It doesn't seem to trip this error unless we try to open the project from the network. We will be migrating the project to Git for source control, which would behave like the copy/recopy method.
-
There is sample code with the Power PMAC Development Kit
example
communication = Connect.CreateSyncGpascii(DevProp.Protocol, communication)
They have a command similar to what you are looking for!
Dim response As New List(Of String)
Dim commands As New List(Of String)
commands.add("P200")
commands.Add("Motor[1].ActPos")
Dim communicationStatus As Status = communication.GetResponse(commands, response)
Sorry for the zombie reply, but hopefully someone finds this useful.
-
Power PMAC IDE (2.0.3.40)
"Project is too old for for converstion [sic], please upgrade your project manually, by creating a new project and transferring all your files to a new project"
We are unable to share any projects between two computers because of this problems. The project resides on a company network. Both computers are running the same IDE 2.0.3.40. How can I share project files without creating a new project every time?
It's incredibly frustrating.
MaxDelta Calculator?
in Power PMAC
Posted
I did some step moves at max speed to verify my calculations. Interestingly I had to set the gather mode set to Phase. My velocity seemed to be a bit higher in phase vs servo mode. The velocity would overshoot maximum allowed just long enough to cause the MaxDelta parameter to fault the axis (MaxDelta set too low). Does this make sense? The parameter is working as expected now, but I do the the MaxDelta a bit higher than previously expected due to the velocity going way past the maximum for a very short period of time (200-300 microseconds) , causing the max counts/cycle to go way up as well.