Write IO failure

Hi, guys

I met a problem ,That is :After connected the real IRC5, I use pcsdk to write “DO” by C#,but It return a alarm :
“The operation is not allowed in current operation mode.For example, a remote user may not be allowed to perform the operation in manual mode.”
But I’m sure that the mode is in auto mode, I don’t know how to solve this problem ,
Does someone can help me ?
My C# souce code like this :

Signal signal1 = GudData.mController.IOSystem.GetSignal(“doPlaceRD”);

DigitalSignal diSig = (DigitalSignal)signal1;

string wMode=GudData.mController.OperatingMode.ToString();
if (wMode != “Auto”) return;
int wValue = diSig.Get();
//diSig.Pulse(wTime);
diSig.Set();

Please help me ? I’m in urgent ,
Thanks

Try changing the Access Level from DEFAULT to ALL for the signal doPlaceRD in the Configuration Editor (I/O domain).

Be aware that relaxing the Access Level may have an impact on personnel safety (signals with relaxed access level may be changed by an external client). You should conduct a safety review before changing the Access Level.
(Example: A robot gripper holding 500 kg metal may be accidentally opened from an external client if the Access Level has been relaxed for the corresponding output signal. If a service technician is inside the robot cell doing maintenance at this point, it may cause injury.)

Dear Henrik

Can you tell me how to write this code to change the Access level or give me the sample code?

OR like this code :

GudData.mController.AuthenticationSystem.DemandGrant(Grant.FullAccess);

right?

Thanks very much

You can change this in the Configuration Editor. This is something you only do once when the system is setup, so there is no need to do it from your application.

Dear Henrik :
I test my code again by your method , but still unsuccessful ,The alarm was the same as that alarm.I don’t know why,
Can you help me to point the error?

Thanks

Hello,

I have the same problem writing I/O signals on my C# app. I read I/O correctly, but when I try to change the value it returns “The operation is not allowed in current operation mode.For example, a remote user may not be allowed to perform the operation in manual mode.”
Also I tested changing the access level of some signals in RobotStudio for testing, but it doesn’t work. My code is shown below:

if (_controller.OperatingMode == ControllerOperatingMode.Auto)
{
using (Mastership m = Mastership.Request(_controller.Rapid))
{
Signal sig = _controller.IOSystem.GetSignal(item.Text);
DigitalSignal digitalSig = (DigitalSignal)sig;
int val = digitalSig.Get();
if (val == 1)
{
digitalSig.Set();
}
else
{
digitalSig.Reset();
}
}
}

I know I´m refloating an old post, but it has not been resolved…

Thank you in advance

Alex