aims
-
Posts
42 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by aims
-
-
Hi,
I read in the manual on the below command and i am confuse. How do this setting related to the phasing?
Motor[1].pAbsPhasePos=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].AbsPhasePosFormat=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].AbsPhasePosSf=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].AbsPhasePosOffset=0
thank you.
-
hi Steve,
I am sorry that I couldn't get the 0.5 vdv. What is get is 0.05 vdc only.
I do motor[1].servoctrl = 0, I use multimeter to tap the Acc-8as pin 1 and pin 6.
I try to change Gate3[0].Chan[0].Dac[0] = 100000000 to 200000000 and no change on the voltage.
-
Hi Richard,
I have change PackInData, and PackOutData correctly. (Anyway, it in the power pmac manual page 233).
I use Motor [].PhasePosSf = 2048 * 0.00001 / (60.96 * 256).
I set output mode to 3.
Now, I only notice that i need to do phasing first. My apologize that I read through the manual but still phasing is failed.
I use stepper mode.
Motor[1].PhaseFindingTime=300 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].PhaseFindingDac=500
This is my new setting.
Sys.WpKey=$AAAAAAAA
Clipper[0].PhaseFreq= 9036.000 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].PhaseClockDiv = 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].PhaseClockMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].ServoClockDiv= 3 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[0].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[1].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[2].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[3].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Sys.ServoPeriod = 0.442673749446658 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Sys.PhaseOverServoPeriod=0.25 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
EncTable[1].type = 1; // Single 32-bit read
EncTable[1].pEnc = Clipper[0].Chan[0].ServoCapt.a; // Primary source, ch 1 Servo Capture
EncTable[1].pEnc1 = Sys.Pushm; // Secondary source, none
EncTable[1].index1 = 0; // left shift, none
EncTable[1].index2 = 0; // right shift, none
EncTable[1].index3 = 0; //
EncTable[1].index4 = 0; //
EncTable[1].ScaleFactor = 1/256
Clipper[0].Chan[0].EncCtrl = 7 //encoder direction
//Hardware Setup
Motor[1].PhaseCtrl = 1
Motor[1].pAdc = 0
Motor[1].pPhaseEnc = Clipper[0].Chan[0].PhaseCapt.a
Motor[1].PhaseEncRightShift = 0
Motor[1].PhaseEncLeftShift = 0
Motor[1].PhasePosSf = 204800000 / 15605.76
Clipper[0].DacClockDiv = 5
Clipper[0].DacStrobe = $FFFF0000
Clipper[0].Chan[0].OutputMode = 3
Motor[1].PhaseFindingTime=300 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].PhaseFindingDac=500
Gate3[0].Chan[0].PackOutData = 1
Gate3[0].Chan[0].PackInData = 1
//Motor Setup
Motor[1].pDac = Gate3[0].Chan[0].Dac[0].a
Motor[1].DacShift = 0
Motor[1].PwmSf = 32767
Motor[1].PhaseOffset = 171
Motor[1].IaBias = 0
Motor[1].IbBias = 0
Motor[1].MaxDac = 32767
Motor[1].I2tSet = 0
Motor[1].I2tTrip = 0
Motor[1].ServoCtrl = 1
Motor[1].EncType = 5
Motor[1].FatalFeLimit = 0
Motor[1].WarnFeLimit = 0
Motor[1].MaxPos = 0
Motor[1].MinPos = 0
Motor[1].pEnc = EncTable[1].a
Motor[1].pEnc2 = EncTable[1].a
Motor[1].pLimits = Clipper[0].Chan[0].Status.a
Motor[1].pAmpFault = Clipper[0].Chan[0].Status.a
Motor[1].AmpFaultLevel = 1
Motor[1].pAbsPhasePos=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].AbsPhasePosFormat=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].AbsPhasePosSf=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].AbsPhasePosOffset=0
How do I phase this motor properly???
-
Halo,
I have linear air bearing servo motor:
1. Number of commutation cycle = 1
2. Count/N Commutation cycle = 609600
3. 1mm : 100000 counts (incremental encoder)
you may refer to the attachment photo for the commutation setting of the motor.
Now, I have an amplifier card that need Dual DAC analog signal to drive this motor using ACC-8AS.
How to calculate setting of commutation based on the Power Clipper???
I have tried:
motor[1].phasepossf = 2048/609600/256 ===failed
motor[1].phasepossf = 256/609600 ===failed
The below is my setting and you may refer to the attachment file for full setting:
Sys.WpKey=$AAAAAAAA
Clipper[0].PhaseFreq= 9036.000 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].PhaseClockDiv = 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].PhaseClockMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].ServoClockDiv= 3 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[0].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[1].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[2].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Clipper[0].Chan[3].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Sys.ServoPeriod = 0.442673749446658 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
Sys.PhaseOverServoPeriod=0.25 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200
EncTable[1].type = 1; // Single 32-bit read
EncTable[1].pEnc = Clipper[0].Chan[0].ServoCapt.a; // Primary source, ch 1 Servo Capture
EncTable[1].pEnc1 = Sys.Pushm; // Secondary source, none
EncTable[1].index1 = 0; // left shift, none
EncTable[1].index2 = 0; // right shift, none
EncTable[1].index3 = 0; //
EncTable[1].index4 = 0; //
EncTable[1].ScaleFactor = 1/256
Clipper[0].Chan[0].EncCtrl = 7 //encoder direction
//Hardware Setup
Motor[1].PhaseCtrl = 1
Motor[1].pAdc = 0
Motor[1].pPhaseEnc = Clipper[0].Chan[0].PhaseCapt.a
Motor[1].PhaseEncRightShift = 0
Motor[1].PhaseEncLeftShift = 0
Motor[1].PhasePosSf = 2048/609600/256
Clipper[0].DacClockDiv = 5
Clipper[0].DacStrobe = $FFFF0000
Clipper[0].Chan[0].OutputMode = 1
Motor[1].PhaseFindingTime=15 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200
Motor[1].PhaseFindingDac=800
Gate3[0].Chan[0].PackOut = 1
Gate3[0].Chan[0].PackIn = 1
//Motor Setup
Motor[1].pDac = Gate3[0].Chan[0].Dac[0].a
Motor[1].DacShift = 0
Motor[1].PwmSf = 32767
Motor[1].PhaseOffset = 171
Motor[1].IaBias = 0
Motor[1].IbBias = 0
Motor[1].MaxDac = 2000
Motor[1].I2tSet = 0
Motor[1].I2tTrip = 0
Motor[1].ServoCtrl = 1
Motor[1].EncType = 5
Motor[1].FatalFeLimit = 0
Motor[1].WarnFeLimit = 0
Motor[1].MaxPos = 0
Motor[1].MinPos = 0
Motor[1].pEnc = EncTable[1].a
Motor[1].pEnc2 = EncTable[1].a
Motor[1].pLimits = Clipper[0].Chan[0].Status.a
Motor[1].pAmpFault = Clipper[0].Chan[0].Status.a
Motor[1].AmpFaultLevel = 1
Assuming the encoder direction is correct. Why I am fail to phasing and commutate the motor?
Anyone has experience setting up this kind of amplifier???
Anyone hv any idea???PLease help me.
-
It has to be something in your C# code, then. Please post relevant code snippets. You could also email technical support with the snippets instead.
I have found the reason why my application is lagging. I change
pmacdoc.SelectDevice((int)this.Handle, out dwDevice, out bSuccess);
to
pmacdoc.SelectDevice(0, out dwDevice, out bSuccess);
And it solve the problem. Everthings running good now.
-
Hi Sir,
I would like to ask for some advice on a c# application. What I encounter is my application run slow response. For example, I click a button that getresponxe(#1J+). after that, the motor is not move immediately, after 1 or 2 sec the motor start to move. This is my problem.
FYI, when I run my c# application while I connecting my pmac with PEWIN32Pro software, my application run smoothly. The minute I click button to jog, the motor run immediately. Application consist of 2 thread: 1 for pos, vel and motor status (thread run all the time in 100 delay every cycle), 2 for handle button event for jog motor increment and abs.
Do you guy have any idea? thank you.
-
I think it the problem is on my application code.
-
May I know what you mean by saying "restart"??? restart to Pcommserver.exe process or restart the PC???
After the exception error happen, my application become lag and slow. I cant get the motor status but the method getresponcex() is still working but it slow to response a bit.
For this moment, what i notice is when I am using the PEWIN32 PRO to communicate with PMAC turbo and after that, I am run my C# application again, everthings work smoothly.
Any idea?
-
What OS and what is the version of Pcommserver?
window XP and Pcommserver 4.3.3.0.
-
I using VSE C# to develop a winform application. What i want to do is stop the application to read the motor status, speed and position when communication is lost.
I simulate it by unplug the com cable. The error is "The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))". How do I clear the COM object.
Please advice what is the right method to detect the com lost and stop my application.
-
Do the AENA output is okay to make a 24VDC connection?
-
Alright, got it. Yup I found the wiring diagram it in the last page. My apologize. Thank you
-
I would like to i use JTHW port as general purpose I/O. May I make and break 24VDC circuit connection? or it only for 5 VDC? Could you please provide writing diagram for the I/O?
-
Alright. Thank you.
-
Alright, I think I got this. will try myself. Thank you
-
I have set up a PFM with servo drive. For encoder, I would like to use the encoder of the servo motor. I set i7010 = 3 (TURBO CLIPPER), so that i can read the signal of the servo encoder.
The problem is when I am jog the motor, my drive faults. The error is "Invalid Pulse command". I wonder do i need to do a tuning in my PMAC? If i set i7010 = 8, everthing work fine. how do I use the servo encoder as a feedback? Do i miss out something?
-
Yup...this what i am currently do. P for position and V for velocity But i dont why my UI will pop error on invalid data received on the velocity value after a few second. I am still debuging the UI, perhap it is because of my mistake on the calculation. By the way, could u please provide me the formula to calculate velocity based on the data received by using getresponse(#1V)?? i am sorry tat i am a bit confuse on what is explain in the manual.
Because of the problem, i thinking of using other method then i found out the DPRam method. Unfortunately, it is removed. Thank you
-
my apologize. I look in the VSE 2010 COM reference is show PCom lib 1.0 so I though is 1.0. In the properties window is show 4.3.3.0.
So, what would you suggest me on how to read the velocity?
-
Halo,
Need some advice on turbo clipper. I setup a servo amplifier and motor using delta Tau PFM. My problem is the motor is running non stop after I am enable (#1J/).
I am refer to the PFM typical setup in the turbo clipper hardware reference manual.
-
version 1.0. what is the latest version?
-
I use the GETNETACTUALPOSITION() method to read the position. I want to read the velocity also.
-
I have use the DPR Real Time on the PcommServer version 1.0. In the manual in DPR Real time section there is 6 method we can use GETCOMMANDEDPOS() ...........................................................................................................................................76
GETNETACTUALPOSITION() ....................................................................................................................................76
GETFOLLOWERROR() ..............................................................................................................................................77
GETVELOCITY().......................................................................................................................................................77
GETMASTERPOS() ...................................................................................................................................................78
But in the libraryn(vs 2010 express), i can not see the GETVELOCITY() method.
-
Hi Sir,
I notice inside the PcommServer Manual there is a method GetVelocity() and GetNetActualPosition(). But Inside the library (my version is 1.0), I can see the GetNetActualPosition() but I CAN NOT See GetVelocity(). How do I read the velocity of the motor in Turbo Clippper (i am a bit confuse on the calculation)? what method should I use to read the velocity?
Could you please explain or give some example on the formula?
-
Hi Aims,
Analog control is always torque or velocity - not position.
Alright. May you please provide me a setup file for controling the speed of servo via analogue signal? An example setup file on POWER IDE file for servo quadrature feedback (A+, A-, B+, B- and Z+, Z-). Thank you
Circular move radius 2mm
in Pre-Turbo PMAC
Posted
Hi,
I would like to draw a circle on X and Y axis. I am using PMAC2-PC104.
I study in the manual there is circle1 and cirlce2 command.
I set i13=5;
I came accros this 2 command but I dont have any idea how to draw a 2mm circle.
X{} Y{} I{} J{}
X{} Y{} R{}
sqr(X) + sqr(y) = sqr®. I dont what is the value of X and Y that could give me R value 2.
In short, I need X and Y to have circular move that give me 2mm radius of circle
Please help me.
Thank you