Hi ABB Robotics Community,
I am developing a C# application to remotely control an ABB OmniCore 250XT using:
-
Controller: ABB OmniCore 250XT
-
RobotWare: 8.1.0
-
RobotStudio: 2026.1
-
PC SDK: 2026.1 (
ABB.Robotics.Controllers.PC.dllversion26.2.11700.0) -
Application: Standalone C# application using
ConnectionType.Standalone
I am trying to migrate my existing application from the traditional Mastership approach to the RobotWare 8 Control Station / Write Access mechanism.
The controller connection and login work successfully:
this.controller_ =
Controller.Connect(
controllerInfo,
ConnectionType.Standalone);
this.controller_.Logon(UserInfo.DefaultUser);
I then try to register the application as a Control Station:
string controlStationId =
Guid.NewGuid().ToString();
this.controller_.ControlStation.Register(
"DHVANI PC Control Station",
controlStationId,
1234,
true);
However, the registration fails with:
RobApiException: C004AB25 : Control station id not allowed.
ERROR:
rdh_controller.cpp[10099]:
org_code: -20103
new_code: 0xc004ab25
The PC SDK command shown in the exception is:
Cmd:Set
Prop:RegisterControlStation
-DisplayName "DHVANI PC Control Station"
-Id "9fb7c7fd-9190-4658-9bad-20a8c31348fb"
-PinCode 1234
-ReleaseWriteAccessWhenLost True
The important point is that I am currently testing this with a RobotStudio Virtual Controller:
Name : 6710-501712_2
IP : 127.0.0.1
RobotWare : 8.1.0.0
Virtual : True
The connection and login succeed, and I can read controller state/mode successfully:
Controller State : GuardStop
Operating Mode : Auto
But ControlStation.Register() is rejected.
I have checked the PC SDK documentation for ControlStation. It states that:
Register(
string displayName,
string id,
uint pinCode,
bool releaseWriteAccessWhenLost)
registers the calling application as a Control Station, and that the id is the unique identifier for the application.
I would like to understand:
-
Why does the Virtual Controller reject
RegisterControlStationwithC004AB25 / INVALID_CONTROL_STATION_ID? -
Is there any specific configuration required on an RW 8.1 Virtual Controller before calling
ControlStation.Register()? -
Is the
idrequired to follow a specific format or GUID scheme? -
Does the PIN need to be configured somewhere in the Virtual Controller/UAS?
-
Does
EnableExternalControl()need to be called before registration on a Virtual Controller? -
Are there any RobotWare options or RobotStudio settings required for Control Station registration?
-
Is there a known compatibility issue between PC SDK 2026.1 (
26.2.11700.0) and RobotWare 8.1.0 for Control Station registration? -
Once registration succeeds, what is the correct sequence for:
Register → RequestWriteAccess → Load RAPID Module → Set Program Pointer → Start RAPID → ReleaseWriteAccess?
I would appreciate any guidance from someone who has successfully implemented PC SDK Control Station/Write Access with OmniCore RobotWare 8.x, especially on a Virtual Controller.
Thanks.