Master.ResetConnection (METH) ¶ METHOD ResetConnection : SAFEBOOL Function to reset a FSoE connection. The transition FSOETRANSITION.TO_RESET is set. The parameter S_byResetError overwrites the instance variable of the local error S_byLocalError. To reset the FSoE communication with transmission of the error, the Output FB function shall be called. InOut: Scope Name Type Comment Return ResetConnection BOOL Input S_byResetError BYTE Error code for the connection reset
Slave (FB) ¶ FUNCTION_BLOCK Slave The FSoEBase Slave FB implements the slave side of the FSoE protocol. The communication is established from the master side and the slave side receives the corresponding configuration and establishes the communication with the master with the specified parameters. The FSoE watchdog time, for example, is specified by the master side. With the call of the FB no execution is done, the flow control of the FSoE communication is executed by calling the functions of the FB. InOut: Scope Name Type Initial Comment Output S_eState FSOESTATE FSoE state S_uiFWDT UINT from Master received F-WatchdogTime S_uiConnId UINT from FSoE master received unique connection id S_xCheckParameterEvent BOOL event to check the stored application parameter. ATTN: Must be done before the method output is called! S_xProcessData BOOL FALSE true, if the FSoE communication is established and valid FSoE frame with command PPROCESSDATA is received. S_byLocalError BYTE FSOEDIAG.LOCALRESET local fault reason S_byMasterError BYTE FSOEDIAG.LOCALRESET the reported error from the FSoE master Methods: Init Input Output ResetConnection Structure: Init (Method) Input (Method) Output (Method) ResetConnection (Method)
Slave.Init (METH) ¶ METHOD Init : SAFEBOOL Function for initialization of the FSoE communication. The communication parameters, the own configured FSoE address, a buffer for the expected application parameters, as well as the length of the send and receive FSoE PDUs are passed as parameters and checked for plausibility. If a plausibilty check fails, the error code is stored in the instance variable S_byLocalError, the FSoE state changes to FSOESTATE.ERROR and the function returns with FALSE. If all plausibility checks are successful, the function returns with TRUE and all input values are stored in the corresponding instance variables. The minimum of the user data is calculated from the lengths of the FSoE PDUS and assigned to the instance variable _uiMinFrameDataSize. This function must be called once at the start of the application. InOut: Scope Name Type Initial Comment Return Init BOOL Input S_uiFSoEAddr UINT Own FSoE device slave address S_uiSendFrameLen UINT Send FSoE frame telegram length S_uiRecvFrameLen UINT Receive FSoE frame telegram length S_pbyAppParam POINTER TO SAFEBYTE 0 Pointer to the optional application parameter buffer, default no application parameter buffer S_uiAppParamSize UINT 0 Size of the optional application parameter buffer
Slave.Input (METH) ¶ METHOD Input : SAFEBOOL Function for temporal monitoring and to handle a received FSoE PDU. The return value of the function indicates if the FB state has changed. The input parameter S_pbyRecvFrame is the reference to a received FSoE PDU with the initialized length S_uiRecvFrameLen. If no new FSoE PDU has been received since the last call, only the check for a timeout regarding the FSoE communication is performed. S_pbyRecvFrame can either be NULL or point to the last FSoE PDU received. If an timeout error has occurred the transition FSOETRANSITION.TO_RESET is set according to the standard with the local error message FSOEDIAG.WDEXPIRED and the function returns with TRUE according to the FB state change. If no timeout error has occurred, the transferred FSoE PDU is checked FOR a change compared to the last call. In case of an unchanged FSoE PDU (no new FSoE PDU received) the state of the FB is unchanged and the function returns with FALSE. In the case of a changed FSoE PDU this is evaluated and a corresponding transition is set according to the protocol specification and the function returns with TRUE. If the function returns with TRUE, the output parameters S_byMasterError, S_uiFWDT and S_xCheckParameterEvent are updated. If the transmission of the communication and application parameters from the master to the slave is completed, i.e. the slave receives the first FSoE PDU with the FSoE command FSOECMD.PROCESSDATA or FSOECMD.FAILSAFEDATA and the check of the plausibility of the receipt of communication and application parameters is valid, then the received monitoring time of the communication at the output S_uiFWD, as well as the flag S_xCheckParameterEvent is set. With the set flag S_xCheckParameterEvent the user is requested to check the set monitoring time and also the application parameters for their validity. In case of an error, the function ResetConnection shall be called with the corresponding error code before the function Output is called, in order to reset the FSoE communication with a corresponding error message. This function shall be called cyclically so that a temporal monitoring of the FSoE communication is ensured. InOut: Scope Name Type Return Input BOOL Input S_pbyRecvFrame POINTER TO SAFEBYTE
Slave.Output (METH) ¶ METHOD Output : SAFEBOOL Function to send a FSoE PDU The output data of the application shall be mapped into the user data area of the FSoE PDU of the transmit buffer and the input parameter S_xUseFailSafeData shall be used to mark the validity of the mapped user data. If no valid transition is set the function returns immediately with FALSE. The transition is executed according to the FSoE specification, such as generating an FSoE PDU to send, executing a state change, etc. With the return value TRUE a generated FSoE PDU is ready for sending in the send buffer, in the case of FALSE however not. In all cases an active transition (_eTransition = FSOETRANSITION.NOTPEDING) is reset after the call and the state of the FB (S_eState) is updated. This function shall be called after a successfull call of the function Input. InOut: Scope Name Type Comment Return Output BOOL Input S_pbySendFrame POINTER TO SAFEBYTE Pointer to the send FSoE PDU with the already mapped data of the application S_xUseFailSafeData BOOL Flag that indicates the validity of the mapped output data
Slave.ResetConnection (METH) ¶ METHOD ResetConnection : SAFEBOOL Function to reset a FSoE connection. The transition FSOETRANSITION.TO_RESET is set. The parameter S_byResetError overwrites the instance variable of the local error S_byLocalError. To reset the FSoE communication with transmission of the error, the Output FB function shall be called. The function stops the temporal monitoring. InOut: Scope Name Type Comment Return ResetConnection BOOL Input S_byResetError BYTE Error code for the connection reset
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 12.04.2022, 12:29:19 companyName string 3S-Smart Software Solutions GmbH libraryFile FSoEBase.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 1 contentFile FSoEBase.clean.json version version 2.0.0.0 ProjectInformation AutoResolveUnbound bool True Released True SIL2 True LastModificationDateTime date 12.04.2022, 12:29:19 LibraryCategories library-category-list Application|Safety SIL2 Author string 3S - Smart Software Solutions GmbH Company 3S - Smart Software Solutions GmbH CompiledLibraryCompatibilityVersion CODESYS V3.5 SP16 DefaultNamespace FSoEBase Description See: Description LanguageModelAttribute qualified-access-only Placeholder FSoEBase Project FSoEBase Title FSoEBase for CODESYS Safety SIL2 UnitTestingDefine FSoEBaseTesting Version version 3.5.18.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces.
ENUM61850_BASIC_TYPES (ENUM) ¶ TYPE ENUM61850_BASIC_TYPES : InOut: Name Initial ENUM61850_BASIC_TYPE_BYTE 0 ENUM61850_BASIC_TYPE_WORD 1 ENUM61850_BASIC_TYPE_DWORD 2
Data types ¶ ENUM61850_BASIC_TYPES (Enum) ENUM61850_CLOCK_SYNC_MODE (Enum) IEC61850 AttributeTypen IEC61400 Special tyIEC61850_AT_APC (Struct) tyIEC61850_AT_APC1 (Struct) tyIEC61850_AT_INC (Struct) tyIEC61850_AT_INC1 (Struct) tyIEC61850_AT_INS (Struct) tyIEC61850_AT_SPC (Struct) IEC61850 Control tyIEC61850_AT_APC_Operate (Struct) tyIEC61850_AT_APC_Operate_SP (Struct) tyIEC61850_AT_BSC_Operate (Struct) tyIEC61850_AT_DPC_Operate (Struct) tyIEC61850_AT_INC_Operate (Struct) tyIEC61850_AT_ISC_Operate (Struct) tyIEC61850_AT_SPC_Operate (Struct) tyIEC61850_AT_AnalogueValue (Struct) tyIEC61850_AT_AnalogueValue_Struct (Struct) tyIEC61850_AT_BOOLEAN (Alias) tyIEC61850_AT_CODED_ENUM (Alias) tyIEC61850_AT_Check (Alias) tyIEC61850_AT_DstAddress (Struct) tyIEC61850_AT_ENUMERATED (Alias) tyIEC61850_AT_ENUM_CtlModels (Enum) tyIEC61850_AT_ENUM_MODE (Enum) tyIEC61850_AT_ENUM_SboClass (Enum) tyIEC61850_AT_EntryTime (Struct) tyIEC61850_AT_FLOAT32 (Alias) tyIEC61850_AT_INT128 (Alias) tyIEC61850_AT_INT16 (Alias) tyIEC61850_AT_INT16U (Alias) tyIEC61850_AT_INT32 (Alias) tyIEC61850_AT_INT32U (Alias) tyIEC61850_AT_INT8 (Alias) tyIEC61850_AT_INT8U (Alias) tyIEC61850_AT_Octet255 (Alias) tyIEC61850_AT_Octet64 (Alias) tyIEC61850_AT_Origin (Struct) tyIEC61850_AT_POINT (Struct) tyIEC61850_AT_PulseConfig (Struct) tyIEC61850_AT_Quality (Alias) tyIEC61850_AT_RANGECONFIG (Struct) tyIEC61850_AT_ScaledValConfig (Struct) tyIEC61850_AT_StatusValue_Struct (Struct) tyIEC61850_AT_TimeStamp (Struct) tyIEC61850_AT_UCSTRING255 (Alias) tyIEC61850_AT_UINT32 (Alias) tyIEC61850_AT_UNIT (Struct) tyIEC61850_AT_VECTOR (Struct) tyIEC61850_AT_ValWithTrans (Struct) tyIEC61850_AT_VisSTRING129 (Alias) tyIEC61850_AT_VisSTRING255 (Alias) tyIEC61850_AT_VisSTRING32 (Alias) tyIEC61850_AT_VisSTRING64 (Alias) tyIEC61850_AT_VisSTRING65 (Alias) DataClass IEC61850_ENUM_ATTR_NAMES (Enum) tyIEC61850_DataPoint (Struct) ENUM61850_DataPoint_Type (Enum) ENUM61850_SIM_MODE (Enum) ENUM_TYPES IEC61850_ENUM_DA_ALM_STATE (Enum) IEC61850_ENUM_DA_ANGID (Enum) IEC61850_ENUM_DA_ANGIDCMV (Enum) IEC61850_ENUM_DA_ANGLEREFERENCEKIND (Enum) IEC61850_ENUM_DA_ASS_STVAL (Enum) IEC61850_ENUM_DA_BEH (Enum) IEC61850_ENUM_DA_CBOPCAP (Enum) IEC61850_ENUM_DA_CMDQUAL (Enum) IEC61850_ENUM_DA_CONTROLOUTPUTKIND (Enum) IEC61850_ENUM_DA_CTE_HISRS (Enum) IEC61850_ENUM_DA_CTE_RSPER (Enum) IEC61850_ENUM_DA_CTLMODELKIND (Enum) IEC61850_ENUM_DA_CTLMODELS (Enum) IEC61850_ENUM_DA_CURVECHARKIND (Enum) IEC61850_ENUM_DA_DAWEEKDAYKIND (Enum) IEC61850_ENUM_DA_DBPOS (Enum) IEC61850_ENUM_DA_DIR (Enum) IEC61850_ENUM_DA_DIRMOD (Enum) IEC61850_ENUM_DA_ENUMERATED (Enum) IEC61850_ENUM_DA_FAILMOD (Enum) IEC61850_ENUM_DA_FANCTL (Enum) IEC61850_ENUM_DA_FAULTDIRECTIONKIND (Enum) IEC61850_ENUM_DA_GNST (Enum) IEC61850_ENUM_DA_HEALTH (Enum) IEC61850_ENUM_DA_HVID (Enum) IEC61850_ENUM_DA_HVREFERENCEKIND (Enum) IEC61850_ENUM_DA_LEVMOD (Enum) IEC61850_ENUM_DA_LIVDEAMOD (Enum) IEC61850_ENUM_DA_MOD (Enum) IEC61850_ENUM_DA_MONTHKIND (Enum) IEC61850_ENUM_DA_MULTIPLIER (Enum) IEC61850_ENUM_DA_MULTIPLIERKIND (Enum) IEC61850_ENUM_DA_OCCURRENCEKIND (Enum) IEC61850_ENUM_DA_OPMOD (Enum) IEC61850_ENUM_DA_ORCAT (Enum) IEC61850_ENUM_DA_ORIGINATORCATEGORYKIND (Enum) IEC61850_ENUM_DA_PERIODKIND (Enum) IEC61850_ENUM_DA_PHASEANGLEREFERENCEKIND (Enum) IEC61850_ENUM_DA_PHASEFAULTDIRECTIONKIND (Enum) IEC61850_ENUM_DA_PHASEREFERENCEKIND (Enum) IEC61850_ENUM_DA_PHSID (Enum) IEC61850_ENUM_DA_POLQTY (Enum) IEC61850_ENUM_DA_POWCAP (Enum) IEC61850_ENUM_DA_RANGE (Enum) IEC61850_ENUM_DA_RANGEKIND (Enum) IEC61850_ENUM_DA_RETRMOD (Enum) IEC61850_ENUM_DA_RSTMOD (Enum) IEC61850_ENUM_DA_RVAMOD (Enum) IEC61850_ENUM_DA_SBOCLASSES (Enum) IEC61850_ENUM_DA_SBOCLASSKIND (Enum) IEC61850_ENUM_DA_SCHTYP (Enum) IEC61850_ENUM_DA_SEQT (Enum) IEC61850_ENUM_DA_SEQUENCEKIND (Enum) IEC61850_ENUM_DA_SETCHARACT (Enum) IEC61850_ENUM_DA_SEV (Enum) IEC61850_ENUM_DA_SEVERITYKIND (Enum) IEC61850_ENUM_DA_SHOPCAP (Enum) IEC61850_ENUM_DA_SIUNIT (Enum) IEC61850_ENUM_DA_SIUNITKIND (Enum) IEC61850_ENUM_DA_SPV_CHAPERRS (Enum) IEC61850_ENUM_DA_SPV_SPACS (Enum) IEC61850_ENUM_DA_SWOPCAP (Enum) IEC61850_ENUM_DA_SWTYP (Enum) IEC61850_ENUM_DA_TCMD (Enum) IEC61850_ENUM_DA_TMS_HISRS (Enum) IEC61850_ENUM_DA_TMS_RSPER (Enum) IEC61850_ENUM_DA_TRGMOD (Enum) IEC61850_ENUM_DA_TRMOD (Enum) IEC61850_ENUM_DA_TYPRSCRV (Enum) IEC61850_ENUM_DA_UNBLKMOD (Enum) IEC61850_ENUM_DA_WEIMOD (Enum) GOOSE IEC61850_GOOSE_MReq (Struct) tyIEC61850_GOOSEMsg (Struct) IEC61850_CLIENT_ACCEPT (Struct) IEC61850_ENUM_ASN1_TAGS (Enum) IEC61850_ENUM_ELEMENTTYP (Enum) IEC61850_ENUM_FC (Enum) IEC61850_ENUM_MMS_DataType (Enum) IEC61850_ENUM_SERVICES (Enum) IEC61850_ENUM_TRGOPT (Enum) IEC61850_EthernetAdapter (Struct) IEC61850_HistDataBuffer_In (Struct) IEC61850_TimeStampR (Struct) MMS IEC61850_ENUM_MMS_CONFIRMED_REQ_PDU (Enum) IEC61850_ENUM_MMS_CONFIRMED_RESP_PDU (Enum) IEC61850_ENUM_MMS_OBJECTCLASS (Enum) IEC61850_ENUM_MMS_PDU (Enum) IEC61850_ENUM_QUALITY (Enum) tyIEC61850_MMS_DataExchange (Struct) tyIEC61850_MMS_Initiate (Struct) tyIEC61850_ASN1_Header (Struct) tyIEC61850_DataSetRef (Struct) tyIEC61850_GOOSE_Check (Struct) tyIEC61850_SubsDataBlock (Struct) tyIEC61850_SubsDataPoint (Struct) IEC61850_DateTime (Struct) IEC61850_SimpleClock (Struct) ISO tyISO8073_BlockHeader (Struct) tyISO8073_ClientPara (Struct) tyISO8073_PDU (Struct) tyISO8327_BlockHeader (Struct) tyISO8327_ClientData (Struct) tyISO8327_Connect_AcceptItem (Struct) tyISO8327_ConnectionIdent (Struct) tyISO8650_UserInfoData (Struct) tyISO8823_CP_Type (Struct) tyISO8823_ContextList (Struct) tyISO8823_ContextName (Struct) tyISO8823_DataUser (Struct) tyISO8823_NormalModePara (Struct) tyISO_BlockHeader (Struct) tyISO_SPDU (Struct)