Jump to content
OMRON Forums

hbausley

Members
  • Posts

    90
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by hbausley

  1. Lack of permissions as you are trying this as a non root. You can use ftp and login in as user ftp with a password ftp and get the file. If you really want to try doing it through deltatau check out this link. I have not tried this myself. [url]http://www.xenomai.org/index.php/Non-root_RT[/url] [quote='scott.eichhorn@etrema.com' pid='772' dateline='1287085629'] 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 [/quote]
  2. The root folder is actually /root and is writable. It is mounted as aufs2 using the union of the sda2 readonly folder /.readonly/root and the tmpfs folder /.readonly/root-tmpfs-mirror. This provides a good background on union filesystems [url]http://www.linuxjournal.com/article/7714[/url] . We use [url]http://aufs.sourceforge.net/[/url] for our implementation. You can login from the gnome screen with user root and password deltatau. If you want to add another partition to the flash disk that is best done by attaching the flash daughter card to a Linux Desktop and using gparted which is a great partitioning tool. You could then modify the /.readonly/etc/fstab The possibiliteis are endless you can setup the system anyway you want. [quote='KEJR' pid='701' dateline='1284559049'] Hello, We have purchased a video option PPMAC. I plugged in a monitor/keyboard/mouse yesterday and got to the graphical login screen just fine. When I logged in with a gnome session, however, it had failed since the /home folder is not writeable. This happened for both the "root" user as well as the "deltatau" user accounts. Doesn't it make sense to have the /home folders of each user be a separate partition? You could then leave it to the customer to mount it as read-only or read-write. As far as I can tell the /home folder is under the root partition as a part of /dev/sda2. I dont' feel comfortable mounting the root filesystem as read-write just for the desktop environment. In the long run we will probably end up installing a lightweight window manager and hijacking the bootup process somewhere so that we can auto-login a user account and start our HMI. In this case the fact that we don't have a writeable user account is not a huge concern. I'm fairly positive that some lightweight window managers don't need to write to your home folder every time they run (In fact TWM did work out of the box when I logged in). Thanks, ~KEJR [/quote]
  3. configure the file /.readonly/etc/resolv.conf appropiately for you network with the following contents with your appropiate ip addresses of course. domain 10.10.98.7 search 10.10.98.7 nameserver 10.10.98.7 also make sure that gateway is setup for your router in /etc/network/interfaces In addition our next release of the IDE due out in Q1 2011 will use SSH which does have the long DNS delay . [quote='KEJR' pid='699' dateline='1284483854'] Hello, First off, I changed my PPMAC to 192.168.169.200 address using the IDE. This seemed to work and "/etc/network/interfaces" looks OK. I had been experiencing the telnet "delay" problem yesterday and have added my Windows PC's IP address to /etc/hosts file (which worked). It would seem from my internet search on this issue that the problem is with DNS doing a reverse lookup of the IP address and timing out. The fix of adding my PC address to "/etc/hosts" is somewhat temporary, however, in that our PCs use DHCP to obtain their IP addresses and it could change any day. Today if I change my PCs address (using static IP) to any address *not* listed in "/etc/hosts" telnet no longer works at all (I've waited several minutes and it just hangs). I have also noted that some file is being appended (or script generating) all of the addresses in subnet 192.168.0 to "/etc/hosts". At my company we are on the 192.168.169 subnet and it would seem I need to modify the script that is generating these addresses in "/etc/hosts". Is this something that should be done automatically upon changing your IP address in the IDE software (or script provided to do this from telnet)? I may just append all of the addresses in "192.168.169" subnet manually to "/etc/hosts" file, but something more automated would be nice if we ever have to change our PPMACs to another subnet some day. I did try to add entries in "/etc/hosts.allow" (again doing the remount,rw) but they don't seem to help. I tried the following: in.telnetd: ALL ALL: 192.168.169. None of these seems to work. Thanks, ~KEJR [/quote]
  4. You already have a native Linux driver for the Power PMAC. It is either the ssh client or telnet client. Login using root and the default password of deltatau then type gpascii from the command prompt and our motion control engine will interpret the PowerPMAC commands. [quote='andyf' pid='583' dateline='1280425307'] We are looking to write a Linux driver for Ethernet communications with the Power PMAC. We would like to know if the Power PMAC Ethernet protocol is the same as that published in the Turbo PMAC2 HRM. If not, do you have any documentation covering the Power PMAC Ethernet protocol? [/quote]
  5. 1.) Point the DAC to user memory and pick that data up with the encoder table. Motor[2].pDAC = sys.udata[0].a EncTable[5].pEnc = sys.udata[0].a or 2.) Use the dac directly as your feedback. EncTable[5].pEnc = Acc24E2A[4].Chan[1].Pwm[0].a [quote='Dikon' pid='524' dateline='1279200345'] Hi! We are trying to implement cascade control on a Power PMAC controller. For examle, use the output of Motor[x] PID Controller as adjusted value (position) of Motor[y] control loop. Which settings must be done in order to realize it? Thanks in advance. Dmitry Konstantinov, SMS Siemag [/quote]
  6. What the IDE does is if the project is connected to the PowerPMAC it automatically uploads the header files from the PowerPMAC's ftp site. ie. ftp://192.168.0.200/ppmaclibs and places them on your local drive. This way as we modify the firmware and change the size of structures your custom C code is compiled with the correct header files. This is why you do not see the header files as part of your project. If you are working offline and compiling without a PowerPMAC the IDE will use a header files on your local drive. To allow for working off line we do have [quote='scott.eichhorn@etrema.com' pid='534' dateline='1279305665'] 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 [/quote]
  7. 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]
  8. Make sure usralgo.ko is in the bin/Debug folder in your PC. [quote='scott.eichhorn@etrema.com' pid='491' dateline='1278446579'] 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 [/quote]
  9. Let me answer questions 1 & 2 together with a blanket statement. If an application runs on a general purpose linux and has been written properly it will work on our system. Our powerpmac uses an embedded linux kernel 2.6.30 with the xenomai patch and the filesystem is debian. Linux applications when compiled for our system will operate. Often the packages have been precompiled and if you setup the powerpmac to talk to the internet you issue apt-get install {package name} to install the software. Our system mounts the file system readonly, so there are a couple of minor tricks to make filesystem writable but that is no big deal. It is not a problem for a C++ application to communicate to our C API. C++ talking to a C .so shared library is not a problem. You can have user written servos and user written phase routines that our kernel driver calls every phase interrupt or servo interrupt. So your own custom function is callable by our motion engine. Our driver is in control of the ISR [quote='andyf' pid='487' dateline='1278027479'] We are evaluating delta tau PPMAC for one of our applications. We have an existing software framework consisting of distributed Java/C++ components running on Linux (CentOS 5.5) platforms. One of the reasons the PPMAC appeals to us is the fact that it runs Linux, and therefore the possibility of having one of our components run in the PPMAC general purpose OS communicating directly with the motion controller. This would be different than the standard approach of having the component running on another machine and communicating with the PPMAC using ASCII commands over Ethernet. This C++ component would be responsible for submitting motion requests and watching for completion/limit/error events. It would then report these events back to other components in the framework running on different machines. Here are some of our concerns: 1) Components running in our framework communicate using ICE middleware. Do you see any issues running ICE on PPMAC Linux general purpose OS? 2) Component running in our framework access persistent store using PostgreSql client. Do you see any issues running this client software on PPMAC general purpose OS? 3) The big question is if we run a C++ component in the PPMAC general purpose OS, will it be able to communicate with the PPMAC motion controller via the C API? 4) Does PPMAC use interrupts when end of motion/limit/errors occur? If so could our component running in the general purpose OS register an interrupt handler for these or are they reserved for the RTOS only? Sorry or all the questions...running our s/w on the controller is a new direction for us and we are unsure of the PPMAC Linux capabilities. Cheers! [/quote]
  10. 1.) There is no difference in firmware. Firmware, is a misnomer. We call the deltatau linux software package that we place in the /opt/ppmac folder, firmware. This package does not change whether you have video or not!!!!! 2.) We have a single embedded linux kernel that contains the drivers for the display link chip because that is what our video option uses. So the answer is no we do not have a different kernel modules. 3.) The reason we require a larger flash is because when we ship a unit with video we add the gnome windowing system to the filesystem and space gets tight. Shrinking the filesystem down to 1G with gnome would be difficult. A minimum of 4G is what I recommend when using video. 4.) You can get the touch screen drivers to work checkout the http://lists.freedesktop.org/mailman/listinfo/libdlo archive mailing list. I do recall making the MIMO video work a while back but I recall having to modify a kernel setting but cannot recall what it was. The setting to change came from reading the libdlo mailing list. 5.) Trying to compile your own kernel can lead to a headache we have an assortment of patches in it and version dependencies. If you need a kernel module don't embedded, just add it to the filesystem and use insmod. The linux kernel version we use is at. ftp://support.deltatau.com/DT-USA/Power%20PMAC%20Suite/Kernel/src [quote='KEJR' pid='467' dateline='1277212452'] We have ordered two Power CPUs with video option, so we should have the video firmware already according to your last post. What is the difference in the firmware? Do you have different kernel modules precompiled, or is it just the setup of the X server? Maybe we need the extra flash? Is there anything preventing us from editing our own image ourselves (We will be tailoring it for our own customizations of linux anyway)? I have read alot of postings on the (oddly enough) MP3Car forums regarding the lilliput displays and their touchscreens. I don't know if they use the same touchscreen chip as the MIMO or not, but there are alot of posts discussing how to get it to work. It seems that one of the problems is that the touchscreen reports coordinates in absolute, where other HID units (like a mouse) report incremental information. Some other issues I've read about pertain to the fact that some chips mask themselves as storage device IDs initially so that driver software can be loaded automatically on systems like windows. Its the typical complexity you expect for trying to make things simpler! I may get one of these units to test as we don't need (or have room for) a 15" display on all of our machines. I'll post back if I get it working with the touchscreen. Thank you, ~Ken (KEJR) [/quote]
  11. See the new thread Configuring ethernet on the PowerPMAC [quote='scott.eichhorn@etrema.com' pid='448' dateline='1276266793'] 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 [/quote]
  12. Configuring ethernet on the PowerPMAC. The network configuration for PowerPMAC is stored in the /opt/etc/network/interfaces file. This file is modified by the IDE when you change the network settings through the IDE. The boot scripts copy the /opt/etc/network/interfaces file tom /etc on boot. If you wish to edit these settings modify the /opt/etc/network/interfaces By default the file looks like below. EXAMPLE: Default auto lo iface lo inet loopback iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.200 auto eth0 If you wish to be able to access other networks and you have a router you typically need to modify the gateway address in this file. EXAMPLE: Modified gateway auto lo iface lo inet loopback iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1 auto eth0 If you wanted to use both ethernet connectors you can enable eth0 and eth1 EXAMPLE: eth0 Static IP & eth1 dhcp auto lo iface lo inet loopback iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1 auto eth0 iface eth1 inet dhcp auto eth1 EXAMPLE: eth0 Static IP & eth1 Static IP auto lo iface lo inet loopback iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1 auto eth0 auto lo iface lo inet loopback iface eth1 inet static address 192.168.0.201 netmask 255.255.255.0 gateway 192.168.0.1 auto eth1 If you are using DHCP the /etc/resolv.conf file will automatically be created and you will be able to reach the web. If you use static IP's then you must manually create /etc/resolv.conf The contents of /etc/resolv.conf are the nameserver's of your facility. The file /etc/resolv.conf should look like the following. nameserver 10.10.98.7 nameserver 10.10.98.15 You can get your addresses by going to a Windows command prompt and typing ipconfig /all and see the addresses for DNS Servers To get the PowerPMAC on the web do the following 1.) Fix the gateway address mount -o remount,rw /opt [EDIT /opt/etc/network/interfaces so the gateway is correct] mount -o remount,ro /opt 2.) Setup the nameserver mount -o remount,rw / [EDIT /etc/resolv.conf] cp /etc/resolv.conf /.readonly/etc/resolv.conf mount -o remount,ro / 3.) Test your work with a ping www.yahoo.com [quote='scott.eichhorn@etrema.com' pid='448' dateline='1276266793'] 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 [/quote]
  13. You skipped steps in the previous post. mount -o remount,rw / echo 10.34.9.21 IP_10_34_9_21 >> /.readonly/etc/hosts echo 10.34.9.21 IP_10_34_9_21 >> /etc/hosts mount -o remount,ro / The PowerPMAC mounts its file system as READONLY!!!! Being a controller imagine how often you would end up with disk errors with people powering down the system on a whim. So we mount the root file system as readonly. The /etc folder is mounted as an aufs2 file system. In addition so are /root , /var and /media. aufs2 filesystems is a combination of two folders. The folder /.readonly/etc is a folder on the readonly filesystem (the real disk). In addition, the folder /.readonly/etc-tmpfs-mirror is a folder mounted as a tmpfs which means it resides in memory only. Which means when powering down all of its contents are lost. /etc is the union of the /.readonly/etc and /.readonly/etc-tmpfs-mirror When you write to something in /etc it is mirrored back to /.readonly/etc-tmpfs-mirror (RAM). /.readonly/etc contains the contents that always appear in /etc on boot. If you wish to modify what is saved on disk you need to remove the disk from read only mode with the mount -o remount,rw / command. YOu can then copy the file from /etc you modified to /.readonly/etc. After you are done I suggest you put the disk back to read only with the mount -o remount,ro / command. We use aufs to allow /etc to be writable to make linux happy but non volatile data is readonly in /.readony/etc. You can use gedit if you wish and modify /.readonly/etc/host after making the disk writable. [quote='scott.eichhorn@etrema.com' pid='446' dateline='1276199851'] 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 [/quote]
  14. Scott, I suspect you have a PowerPMAC with a video option? Telnet has a 10-20 second delay if it attempts to perform dns resolution which happens when you have a system with the video option. 1.) To remove the delay login into powerpmac using telnet. Use your favorite utility ie. Windows Hyperterminal, or add the command line telnet to Windows or download putty.exe at http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html . login as root with the password deltatau then add the IP address of your PC to the PowerPMAC hosts file. For example if your PC has an IP of 10.34.9.21 issue the following commands from the linux prompt after you have logged in mount -o remount,rw / echo 10.34.9.21 IP_10_34_9_21 >> /.readonly/etc/hosts echo 10.34.9.21 IP_10_34_9_21 >> /etc/hosts mount -o remount,ro / 2.) We already automatically add 192.168.0.1 through 192.168.0.254 to the /etc/hosts file so the alternative would have been to give your PC a static IP 192.168.0.x address. 3.) We are in the process of making the default client SSH which doesn't try to perform the dns resolution before login and does not have the 20sec login delay like telnet. 4.) The Server communication option is still in test and all the controls have not been tested with it yet. [quote='scott.eichhorn@etrema.com' pid='437' dateline='1276026410'] 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 [/quote]
  15. [quote='vanandel' pid='165' dateline='1242752946'] Is the ELDK 4.2 named ppc64-linux-x86 the correct version? [/quote] Yes this is the correct version.
×
×
  • Create New...