But I get: rws_resource_iosystem.cpp[3141] Invalid data parameter code:-1073445879 icode:-1
Which from the list of errors is: An argument specified by the client is not valid for this type of operation.
This signal has no device nor network, but I have confirmed this url works to get the signal information, state etc, and the signal access-level is set to All.
The localhost must be on port 80 otherwise connection is refused, but I have confirmed this port works for RWS.
I can do all other tasks with RWS, I can POST a RAPID start/stop, and get signals.
I tried to recreate the error scenario you described, but I was able to update the IO signal value successfully.
Here is what I did:
RobotStudio 2025.3
OmniCore Virtual Controller with RW 7.19.3
Postman used for testing
Steps:
Created a DI signal (TestDI) in I/O System, not assigned to any device, with Access level = All.
Verified the VC connection in Postman using: GET https://127.0.0.1/rw
Confirmed the signal was accessible via: https://localhost/rw/iosystem/signals/TestDI/
The returned XML shows: access-level = All and write-access = Rapid | LocalManual | LocalAuto | RemoteManual
Updated the IO signal value using: https://127.0.0.1/rw/iosystem/signals/TestDI/set-value
The signal value change was correctly reflected in RobotStudio.
Could you please check if there was anything different in your setup or test steps? It may also help to explicitly request mastership in Manual mode (RMMP via RWS2) before updating the signal.
Additionally, the VC should be accessible without specifying the port number. It might be worth checking whether port 80 is being used by another application.
Regards,
Dhanya Prabhakaran
PC Software Support Engineer
ABB Robotics Sweden AB
Meanwhile I managed to set the signal by using the same CURL command on windows command prompt and with a script as well, apparently just Bruno and Postman were not working not sure why.