Universal Robots Forum

Call method with digital Input

Hi there,

I get the DI value with the port 30003, i use a interface with an overide function to get the value of a DI, and call a method as below.

public void StateDI5(boolean StateDI) {
if (StateDI && (TempStateDI != StateDI)) {
TempStateDI = StateDI;

My problem is : the method call a set in the DataModel, and the UR error “UndoableChanges” comes. I don’t know how call this method to avoid the error. A test in Update UI create an error too.

If anyone have an idea,

I solve my problem. To avoid the UR error “UndoableChanges”, i found a sample which say how to do :

whenever using a setter on the Datamodel you need to wrap your call on the setter with the UndoRedoManager, like so:

public void toggleWeaving(final boolean weaving) {
    undoRedoManager.recordChanges(new UndoableChanges() {
        public void executeChanges() {
            model.set("weaving", weaving);