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
SupervisorState (STRUCT) ¶ TYPE SupervisorState : STRUCT InOut: Name Type Comment nNumOfOperations UDINT Number of registered operations that are supervised/enabled nNumOfFailedOperations UDINT Number of failed operations. 0=All operations alive nNumOfRegisteredOperations UDINT Number of all registered operations
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 20.04.2021, 15:56:21 companyName string 3S-Smart Software Solutions GmbH libraryFile CmpSupervisor.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile CmpSupervisor.clean.json version version 2.0.0.0 ProjectInformation Released bool True LastModificationDateTime date 20.04.2021, 15:56:21 LibraryCategories library-category-list System|SysLibs Author string 3S - Smart Software Solutions GmbH Company System CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 Patch 2 Description See: Description DocFormat reStructuredText Placeholder CmpSupervisor Project CmpSupervisor Title CmpSupervisor Version version 3.5.17.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. CmpEventMgr ¶ Library Identification ¶ Placeholder: CmpEventMgr Default Resolution: CmpEventMgr, * (System) Namespace: CmpEventMgr Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpEventMgr SysTypes2 Interfaces ¶ Library Identification ¶ Name: SysTypes2 Interfaces Version: newest Company: System Namespace: SysTypes Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTypes2 Interfaces, * (System)
CmpTlsCreateContext (FUN) ¶ FUNCTION CmpTlsCreateContext : RTS_IEC_HANDLE This function create a TLS context. This context is needed to perform TLS communication using the SysSocket2 library. The context contains all informaiton how to handle this TLS connection. InOut: Scope Name Type Initial Comment Return CmpTlsCreateContext RTS_IEC_HANDLE Handle to the new accepted socket or RTS_INVALID_HANDLE if failed. Input hCert RTS_IEC_HANDLE RTS_INVALID_HANDLE Handle to a certificate. The private key of this certificate has to be available. Can be RTS_INVALID_HANDLE for client connections. If the server requires a client certificate the connection will fail in these case. tlsMethod CmpTls_Interfaces.CmpTlsMethod Protocol version and role in the communication. TLS1.2 is suggested for new implementations. Default will be TLS1.2 client. cipherList POINTER TO STRING 0 Allowed chipers used by this connection. Leave 0 to get default. Default will result in ciphers with HIGH encryption strength and Diffie Hellman key exchange. verifyMode DWORD Set up how to verify the peer. The settings differ between client and server. See CmpTlsVerifyMode for details. Default results in: Client -> Verify the peer. Server -> Do not Verify Peer The options of CmpTlsConstans can be combined by adding them. pResult POINTER TO RTS_IEC_RESULT Operations Result
CmpTlsCreateContext2 (FUN) ¶ FUNCTION CmpTlsCreateContext2 : RTS_IEC_HANDLE This function create a TLS context. This context is needed to perform TLS communication using the SysSocket2 library. The context contains all informaiton how to handle this TLS connection. InOut: Scope Name Type Initial Comment Return CmpTlsCreateContext2 RTS_IEC_HANDLE Handle to the new accepted socket or RTS_INVALID_HANDLE if failed. Input hCert RTS_IEC_HANDLE RTS_INVALID_HANDLE Handle to a certificate. The private key of this certificate has to be available. Can be RTS_INVALID_HANDLE for client connections. If the server requires a client certificate the connection will fail in these case. tlsMethod CmpTls_Interfaces.CmpTlsMethod Protocol version and role in the communication. TLS1.2 is suggested for new implementations. Default will be TLS1.2 client. cipherList POINTER TO STRING 0 Allowed chipers used by this connection. Leave 0 to get default. Default will result in ciphers with HIGH encryption strength and Diffie Hellman key exchange. verifyMode DWORD Set up how to verify the peer. The settings differ between client and server. See CmpTlsVerifyMode for details. Default results in: Client -> Verify the peer. Server -> Do not Verify Peer The options of CmpTlsConstans can be combined by adding them. verifyCallback CmpTls_Interfaces.IVerifyCertCallback This callback is called after the pre verification of the peers certificate. All possible checks (validity, trust chain, etc.) have been done already. The result of this check is passed to the callback. The callback allows to do futher checks (e.g. check the certificate host name, key usage etc.) depending on the use case of the connection. pResult POINTER TO RTS_IEC_RESULT Operations Result
CmpTlsFreeContext (FUN) ¶ FUNCTION CmpTlsFreeContext : RTS_IEC_RESULT This function cleans up the TLS context created with CmpTlsCreateContext. InOut: Scope Name Type Comment Return CmpTlsFreeContext RTS_IEC_RESULT Input hTlsContext RTS_IEC_HANDLE Handle to the context to clean up
CmpTlsShutdown (FUN) ¶ FUNCTION CmpTlsShutdown : RTS_IEC_RESULT There are two ways to shutdown the TLS connection: bidirectional: The first call of TlsShutdown will send the shutdown message. The operation will return ERR_TLS_RETRY_OPERATION. Then the function has to be called again. If the acknowledge of the peer was received ERR_OK will be returned. If the acknowledge was not received yet the function will return ERR_TLS_WANT_READ. unidirectional: The first call of TlsShutdown will send the shutdown message. The operation will return ERR_TLS_RETRY_OPERATION. Close the IO channel and clean up. Don’t wait for the acknowledge of the peer. InOut: Scope Name Type Comment Return CmpTlsShutdown RTS_IEC_RESULT Result of this operation. May be one of these values: ERR_OK: No error. Everything worked as expected. ERR_NOTINITIALIZED: The TLS component was not initialized proberly. ERR_TLS_CONNECTION_CLOSED: The TLS connection is closed. ERR_TLS_WANT_READ: The operation needs TO read data FROM the IO system. There is no data available. ERR_TLS_WANT_WRITE: The operation needs to write data to the IO system. This is not possible. ERR_TLS_RETRY_OPERATION: Something went wrong. Try the same function call again ERR_TLS_IO_SYSTEM: An error in the unterlaying IO system. ERR_TLS_INTERNAL: An internal Error of the TLS Component ERR_FAILED: Unknown error. Input hTlsConn RTS_IEC_HANDLE Handle of the TLS connection, created with one of the TLSxxxOpen functions