Jump to content
OMRON Forums

piefum

Members
  • Posts

    140
  • Joined

  • Last visited

Recent Profile Visitors

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

piefum's Achievements

Collaborator

Collaborator (7/14)

  • Conversation Starter
  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  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
×
×
  • Create New...