Jump to content
OMRON Forums

piefum

Members
  • Posts

    140
  • Joined

  • Last visited

Everything posted by piefum

  1. Hi I got a similar problem here: my ethercat chain is composed of 3 EL5032 (Endat 2.2 interface) and 1 EL3208 (8 channel input RTD). I can correctly configure the EL5032 but not the EL3208: it stays always in Pre-op conditions. However, I can correctly read the temperature via terminal and via plc using the ECATSDO command. My workaround: since I need the temperature information on a very slow time scale, I fire a PLC that perform the temperature reading via ecatsdo every 10 seconds. The major drawback of this solution is that the running time of this PLC is very high: I get a background load of +10% when this PLC is running. However, I can survive with that. Hope this helps best gigi
  2. Ciao Andrea et all I installed the patch that disables the interrupt one week ago, and since then the system did not encoured any WD trip or reboot or something strange. I would say now that the problem is fixed. Many thanks for the help, I would never ever fixed that in time for delivery. DeltaTau guys: is it possible to make this update something "official" and known to public? Ciao gigi
  3. at the moment I am debugging the system without the IDE, only our custom software is connected. We see that the front watchdog led switch-on, then after few moments the system reboots by itself. From our software, I can see that the sys.uptime restart from zero. The debug is painfully slow, since the watchdog trips after some hours of work: as an example, the system has just got into error after 12400 s (3.5 hours) of use. I believe that a power supply fault should power off the system immediately, correct? thanks a lot gigi
  4. Hi all I have some strange watchdog error that I cannot really debug. The situation is the following: - I have a complete system (6 degrees of freedom) running with a Power Brick LV IMS - The system is expanded with an ethercat network to read additional serial encoders and temperature sensors - The system is considered finished, ready to be shipped to customer - The system is here in my lab to execute some run-in tests, that is moving the system day and night, trying to detect some error or faults The strange situation comes from some watchdog faults that appears at random and I cannot really see where they come from: sometimes it happens that the system stays alive for 80 hours and nothing happens; then, I perform a reboot and after few minutes the watchdog trips and I need to power-cycle the system. How can I debug a situation like that? Is there a log inside the PMAC that tells us why the watchdog has tripped? Thanks a lot gigi
  5. Hi all I got a strange reading of the variables BrickLV.BusOverVoltage. If I read the variable from the IDE terminal, I read the correct value (0). If I read the variable from a C application, accessing via pshm->BrickLV.BusOverVoltage I got a constant reading of 1. Strangely, the behavior of BusUnderVoltage is correct (I can trip that from 0 to 1 by simply switching the motor power off and on). Is that a bug somewhere in the C include files? Thanks a lot Gigi
  6. Hi All sorry for resuming an old thread, but I don't find any newer information on the topic. I have a strange behavior on my Power Brick LV-IMS. Basically, after 3 / 4 hours of uptime, the PMAC trip a RtFault. It is really strange becaue it trips after few hours of system alive, without any motion or action. The PMAC is moving an Hexapod; kinematics have been written as C RealTime routines. The inverse kinematic is linear, while the inverse kinematics is an iterative loop that takes 3 to 5 iteration to solve. The PMAC is continuously running 3 PLCs: - PLC2 is the remote interface, waiting for remote commands; maximum execution time is around 6 us; Task Manager indicates a background cpu usage of < 1 % when this is active - PLC2 is a state machine that, based on internal variables, set the status of some other global variables. Maximum execution time is around 20 us; background cpu usage is < 3 % - PLC3 is the forward kinematics computation: it constantly ask the system dread, pread and tread, and then set some other global variables to be reported to the remote user. Maximum execution time is around 170 us and background cpu usage is ~14 %. I think the origin of the RTFault is PLC3, that continuously asks forward kinematics computation; what I do not understand is why this is tripping even when the system is stopped, so the forward kinematics is not getting any strange values but the execution time shall be more or less constant. Any ideas? Thanks a lot gigi
  7. Hi all I have some strange issue via some ethercat IO terminals. This is my setup: PowerBrick LV (version IMS), 8 axis ethercat IO license Ethercat Terminals connected: - EK1100 - 3x EL 5032 (2 channel Endat 2.2 input) - 1x EL3508 (8 channel RTD input) I setup the system using the PMAC IDE 2.2.1.25. I tested the system with only the EL5032: I put the 6 readings from the three EL5032 in the foreground task, and that worked fine. I added in a second moment the EL3508 to gather some PT100. I added to the chain, re-performed the ethercat configuration, and added the RTD values to the foreground task together with the other variables. What I got is the EL3508 that does not exit the PREOP mode, and consequently the variables are not updated in the foreground task. The strange thing is that if I perform the reading of the register of the EL3508 via terminal with the command: ethercat -m0 -p4 -t int16 upload 0x6000 0x11 I can correctly see the values of the PT100. So, the question is: how is it possible that the foreground task is not able to get the same register values that I can read via the terminal? thanks a lot Bests gigi
  8. Hi Steve, that's understood, thanks anyway. Anyway, I just found out that I was missing a library include in the Makefile, that was not needed in previous PMAC firmaware. I'll just paste here my Makefile, in case anyone is having the same problem. (it contains the calls to some of the libraries that I installed on the PMAC such as zmq and protobuf). DESTDIR ?= /ADS PREFIX ?= MAKEFLAGS = -k -L -lzmq -lpthread -lm -lrt -lpthread_rt -lppmac -lxenomai -ldl -lprotobuf-c CFLAGS = -O2 -Wall -Wno-parentheses \ -fno-strict-aliasing \ -I/opt/ppmac/libppmac \ -I/opt/ppmac/rtpmac \ -I/opt/ppmac/libopener \ CPPFLAGS += -Iinclude \ -D_FILE_OFFSET_BITS=64 # -DSO_RXQ_OVFL=40 \ # -DPF_CAN=29 \ # -DAF_CAN=PF_CAN CUSTOMINCLUDE = -lzmq -lpthread -lm -lrt -lpthread_rt -lprotobuf-c -lppmac -lxenomai -ldl CUSTOMLDFLAGS = -L /usr/local/lib \ -L /opt/ppmac/libppmac \ -L /opt/ppmac/rtpmac \ -L /opt/ppmac/libopener \ -L /usr/local/xenomai-2.6.2.1/lib \ $(CUSTOMINCLUDE) SRCS = \ LSM.pb-c.c \ zmq_subscribe.c OBJS = $(SRCS:.c=.o) # PROG = zmq_subscribe2 PROGRAMS = zmq_subscribe # now comes a meta-rule for compiling any "C" source file. $(PROGRAMS): $(OBJS) gcc -o $(PROGRAMS) $(OBJS) $(CUSTOMLDFLAGS) # PROGRAMS = zmq_subscribe # all: $(PROGRAMS) clean: rm -f $(PROGRAMS) *.o install: # mkdir -p $(DESTDIR)$(PREFIX)/bin cp -f $(PROGRAMS) $(DESTDIR)$(PREFIX)/ distclean: rm -f $(PROGRAMS) *.o *~
  9. Hi All I just run into the same problem here. The cross-compile of the program is functioning with the dtlib directory rename. However, I'd like to compile directly into the PMAC my software (because of some additional libraries that I installed directly in the PPMAC). How can I make the PPMAC point to the proper library directory? Should I upgrade all the files into the /opt/ppmac/libppmac ? Here's the error I got: In file included from /opt/ppmac/rtpmac/RtGpShm.h:82:0, from /opt/ppmac/libppmac/gplib.h:32, from zmq_subscribe.c:11: /opt/ppmac/rtpmac/../libppmac/ethernetip.h:12:26: fatal error: opener_api.h: No such file or directory
  10. Hi Steve do you have any news on that topic? thanks a lot Bests gigi
  11. Hi Brad thanks a lot for the piece of code, I will defenitely start writing my code on top of that. Many thanks gigi
  12. is it available the source code of the gather_csv program? I'd like to make it save data in a more compress way and at the same time immediately readable by numeric postprocessor such as Matlab. HDF5 file format would by my preferred at the moment, since there are already available C libraries. Thanks a lot gigi
  13. Here's my latest findings: if I use the following code in a prog, the behavior is the one that I want, but the gather function is using 150% of CPU, making the IDE pretty unstable system "nohup gather /var/ftp/usrflash/stepscript.txt > /dev/null <&- &" This is equivalent in commanding on the shell: nohup gather /var/ftp/usrflash/stepscript.txt > /dev/null <&- & and that's using only 70% of CPU time. Any idea on why the prog is doing that? thanks ciao gigi
  14. I also cannot use the CX command since it is only a online command, I need to put that on a Prog. Thanks ciao gigi
  15. Hi Brad sorry, I think I explained myself wrong. The procedure you are describing is the one that I am using right now, and it is working. However, I'd like to start the gathering from a PROG or a PLC, not using SSH. And here comes my problem with the SYSTEM function: it seems that stop the execution of 'gather', even if I use the linux parameters to run in background. Thanks gigi
  16. Hi all this gathering mode is really interesting and useful. However, I'm trying to automate some programs and plcs, and I cannot make the PPMAC start the streaming gathering from a prog. Inside of a program I have: Gather.Enable = 3; // start rotary gathering dwell(2000); system "gather /var/ftp/usrflash/stepXXX.txt" // but the gather save only an empty file. I think that's because the gather software must run without interruptions in order to work in background. I tried all the following commands without success: system "nohup gather /var/ftp/usrflash/stepXXX.txt" system "gather /var/ftp/usrflash/stepXXX.txt & " system "nohup gather /var/ftp/usrflash/stepXXX.txt & " system "nohup gather /var/ftp/usrflash/stepXXX.txt \046 " am I missing some information regarding the system command? thanks gigi
  17. BTW, I just tried the USB-stick procedure "PowerPmacFactoryReset" to restore the PowerBrick to factory settings, to retry the installation procedure of all the libraries (and get rid of unnecessary libs). The USB procedure however does restore only the PMAC Project, not all the Power PMAC (the linux layer). Is there an automatic procedure to do that or shall I proceed manually with the removal of unnecessary components? thanks gigi
  18. Hi all I need to install on my Power Brick LV a series of C libraries that I'm going to use on an application that permits remote connection through ZeroMQ and Protocol Buffer. As you can imagine, the compiled libraries available through apt-get are not very updated, so I'd like to compile the latest version. Unfortunately, the sources are quite big (I just saturated my disk while compiling the protobuf lib) and the compilation time is quite long on the PMAC. Is there a special way to perform a cross-compile for those libraries for the PMAC? thanks a lot gigi
  19. Hi all I am setting up a system that uses a Power Brick LV in the IMS format. Due to some problem in our hardware development, the PMAC stayed on my shelf for about 6 months. Now I am setting up the system: unfortunately, the Date and Time settings on the linux machine are not kept after a power down. To set the date and time, I connect via ssh and launch: mount -o remount,rw / date --set 2017-06-26 date -u --set 10:11:23 mount -o remount,ro / That seems to work up until the power is on. After a power cycle, the date information is lost. Am I missing some commands or should I proceed with the replacement of the battery? Thanks gigi
  20. Hi all I have a problem in configuring the ethercat network with a Power Brick LV. My configuration is: - Master: Power Brick LV (IO only) - EK1100: ethercat coupler - 3x EL5032: endat 2.2 acquisition modules - 1x EL5021: sin/cos 1Vpp encoder acqusition module I tested the system with only the EL5032 endat modules and I can configure the network. Now I added to the network another terminal to acquire the sin/cos 1Vpp encoder. There is no configuration to be done on the terminal, so it should be plug and play. However, I cannot see the upgrading of the value in real time, but the updating of counter is done only once when activating the ethercat. So, basically, I switch the system on with Ecat[0].enable = 1 and I got a value, and that value is not upgrading when I move the encoder. Then, I switch off with ecat[0].enable = 0, move the encoder in another position, issue ecat[0].enable = 1 and the variable is changed to the value indicating the new position. Is there some synchronization issue to setup? The beckhoff terminal is this one: https://download.beckhoff.com/download/document/io/ethercat-terminals/el5021en.pdf It can work in FreeRun mode and DCIN. The other terminals are configured in FreeRun. The EK1100 is the reference clock for the network. Do you have any hint on this problem? Thanks a lot Gigi
  21. Hi jhenning and all, did you manage to make the PTPd work on the PPMAC? I understand that the HW PHP works with kernel version >= 3.19.3; does the newest PPMAC runs this linux kernel? thanks
  22. Hi Charles, thanks for the great tip. As you might remember, I tried to do a similar thing, using the ZeroMQ C libraries (see http://forums.deltatau.com/showthread.php?tid=910). At the moment I cannot compile under the IDE (it cannot link the libraries), so I compile it directly inside the PMAC. Is this problem solved in the IDE 2.0? Unfortunately right now I am delivering a product so I don't have time to setup a new machine to test the IDE2.0. Thanks gigi
  23. Hi all is it available the MTBF data for the new Power Brick AC device? thanks gigi
  24. Hi Charles understood, thanks. ok; I did it, and we moved the problem in another point: I can get the capp1 running, but I got an error now, that I can read from the log file. The PLC system call cannot detect the correct LD_LIBRARY_PATH. I added my full needed environmental variable LD_LIBRARY_PATH on the /etc/profile file; the correct value of my var is: /opt/ppmac/libppmac:/opt/ppmac/rtpmac:/usr/local/lib:/usr/local/xenomai-2.5.6/lib If I echo the variable from a shell (echo $LD_LIBRARY_PATH), I got the correct value. If I echo the variable from the IDE terminal (system "echo $LD_LIBRARY_PATH"), I still got the correct value. But, if I echo the variable from the PLC1 (system "echo $LD_LIBRARY_PATH > /var/log/ADSpath"), my LD_LIBRARY_PATH is empty (like it was before I modded the /etc/profile file). I try to add on the PLC the instruction to export the variable (system "export LD_LIBRARY_PATH=\"/opt/ppmac/libppmac:/opt/ppmac/rtpmac:/usr/local/lib:/usr/local/xenomai-2.5.6/lib\" "), but it seems it does not like the command, and the echo report again an empty LD_LIBRARY_PATH var. Maybe is the PLC is logged differently from the terminal or the common shell? thanks a lot gigi
  25. Hi Charles understood, thanks. ok; I did it, and we moved the problem in another point: I can get the capp1 running, but I got an error now, that I can read from the log file. The PLC system call cannot detect the correct LD_LIBRARY_PATH. I added my full needed environmental variable LD_LIBRARY_PATH on the /etc/profile file; the correct value of my var is: /opt/ppmac/libppmac:/opt/ppmac/rtpmac:/usr/local/lib:/usr/local/xenomai-2.5.6/lib If I echo the variable from a shell (echo $LD_LIBRARY_PATH), I got the correct value. If I echo the variable from the IDE terminal (system "echo $LD_LIBRARY_PATH"), I still got the correct value. But, if I echo the variable from the PLC1 (system "echo $LD_LIBRARY_PATH > /var/log/ADSpath"), my LD_LIBRARY_PATH is empty (like it was before I modded the /etc/profile file). I try to add on the PLC the instruction to export the variable (system "export LD_LIBRARY_PATH=\"/opt/ppmac/libppmac:/opt/ppmac/rtpmac:/usr/local/lib:/usr/local/xenomai-2.5.6/lib\" "), but it seems it does not like the command, and the echo report again an empty LD_LIBRARY_PATH var. Maybe is the PLC is logged differently from the terminal or the common shell? thanks a lot gigi
×
×
  • Create New...