Write Input Integer Register

Is there a way to write input integer registers using URScripts?
Is it only possible to read input int registers using read_input_integer_register(address) method?

Thanks in advance!

Or is there a way to clear input registers?

Hi,

Maybe it is not possible to write/reset input registers from robot itself.

They are controllable from external device.(PLC and so on)

Hi

Perhaps the integer/double registers between 24 and 47 may be controllable by using RTDE.

Tomorrow I will do testing for it.

Hi, I have tried to write input integer register 26.
RTDE client class is uploaded my github for sample of ethernet/ip monitor upcap.

public class RegisterTest {
public static void main(String[] args) {
    RegisterTest register = new RegisterTest();

}

public RegisterTest() {
    RTDEClient client = new RTDEClient("192.168.71.140", 1, "") {
        @Override
        public void onReceive(Object[] values) throws IOException {
            int result = (int) values[0];

            System.out.println("Integer register 26 is " + String.valueOf(result));

        }

        @Override
        public Object[] onSend() throws IOException {

            Object[] sendObject = new Object[1];

            int data = 35352;
            sendObject[0] = data;

            return sendObject;
        }

    };

    client.addOutput(RTDEOutput.input_int_register_26);
    client.addInput(RTDEInput.input_int_register_26);
    client.start();

}

}

Sorry for the late response. Thank you so much. I will try this.

Hi!

I am really interested in this topic.

I have used RTDE and thanks to this, i am able to successfully write the registers reserved for rtde.

Now, my goal is to write on the lower half of the registers (take into consideration from 0 to 23 of the float input registers). these registers are reserved for the PLC.

Is there a way in which i can be able to write via rtde (or in other ways) on these plc reserved addresses?

You will not be able to write to these lower registers if any of the fieldbus interfaces is enabled (profinet or ethernetip). The fieldbus ‘driver’ within the UR controller is writing to these based on inputs coming in from a PLC master (scanner).

It might not even be possible if the fieldbus interface is NOT enabled.

Hi, I was able to use RTDE to exchange data from my PC to the UR

When I set input_int_register_25 at my PC (python code), the UR was able to get the value of input_int_register_25.
I want to reset the value of input_int_register_25 after the UR read it.
How can I do that?

image