Jump to content
OMRON Forums

aims

Members
  • Posts

    42
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

aims's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. 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
  2. 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.
  3. 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.
  4. 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???
  5. 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.
  6. 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.
  7. 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.
  8. I think it the problem is on my application code.
  9. 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?
  10. window XP and Pcommserver 4.3.3.0.
  11. 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.
  12. Do the AENA output is okay to make a 24VDC connection?
  13. Alright, got it. Yup I found the wiring diagram it in the last page. My apologize. Thank you
  14. 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?
×
×
  • Create New...