Function Blocks ¶ CANopenDeviceSIL2 (FunctionBlock) Cyclic-Methods-state-independent State-Machine State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational
CANopenDeviceSIL2 (FB) ¶ FUNCTION_BLOCK CANopenDeviceSIL2 EXTENDS CSB.CANopenSafetyBase This function block implements a CANopen Safety Slave SIL2 I/O driver which is realized through a black channel approach. It sits on top of an unsafe CANopen Slave Stack. Communication between both stacks is realized over shared memory. The function block can be enabled/disabled by S_xEnable . When S_xEnable gets TRUE the function block checks all conditions for safe communication each bus cycle: Unsafe stack is in OPERATIONAL state Configuration valid object (16#13FE) is set to 16#A5 Safety configuration signatures are correct Consistency of SRDO configuration data If a configuration error is detected (e.g. CRC mismatch) S_eError changes from NO_ERROR to the corresponding error code. If every condition is fulfilled the function block tries starting safe communication. Output S_xActive gets TRUE if all SRDOs are sent/received at least one time without any error. When communication error occurs (e.g. SCT/SRVT timeout, data mismatch, …), all SRDO communication is stopped: S_xActive = FALSE , S_eError <> NO_ERROR . Errors can be acknowledged by a rising edge of S_xErrorAck . Safe communication will be continued. Note Do not instantiate this function block. It will be instantiated implicitly. InOut: Scope Name Type Initial Comment Input S_xEnable BOOL TRUE TRUE : SRDO communication enabled; FALSE : SRDO communication stopped S_xErrorAck BOOL FALSE Pending error ( S_eError <> NO_ERROR ) can be acknowledged with rising edge. Output S_xActive BOOL FALSE TRUE : safe communication active; FALSE : safe communication inactive (in case of error or S_xEnable = FALSE ) S_eError CST.ERROR CST.ERROR.NO_ERROR Error code of pending error or NO_ERROR . Structure: Cyclic-Methods-state-independent State-Machine State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational
Cyclic Methods (state independent) ¶ Methods called every cycle independent of state.
State Machine ¶ Methods implementing the state machine. State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 11.12.2018, 09:18:46 companyName string 3S-Smart Software Solutions GmbH libraryFile _3SCANopenSafetySlave.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP14 contentFile _3SCANopenSafetySlave.clean.json version version 2.0.0.0 ProjectInformation IsEndUserLibrary bool False Released True SIL2 True LastModificationDateTime date 11.12.2018, 09:18:44 LibraryCategories library-category-list Intern|CANbus; Docs|Fieldbus|CAN Author string 3S - Smart Software Solutions GmbH Company 3S - Smart Software Solutions GmbH DefaultNamespace _3SCSSD Description See: Description DocFormat reStructuredText LanguageModelAttribute qualified-access-only Placeholder 3S CANopenSafety Slave Project _3SCANopenSafetySlave Title 3S CANopenSafety Slave Version version 3.5.14.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. Base Interfaces ¶ Library Identification ¶ Name: Base Interfaces Version: newest Company: System Namespace: IBaseLibrary Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: Base Interfaces, * (System) CANopenSafetyBase ¶ Library Identification ¶ Placeholder: CANopenSafetyBase Default Resolution: CANopenSafetyBase, * (3S - Smart Software Solutions GmbH) Namespace: CSB Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CANopenSafetyBase CANopenSafetyTypes ¶ Library Identification ¶ Placeholder: CANopenSafetyTypes Default Resolution: CANopenSafetyTypes, * (3S - Smart Software Solutions GmbH) Namespace: CST Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: True SystemLibrary: False Key: CANopenSafetyTypes CmpErrors2 Interfaces ¶ Library Identification ¶ Name: CmpErrors2 Interfaces Version: newest Company: System Namespace: CmpErrors Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpErrors2 Interfaces, * (System) CmpSIL2 ¶ Library Identification ¶ Placeholder: CmpSIL2 Default Resolution: CmpSIL2, * (System) Namespace: CmpSIL2 Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpSIL2 IoDriver Interfaces ¶ Library Identification ¶ Name: IoDriver Interfaces Version: newest Company: System Namespace: IIoDrv Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoDriver Interfaces, * (System) IoDriver Parameter Interfaces ¶ Library Identification ¶ Name: IoDriver Parameter Interfaces Version: newest Company: System Namespace: IIoDrvParameter Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoDriver Parameter Interfaces, * (System) IoStandard ¶ Library Identification ¶ Placeholder: IoStandard Default Resolution: IoStandard, * (System) Namespace: IoStandard Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoStandard SysExcept ¶ Library Identification ¶ Placeholder: SysExcept Default Resolution: SysExcept, * (System) Namespace: SysExcept Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysExcept 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)
State Transitions ¶ Methods for switching the internal state of the state machine.
VUM_User (STRUCT) ¶ TYPE VUM_User : STRUCT InOut: Name Type Comment wstUserName WSTRING(79) The user name which must be unique wstFullName WSTRING(79) A free full name of the user wstPassword WSTRING(79) The password which should be used to generate the md5hash md5Hash ARRAY [0..15] OF BYTE The md5hash of the password dwUserGroupID DWORD The user group id abyUserGroupIDs ARRAY [0..VISU_VUM_MAX_GROUPS_PER_USER] OF BYTE Additional user group ids if the user belongs to several groups byUserGroupCount BYTE Number of additional user groups bDeactivated BOOL Is the user deactivated
VisuUserManagement ¶ IVisuUserManagement (Interface) CheckLogin (Method) CheckLoginWithGroupID (Method) RegisterExternalUserDatabaseProvider (Method) IVisuUserManagement2 (Interface) LoginToUserGroup (Method) LoginToUserGroups (Method)
IVisuUserManagement (ITF) ¶ INTERFACE IVisuUserManagement Interface to the visu user management which can be used from an IEC application Methods: CheckLogin CheckLoginWithGroupID RegisterExternalUserDatabaseProvider Structure: CheckLogin (Method) CheckLoginWithGroupID (Method) RegisterExternalUserDatabaseProvider (Method)