Jump to content
OMRON Forums

andyf

Members
  • Posts

    141
  • Joined

  • Last visited

Everything posted by andyf

  1. I am trying to use the Startup tab for a slave device to change the TxPDO assignment settings located at $01C13. The method required for this is to first write a $00 to subindex 000 (an 8 bit field), then write the desired TxPDO assignment ($1A01 in my case) to subindex 001 (a 16 bit field), and finally write a $01 to subindex 000. If I try to do this using the Startup tab, only the first and last steps can be performed OK. The second step seems to only write 8 bits of data instead of the full 16 bits. Thus, if I write $1A01 the value is set to $01, and if I write $1AFF the value is set to $FF. I have no problems sending the startup values using etherlab directy (last screenshot). See screenshots below.
  2. Does the PPMAC EtherCAT master handle 64bit PDO data from slave devices?
  3. To clarify, when I map to a task, the IO[] and LPIO[] are setup correctly, and I can use them in a PLC. That is not an issue for me. What I was asking is why the PDO, PDOMapping, and SyncManager data structures are not correct. That was answered on the oher thread by hbausley. I now know that: 1) These data structures are not required to be setup correctly if the slave device has the pdo, mappings, and sync manager info in its firmware. The fact that the PPMAC software tries to populate those is just for consistency. 2) The fact that the PPMAC PDO, PDOMapping, and SyncManager data structures are not loaded correctly is just a limitation of the PPMAC software's ability to read the slave device firmware and populate those data structures.
  4. OK, based on the response to my other thread... http://forums.deltatau.com/showthread.php?tid=1090 ...it is clear now that for slave devices that have PDO, PDO Mappings, and Sync Manager info in their firmware, it is not necessary for the PPMAC PDO, PDOMapping, and SyncManager data structures to be setup correctly. The user may simply map the IO[] or LPIO[] directly to the PDO index/subindex of the slave device. In fact, this is what is done when using the System Setup slave device Input/Output screens.
  5. It seems possible to map high/low priority tasks directly to the PDO index/subindex without the PPMAC PDO, PDOMapping, and SyncManager data structures being correct. This leads me to believe that the Sync Manager data structure is not always used. For example, in my other post "EtherCAT PDO data structure not loaded correctly" I mentioned that for the EL2004 digital output, the PDO, PDO Mappings, and Sync Manager data structures created via PPMAC auto-config are not correct. However, I am still able to map IO[] to the desired Index/Subindex, and use it in a PLC. What gives?
  6. For the Beckhoff EL2004 (basic digital output) I have found that the slave pdo data structure is not loaded correctly (see terminal window screen shot, note PDO[0] and PDO[1] are missing). Accordingly, the PDOMappings for those are missing (only PDO[2] and PDO[3] have mappings). Interestingly, the PDOs are displayed correctly in the System Setup view of the EL2004 Outputs (see System Setup screen shot). Thus, I can still map to high priority (IO[]) or low prioriy (LPIO[]) and toggle the output OK. I can also use the IO[0] in a PLC to toggle the output periodically. At this stage of Delta Tau's EtherCAT software support, can we expect to see PDO/mapping issues like this to occur when using the auto config? If so, I am assuming we must manually configure the PDO/PDOMappings/SyncManager etc. The downside is that some devices auto-config OK, others do not, so we must manage some of both.
  7. OK, after some research on Beckoff's info sys website, I have found the answer to my question here: http://infosys.beckhoff.com/content/1033/ethercatsystem/html/bt_ecbasics_coeinterface_basics.htm?id=5512 The Setup tab is used to pass CoE startup parameters to the slave devices when first powered up. This is useful when a (bad) slave device is replaced, and ensures the new device is setup correctly when plugged into the EhterCAT network for the first time.
  8. We have updated our host software to first query for the motor's current coordinate system via Motor[x].Coord, then issue the command: & # undefine This provides the functionality we need. Thank you!
  9. Thanks Curt, that did the trick. I set Coord[x].GoBack=1, and now I can iterate the outer and inner loops any number of times.
  10. What is the Setup tab used for? During what state are these parameters sent to the slave device? Many of them look like those I would send during PREOP, but it is not clear.
  11. Thanks Atul. For now, I ssh to PPMAC and then using etherlab commands to force EL6688 into PREOP and set config.
  12. I have successfully setup the EL6688 (slave 8) using etherlab (using upload and verifying settings via download). However, I cannot get the Delta Tau to use it as the dcrefslave, even though I set dcrefslave=8, dcrefband=10000, dcrefplus=2, dcrefminus=2. When queried dcrefslave reports back a value of 8. I am expecting the System Setup Master status info to show the dcrefslave=8 and the application time=internal time stamp from EL6688. However, it continues to show dcrefslave=0 and an application time of 2000-01-01 00:00:00.00000000 If I use Beckhoff's TwinCAT as a soft master, I am able to configure the master to do this without any problems. Questions: 1) I have two acc24e3 in my rack, and PPMAC sets one to phaseServoDir=0. I believe this needs to be set to 3 correct? Does this have any impact on EhterCAT's ability to use an external device to sync the phase clock? 2) Is there a log somewhere that may shed some light into how the PPMAC EhterCAT is establishing the DC, and any errors encountered?
  13. I am trying to use ecatsdo command in the terminal. I can read an SDO just fine, but when I try to write it fails. If I ssh to the PMAC and use the etherlab utility (/opt/etherlab/bin/ethercat) I and write just fine. Screenshot 1 shows terminal window ecatsdo read OK, but write fails Screenshot 2 shows etherlab working for both read and write Any ideas why ecatsdo might not be working? Is there a log somewhere I can look at?
  14. Does the Delta Tau EtherCAT master look at the entire syncmaster data structure for every slave, or does it only look until it sees an indicator of the end, such as an entry with PDOMappings=0. I noticed in some of the code examples from the forum that the entry after the last usable was set to PDOMappings=0.
  15. The PPMAC EtherCAT master reports that the EL6688 is stuck in INIT mode with an error. How can I see what the error is? I need to get the EL6688 into PREOP mode so I can change some of its settings using ecatsdo. Interestingly, when I do ECAT[0].Enable=1 the EL6688 moves to OP mode.
  16. In System Setup if you click on the EhterCAT master, the right pane shows status information including the "Applicationtime" and just below that the conversion of that number into a time format string. My understanding is that Applicationtime should be nanoseconds since 2000-01-01 00:00:00.000000000. Is this the case? Here is an example: Applicationtime:17501109801187753058 2010-03-0701:30:17.187753058 I can watch the status updates and see that indeed the number increments by 1e9 each second. However the number of seconds total seems way to large. Can you advise?
  17. OK, after installing all updates (including SP1) and re-installing v1.5 PPMAC IDE, the EtherCAT functionality works OK.
  18. I notice now that my IDE 1.5 that works is running Windows 7 SP1, and the one that does not work does not have SP1. Let me update and re-install the IDE and then I'll let you know if the problem persists.
  19. I have a new installation of the IDE v1.5 on Windows 7 that has an issue when I try to use EtherCAT features. When I click on an EtherCAT device in the System Setup window, a debug/error message states that the table ppmaccommon.defaultpdofiles does not exist. When I try to update the device XML file, a similar message indicates the load failed. I am seeing this issue on a new installation of v1.5. I have an older installation of v1.5 that does not have this issue, but was an upgrade from a previous version. Please advise.
  20. I'd still like to understand why the first option does not work (Acc24E3[0].Chan[0].CaptCtrl to 0 and then GatedIndexSel=0)
  21. Atul, I originally followed the directions in the EtherCAT setup guide to set Gate3 PhaseFreq=12000 and ServoClockDiv=2 to achieve a 250us clock. After your reply, I additionally used the PMAC system setup window to adjust the global clock from 12.001 kHz to 12.000 kHz. After that, I no longer received the error message when starting EhterCAT tasks. Interestingly, if I go back to the PMAC system setup window it reads 12.0001 kHz again. It's not clear to me what this additional step did to solve the problem, but it would be good to document it in your guide.
  22. Sina, That command requires the current coordinate system (&) to be that of the motor (x) you want to undefine. Thus, I would first have to query Motor[n].Coord, then issue: &n#x->0 My goal is to NOT have to query to figure out what c.s. the motor is in. Is that possible?
  23. It seems the IDE (v1.5) EtherCAT support for enabling tasks does not work. It always returns an error stating that the servo period is not a multiple of 62.5 us. It is true that the Sys.ServoPeriod is not exactly a multiple (i.e. 0.24998645557832 ms), but this is due to how PPMAC calculates things. Using ECAT[0].Enable=1 is a work around, but I would expect this function to work properly in the IDE. See attached screen shot...
  24. Is there a one line command that can be used to undefine a motor from whatever coordinate system it is currently in? I'm trying to avoid the two step process of querying Motor[x].Coord and then using the result in an undefine command. For example, for motor 1 I tried: &*#1undefine but this does not work
×
×
  • Create New...