Easiest way to locally control I/O when program stopped

I’ve been reading through how others do this, but the only local examples I see are using URcap daemons. Is there any other way to do it? I am very comfortable with linux, but not developing java.

Example of what I want to achieve:

On our UR10e, using no external hardware, no network connection. When the robot program is in a stopped state of any kind, yet the linux OS is running. I want to set Digital output 0 to high whenever Digital input 1 is high.

Basically I want the easiest way to avoid having a PLC.

Easiest? Probably using relays. Set some output to be “high when not running” and have that turn on a relay. Pass the same signal you’re passing to DI1 across the contacts of the relay and into whatever you want DO0 to be. Not really utilizing the robot for anything other than having the relay turned on when a program is not running.

I was a bit unclear, the output and input is not relevant to the state of the robot.

Let me clarify the example:
When an inductive sensor detects an object(Digital input 1), the robot should turn on a LED (Digital output 0).

I can program that in for example a thread in the robot program, however, I want it to be functional even if the robot is in a stopped state. I am aware I could solve that particular example electrically, but it is merely an example. I basically want the Thread functionality even in a stopped state. Like a PLC.

Then yep you’ll have to utilize some form of a background Daemon. This can be loaded in via a URCAP. The CAP itself is Java, but the daemon can be written in (I think) any language with Python being the most prominent from what I’ve seen. I would say the lack of a “always running” thread like you’re describing is one of the main downsides to the UR as opposed to other industrial robots.

For what it’s worth, you can definitely find cheap PLCs from places like Automation Direct that are easy to work with. Free software too. The ones we use are like 200 bucks, and you’ll end up with way more labor cost than that if you were to create a CAP for what you’re wanting, I would wager.

I think Robot27 may be able to assist you with this functionality. They have a product Robot27 Connect that they may be able to modify to add this functionality.