Analog Output outside of Script

I would like to be able to set the analog output from the URCAP I am developing before it is actually run in order to configure the tool properly for when the program is run. I can use the digital IO without issue within the cap before running the script, but even though I am not getting any errors setting the analog output does not appear to work. Is the analog output enabled outside of the script?

Analog signals rely heavily on feedback from the controller.
This means, that they may be difficult to simulate properly.

Ensure that the functionality of the analog IO’s are tested on a physical robot, where the “URControl” process can validate the analog signals from the physical safety control board.

I am testing on a UR3 Robot. See the below code snippit that I am now reduced to for testing. I know this code executes as the digital IO bit 0 gets set without issue, but I see no change in the analog output.

private void testGrip(){
		if(digital_out0!=null){
			digital_out0.setValue(true);
			analog_out1.setValue(1.0);
			analog_out0.setValue(1.0);
		}
	}

If you go to the I/O tab, can you assure that the analog output is in voltage mode?
If the dropdown is selected to Current, the value 1.0 is out of range [0.004;0.02] A

I see, I thought the output was always scaled 0…1 based on this:

But it appears that it is only scaled 0…1 in the script, not outside the script. Changing the scale to be 0.0004…0.02 outside the script allows me to function as desired. Thank you so much for the help!

1 Like

I’m actually still having an issue with this. When I set the analog IO to the lowest end of the range you mentioned above I am not getting 4 ma. The below image is representative of where the IO slider ends up on a real robot and in simulation when I run the code included in the same screenshot.

analog_issue