DiagMessageFactory (FB) ¶ FUNCTION_BLOCK DiagMessageFactory A utility function block for resolving default error messages. (ChannelDiagnosisData.ChannelErrorType and ChannelDiagnosisData.ChannelErrorType.ExtChannelErrorType) The Profinet standard defines default messages for common error codes. This function block cannot resolve manufacturer specfic messages that are defined in the GSDML. Methods: TryGetDiagMessage Structure: TryGetDiagMessage (Method)
DiagMessageFactory.TryGetDiagMessage (METH) ¶ METHOD TryGetDiagMessage : BOOL This method returns the default error messages for a specific diagnosis (in standard format). If a matching default text is specified, the return value is TRUE. InOut: Scope Name Type Return TryGetDiagMessage BOOL Input channelDiag ChannelDiagnosisData Output sDiagMessage STRING sExtDiagMessage STRING
DiagnosisDataBuffer (FB) ¶ FUNCTION_BLOCK DiagnosisDataBuffer This function block is be used for reading the diagnosis data which is received from a profinet device. Example: check diagnosis data of a device PROGRAM PLC_PRG VAR diagBuffer : ProfinetCommon.DiagnosisDataBuffer ; slot : UINT ; channelError : ProfinetCommon.ChannelErrorType := 0 ; i : DINT ; END_VAR diagBuffer ( xEnable := TRUE , ID := pnDevice.ID , DiagnosisIndex := 0 ); // check diagnosis of device 'pnDevice' IF ( diagBuffer.UpdatedDiagnosis ) THEN // some diagnosis data changed ? FOR i := 0 TO diagBuffer.DiagnosisCount - 1 DO // iterate all diagnosis entries diagBuffer ( DiagnosisIndex := i ); // select next Diagnosis Entry that shall be shown in outputs IF ( diagBuffer.IsStandardFormat ) THEN //e.g slot 2 has channel error 'Line Break' slot := diagBuffer.Source.Slot ; channelError := diagBuffer.Diagnosis.ChannelErrorType ; END_IF END_FOR diagBuffer.DiagnosisIndex := 0 ; //reset to first entry END_IF InOut: Scope Name Type Comment Input xEnable BOOL enable operation ID DWORD Device ID DiagnosisIndex DINT selected DiagnosisIndex (range 0..DiagnosisCount) Output xBusy BOOL TRUE if function block is operating xError BOOL error occured, see STATUS output STATUS DWORD 0 = OK. UpdatedDiagnosis BOOL shadowed diagnosis data has been updated since last execution of this function block (e.g. an alarm has been received in the mean time) DiagnosisCount DINT number of diagnosis entries that are stored for this device IsStandardFormat BOOL The diagnosis information is in standard format, use the data in output Diagnosis. IsUSIFormat BOOL The diagnosis information is in USI format, use the data in output DiagnosisUSI. Source DiagnosisSource The diagnosis source is the information where the diagnosis is located on the device. Diagnosis ChannelDiagnosisData The diagnosis information in standard format. DiagnosisUSI DiagnosisInformationUSI The diagnosis information in USI format. UpdateTime DT The timestamp when this diagnosis has been updated (UTC time) or 0 if unknown.
SubmoduleState_AddInfo (ENUM) ¶ TYPE SubmoduleState_AddInfo : Attributes: qualified_only InOut: Name Initial Comment None 0 TakeoverNotAllowed 1 This Submodule is not available for takeover by IOSAR.
SubmoduleState_Detail (ENUM) ¶ TYPE SubmoduleState_Detail : Attributes: qualified_only InOut: Name Initial No_Submodule 0 Wrong_Submodule 1 LockedByIOController 2 ApplicationReadyPending 4 Substitute 7
SubmoduleState_IdentInfo (ENUM) ¶ TYPE SubmoduleState_IdentInfo : Attributes: qualified_only InOut: Name Initial OK 0 Substitute 1 Wrong 2 NoSubmodule 3
Util ¶ ProfinetByteData (FunctionBlock) Bit GetBit (Method) GetBitArea (Method) PutBit (Method) PutBitArea (Method) Byte GetBytes (Method) PutBytes (Method) Float GetFloat32 (Method) GetFloat64 (Method) PutFloat32 (Method) PutFloat64 (Method) InitData (Method) Integer GetInteger16 (Method) GetInteger32 (Method) GetInteger64 (Method) GetInteger8 (Method) GetUnsigned16 (Method) GetUnsigned32 (Method) GetUnsigned64 (Method) GetUnsigned8 (Method) PutInteger16 (Method) PutInteger32 (Method) PutInteger64 (Method) PutInteger8 (Method) PutUnsigned16 (Method) PutUnsigned32 (Method) PutUnsigned64 (Method) PutUnsigned8 (Method)
ProfinetByteData (FB) ¶ FUNCTION_BLOCK ProfinetByteData Utility class for reading writing Profinet datatypes. Methods: InitData GetBit GetBitArea GetBytes GetFloat32 GetFloat64 GetInteger16 GetInteger32 GetInteger64 GetInteger8 GetUnsigned16 GetUnsigned32 GetUnsigned64 GetUnsigned8 PutBit PutBitArea PutBytes PutFloat32 PutFloat64 PutInteger16 PutInteger32 PutInteger64 PutInteger8 PutUnsigned16 PutUnsigned32 PutUnsigned64 PutUnsigned8 Structure: Bit GetBit (Method) GetBitArea (Method) PutBit (Method) PutBitArea (Method) Byte GetBytes (Method) PutBytes (Method) Float GetFloat32 (Method) GetFloat64 (Method) PutFloat32 (Method) PutFloat64 (Method) InitData (Method) Integer GetInteger16 (Method) GetInteger32 (Method) GetInteger64 (Method) GetInteger8 (Method) GetUnsigned16 (Method) GetUnsigned32 (Method) GetUnsigned64 (Method) GetUnsigned8 (Method) PutInteger16 (Method) PutInteger32 (Method) PutInteger64 (Method) PutInteger8 (Method) PutUnsigned16 (Method) PutUnsigned32 (Method) PutUnsigned64 (Method) PutUnsigned8 (Method)
Bit ¶ GetBit (Method) GetBitArea (Method) PutBit (Method) PutBitArea (Method)
Byte ¶ GetBytes (Method) PutBytes (Method)