File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 20.04.2021, 15:56:12 companyName string 3S-Smart Software Solutions GmbH libraryFile CmpSrv.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile CmpSrv.clean.json version version 2.0.0.0 ProjectInformation Released bool True LastModificationDateTime date 20.04.2021, 15:56:12 LibraryCategories library-category-list System|SysLibs Author string 3S - Smart Software Solutions GmbH Company System CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 Description See: Description Placeholder CmpSrv Project CmpSrv Title CmpSrv Version version 3.5.17.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. 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)
CmpSupervisor Library Documentation ¶ Company System Title CmpSupervisor Version 3.5.17.0 Categories System|SysLibs Author 3S - Smart Software Solutions GmbH Placeholder CmpSupervisor Description 1 ¶ This interface provides a generic and easy to handle supervisor for all vital operations in the runtime system. This interface can be used for example to retrigger a hardware watchdog to detect a failure in such a vital operation (in case of a software error). Interface can be used to: Register/unregister a vital operation for supervision Retrigger a vital operation to be alive There is an explicit dead signal for desperate situations such as memory overwrite, etc. For these operations stTimeoutUs should be set to 0 to disable time check Interfaces to read the global state of all vital operations and to interate over all vital operations Use case: Use supervisor to support a hardware watchdog: A cyclic task checks SupervisorOperationGetState() periodically and retriggers the hardware watchdog. In case the nNumOfFailedOperations is greater than 0 the cyclic task can just prevent the retriggering of the hardware watchdog so that it expires or check the causing operation and in the case it is not that important, give a second chance by reactivating its supervision. This is done by iterating through all operations by SupervisorOperationGetFirst(), SupervisorOperationGetNext(), and SupervisorOperationGetEntry() to find the causing operation and then by calling SupervisorOperationDisable() followed by SupervisorOperationEnable() to reactivate the supervision of the operation. Contents: ¶ EventIDs (GVL) EventParameter EVTPARAM_CmpSupervisor_StateChanged (Struct) SupervisorEntry (Struct) SupervisorFlags (GVL) SupervisorInstance (Struct) SupervisorOperationAlive (Function) SupervisorOperationDead (Function) SupervisorOperationDisable (Function) SupervisorOperationEnable (Function) SupervisorOperationGetEntry (Function) SupervisorOperationGetFirst (Function) SupervisorOperationGetNext (Function) SupervisorOperationGetState2 (Function) SupervisorOperationRegister (Function) SupervisorOperationSetTimeout (Function) SupervisorOperationUnregister (Function) SupervisorState (Struct) Indices and tables ¶ 1 Based on CmpSupervisor.library, last modified 20.04.2021, 15:56:21. LibDoc 4.4.0.0-b.27 The content file CmpSupervisor.clean.json was generated with CODESYS V3.5 SP16 Patch 3 on 20.04.2021, 15:56:21.
SchedRegisterExternalEvent (FUN) ¶ FUNCTION SchedRegisterExternalEvent : RTS_IEC_HANDLE <description> <p>Register an external event, which might be used later by event tasks. You should register those events during the system startup, so that the scheduler knows all events when the application is loaded.</p> <p>Valid Hook: CH_INIT2</p> <p>Note: the parameter pszExtEventName needs to be constantly allocated. It might either be a constant string, a global string variable, or a dynamically allocated string. But the memory needs to be valid during the life time of the event handle.</p> </description> <param name=”pszExtEventName” type=”IN”>Name of the event, as it was specified in the device description. This parameter needs to be constantly allocated</param> <param name=”pResult” type=”INOUT”>Error Code</param> <errorcode name=”RTS_IEC_RESULT” type=”ERR_OK”>Event was registered successfully</errorcode> <errorcode name=”RTS_IEC_RESULT” type=”ERR_NOMEMORY”>There was not enough memory to register the new event handle</errorcode> <result>handle to the event</result> InOut: Scope Name Type Return SchedRegisterExternalEvent RTS_IEC_HANDLE Input pszExtEventName REFERENCE TO STRING pResult POINTER TO RTS_IEC_RESULT
SchedSetTaskInterval (FUN) ¶ FUNCTION SchedSetTaskInterval : RTS_IEC_RESULT <description> Set the actual interval of a cyclic task. If the specified task is no cyclic task, the function return an error. This interface can be used to synchronize a task to another task or to events. </description> <param name=”hSchedTask” type=”IN”>Handle to the task</param> <param name=”tInterval” type=”IN”>New interval in microseconds!</param> <result>error code</result> InOut: Scope Name Type Return SchedSetTaskInterval RTS_IEC_RESULT Input hSchedTask RTS_IEC_HANDLE ulInterval UDINT
SchedUnregisterExternalEvent (FUN) ¶ FUNCTION SchedUnregisterExternalEvent : RTS_IEC_RESULT <description> <p>Unregister an external event, which was registered by SchedRegisterExternalEvent() before.</p> <p>This function should be called on system shutdown</p> <p>Valid Hook: CH_EXIT2</p> </description> <param name=”hExtEvent” type=”IN”>Handle to the external event, that should be unregistered.</param> <errorcode name=”RTS_IEC_RESULT” type=”ERR_OK”>Event was deregistered successfully</errorcode> <errorcode name=”RTS_IEC_RESULT” type=”ERR_PARAMETER”>The event handle was not registered before</errorcode> <result>Error code</result> InOut: Scope Name Type Return SchedUnregisterExternalEvent RTS_IEC_RESULT Input hExtEvent RTS_IEC_HANDLE
SchedWaitBusy (FUN) ¶ FUNCTION SchedWaitBusy : RTS_IEC_RESULT <description> Function to wait busy during a specified time interval. This consumes maximum of processor load! </description> <param name=”ptSleepUs” type=”IN”>Time to sleep in microseconds</param> <result>error code</result> InOut: Scope Name Type Return SchedWaitBusy RTS_IEC_RESULT Inout ptSleepUs SYSTIME
SchedWaitSleep (FUN) ¶ FUNCTION SchedWaitSleep : RTS_IEC_RESULT <description> Function to sleep a specified time interval in microseconds _without_ consuming processor load! </description> <param name=”ptSleepUs” type=”IN”>Time to sleep in microseconds</param> <result>error code</result> InOut: Scope Name Type Return SchedWaitSleep RTS_IEC_RESULT Inout ptSleepUs SYSTIME
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 20.04.2021, 15:55:19 companyName string 3S-Smart Software Solutions GmbH libraryFile CmpSchedule.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile CmpSchedule.clean.json version version 2.0.0.0 ProjectInformation LinkInSimulation bool True Released True LastModificationDateTime date 20.04.2021, 15:55:19 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 Placeholder CmpSchedule Project CmpSchedule Title CmpSchedule Version version 3.5.17.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. CmpApp ¶ Library Identification ¶ Placeholder: CmpApp Default Resolution: CmpApp, * (System) Namespace: CmpApp Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpApp SysTime ¶ Library Identification ¶ Placeholder: SysTime Default Resolution: SysTime, * (System) Namespace: SysTime Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTime SysTypes2 Interfaces ¶ Library Identification ¶ Name: SysTypes2 Interfaces Version: newest Company: System Namespace: SysTypes_Interfaces Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTypes2 Interfaces, * (System)