Jump to content
OMRON Forums

vanandel

Members
  • Posts

    20
  • Joined

  • Last visited

Everything posted by vanandel

  1. (Answering my own question . . .) Summary - my project directory was missing the 'Log' subdirectory. I ran the SysInternals ProcessMonitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) and discovered the IDE was trying to open /Log/pp_error.log . Once I created the "Log" subdirectory, and "Configuration\pp_disable.txt" my builds started working again.
  2. With IDE 1.5.0.21, when I try to build a project, I get the dialog: Mapping power PMAC variables Failed. Do you wish to continue the build process. The output window shows: ================= Please wait while mapping Power PMAC variables. Could not open the error file ================= I'm running the IDE as a user 'lroot' with 'Administrator' privs. The 'lroot' user owns all the directories under 'Documents', and has 'Effective Permissions' to access C:\Program Files (x86)\Delta Tau Systems Inc\ What is the full pathname for the error file that the IDE can not open? Any idea on how to fix this? (Please don't ask me to upgrade to a later IDE - later versions of the IDE seem to insist on later versions of the firmware, and later versions of the firmware don't support switching an axis between jog mode and 2 axis movements, which our current application uses.)
  3. OK, the cpx prefix worked. I also had to set the "Run at Startup" property in the IDE to "No" for capp1, so capp1 would only be started by pp_startup.txt Thanks for your assistance.
  4. Perhaps my question was not clear. I know how to run commands on a command line with a '|' (pipe). How do I configure the PowerPMAC to run /var/ftp/usrflash/Project/C\ Language/Background\ Programs/capp1.out | my_filter /var/log/capp1/capp1.log automatically, when the system boots?
  5. I would like to start my C Background task and pipe its output through another program that adds timestamps. How can I modify the runtime environment for a C background task to pass a debug argument and to pipe its output through another program?
  6. I am maintaining a motion control program for a weather radar. We have two motors - azimuth and elevation. One of our motion control programs (called PPI) scans the azimuth between two limits, and changes the elevation at the scan boundaries. Another of our motion control programs (SUR) moves the azimuth at a constant rate, and changes the elevation once per azimuth revolution. The high level control is a background C application - capp1. Low level control is done by a PMAC Script language program that reads global variables set by the "C" program. To run a SUR (constant azimuth velocity) scan, capp1 removes the azimuth motor from the coordinate system, sets a jog speed, and then starts the motor in jog mode. Most of the time this works, but occasionally, the jog command returns the error: "error #38: PROGRAM RUNNING" The sequence of operations is: &1 a # abort the motion control program &1#1->0 # remove the motor from the coordinate system &1a start4 # start the motion control program Motor[1].JogSpeed=1.820444 # set jog speed #1j+ # run the motor in jog mode. ============== Questions: 1) Is there a better way of implementing the SUR (constant azimuth rate) scan rather than having capp1 (the background C task) remove the motor from the coordinate system and using jog mode? 2) What are the minimum delays between the operations I've shown above to achieve reliable program operation? 3) What else could I do to insure reliable operation? Thanks!
  7. I just upgraded to PowerPMAC 1.6.0.30 firmware with the 1.6.0.109 IDE (1/9/2014). When I enter the 'save' command in the terminal window, I get the message: Save to pp_diff.cfg failed: Error in section [bRICK] Does this indicate a real problem, or can I ignore the message?
  8. Does the project file contain absolute or project relative references to the files in the projects? That is, does the project file specify c:\Users\\Documents\\C Language\Background Programs\capp1\capp1.c or does it simply refer to \C Language\Background Programs\capp1\capp1.c (a reference within a project) What I want to know is whether I can <> an existing project file to a new directory when I restore my source files, or whether I need to <> my project file whenever I create a new directory. Thanks much.
  9. I'm putting my Power PMAC project under revision control and need to know which files I should check in. I want to check in any files that I need to recreate the project, but not check any files that are produced when I rebuilt the project. Obviously, I need to check in my source files, found under 'C Language' and 'PMAC Script Language'. I assume that I should checkin my .ppproj file. Do I need to backup any files under Bin, Configuration, Database, Log, Temp, or usrflash? Are there any other files I should checkin to source control?
  10. The documentation for GetMotorVel() included with the 8/19/2013, 1.5.021 IDE states that the returned velocity is 0.0625 * Motor[mtr].FltrVel units. (note that 0.0625 is 1/16) The Power PMAC Software Reference Manual, August 10, 2012 states that Motor[x].FltrVel returns 'Motor units per 16 servo interrupt periods'. Therefore, GetMotorVel() returns Motor Units/servo interrupt period. When I actually use GetMotorVel(), it appears to return Motor Units/ms, NOT Motor Units/servo interrupt period. Please correct the documentation. Is GetMotorVel() documented outside the IDE's online help?
  11. 1) Can anyone explain why I would get an earlier version of this file if I try to update it? (I exited the IDE, and updated the file from source control on another system, and when I restart the IDE, it over-writes pp_proj.h with older contents). 2) Should I NOT put my own definitions in pp_proj.h?
  12. Using 8/9/2012, 1.5.0.21 IDE, after I build my project/solution, I repeatedly see a dialog box: ============================= \C Language\Include\pp_proj.h This file has been modified outside of the source editor. Do you want to reload it? Yes |Yes to All | No |No to All ============================ Even if I click "Yes", I see this dialog the next time I build my project. Does the IDE handle pp_proj.h in some special way? Are there restrictions on what I should put in this file? In some cases, if I click "Yes", I get an older version of this file. Also, in the IDE, when I right click on pp_proj.h, I see the menu: ----------- Open Open With View Code Properties ------------ For all other include files, the right click menu looks like: ----------- Open Open With View Code Exclude from project Delete Rename Properties ------------ Why is the menu different?
  13. I removed all the old copies of my app, and renamed usr/local/ppmaclibs/rtpmac/RtGpShm.h , so it wouldn't be confused with the correct version: usr/local/dtlibs/rtpmac/RtGpShm.h After rebuilding my application, my application works as expected. Thanks for your assistance. It would be helpful if DeltaTau only shipped one copy of RtGpShm.h with the IDE. I was using a fresh install of the IDE, and somehow ended up with different versions: usr/local/ppmaclibs/rtpmac/RtGpShm.h [A bogus version] usr/local/dtlibs/rtpmac/RtGpShm.h [the correct version] OK - for this issue, I don't care about piom memory, I only care about shared memory. As I said in my initial forum post, my C program, the IDE terminal, and the IDE motor status window don't agree on what's in the motor structures in shared memory. The IDE motor status window shows motor '1' has "Amp Enabled", the IDE terminal interface to the PowerPMAC shows: Motor[1].AmpEna = 1 however when my C program uses shared memory: if(pSHM->Motor[1].AmpEna) it DOES NOT show that the Amp Enabled bit is true. How do I determine why the C program doesn't correctly reference the correct bit? If I could determine the offset in shared memory the terminal interface uses for 'Motor[1].AmpEna , I could compare this to the offset my C program is using in shared memory. Again - this program used to work, and I've recompiled the program for the new libraries and IDE.
  14. OK - for this issue, I don't care about piom memory, I only care about shared memory. As I said in my initial forum post, my C program, the IDE terminal, and the IDE motor status window don't agree on what's in the motor structures in shared memory. The IDE motor status window shows motor '1' has "Amp Enabled", the IDE terminal interface to the PowerPMAC shows: Motor[1].AmpEna = 1 however when my C program uses shared memory: if(pSHM->Motor[1].AmpEna) it DOES NOT show that the Amp Enabled bit is true. How do I determine why the C program doesn't correctly reference the correct bit? If I could determine the offset in shared memory the terminal interface uses for 'Motor[1].AmpEna , I could compare this to the offset my C program is using in shared memory. Again - this program used to work, and I've recompiled the program for the new libraries and IDE.
  15. I'm reading the August 2012 version of the Power PMAC Software Reference Manual, and can't find a memory map that lists the offset of Motor[1].Control[0] in shared memory. (Motor[1].Control[] is in a union with the Motor[1].AmpEn bit field). Please give me a page number in this 1043 page document!
  16. Hi, IDE always uploads the Lib from PowerPMAC on connection. Did you compile your project code after you updated the FW and IDE? Thanks, Atul Yes, I cleaned the project and compiled it after updating the FW and IDE. Does the IDE upload the include file, or just the library?
  17. I have a background C program, capp1.c, that needs to report motor status. This application worked under earlier versions of PowerPMAC firmware, but now I've upgraded to 1.5.8.0 and the 8/9/2012, 1.5.0.21 IDE. I get a pointer to the shared memory: pSHM= GetSharedMemPtr(); and use this pointer to query the motor state: if(pSHM->Motor[motor_number].AmpEna) ms |= MS_AMP_ENA; The IDE status window shows motor '1' has "Amp Enabled". My C program reports that motor '1' does NOT have the AmpEna bit set. When I search for RtGpShm.h, I find two versions under the IDE: usr/local/dtlibs/rtpmac/RtGpShm.h AND usr/local/ppmaclibs/rtpmac/RtGpShm.h Questions: 1) Why are there two different copies of this include file with different contents? (This was the first installation of the Power PMAC IDE on this PC .) One copy has "#ifdef bigendian" and has two different definitions of bit fields for big-endian vs little-endian -- which is the correct version? 2) How can I verify that my C program (which uses the structure definitions in RtGPShm.h) is using an offset in shared memory that matches the offset of Motor[1].AmpEna, as seen from the IDE? That is, how can I determine the offset of the Motor[1].AmpEna byte from the start of shared memory? Thanks for your assistance.
  18. Is there anyway to configure the IDE so it knows a particular axis wraps? We're using the Power PMAC to drive an antenna. On the azimuth axis, we have a 16 bit synchro-to-digital converter that represents 0-360 degrees. As our motion control program continuously rotates the antenna clockwise, the IDE displays a constantly increasing azimuth. This is inconvenient, but if we try to move the antenna using an absolute 'jog' command, the Power PMAC "unwinds" the position. Rather than traveling the shortest distance to 0, the Power PMAC will move the antenna counter-clockwise, multiple rotations, until it reaches the desired position.
  19. We've written a CPLC as part of our motion control system that uses the GetMotorStatus() function call. However, that function call doesn't seem to exist anymore, as of the July 2010 IDE/firmware release. I was able to find rtpmaccapi.h which defines other motion and motor related functions, but I don't see any replacement for GetMotorStatus(). (I didn't see this change mentioned in any release notes, but perhaps I didn't look in the right place.) Also, is there any documentation for using the function calls in rtpmaccapi.h ?
  20. Could you also document where to find the current kernel? (It appears the kernels are installed separately from your firmware) Also, what is ppmac.zip, since powerpmac.deb appears to contain the firmware downloaded by the IDE?
×
×
  • Create New...