RedundancyManager (FB) ¶ FUNCTION_BLOCK RedundancyManager Check the status of redundant CODESYS PLCs with RROFINET Controllers. Manage basic failure scenarios. The function block has to be defined in an unsychronized data area. The principle of PROFINET System Redundancy is a redundant pair of connections (called AR = Application Relation) between two separate controllers and a PROFINET Device. One of the ARs is Primary, the other one is Backup. Only the Primary AR has valid IO-Data. In case of a failure, an immediate switch-over between the ARs takes place, so the IO-data will stay valid without bump. The function block checks current status of the PLC redundancy and of the PROFINET Controllers. It provides a basic failure handling: - If the PLC Role is Active, then the PROFINET Controller will be Primary. - If the PLC Role is Standby, then the PROFINET Controller will be Backup. - If PLC Role is Standalone at startup time, then the PROFINET Controller on PLC 1 gets Primary. - If PLC Role switches to Standalone (redundancy link is broken or other is PLC offline), then the PROFINET Controller will keep it’s current role. - If a Primary Controllers ARs are aborted (complete shutdown or single AR abort), the Standby PLC will switch to Active and it’s PROFINET Controller will get Primary. - If a PROFINET Controller is faulty, the PLC will be switched to Simulation. InOut: Scope Name Type Comment Inout controller ProfinetController Output xRedundancyActive BOOL CODESYS PLC Redundancy is activated. PLC_ID INT PLC-ID = 1/2 if redundancy is activated. RedundancyState RDCY.RedundancyState Current state of CODESYS PLC Redundancy. xConnected BOOL Redundant PLCs can communicate via the configured redundancy link. xSync BOOL Redundant PLCs are synchronized, for details see RedundancyState output. xPrimary BOOL PROFINET Controller is Primary. xBackup BOOL PROFINET Controller is Backup.
SR_Mode (ENUM) ¶ TYPE SR_Mode : Attributes: qualified_only InOut: Name Initial S1 0 S2 1 R1 2 R2 3
ProfinetControllerDiag.GetBusInfo (METH) ¶ METHOD GetBusInfo : DED.ERROR Returns the bus information of the current node InOut: Scope Name Type Comment Return GetBusInfo DED.ERROR Inout buiInfo DED.BUS_INFO Bus information struct
ProfinetControllerDiag.GetBusState (METH) ¶ METHOD GetBusState : DED.BUS_STATE Returns the bus state of the current node; if device state is ERROR further information can be read by GetBusError InOut: Scope Name Type Comment Return GetBusState DED.BUS_STATE Output xDiagnosisInfoAvailable BOOL if true, diagnosis info can be read by calling GetBusDiagnosisInfo eError DED.ERROR
ProfinetControllerDiag.GetQoS (METH) ¶ METHOD GetQoS : DED.ERROR This method is not yet supported InOut: Scope Name Type Return GetQoS DED.ERROR Inout QualityInfo DED.QOS_INFO
ProfinetControllerDiag.GetSpecificBusState (METH) ¶ METHOD GetSpecificBusState : DED.ERROR Returns the fieldbus specific bus state; interpretation is fieldbus dependent InOut: Scope Name Type Comment Return GetSpecificBusState DED.ERROR Input pData CAA.PVOID Pointer to memory szSize CAA.SIZE Size of memory in bytes where pData is pointing to Output szCount CAA.SIZE Number of Bytes written to pData
IDevice2 ¶ CheckCurrentSupportedCommunicationState (Method) CheckSupportedCommunicationState (Method) GetDeviceDiagnosisInfo (Method) GetDeviceErrorAsync (Method) GetDeviceInfo (Method) GetDeviceState (Method) GetSpecificDeviceErrorAsync (Method) GetSpecificDeviceState (Method) SetCommunicationState (Method)
ProfinetControllerDiag.CheckCurrentSupportedCommunicationState (METH) ¶ METHOD CheckCurrentSupportedCommunicationState : BOOL Returns true if the driver in the current state supports the requested communications state The method CheckSupportedCommunicationState is used to check for the general availability of communications states Therefore the result of CheckCurrentSupportedCommunicationState and CheckSupportedCommunicationState could differ if the driver is for example in the startup procedure and not supporting currently some communication states. InOut: Scope Name Type Comment Return CheckCurrentSupportedCommunicationState BOOL Input eRequestedState DED.DEVICE_TRANSITION_STATE The communication state to check
ProfinetControllerDiag.CheckSupportedCommunicationState (METH) ¶ METHOD CheckSupportedCommunicationState : BOOL The implementation of this method returns true if the driver supports the requested communications state The application could query a driver to check if it is supporting specific communications states generally. The method CheckCurrentSupportedCommunicationState is used to check for the current state. Therefore the result of CheckCurrentSupportedCommunicationState and CheckSupportedCommunicationState could differ if the driver is for example in the startup procedure and not supporting currently some communication states. InOut: Scope Name Type Comment Return CheckSupportedCommunicationState BOOL Input eRequestedState DED.DEVICE_TRANSITION_STATE The communication state to check
ProfinetControllerDiag.NextSiblingNode (PROP) ¶ PROPERTY NextSiblingNode : DED.INode