Jump to content
OMRON Forums

maartenvervelde

Members
  • Posts

    44
  • Joined

  • Last visited

Everything posted by maartenvervelde

  1. When I try to use the cygwin terminal to makt the servo loop, I get the error: make[1]: powerpc-405-linux-gnu-gcc: Command not found Do I have to make my own cross compiler or is there a way to link the crosscompiler from Delta Tau to the terminal? Also, when I try to run the make all command, I get some error because the paths to the files contain spaces. I'm fixing this right now by giving the full path on my C:/, but thats not a usefull option if I want to use it to create programs, is there a way to fix that?
  2. Thank you for your response. I am trying to make a makefile myself for the power brick to compile it with the correct header. I also found the makefile used by the IDE, but it is generated every time the program is build. Is there a way to change the code generation to include the other files, or should I just keep on focussing on making my own makefile?
  3. Hi, I want to use the kmalloc funtion in my own user servo algorithm but the compiler can't find the flags. When I try to call it like this: (struct variable*)kmalloc(sizeof (struct variables), GFP_KERNEL); the compiler says that GFP_KERNEL undefined is. It should be defined because it should be included already. I tried to include linux/gfp.h but then I got the following errors. user_servo.c(28,0): Warning : in file included from user_servo.c usr\local\bin\..\lib\gcc\powerpc-405-linux-gnu\4.2.2\..\..\..\..\powerpc-405-linux-gnu\sys-include\linux\gfp.h(4,0): Error : linux/mmzone.h user_servo.c(28,0): Warning : in file included from user_servo.c usr\local\bin\..\lib\gcc\powerpc-405-linux-gnu\4.2.2\..\..\..\..\powerpc-405-linux-gnu\sys-include\linux\gfp.h(89,0): Error : 'MAX_ORDER' undeclared (first use in this function) usr\local\bin\..\lib\gcc\powerpc-405-linux-gnu\4.2.2\..\..\..\..\powerpc-405-linux-gnu\sys-include\linux\gfp.h(89,0): Error : (Each undeclared identifier is reported only once usr\local\bin\..\lib\gcc\powerpc-405-linux-gnu\4.2.2\..\..\..\..\powerpc-405-linux-gnu\sys-include\linux\gfp.h(89,0): Error : for each function it appears in.) usr\local\bin\..\lib\gcc\powerpc-405-linux-gnu\4.2.2\..\..\..\..\powerpc-405-linux-gnu\sys-include\linux\gfp.h(93,0): Error : invalid type argument of '->' usr\local\bin\..\lib\gcc\powerpc-405-linux-gnu\4.2.2\..\..\..\..\powerpc-405-linux-gnu\sys-include\linux\gfp.h(93,0): Error : 'GFP_ZONEMASK' undeclared (first use in this function)
  4. The file I was trying it with was using a class in which almost everything happend so I have to rewrite it to C. I just made a struct with all the variables the class had and passed a pointer to that to al the functions so they could use the variables and change them, and the changes would be also changed within the other functions. In the S function I put the struct pointer in a PWork vector to use it between the update and the output function and so I could save it between steps.
  5. I have a servo loop in C code, and I have it working. The problem is the S Functions. We already have a lot of code written in C++ which we want to implement in the model. In the generated code the are called as functions which they get from the .c file and the .h file I added to the realtime routine folder. What you're saying is that you cant use c++ functions in that way?
  6. Hi, I'm trying to make an HMI in visual studio using ssh. I'm using the ssh.net library but I have a problem using gpascii. Becasue it is a program which keeps running, it wont return a value because its never finished. What is the best way to use gpascii through C# in the same way you can use it in PuTTY or the IDE?
  7. I already have a working user servo algorithm, but the problem is that I want to use S-Functions created from C++ in the servo algorithm. I have done it with C code, and you need to add the C file and the header file to the realtime routines. Is there a different way to use C++ S functions that are not fully inlined?
  8. Hi, I have a servo loop in which I use S functions. S Functions from C files are no problem, because you can include the .c and .h file in the realtime routines folder. Now I have a .cpp file in which I have code. I made a function in the file which is extern "C" so it could be called from the C code of the servo loop. But the problem I have now, is that I can't add the .cpp file to the folder. Is there a way to include the code from cpp file, because the compiler in the ide is a GNU C/C++ crosscompiler and I would suspect it would be possible to compile it? Maarten
  9. Is it possible to access the data from the nodes from EtherCAT and a MACRO Ring. We want to make a program that doesn't rely on any programming in the IDE, only in Simulink. So we wondered if we could reach the data from Simulink like you can access the other motors through the pshm. I checked the RtGpShm.h but I couldn't find anything for Ethercat or Marco ring (I admit I didn't look really long). What would work the best and why?
  10. I think I found what I did wrong. I just checked the serial number of the Power Brick I have, and it says that I only have 1A/3A amplifier, and in the settings I filled in it was 5A/15A. I taught it was a 5A/15A amplifier because I looked at the power brick lv user manual and it said on page 24 that an amplifier without a indicator was a 5A/15A amplifier. I have no indicator on all of my amplifiers. I had it running for 5 minutes now without an I2t fault, so that was probably it.
  11. Motor[1].PhasePos remains 0 the entire time. I still get the I2tFault, and even then value doesnt change Coord[1].AmpFault=1 @ 21-9-2015 13:35:22 Coord[1].I2tFault=1 @ 21-9-2015 13:35:22 Motor[1].AmpFault=1 @ 21-9-2015 13:35:22 Motor[1].I2tFault=1 @ 21-9-2015 13:35:22
  12. The continuous current is 0.5 amps in the current unit Amp_RMS. The instantaneous current is 2 amps in the current unit Amp_RMS.
  13. I assume that you are referring to the firmware I2T fault. Correct? Yes, the one in the IDE What are the motor's continuous and peak current specifications (RMS)? All I know are the continuous and peak current in Amps, there is no datasheet for the motor so I can't find it. Is the amp 5/15A? Yes, it is What are your I2T settings? These are the PPmac structures. Motor[x].I2tSet = 684.50446 Motor[x].I2tTrip = 21083212 Motor[x].MaxDac = 2737.9341 The Max Dac is limited to 2700 in my control loop.
  14. Hi, I have written a program which moves my motor for 0 mu to 30000 mu and back. Nothing else is happening, but when I keep it on for approximately 1-2 minutes, it gets an I2T fault. This is what I get. Coord[1].AmpFault=1 @ 17-9-2015 14:29:58 Coord[1].I2tFault=1 @ 17-9-2015 14:29:58 Motor[1].AmpFault=1 @ 17-9-2015 14:29:58 Motor[1].I2tFault=1 @ 17-9-2015 14:29:58 I watched the power supply when it happend and the amps were while moving about 0.1 amps and on the start of the move about 0.4 amps. The specs of my motor are: Continuous current: 0.5 amps Instantaneous Current: 2 Amps Max time allowed: 3 secs To me it looks like it shouldn't happen. Is it something within I2t that calculates the max time it is allowed betweens continuous an max amps when it happens more often? Maarten
  15. The error was that I forgot to add 2 more files to the Realtime Routines folder. Those were located in C:\Program Files\MATLAB\R2015a\simulink\include. I didn't notice that the build failed but it was indicated so it was my fault. Thanks for your suggestions
  16. I made a custom servo algorithm in Simulink with the ppmac target library. I generated code and got 4 files: PIDController.c PIDController.h PIDController_private.h PIDController_types.h Following the guide, I added those files in the Realtime routines folder in the Power PMac IDE. Then I chose the user servo in the user servo setup for motor 1, but when I go to the tuning window of the IDE, I still get Servo Algorithm: standard. Is the text not updated or am I doing something wrong? Maarten
  17. Yes it is a brush motor, but when I use the step by step motor setup, I still get an amplifier fault when the motor runs. If I turn the safety off it works, so I guess the safety turns the amp off in prevention of overheating, but I filled out the values of the motor correctly and it doesn't heat up or anything when I run it for a while without protection
  18. The 7-segment has a solid dot, so The power brick says its working fine. I haven't changed the amp fault polarity, but i haven't jumered the global abort. When I set sys.pAbortAll to 0, I try the detect current sensor detection is fails and says: The PWM outputs of the amplifier don't match the ADC feedback lines! I guess ADC is for analog feedback but this motor doesn't have it, it has an encoder. Can I disable it? The last test: Measure DAC bias value returns an error with this: Motor[1].PhaseCtrl=4 is not supported.
  19. This is my first time working with a power brick LV and when I'm tuning the motor, I immediately get an amp fault and hardware limit whem I accept the hardware interface. I filled out the specs of the motor with educated guessing because the company doesn't have any documentation on the motors. What could be the problem?
×
×
  • Create New...