Jump to content
OMRON Forums

rr_seas

Members
  • Posts

    2
  • Joined

  • Last visited

Recent Profile Visitors

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

rr_seas's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter

Recent Badges

0

Reputation

  1. Thanks for the reply, Steve. I finally got it working after some debugging. This is an existing machine and controller that I'd helped build/configure years ago, but then left the company. I'm now working with the same machine years later, trying to add features without breaking the existing working setup. My issues were as follows: Sys.MaxMotors was set to 9, I needed to set this to 11 to get access to Motor[9] and Motor[10] I didn't have usrcode.c set to "compile" as the build action (right click -> properties) The EQU out on Gate3[1].Chan[3] had some existing motor configuration that was causing strange behavior. I moved to Gate3[0].Chan[3], which was totally unused and worked as expected Had some issues with resets overwriting motor configurations, because I'd forgotten about save/fsave and how the boot process works. I set the virtual motor to closed loop with #10j/ (online) or jog/10 for within motion programs/libraries. The app note mentioned the steps to enable tracking/pulses should be in order, like: Enable ServoCtrl on motor running user-written servo Set virtual motor to closed loop Because of that, I assumed setting the virtual motor to closed loop meant Motor[10].ClosedLoop should be 1. The method I found of accomplishing that was to use the j/ or jog/ command. However, based on your reply I'm not sure if that is needed, but I'm doing it anyway. I now have an M-code to configure the pulses, and another M-code to enable/disable pulses, all working as expected.
  2. Hi all, I'm trying to follow the application note Laser Pulse Control with Power PMAC DSPGATE3, specifically the section Equidistant Pulse Output Per Traveled Distance Along the Path. This involves setting up a virtual motor, custom user servo routine, and PFM + EQU, and I'm trying to implement this on a PowerBrick LV controller. My end goal is to output equally-spaced pulses as the machine moves in X/Y. For example, I want to generate a pulse every 0.8mm traveled. I'm looking to use an EQU output from Gate3[1].Chan[3], and I'm using Motor 10 as my virtual motor, and I've set the L-variables in the example motor setup code as such. As the app note example shows, I selected Motor 9 (which has no setup in my code) to run the user-written servo routine. I run the subprogram to set up EQU called PulseAlongPath(GateIndex, ChanIndex, PulsePeriod, PulseHigh) in a Motion Program, and then try to jog the machine in X and Y, however I don't see pulses on the EQU output. I see that to enable the trajectory following, two conditions should be activated: Motor using the user-written servo routine needs Motor[x].ServoCtrl = 1 The virtual motor with PFM needs to be closed loop I'm a bit confused about which motor should be running the user-written servo routine - the app note shows Motor 9, but I'm not sure if I should also use Motor 9 or use a different motor. Also, how to I set the virtual motor to closed loop? Thanks! Laser Pulse Control with Power PMAC DSPGATE3.pdf
×
×
  • Create New...