Thank you for the answer. There is any way to log the informations at any point in time?
As the title says, I would like to know if there is any method of logging information (as registers, current program, line number) when the robot has an issue (if a collision happens or a DI = ON sensor times out). I was thinking about BG logic, but I think as soon as the robot has a fault the background processes stop, same issue with macro that can be triggered by a DI/DO. The practical application is to have this run on a robot (depaletisation from multiple containers/piles) to have an idea where are the most pressing issues It can be done easily by scanning some registers the moment the error happens)
Another issue i think I will face is exporting the information somewhere. I have no idea how this would work, but I envision writing to a text file that I can save from MD.
Is it really possible to make something like this?
If yes, What direction should I take. I have some idea about how a lot of Fanuc programming works, but i never had to go THAT deep.
Well, it`s a hobby.
I`m trying to push the limit on what`s possible on this kind of app and maybe learn something new in the process .
I`m currently working in my spare time on a FTP backup software. - Like we did not have enough of FTP backup tools already ...
I`m trying to mimic the teach pendant backup types .. Ascii, AOA, TP programs, System files, etc. Do you know how I can translate those in to FTP commands?
I`m currently able to get files with a certain extension -ftp.mget("*.*")- -ftp.mget(".ls")-, and as far as I noticed some backups have mixed extensions.
If this is an impossible task what other "kinds" of backups I would be able to do except "ALL FILES" and "ASCII"?
Well, to give you the full story : I`m from a part of the world where they don`t "teach you robotics in school" and for the past years I just got from project to project just touching up points, making sure that the process works fine not big brainy stuff.
Lately I got interested programming and start learning python and what a better way than trying to automate my work. I built some pretty neat stuff. I got courageous and I outlined the perfect project: An app that can help me in the integration process from A to Z but now I`m wondering if it`s too much to chew.
To be honest with you guys I don`t have so much knowledge in Karel language and how a lot of robot stuff works so sorry if some of my questions sound dumb.
For the FTP I will use "ftplib" for sending the comands from python(i will test tomorrow if it works):
robot_ip_address = "!RobotIPaddress!"
local_folder = "!root!"
ftp = ftplib.FTP(robot_ip_address)
Edit: PLC is out of the question in my case as it requires extra setup steps and social engineering to convince someone to help me
Edit2: I previously made a function that parse trough all informations about the pints from an.LS file so IOSTATE should be a piece of cake.
Edit3:Well sounds like I got my solution with parsing of IOSTATE and found the same answer for my two questions. Thank you so much guys, you are the best! I hope I can sometime give back to this community !
Socket messaging is out of the question for me, parsing IOSTATE.DG would be the last resort. For finding out the main problems of a robotic cell during production without exaggerating with mget>parse loop what interval would you recommend?
The last solution sounds verry good and less messy. I guess you are talking about a background program that continuously running. Unfortunately I don`t have any idea about how it would look.
First thank you for the answer!
I have found more info about the FTP!
About the robot signals, not that much. The latency should be under 1 second as I am trying to monitor the error signals .
I'm wondering if it's feasible to track the real-time status of input/output (I/O) signals via ethernet from PC.
Additionally, could you please provide me with details on how to create a script that requests a robot to make a backup trough FTP?
What I am trying to do is to build a python software that monitors the I/O`s and also can do robot backups. I am just want to know where I can start looking.
I have cracked open a servomotor to diagnose a problem with the break , but unfortunately I broke the clutch of the break.
Right now the robot is in a position with not a good COG and I`m trying to move it back in transport position until the new motor arrives.
The problem is that when I release the breaks and try to move the robot the pulsecoder detects movement in the axis and it gives me an error, not letting me move the robot.
The error is SRVO-023 Stop error excess.
There is any variable to eliminate the error detection just to move the robot in the good position? (we are in a warehouse with low space and we are afraid that something might bump in to it)
I know this is a dangerous thing to do but I will take all the safety precautions while I will do the operation.
What means bad mastering?
As far as I know, you plug the EMD and the axes disappear as they are mastered by the tool.
I took the head of the robot off and remastered it. For a HA robot, do I need to add "load correction" and recalibrate for each tool? Meaning 8 times with the same tool as it is a milling robot?
Wow, what a ride...
The laser tracker measured multiple points in the air one meter apart on X Y and Z. All of them had different errors from the value that was shown in the teach pendant ranging from +1mm to -1 mm from point to point. (We are waiting for the 3d report). -The robot was jogged manually for the measurement to exact "x000" X,Y, and Z values. -
The KUKA representative had nothing to say than "pretty odd". -Me too my friend, me too-
The robot has been recently moved from another location so the KUKA representative suggested that the robot should be recalibrated "after any major collision or relocation".
As the TCP rotates PERFECTLY along the measurement pin, I am not sure the recalibration will do any good. Any thoughts about why the robot can have variable errors in different locations? As I mentioned early, the payload is set correctly.
Can recalibration erase some of the HA functionality?
Yes, it is active. just researched a bit more on the topic of HA.
The robot has a rail. We are cutting carbon fiber parts and we implemented 4 jigs.
When we wanted to implement the 5'th jig it was a collision.
The collision (god knows why) affected all the other 4 cutting trajectories. The robot has no calibration error but everyone else is insisting to recalibrate.
We measured the errors on the TCP and they were insignificant, also they have been auto-corrected by a macro.
Trying to palp the jig to build the base frame again, we noticed this offset between virtual and real coordinates (some colleagues tell me that this might have been the case before collision too).
Besides the fact that the 3d data doesn`t match with reality, considering the extra HA option, I have no explanation for this big error.
KUKA and a 3d control laser are coming tomorrow and I will keep you updated.
I am not sure if I have the "Absolute accuracy option".
"To deactivate KUKA’s Absolute Accuracy you should set variable DEACTIVATE_ABS_ACCUR to TRUE. You can find this variable in the file KRC:\STEU\MADA\$custom.dat (around line 73)."
I don`t have the $custom.dat file so maybe I don`t have the Absolute accuracy option.
Is this error (approx-3 MM on y at coordinates X:841.22, Y:1130.18) normal for a robot marked HA?
The load data is set correctly for each tool and spindle.
The robot is extra HA, but what you have said can explain the jogging mode error.
I attached a test program where the probe should be in the center of the holes.
The views of the probe and the robot position are similar to their representation. (Robot is below the image)
I have a problem that is puzzling me. I am trying to palp a jig to build the Baseframe, but after I go to the virtual coordinates they don`t match with the robot position as I go further from the origin (Also the milling trajectory is not good).
I have tried to measure the probe(with automatic robot macro) and the error is insignificant.
One thing that I observed is that if I am, for example, at the coordinate X:2000 Y: 2500 and I jog it to Y0. my X coordinate changes gradually to 1996.9. Can this cause the measurement error, or there is any logic explanation to it?
So, i found a solution (kid of)
I don't know much electronics so technical data might be wrong - but it works.
The outputs are NPN so if I apply 24 volts -to the output- and I turn on the signal I can close the circuit and turn on a lightbulb connected in series.
If we replace the lightbulb with a rellay this can act as a switch for a 24v signal connected to the PLC.
I hope you understand what I mean with my limited electrical knowledge
Hello guys, i am trying to map signals on this board to send them further to a PLC:
If I put 24V on the input side the signal is detected by the robot, but i can not get the card to output 24V.
Maybe I am mapping the signals wrong - I am using RACK 0 SLOT 1 for both I/0 (nothing else works)
EDIT: The robot is mapped correctly, BUT the output voltage is 0.5!
Is there any conventional way (without transistors) to switch a contactor with 0.5 volts?
FANUC R-30iA - Board model 1761998 - A1
All the fuses I found are 2 on the e stop board and 3 inside the cabinet, there might be one missing but I don't have the electrical drawing available.
Currently checking cable connections
If i reset pca alarm BZAL errors dissapear
I have an issue with a robot controller. It shows multiple errors regarding a fuse blown and operator and external e-stop beeing pressed.
I checked the two green fuses behind the e-stop button and also the 3 white ones inside and they are fine.
You will find the error list bellow :
The controller model is R30-iA
Thank you in advance!