From 83fb64303ed7fa93ac99bfa125a30804ed451856 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Wed, 17 Mar 2021 10:57:08 +0100 Subject: [PATCH] - IED server - control model - send AddCause with operate- for DOes, SBOes control models --- src/iec61850/server/mms_mapping/control.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/iec61850/server/mms_mapping/control.c b/src/iec61850/server/mms_mapping/control.c index 0107083a..5df962b8 100644 --- a/src/iec61850/server/mms_mapping/control.c +++ b/src/iec61850/server/mms_mapping/control.c @@ -1655,6 +1655,7 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari /* enter state Perform Test */ setOpRcvd(controlObject, true); + controlObject->errorValue = CONTROL_ERROR_NO_ERROR; controlObject->addCauseValue = ADD_CAUSE_UNKNOWN; controlObject->mmsConnection = connection; @@ -1688,6 +1689,12 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari if ((controlObject->ctlModel == 2) || (controlObject->ctlModel == 4)) unselectObject(controlObject); + + if ((controlObject->ctlModel == 3) || (controlObject->ctlModel == 4)) { + ControlObject_sendLastApplError(controlObject, connection, "Oper", + controlObject->errorValue, controlObject->addCauseValue, + ctlNum, origin, true); + } } }