Hey All - I'm trying to do some very, very basic gripper control using the built-in digital I/O and am having all sorts of seemingly stupid problems. To distill the problem as much as possible, I wrote a simple sub-program to open a gripper (set 'close' bit to low, wait, set 'open' bit to high, wait, assign a variable) in the UR GUI which works fine as part of a larger program. I take the script file of the entire program, steal the sub-program out of it and paste it into a blank script file to create a script that is intended to do what the sub-program did. Because this is the only way I'm aware of to circumvent the inconceivable inability of UR robots to have sub-programs call other sub-programs (and I asked UR about it several times.)I then turn around and load the script file into the existing program in the GUI to wind up with a script file I should be able to call anywhere I want to execute the previously made sub-program. The problem that I'm having is that the script seemingly has no impact on the program - as far as I can tell, the controller runs through the script, and it just has no effect on anything. Do I need to redefine variables or input ranges within the script, even though they are unchanged from the main program? I assume there has to be something really basic and obvious that I'm missing, but I can't seem to figure it out. I appreciate any advice you can offer. Thanks!