3S CANopenSafety Library Documentation ¶ Company 3S - Smart Software Solutions GmbH Title 3S CANopenSafety Version 3.5.14.0 Categories Intern|CANbus; Docs|Fieldbus|CAN Namespace _3SCOSS Author 3S - Smart Software Solutions GmbH Placeholder 3S CANopenSafety Description 1 ¶ CANopenSafety stack provided by 3S Smart Software Solutions GmbH. The stack uses the the unsecure CANopenStack as grey communication channel. Contents: ¶ _3SCANopenSafety BufferSizes (ParamList) Function Blocks Indices and tables ¶ 1 Based on _3SCANopenSafety.library, last modified 11.12.2018, 09:18:30. LibDoc 4.4.0.0-b.27 The content file _3SCANopenSafety.clean.json was generated with CODESYS V3.5 SP14 on 11.12.2018, 09:18:32.
_3SCANopenSafety ¶ BufferSizes (ParamList) Function Blocks CANRemoteDeviceSafe (FunctionBlock) Cyclic-Methods-state-independent Initialization State-Machine State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational CANopenManagerSIL2 (FunctionBlock)
BufferSizes (PARAMS) ¶ Library parameters for Tx and RxSRDO buffer sizes. High Limit defines the highest array index. Values will be set by the configurator. InOut: Scope Name Type Initial Comment Constant gc_TXSRDOBUFFER_HIGH_LIMIT BYTE 63 maximal number of TxSRDOs = gc_TXSRDOBUFFER_HIGH_LIMIT + 1 gc_RXSRDOBUFFER_HIGH_LIMIT BYTE 63 maximal number of RxSRDOs = gc_RXSRDOBUFFER_HIGH_LIMIT + 1
Function Blocks ¶ CANRemoteDeviceSafe (FunctionBlock) Cyclic-Methods-state-independent Initialization State-Machine State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational CANopenManagerSIL2 (FunctionBlock)
CANRemoteDeviceSafe (FB) ¶ FUNCTION_BLOCK CANRemoteDeviceSafe This function block implements the logic of a CANopen Safety Remote Device. All instances are managed by the CANopenManagerSIL2 in a simple chained list and called on StartBusCycle. The function block gets its SRDO config in SetupSDROs and has its own pointer to the Safety Exchange. Function block can be enabled/disabled by S_xEnable. When S_xEnable gets TRUE the function block checks every bus cycle all conditions for safe communication: Unsafe stack is in OPERATIONAL state CRCs read back from device are correct Consistency of SRDO configuration data If a configuration error is detected (e.g. CRC mismatch) S_eError changes from NO_ERROR to a corresponding error code. If every condition is fulfilled the function block tries starting safe communication. S_xActive gets TRUE if all SRDOs are sent/received at least one time without any error. When communication error occurs (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. 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) will be acknowledged on 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 pending error Structure: Cyclic-Methods-state-independent Initialization State-Machine State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational
Cyclic Methods (state independent) ¶ Methods called every cycle independent of state.
Initialization ¶ Methods for Initalization
State Machine ¶ Methods implementing the state machine. State Transitions States CheckConfiguration CheckConfiguration and Stopped Operational
CANopenManagerSIL2 (FB) ¶ FUNCTION_BLOCK CANopenManagerSIL2 EXTENDS CSB.CANopenSafetyBase This function block implements a CANopen Safety SIL2 I/O driver. The safe I/O driver is realized through a black channel approach. The safe driver sits on top of an unsafe CANopen Stack. Communication is realized over a shared memory. The manager function block manages all instances of CANRemoteDeviceSafe.
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 11.12.2018, 09:18:32 companyName string 3S-Smart Software Solutions GmbH libraryFile _3SCANopenSafety.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP14 contentFile _3SCANopenSafety.clean.json version version 2.0.0.0 ProjectInformation IsEndUserLibrary bool False Released True SIL2 True LastModificationDateTime date 11.12.2018, 09:18:30 LibraryCategories library-category-list Intern|CANbus; Docs|Fieldbus|CAN Author string 3S - Smart Software Solutions GmbH Company 3S - Smart Software Solutions GmbH DefaultNamespace _3SCOSS Description See: Description DocFormat reStructuredText LanguageModelAttribute qualified-access-only Placeholder 3S CANopenSafety Project _3SCANopenSafety Title 3S CANopenSafety Version version 3.5.14.0