diff --git a/src/iec61850/server/mms_mapping/control.c b/src/iec61850/server/mms_mapping/control.c index 41137f66..df654ba0 100644 --- a/src/iec61850/server/mms_mapping/control.c +++ b/src/iec61850/server/mms_mapping/control.c @@ -696,7 +696,8 @@ executeStateMachine: controlObject->errorValue = 0; controlObject->addCauseValue = ADD_CAUSE_SELECT_FAILED; - CheckHandlerResult checkHandlerResult = controlObject->checkHandler((ControlAction) controlObject, controlObject->checkHandlerParameter, NULL, false, false); + CheckHandlerResult checkHandlerResult = controlObject->checkHandler((ControlAction) controlObject, controlObject->checkHandlerParameter, + controlObject->ctlVal, controlObject->testMode, controlObject->interlockCheck); controlObject->isSelect = 0; @@ -2004,6 +2005,8 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari updateControlParameters(controlObject, ctlVal, ctlNum, origin, synchroCheck, interlockCheck); + controlObject->testMode = testCondition; + if (controlObject->checkHandler != NULL) { /* perform operative tests */ controlObject->isSelect = 1;