Jump to content
OMRON Forums

andyf

Members
  • Posts

    141
  • Joined

  • Last visited

Everything posted by andyf

  1. Update: I noticed with the latest version of the firmware that using "local Lvar0" when declaring a program directly through gpascii causes error #31: invalid data. I don't have this problem if I compile/download the program through the IDE...so there must be a difference. Our high level software on the host loads some programs to buffers using ssh/gpascii. What is the correct way to declare local variables in this case...to ensure there are not conflicts on the local variable stack?
  2. I have a program with a while loop nested inside another while loop. When I run it, the program stops after one iteration of the outer while loop, and exits. When I run "list apc, 1" it reports that the program stopped at the outer while loop conditional statement. Please advise: open prog 1 local Lvar0=0; local Lvar1=0; local Lvar2=0; local Lvar3; L3=ldata.coord abs linear // Enable external time base use Coord[L3].pDesTimeBase=EncTable[8].DeltaPos.a Coord[L3].TimeBaseSlew=1 while( L1 < 5 ) { while ( L2 < 2 ) { x10000 tm500 delay 2000 x30000 tm500 delay 2000 L2++ } L1++ } send 0 "done" sendall close
  3. I agree that homing is not necessary. However, we have a high level software system running on the host that always indexes a motor before its first use. It does this by issuing the "home" command. Thus, I am looking to have that command essentially do nothing in this case, since the position is already known via the abs encoder. The other option is to change the high level software to know whether a motor has absolute or relative encoders, but I am trying to avoid that if possible.
  4. Update - I tried using the approach of setting Acc24E3[0].Chan[0].CaptCtrl to 0 and then GatedIndexSel=0, which the manual states will cause the trigger to happen upon arming. I would have expected that to work, but it does not...the motor begins a home search move and does not stop. However, when I use CaptCtrl=0 with GatedIndexSel=1, the motor only moves to the next U/V/W phase and then stops. This seems to work out OK, but I am curious why the first option did not work.
  5. Is there any way to disable homing search moves for motors that are already setup with power on absolute position sensing? I have motor 1 with an absolute encoder, but when the user types "#1home" it motor begins a home search move and never stops because there is no home trigger.
  6. The Delta Tau supports synchronization of the phase interrupt to an external master clock device on the EtherCAT network (ex: Beckoff EL6688). In our application, we need to trigger the start of multiple motor moves at an absolute time, and then continue to execute a sequence of moves over several hours while remaining in sync. Currently, we use the PPMAC external time base (feed timing card signal to encoder channel) and PPMAC triggered time base features to accomplish this. We loop through the sequence of moves, using linear mode to specify the duration of each move (i.e. x20 tm300) and the delay command for the wait time between each move (i.e. delay 2700). Can you confirm that using the EtherCAT external sync feature with PPMAC triggered time base should also work in this case? Thus we would not have to use the PPMAC external time base to maintain synchronization.
  7. Thanks for the information. One last question: 4) Will the Delta Tau EhterCAT master support synchronizing to an external clock provided by an EtherCAT slave (i.e. IEEE 1588 device).
  8. I installed the deb file for the embedded web server. However, when I try to use a web browser to connect I get nothing. Is the URL simply http://ipaddress ? Does use of the embedded web server require an additional license/fee to unlock?
  9. We are looking at using the PPMAC EtherCAT to communicate with EtherCAT enabled I/O and drive modules. Can you please help answer the following questions: 1) My understanding is PPMAC can be ordered with EtherCAT option. Has this "master" been tested and certified with the EtherCAT technology group (http://www.ethercat.org/)? 2) Are there any Delta Tau EtherCAT I/O and motor drive slave modules available at this time? If not, when are they expected? 3) Does PPMAC EtherCAT master support re-routing when EhterCAT network have multiple routes to a slave, and the main/active route goes down?
  10. Sina, We tried moving CPU card next to ACC24E3, and still encountered the problem. In fact, near the end of the day the CPU stopped detecting the ACC24E3 card all together, so we believe the card has gone bad. Coincidently, we received a new PMAC CPU, ACC24E3, and chassis today as part of another order. We placed the old card in the new chassis, and set the DIP switches, but it was still not detected. Then we put the new ACC24E3 in the old chassis and everything works great. I did note that the old card was stamped PROTO. We will be sending it back tomorrow for replacement. Cheers Andy
  11. Sina, After some time, we started experiencing the problem on Channel 3 (Chan[2]) as well. Although not as bad, it was still causing the occasional FE limit trip. We moved the CPU card as you suggested, and found the problem to be worse. What we see now is jitter on the Motor input when viewing the Motor Setup Interactive Feedback. The Servo captured position looks OK, but the Motor Input is erratic. If you are available for a webex today or tomorrow that would be great. -Andy
  12. Sina, I have it on my list to perform that test. Unfortunately we are behind on some data gathering due to this issue, and now that things work we need to catch up. I will update this thread as soon as we are at a point where this test can be done... -Andy
  13. Sina, Problem solved. After moving to Chan[2] the problem went away. This indicates that the primary card on the Acc24e3 (Chan 0 and 1) is bad, but the secondary card (Chan 2 and 3) is good. Time to check our warranty... Andy
  14. Sina, Update: We do in fact see the value of ServoCapt jittering. I did not see this in our testing yesterday, but today I did. We found this problem on Chan[0] originally, and now today we tried Chan[1] and it seems worse (more obvious). We are trying the other two channels now. Andy
  15. Sina, The problem seems to occur around the point where PMAC thinks the encoder zero position is (i.e. position at reset). We were able to manually move the motor away from that point, and now it is working OK. I also noticed that indefinite jogs move through the point OK, but point to point moves fail. I will try your suggestion and let you know... Andy
  16. We have a Kollmorgan DC brushless servo motor being controlled by PPMAC ACC24E3. When executing jogs, we occasionally see the motor hit its Fatal FE limit of 2000mu. I ran the plot utility to see what is going on and found that the Commanded Position and Actual Position are jumping 8 million units when this occurs (see attached plot). At first I thought it might be interference between motor and encoder cables. However, even with the motor killed, if I put ActPos in the watch window, I see it jumping between the correct position, and other invalid positions. I also watched the interrupt captured encoder values (PhaseCapt and ServoCapt) and they do not jitter. Also, we don't see this happening all the time. Sometimes we run the motor fine for hours, and then all of sudden it gets stuck with this problem. This is the first time I have encountered this problem. Any help would be greatly appreciated.
  17. We are using Java with ssh library to communicate with the PPMAC. We use four separate ssh connections: 1) to run "gpascii" for sending commands and receiving responses 2) to run "geterrors" to receive any error messages (i.e. faults, etc.) 3) to run "getsends -0" to receive messages from our motion programs, which always use "send 0" to transmit status messages 4) to run "getsends -1" to receive messages from a status PLC that monitors all motors and send period status report via "send 1" If this is similar to what you are looking for let me know and I'll send some code.
  18. andyf

    Encoder power

    Without turning the PPMAC off, or disconnecting the encoder cable, is there any way to switch off the power feed to an encoder (Acc24E3 or ACC84E)?
  19. Thanks for this post. Everything here matches what I've done for a single motor (node 0). Now I'd like to understand how to get the ring communication to work... I have a single Copley Xenus XML connected to the ACC5E3 via optical cables. I am trying to follow the other post (where you helped Lei), but I am not having any luck. If I understand correctly, the ACC5E3 is considered station 0 (a master station), and the Copley is considered station 1 (a slave station). Question: Is the ACC5E3 considered station 0 because it contains the synchronizing master? Are station numbers then just sequential with each device in the ring after station 0? The Copley is setup to use master address 0 (SW1=0). I also left the slave address as 0 (SW2=0), since I believe this is the node number. OK, so I should be able to connect to station 1, and set its MIXXX registers correct? But when I try to do that I get: STN=1 stdin:161:4: error #57: MACRO SYNC MASTER STN=0: STN=1 I also noticed that there are ring errors detected: Macro.Station=0 Macro.Rings=1 Macro.RingTest[0].PwrOnErrCntr=3 Macro.RingBreakStationNum=0 Help...
  20. Sina, Why are nodes 15 and 14 enabled on the synchronizing master (ACC5E3[0] A) and node 15 enabled on the other masters (ACC5E3[0] B, Acc5e3[1] A and B)? Why does node 14 have master check disabled on the synchronizing master? Suggestion...This thread was the only information I could find to help me get started with using MACRO on Delta Tau. If this servo/io example could be put in the User's guide, and include how to setup Motor[X] to use the servo node, that would be great.
  21. andyf

    Macro.

    The Software Reference Manual does not cover the "Macro." commands of the IDE. Where can I find more information on these?
  22. Thanks Sina. Regarding #3 in your reply. Would a delay for a specified time cause inPos to go inactive?
  23. Thanks for directing me to that post. Based on that information, I would still expect that inPos=0 when I am performing an indefinite jog or position following. During these moves, the desVel > 0, and desVelZero=0, so the conditions for inPos (according to manual) are not met. Please clarify. Basically, I am trying to understand if I can rely on inPos functionality to alert me when following error is out of tolerance for a motor that is continuously moving.
  24. The IDE help manual indicates that Motor[x].inPos will be zero if the motor is moving. However, if I perform an indefinite jog, or position follow a master signal, the inPos flag seems to toggle correctly based on FE and set tolerance. Is this a mistake in the help manual, or am I missing something?
×
×
  • Create New...