SupervisorOperationGetFirst (FUN) ¶ FUNCTION SupervisorOperationGetFirst : RTS_IEC_HANDLE Iteration interface to get the first registered operation Error code: ERR_OK: The first operation was successfully retrieved ERR_NOTINITIALIZED: The operation memory is not initialized ERR_NO_OBJECT: There are no registered operations InOut: Scope Name Type Comment Return SupervisorOperationGetFirst RTS_IEC_HANDLE Handle to the first operation or RTS_INVALID_HANDLE in case of an error Input pResult POINTER TO RTS_IEC_RESULT Pointer to error code
SupervisorOperationGetNext (FUN) ¶ FUNCTION SupervisorOperationGetNext : RTS_IEC_HANDLE Iteration interface to get the next registered operation. Must be started with SupervisorOperationGetFirst() Error code: ERR_OK: The next operation was successfully retrieved ERR_NOTINITIALIZED: The operation memory is not initialized ERR_END_OF_OBJECT: There are no registered operations left InOut: Scope Name Type Comment Return SupervisorOperationGetNext RTS_IEC_HANDLE Handle to the first operation or RTS_INVALID_HANDLE in case of an error Input hPrevOperation RTS_IEC_HANDLE Handle to the previous operation retrieved via SupervisorOperationGetFirst() or subsequent calls of SupervisorOperationGetNext() pResult POINTER TO RTS_IEC_RESULT Pointer to error code
SupervisorOperationGetState2 (FUN) ¶ FUNCTION SupervisorOperationGetState2 : RTS_IEC_RESULT Retrieves the supervisor state for all supervised operations! Here you can check with one call how many operations failed. InOut: Scope Name Type Comment Return SupervisorOperationGetState2 RTS_IEC_RESULT Error code Error code: ERR_OK: The SupervisorState was successfully retrieved ERR_NOTINITIALIZED: The operation memory is not initialized ERR_PARAMETER: The pointer to the SupervisorState is invalid ERR_NOT_SUPPORTED”>SysTimeGetUs is not supported Input pSupervisorState POINTER TO SupervisorState Pointer to the SupervisorState, will be filled with the corresponding information. The caller has to hold the buffer.
SupervisorOperationRegister (FUN) ¶ FUNCTION SupervisorOperationRegister : RTS_IEC_HANDLE Register an operation for supervision. The operation will be regtistered disabled! To activate the supervision you have to call a subsequent SupervisorOperationEnable()! Error code: ERR_OK: Operation was successfully registered ERR_FAILED: Register operation failed ERR_NOTINITIALIZED: The operation memory is not initialized ERR_DUPLICATE: The combination of ui32OperationID and cmpId is already registered ERR_NOMEMORY: There is no more memory left to register the operation InOut: Scope Name Type Comment Return SupervisorOperationRegister RTS_IEC_HANDLE Handle to operation for all other management functions or RTS_INVALID_HANDLE in case of an error Input ui32OperationID DWORD Unique operation ID cmpId DWORD ComponentID of the component which operation is supervised pszOperationDescription REFERENCE TO STRING Description of the operation, may be empty; the string must be a constant, it is not copied, just the reference is stored stTimeoutUs ULINT Timeout limit in [us] (enables time check, 0 means no timeout check) pResult POINTER TO RTS_IEC_RESULT Pointer to error code
SupervisorOperationSetTimeout (FUN) ¶ FUNCTION SupervisorOperationSetTimeout : RTS_IEC_RESULT Sets a (new) timeout for the given operation Supervision must be disabled to modify the timeout and should be enabled afterwards. InOut: Scope Name Type Comment Return SupervisorOperationSetTimeout RTS_IEC_RESULT Error code Error code: ERR_OK: The timeout was successfully set ERR_NOTINITIALIZED: The operation memory is not initialized ERR_INVALID_HANDLE: The handle to the operation is invalid ERR_PARAMETER: The handle to the operation is invalid ERR_NO_CHANGE: The timeout was not modified because supervision is enabled! Input hOperation RTS_IEC_HANDLE Handle to the operation stTimeoutUs ULINT Timeout limit in [us]
SupervisorOperationUnregister (FUN) ¶ FUNCTION SupervisorOperationUnregister : RTS_IEC_RESULT Unregister a previously registered operation from supervision InOut: Scope Name Type Comment Return SupervisorOperationUnregister RTS_IEC_RESULT Error code Error code: ERR_OK: Operation was successfully unregistered ERR_NOTINITIALIZED: The operation memory is not initialized ERR_INVALID_HANDLE: The handle to the operation is invalid ERR_PARAMETER: The handle to the operation is invalid Input hOperation RTS_IEC_HANDLE Handle to the operation
EventIDs (GVL) ¶ Attributes: qualified_only InOut: Scope Name Type Initial Comment Constant CMPID_CmpSupervisor DWORD 16#8F ComponentID to specify for EventOpen EVTPARAMID_CmpSupervisor_StateChanged WORD 16#1 IDs for the event parameter structures EVTVERSION_CmpSupervisor_StateChanged WORD 16#1 EVT_Supervisor_StateChanged DWORD (SHL(UINT_TO_DWORD(EventClass.EVTCLASS_INFO), 16) OR 16#1) <category>Events</category> <description>Event is sent if the state of the supervisor has changed: if number of operations has changed or if at least one failed vital operation is detected </description> <param name=”pEventParam” type=”IN”>EVTPARAM_CmpSupervisor_StateChanged</param>
EventParameter ¶ EVTPARAM_CmpSupervisor_StateChanged (Struct)
EVTPARAM_CmpSupervisor_StateChanged (STRUCT) ¶ TYPE EVTPARAM_CmpSupervisor_StateChanged : STRUCT <category>Event parameter</category> <element name=”nNumOfOperations” type=”IN”>Number of operations that are registered and supervised</element> <element name=”nNumOfFailedOperations” type=”IN”>Number of failed operations. 0=All operations alive</element> <element name=”nNumOfRegisteredOperations” type=”IN”>Number of all registered operations</element> Attributes: qualified_only InOut: Name Type nNumOfOperations UDINT nNumOfFailedOperations UDINT nNumOfRegisteredOperations UDINT
SupervisorEntry (STRUCT) ¶ TYPE SupervisorEntry : STRUCT Single operation/function that is supervised. InOut: Name Type Comment cmpId DWORD ComponentID of the component which operation is supervised ui32OperationID DWORD Unique operation ID pszOperationDescription POINTER TO STRING Description of the operation stLastActiveUs ULINT Timestamp of last activity in [us] stTimeoutUs ULINT Optional timeout limit in [us] flags DWORD See SupervisorFlags for details. Don’t modify the other bits!! bEnable BOOL Is supervised, FALSE=Is not supervised bAlive BOOL TRUE=Alive, FALSE=Dead instance SupervisorInstance Instance identification hSync RTS_IEC_HANDLE handle to synchronize 64Bit timestamp access