- IEC 61850 server: fixed - control model - peer connection is not always available when control handlers are called (#232)

pull/239/head
Michael Zillgith 5 years ago
parent 7e4e396403
commit d42f96ee97

@ -1336,6 +1336,7 @@ Control_readAccessControlObject(MmsMapping* self, MmsDomain* domain, char* varia
/* opRcvd must not be set here! */
controlObject->addCauseValue = ADD_CAUSE_UNKNOWN;
controlObject->mmsConnection = connection;
if (controlObject->checkHandler != NULL) { /* perform operative tests */
@ -1552,6 +1553,8 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
controlObject->isSelect = 1;
controlObject->mmsConnection = connection;
checkResult = controlObject->checkHandler((ControlAction) controlObject,
controlObject->checkHandlerParameter, ctlVal, testCondition, interlockCheck);
@ -1584,6 +1587,8 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
ControlObject_sendLastApplError(controlObject, connection, "SBOw", 0,
controlObject->addCauseValue, ctlNum, origin, true);
controlObject->mmsConnection = NULL;
if (DEBUG_IED_SERVER)
printf("IED_SERVER: SBOw - select rejected by application!\n");
}
@ -1733,6 +1738,7 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
setOpRcvd(controlObject, true);
controlObject->addCauseValue = ADD_CAUSE_UNKNOWN;
controlObject->mmsConnection = connection;
if (controlObject->checkHandler != NULL) { /* perform operative tests */

Loading…
Cancel
Save