Jump to content
OMRON Forums

scott.eichhornetrema.com

Members
  • Posts

    18
  • Joined

  • Last visited

Everything posted by scott.eichhornetrema.com

  1. Hi Henry, I think I must be missing something. Per Sina's instructions, I thought I needed to create the gather text file though a Telnet session: [i]How to export the gather to a file in ftp:// …/Gather folder In the telnet session, Issue the following Commands: sync gather -u /var/ftp/gather/gatheroutput.txt[/i] Then I would FTP in to transfer the text file. The errors I posted were when I tried to create the text files in the Telnet session. I hadn't had permission issues before. I'm hesitant to mess with Xenomai since I don't have the slightest idea what unintended issues I might cause. Do Sina's instructions need to be revised for the latest firmware, or is there something fundamental I am not grasping? Thanks again, Scott
  2. This process has worked for me in the past, but today I receive the following error when trying to download the gather data: login as: deltatau deltatau@192.168.100.210's password: Linux powerpmac 2.6.30.3 #12 Tue Nov 17 13:58:49 PST 2009 ppc --------------------------------- -- PowerPMAC Motion Controller -- --------------------------------- You have new mail. Last login: Thu Oct 7 03:57:41 2010 from 192.168.100.215 deltatau@powerpmac:~$ sync deltatau@powerpmac:~$ gather -u /var/ftp/gather/oct14_100hz.txt Xenomai: binding failed: Operation not permitted. deltatau@powerpmac:~$ Any ideas? I am using the 8/26/2010 IDE and firmware 1.2.1.5. This is the first time I've tried to transfer data after the firmware update. Thanks, Scott
  3. I can't find documentation on Sys.PhaseOverServoPeriod. How do you determine its proper value? Thanks, Scott[hr] Here are my current settings, if they are of any help: Sys.ServoPeriod = 16854 * 3 / 117694.8 Gate1[4].PhaseServoDir = 0 // Set Acc24E2 internal clock as master Gate1[4].PwmPeriod = 4212 // Set PWM freq to 7 kHz Gate1[4].PhaseClockDiv = 0 // Set phase clock freq to 7 kHz Gate1[4].ServoClockDiv = 2 // Set servo clock freq to 2.33 kHz Gate1[4].HardwareClockCtrl = 2258 // Set Encoder sample clock to 4.9 Hz, others at default Gate1[4].PwmDeadTime = 0 // Dead time to zero per Copley/Delta Tau app note Thanks, Scott [/quote]
  4. I've been gathering and plotting data using the Quick Plot function. No matter what setting I use for sample period (between 1-10 [0.4-4.4 msec]), the time plotted on the X-axis is 2x the real elapsed time. I will set the system to gather 40 seconds of data, then monitor the time elapsed from hitting the "gather data" until the "upload data" button is available. The actual elapsed time is 20 seconds, but when I plot it 40 seconds of "data" is displayed. I'm commanding a 100 Hz tone, but it appears to be 50 Hz on the plot display. Any idea if this is a system clock issue or any advice on where to look for a problem? I'm running the July 15th 2010 IDE. Thanks, Scott
  5. I am trying to output a variable value from inside usrcode.c to the unsolicited messages window in the IDE. When using the "send" command as listed in the Program Command Specification manual, such as: send0,"Hello, World!"; I receive errors on compile, such as "send0 undeclared". Am I using the send command as intended, or is there a better way to evaluate variable values within the custom servo routine? Thanks, Scott
  6. I am writing a custom servo algorithm for a lathe cutting tool and need to read the position of another motor (a spindle) for use in my feedback calculations. What is the best way to access the spindle position data within the usrcode.c function I'm writing? Thanks, Scott
  7. I created a new project on one of our network drives, to benefit from the daily archiving. When I search the project folder on the network for included header files, such as RtGpShm.h, they are not there. Is this a problem or does the IDE know they are resident on my local drive and access them there? Thanks, Scott
  8. Ok, now Motor[1].Ctrl = UserAlso.ServoCtrlAddr[1]. However, when I close the loop and command a 50 micron position change, no control effort is generated and I sit at 50 micron following error. I've previously tuned the PID gains for stable control when Motor[1].Ctrl = Sys.ServoCtrl, and these are the gains I'm using now. The usrcode.h is the same as listed in my first post. Here is the current usrcode.c: // Future versions will replace this with a narrowband control algrithom //-------------------------------------------------------------------------------- #include "usrcode.h" extern struct SHM *pshm; // Pointer to shared memory extern volatile unsigned *piom; // Pointer to I/O memory extern void *pushm; // Pointer to user memory double user_pid_ctrl(struct MotorData *Mptr) { double ctrl_effort; // control effort calculated from the algorithm pshm->Ddata[1] = 3; if(Mptr->ClosedLoop) // if the motor is in closed loop mode (Motor[m].ClosedLoop = 1) { // Use PID gains stored in the Motor[m].Servo structure gain settings ctrl_effort = Mptr->Servo.Kp * Mptr->PosError - Mptr->Servo.Kvfb * Mptr->ActVel; //PD terms Mptr->Servo.Integrator += Mptr->PosError * Mptr->Servo.Ki; // I term ctrl_effort += Mptr->Servo.Integrator; //sum PD and I efforts pshm->Ddata[1] = 1; return ctrl_effort; } else // when open loop { Mptr->Servo.Integrator = 0.0; //Zero integrator when in open loop pshm->Ddata[1] = 2; return 0.0; // return zero control effort } } I added the Ddat[1] shared memory assignments as a way to check the progress of the program. The default value is 0 and it does not change during program execution. The task manager shows Motor 1 is running and using the custom servo algorithm. Do you spot any obvious code errors or have any other areas I should check? Thanks again, Scott
  9. 1.1.0.97 Jan 2010. I did copy the solution and folder from my C: drive (since there's no "save as" in Visual Studio !?!) to a networked drive, if that would make a difference. I've been accessing/updating the networked version. Scott [quote='hbausley' pid='504' dateline='1278687061'] You should never have to do that. What is the version and date of the IDE you are using. [quote='scott.eichhorn@etrema.com' pid='503' dateline='1278684197'] That fixed the problem. Will I have to copy that file every time I create a new project, or was this an unusual occurrence? Thanks, Scott [/quote] [/quote]
  10. That fixed the problem. Will I have to copy that file every time I create a new project, or was this an unusual occurrence? Thanks, Scott
  11. I've written a basic user servo, using the code from the training slides. I assign the function to "user servo 1" in the IDE, then build and download all programs. There are no errors or warnings with this process. After this process, I check and UserAlgo.ServoCtrlAddr[1] = $0. I was under the impression that a new memory address would be assigned. Here is the user servo code I'm using: usrcode.h: #include #include // Global Rt/Gp Externals and structures #include double user_pid_ctrl(struct MotorData *Mptr); EXPORT_SYMBOL(user_pid_ctrl); usrcode.c: #include "usrcode.h" extern struct SHM *pshm; // Pointer to shared memory extern volatile unsigned *piom; // Pointer to I/O memory extern void *pushm; // Pointer to user memory double user_pid_ctrl(struct MotorData *Mptr) { double ctrl_effort; // control effort calculated from the algorithm if(Mptr->ClosedLoop) // if the motor is in closed loop mode (Motor[m].ClosedLoop = 1) { // Use PID gains stored in the Motor[m].Servo structure gain settings ctrl_effort = Mptr->Servo.Kp * Mptr->Servo.PosError - Mptr->Servo.Kvfb * Mptr->ActVel; //PD terms Mptr->Servo.Integrator += Mptr->PosError * Mptr->Servo.Ki; // I term ctrl_effort += Mptr->Servo.Integrator; //sum PD and I efforts return ctrl_effort; } else // when open loop { Mptr->Servo.Integrator = 0.0; //Zero integrator when in open loop return 0.0; // return zero control effort } } Any advice on what to check next? Thanks, Scott
  12. My video capable Power PMAC is running with a CPU temperature of 68.8 deg C and the status screen in the IDE is coloring the temp data in orange. Is my system running hot? The card is mounted in a UMAC rack. The only fan is at the power supply, and it does not circulate air past the card. There are no top or bottom cover plates over the card. Thanks, Scott
  13. In the recent training class, the real-time scope function of the IDE was demonstrated. On my IDE, a Jan 18, 2010 build, I can't find that menu item. Thanks, Scott
  14. I did follow the steps, but only for entering a single entry. Gedit was much quicker for adding a whole range of IP's. Thanks for the insight into the .readonly structure you are using. That solved my problem. I have one additional question on the X-Windows setup. Is there a way to allow ETH0 or ETH1 to connect to the internet through our LAN? I've tried to enable both connections and set static IP's with the X-Windows network dialog box, but the as soon as I close the network window the settings are lost. Thanks again, Scott
  15. I'm using the video-capable Power PMAC and had logged into the Debian X-Windows client to use the graphical text editor to add a group of IP addresses to the \etc\hosts file. I saved the file and connected through my network without the 20 sec telnet delay. However, when I rebooted the PPMAC the "hosts" file reverted to its earlier state. What do I need to do to save the changes permenantly? Thanks, Scott
  16. Thanks, that worked smoothly. Now the IDE is syncing up again. Scott
  17. We have gotten secure shell (port 22) to connect properly, but that isn't a protocol option for the IDE. I've made sure that port 23 (Telnet) is allowed on the LAN and I'm testing with a Windows XP system with no firewall running. Any ideas? Thanks, Scott
  18. I'm trying to connect to my new Power PMAC via our LAN. I've assigned the PMAC a static IP. I can ping the PMAC IP and get a good response. I can connect the PMAC Suite on startup if I select the PPmac server protocol instead of Telnet. However, when opening new windows such as "motor setup" or task manager, they will not connect using either protocol. The other windows still show an online status, but new ones never connect. Any suggestions? Thanks, Scott
×
×
  • Create New...