- IED server: added ControlAction_getSynchroCheck and ControlAction_getInterlockCheck functions

pull/437/merge
Michael Zillgith 3 years ago
parent 79a8eaf260
commit 48b73261c3

@ -1836,6 +1836,14 @@ namespace IEC61850
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ControlAction_isSelect(IntPtr self);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ControlAction_getSynchroCheck(IntPtr self);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ControlAction_getInterlockCheck(IntPtr self);
private IntPtr self;
private IedServer.ControlHandlerInfo info;
private IedServer iedServer;
@ -1955,6 +1963,16 @@ namespace IEC61850
{
return ControlAction_isSelect(self);
}
public bool GetSynchroCheck()
{
return ControlAction_getSynchroCheck(self);
}
public bool GetInterlockCheck()
{
return ControlAction_getInterlockCheck(self);
}
}
public delegate void GoCBEventHandler(MmsGooseControlBlock goCB, int cbEvent, object parameter);

@ -1357,6 +1357,26 @@ ControlAction_getOrIdent(ControlAction self, int* orIdentSize);
LIB61850_API int
ControlAction_getCtlNum(ControlAction self);
/**
* \brief Gets the synchroCheck bit provided by the client
*
* \param self the control action instance
*
* \return the synchroCheck bit
*/
LIB61850_API bool
ControlAction_getSynchroCheck(ControlAction self);
/**
* \brief Gets the interlockCheck bit provided by the client
*
* \param self the control action instance
*
* \return the interlockCheck bit
*/
LIB61850_API bool
ControlAction_getInterlockCheck(ControlAction self);
/**
* \brief Check if the control callback is called by a select or operate command
*

@ -2498,6 +2498,22 @@ ControlAction_getCtlNum(ControlAction self)
return -1;
}
bool
ControlAction_getSynchroCheck(ControlAction self)
{
ControlObject* controlObject = (ControlObject*) self;
return (bool)(controlObject->synchroCheck);
}
bool
ControlAction_getInterlockCheck(ControlAction self)
{
ControlObject* controlObject = (ControlObject*) self;
return (bool)(controlObject->interlockCheck);
}
bool
ControlAction_isSelect(ControlAction self)
{

Loading…
Cancel
Save