Thank you! When I modify it, it works well, but afterward, the robot immediately returns to the production code point where the interruption occurred. Do I need to send another program number (PGNO) when I'm at the home position? I'm still stuck on how to reset the production program or return to the cell's default state
Posts by A.Mekni
-
-
Thank you for your previous guidance. I’ve implemented an interrupt routine to return the robot to its home position ,but now encounter a new issue during execution
image.png
while the degagnemet works fine, I'm getting stuck with an error saying "$GEaAR_JERK variable write Protected in module BAS" when it tries to move home. -
Sorry, you're right okay, this is a screenshot of my cell program.
Everything works fine, but I don't know how to return to the program when I'm in production mode, or after I press the emergency stop
For exemple after triggering an emergency stop, I need the system to return to the Cell (for re-initialization), but it currently:
- Always resumes exactly where it stopped
- Maintains production mode state
I considered calling the cell program directly from the E-stop routine (IR_STOP), but I think this might create safety/compliance issues
Code
Display More&ACCESS R1 &COMMENT HandlerOnRobotFault DEF IR_STOPM ( ) ;----------------------------------- ; Error Handling Robot Controller ; Switch OFF and Switch ON processes ; KRC Version >= V5.5 ;----------------------------------- ;FOLD DECLARATIONS ;FOLD USER DECL ; Please insert user defined declarations ;ENDFOLD (USER DECL) ;FOLD BASISTECH DECL BOOL ApplicationRunFlag DECL CHAR ID[3] ;ENDFOLD (BASISTECH DECL) ;ENDFOLD (DECLARATIONS) ;FOLD BASISTECH INIT INTERRUPT OFF 3 STOPM_FLAG=TRUE ;Reflects state of interrupt 3 to activate/deactivate $Stopmess interrupt ID[]="CTL" If ($STOPMESS==TRUE) THEN ;APP// "IF" ~ Notepad++ Formatierung BRAKE ;ENDFOLD (BASISTECH INIT) ;FOLD USER STOP ;Make your modifications here ;ENDFOLD (USER STOP) ;FOLD COLLISION DETECTION IF ($IMPROVED_COLLMON == TRUE) AND ($COLL_ALARM == TRUE) THEN CollDetect_UserAction() ENDIF ;ENDFOLD COLLISION DETECTION ;FOLD BASISTECH STOP P00 (#EXT_ERR,#PGNO_GET,ID[],128 ) ApplicationRunFlag=FALSE IF (Appl_Run>0) THEN IF $OUT[Appl_Run] THEN ApplicationRunFlag=TRUE $OUT[Appl_Run]=FALSE ENDIF ENDIF REPEAT POWER=SYNC() HALT UNTIL (($STOPMESS==FALSE) AND ($POWER_FAIL==FALSE)) ;ENDFOLD (BASISTECH STOP) ;FOLD BASISTECH RESTART P00 (#EXT_ERR,#PGNO_GET,ID[],0 ) IF (ApplicationRunFlag==TRUE) THEN IF (Appl_Run>0) THEN $OUT[Appl_Run]=TRUE ENDIF ENDIF ;ENDFOLD (BASISTECH RESTART) ;FOLD USER RESTART ;Make your modifications here ;ENDFOLD (USER RESTART) ;FOLD BASISTECH REACTIVATE Endif ;APP// "ENDIF" ~ Notepad++ Formatierung INTERRUPT ON 3 STOPM_FLAG=FALSE ;Reflects state of interrupt 3 to activate/deactivate $Stopmess interrupt ;ENDFOLD (BASISTECH REACTIVATE) END
This is my first time facing this and my first complete project
-
Good morning everyone,
I'm encountering an issue when switching from production mode back to cell for initialization or maintenance. Could you please assist me with this problem?
-
-
I truly appreciate your previous guidance, which has given me a much clearer understanding of the system. However, I’m still encountering an issue when attempting to send the signal IN[133] from our Siemens PLC to the KUKA KRC controller. Despite the configuration appearing correct, I’m not observing any changes reflected in the KRC display when the signal is triggered.
To troubleshoot, I tried adjusting the mapping parameters, but this resulted in an error
" The option 'KUKA.PROFINET MS' is not installed. Please install the option in version '4.1.0'."
Could you kindly provide further insights into why the signal might not be updating as expected? Any advice on how to diagnose or correct this issue would be greatly appreciated.
Thank you once again for your time and expertise—it’s been incredibly helpful so far!
-
-
-
Hello everyone,
I am working on a project with a Mitsubishi RV-4FL-D robot and a CR750-D controller. In this setup, I use a Cognex camera mounted on the gripper to capture an image and extract the X and Y coordinates of an object. These coordinates are then sent to the robot, where I assign them to a position as follows:
P1.x = Xcam
P1.y = YcamI have already performed the camera calibration and created a base coordinate system, ensuring that both are aligned. However, I have noticed that when I compare the same point from the robot’s perspective and the camera’s perspective, the coordinates do not match.
I am trying to understand what might be causing this misalignment. Could it be related to:
- Incorrect calibration of the camera or base?
- A transformation that needs to be applied to the camera coordinates before sending them to the robot?
- An issue with the reference frame in the robot?
Any guidance or suggestions would be greatly appreciated!
Thank you in advance.
Best regards,
-
Hello,
I am currently preparing for a project involving communication between a Siemens PLC and a Mitsubishi RV-4FL-D robot with a CR750-D controller via PROFINET.
In this setup, I expect to receive data as M_In32 from the Siemens PLC, and I would like to know the best approach to convert this data into a float format for use on the robot controller.
Could anyone provide guidance, examples, or documentation that might help me when I reach this stage of the project?
Thank you in advance for your assistance!
-
Hello everyone,
I wanted to extend my sincerest thanks to all of you who offered your assistance and guidance as I worked through the challenges of integrating our robot, PLC, and Cognex system. Thanks to your invaluable help, I'm excited to share that I've successfully managed to send real coordinate data to my KUKA robot from the PLC!
Now I'm seeking advice on how to proceed with making the robot move to the coordinates that are sent to it via the PLC, specifically in the X and Y axes. What would be the best approach or programming method to accomplish this task effectively?
Any insights, tips, or resources you can provide would be immensely appreciated as I continue to navigate this exciting phase of our project.
Once again, thank you all for your support and collaboration.
-
Hello SkyeFire and panic mode,
Thank you for your quick responses and clarifying questions. Here are the additional details you requested:
Robot brand and model: I am working with a KUKA KR 6 R700-2 robot equipped with a KR C4 compact control cabinet.
PLC model: The PLC I'm using is a Siemens S7-1214.
Cognex Camera: The camera model is a Cognex In-Sight Micro 1100 (ISM1100-C).
Regarding the communication between the robot and the PLC, I have followed the steps described in a video I found online. Here is the link to the video: https://www.youtube.com/watch?v=ci5YZV…nnel=uyenmit123. This video shows how to establish a Profinet communication between a KUKA robot and a Siemens PLC. So far, I have been able to send boolean signals from the PLC to the robot, but I am facing difficulties in transmitting precise coordinate data.
My Objective: I am looking to send a floating-point number from the PLC to the KUKA robot so that it can move to the specified coordinates. The coordinates are those detected by the Cognex camera and processed by the PLC. So far, my ability to transmit data has been limited to boolean signals, which is insufficient for precise robotic movements requiring detailed coordinates.
Based on your responses, I understand that the transmission of real/integer values on Profinet involves handling these data as a group of booleans, read as a binary number. However, I'm a bit lost on how to implement this for floating-point numbers, especially considering the specific encoding required for the KUKA robot to interpret these values correctly.
I would be very grateful for any guidance or specific code examples on how to structure this data for transmission and how to decode it correctly on the KUKA robot.
Thank you in advance for your valuable assistance.
-
I'm currently working on a project that involves establishing connections between a robot, PLC, and Cognex system. So far, I've successfully set up communication via Profinet between the PLC and the other components. However, I've encountered a challenge when it comes to sending coordinate data to the robot.
While I've managed to obtain the coordinates on the PLC, I've been struggling to transmit this data effectively to the robot. Currently, I've only been able to send boolean signals from the PLC to the robot, rather than the precise coordinate information that's needed for accurate robotic movements.
If anyone has experience or insights into similar challenges or solutions for transmitting coordinate data between a PLC and a robot, I would greatly appreciate any guidance or suggestions.