CR-15iA or R-30iB Plus I/O programming

  • Hello Robot Forum community,



    I am very new to FANUC robots and industrial robots in general. I am trying to figure out how I can address the EE I/O port on the FANUC CR-15iA through code. I plan to use RoboDK to simulate then stream the program to the FANUC R-30iB plus controller. I'd like to be able to tell a particular robot output pin (RO) to be high/low within the code that is streamed from RoboDK to the R-30iB plus controller.



    FANUC seems to be quite secretive in their documentation and they don’t seem to have a list of commands or methods that can be called. Nor do they say where or how the IO ports can be located and used.



    Within RoboDK’s documentation I found the command "setDO(io_var, io_value)" I am wondering if I call this function as “setDO(1, 1)” if that will set the robot output pin 1 (RO[1]) to be high on the EE I/O port. I am unaware of any other IO available on the CR-15iA or R-30iB plus that I can pull from without needing to buy additional options, and even then, I’d have to try and figure out how to interface with those new options without much documentation, in classic FANUC style.



    Any help from someone with experience in programming IO for the CR-15iA or R-30iB plus would be very appreciative.



    Thank you

  • Hey pdl,


    I'm trying to do this with KAREL code, or more specifically through the code that RoboDK generates, the hope is to not have to interact with the teach pendant to program the robot.


    Thanks

  • IMHO, Karel should only be used for functions that cannot be achieved through TPP.


    Why? Because Karel is closed source. It MUST be edited offline and then recompiled. You MUST have the latest source code to do this, which can't be easily verified. Keep Karel code for Karel only functions, then do the rest with TPP. TPP can be easily edited offline and there is no question as to the validity of the current code. TPP is remarkably easy to edit online, through the robot, via the teach pendant.


    The teach pendant is different, but not evil. It was designed to make online edits easy. You don't even need to stop or abort the robot to make edits. Quit fighting what is easy and best. Accept TPP for what it is and learn to work with it.


    That being said, if you need to use Karel, check out the latest Karel reference manual, everything you need is in there for robot IO. Again this is the hard way to go, but if you must, it will work. But WHY?

  • With TPP programs, do they need to be loaded manually to the teach pendant via USB or can I upload them/stream them via ethernet? I'm still a little confused as to what language RoboDK streams out to the controller if it's a .TP, .LS, or KAREL. Again, I'm very new to this stuff, and documentation is sparse and hard to follow when I don't have any foundational knowledge of industrial robots.


    I appreciate everyone's responses so far. I'm researching now into background logic to see how that's used.


    I might be trying to reinvent the wheel. The goal is to actuate a custom EOAT by triggering it using a digital signal. The hope was to get the pulse from the EE I/O on the robot. I want to be able to set the value of the IO (high/low) through code. That way when I simulate the robot motion in RoboDK I can go in and edit the program by adding in some command that can set the EE IO. In general, I'm not sure how EOAT are typically controlled, I figured this was a decent approach, I just need to know how to invoke the state of the EE IO within RoboDK with some function/method.

Advertising from our partners