Jump to content
OMRON Forums

steve.milici

Omron
  • Posts

    1,619
  • Joined

  • Last visited

  • Days Won

    42

steve.milici last won the day on April 20

steve.milici had the most liked content!

About steve.milici

Recent Profile Visitors

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

steve.milici's Achievements

Veteran

Veteran (13/14)

  • Well Followed Rare
  • Dedicated Rare
  • Reacting Well Rare
  • Conversation Starter
  • First Post

Recent Badges

50

Reputation

  1. The next firmware release 2.8.x.x will include python 3.11. We anticipate this shipping from the factory in the fall of 2024.
  2. As I previously said we cannot support manual setup of EtherCAT in script header files. Only the IDE’s created configuration files in the “Configuration” folder (as documented in the IDE manual for the IDE version expressed): ECATConfig.cfg, Eni.xml, Systemsetup.cfg. Simple power on modifications could be acceptable but these should not be in header files. These should be in power on PLC code with proper “verification” code. Please answer the previously asked questions: What is your IDE version? What is your PMAC platform and firmware version? To verify you have a correct, functional, and well-tuned EtherCAT setup post your tuning step-move and parabolic plots to review, without enabling the user servo code. To provide useful commentary I will need this information along with answers to the above questions. Also note that your EtherCAT drive manufacturer’s software must properly set up the current loop in the drive. There may be other “torque” related SDOs that need specific settings per their documentation. Such as: Object 607Fh: Max profile velocity Object 6072h: Max torque Please refer to your drive manufacturer’s documentation for details.
  3. You must send a run command “r” to the rotary buffer pointed to a CS by the begin command “b” as in: “&1b0r”. You can also send the run command “r” while the buffer is open – this would make it “live” for any motion content sent. This is documented in the application note provided.
  4. The description of your issue is somewhat vague. The error #33, “BUFFER IN USE” indicates the command being sent may be trying to “modify” a rotary buffer that is currently in “use”. Please describe in detail what is being sent to PMAC and how it is being sent and the exact PMAC responses that you get.
  5. You must first have a functional and well-tuned EtherCAT motor setup in CST mode without user servo enabled. If the motor is not well-tuned in PMAC this could be the cause. Post your tuning step-move and parabolic plots to review. Also you should only use the “standard” user servo code as published in the Power PMAC User’s Manual.
  6. You can however use the following C-API functions in real-time routines: JogPosition() JogSpeed() JogTrigger() Anything listed in the “rtpmaclib.h Rt/Gp Library Functions” or “rtpmacapi.h Rt/Gp Library Functions” can be used in real-time routines. See the C-API help documentation for details.
  7. I see now that this is the code from the training presentation and has the proper “return ctrl_effort;” statement. The “return 0.0;” statement would be correct usage for open loop. Note that the full PID user servo code would only apply to an EtherCAT system that is in CST mode (and well-tuned). If in CSV mode you should only be calculating a “velocity” output. There would be no usage of any commutation in a user phase routine as this is not done in PMAC when using EtherCAT. You should describe what your needed “end goal” is, then we can provide better comments.
  8. After further review, you should be able to create a user servo algorithm for an EtherCAT motor in all modes (CSP, CSV or CST). It is your responsibility to make sure the retuned value is the proper type (position, velocity, or torque) and scaled properly for your drive. I suspect the reason you get the amplifier fault is the result of returning a “bad” value in your routine. I notice you have a “return 0.0;” at the end of your routine. This may not be what you desire. Also, as previously said in a well-constructed EtherCAT IDE project there should be no need to have EtherCAT settings in a global include file.
  9. The speed must be changed in PMAC’s trajectory generation calculations. You cannot directly control this in the EtherCAT registers.
  10. It is the case that you cannot use the “Command()” in Realtime Routines. You could however, set a flag that would trigger a PLC to execute the command.
  11. You cannot modify the existing EtherCAT. The “%” method described by leandro.martins in this post would be the easiest method: https://forums.automation.omron.com/topic/10382-how-to-change-the-motor-speed/?do=findComment&comment=33681 You could also put a loop in your motion program with very small increments that contains the feedrate command with an argument as in: &1 #1->100x open prog1 inc while (p99) { // loop while P99 is not zero f(p100) // feedrate argument is P100 x0.1 } close The “granularity” in time would be the move size increment/feedrate.
  12. EtherCAT configurations should not be in a Script header file (.pmh). These should be in a custom configuration file in the “Configuration” folder and downloaded to PMAC before the Project “Build and Download”. You should follow the step-by-step instructions in the IDE manual for your version of the IDE to set up an EtherCAT motor. What is your IDE version? What is your PMAC platform and firmware version? Note that a user servo algorithm can only be applied to a well-tuned EtherCAT motor in CST mode.
  13. I have attached an application note on this topic. Also see the “Power PMAC User’s Manual” in the chapter “Writing and Executing Script Programs in the Power PMAC” starting on page 610.Rotary Motion Program Buffers in Power PMAC.pdf
  14. That is a very old version of the IDE. You should upgrade to the latest version on the website and re-build your project from the beginning. This version encapsulates all the PMAC configuration (including EtherCAT) into the project, so you don’t need to have “separate” configuration files: https://www.ia.omron.com/product/tool/pmac-software/index.htm For your version, the “Control Type” is set in the “Amplifier Topology Block”. Please follow the step-by-step instructions in the IDE manual in the “Motor Setup” chapter starting on page 338. Specifically see the section “EtherCAT Network and Motor Setup” starting on page 340. Also see the section “Topology Blocks” (page 266) in the “PROJECT SYSTEM” chapter starting on page 175.
  15. The EtherCAT setup should already be completed by the IDE’s System Setup. You should not be making changes in a script header file. Implementation of “manual” EtherCAT setup is not supported other than simple power on modifications, and these should not be in header files. These should be in power on PLC code. Also note that a user-defined servo algorithm will only be possible for a motor setup in CST (Cyclic Synchronous Torque) mode.
×
×
  • Create New...