ChannelErrorType (ENUM) ¶ TYPE ChannelErrorType : Some standard channel-errors (defined by Profinet Specification) Attributes: qualified_only InOut: Name Initial Comment Short_circuit 16#1 Undervoltage 16#2 Overvoltage 16#3 Overload 16#4 Overtemperature 16#5 Line_break 16#6 Upper_limit_value_exceeded 16#7 Lower_limit_value_exceeded 16#8 Error 16#9 Simulation_active 16#A Parameter_missing 16#F The channel needs (additional) parameters. No or too less parameters are written Parameterization_fault 16#10 Parameterization fault. Wrong or too many parameters are written Power_supply_fault 16#11 Fuse_blown_or_open 16#12 Communication_fault 16#13 Communication fault. Sequence number wrong / sequence wrong Ground_fault 16#14 Reference_point_lost 16#15 Process_event_lost 16#16 process event lost / sampling error Threshold_warning 16#17 Output_disabled 16#18 FunctionalSafety_event 16#19 External_fault 16#1A Temporary_fault 16#1F Data_transmission_impossible 16#8000 Remote_Mismatch 16#8001 MRP_mismatch_Ring 16#8002 Sync_Mismatch 16#8003 IsochronousMode_mismatch 16#8004 Multicast_CR_mismatch 16#8005 Fiber_optic_mismatch 16#8007 Information for fiber optic links Network_component_function_mismatch 16#8008 Network functionality problems occur Time_mismatch 16#8009 Time master not existent or precision problems DFP_function_mismatch 16#800A Dynamic frame packing function mismatch MRPD_problems_occur 16#800B Media redundancy with planned duplication mismatch MRP_mismatch_Interconnection 16#800C Multiple_interface_mismatch 16#800D Information about multiple interface problems IOLD_Event 16#9500 Direct mapping of EventCode to ExtChannelErrorType IOLD_Event_gt0x8000 16#9501 Mapping of EventCode to ExtChannelErrorType with cleared MSB. Set MSB (EventCode) to ‘0’. IOL_Port_Event 16#9502 Example: EventCode 0x8005 mapped to ExtChannelErrorType 0x0005 Direct mapping of EventCode to ExtChannelErrorType
IoDrvCIFXProfiNet.ReleaseWRREC (METH) ¶ METHOD ReleaseWRREC : BOOL InOut: Scope Name Type Comment Return ReleaseWRREC BOOL Input id UDINT Inout client CommFB.WRREC oder interface CommFBFactoryClient ?
ChannelProperties (STRUCT) ¶ TYPE ChannelProperties : STRUCT Information on a specific channel InOut: Name Type Initial Comment ChannelType ChannelProperties_Type ChannelProperties_Type.Unspecified size / datatype of a channel (so far a matchingtype exists). Accumulative BOOL FALSE TRUE : the source is a channel group. FALSE : the source is a specific channel or the whole submodule Direction DiagnosisDirection DiagnosisDirection.Undefined The direction of the affected IO-data
PNSlaveDiag.Connector (PROP) ¶ PROPERTY Connector : POINTER TO IoConfigConnector
SubmoduleIterator (FB) ¶ FUNCTION_BLOCK SubmoduleIterator Iterator for the submodules (of a single profinet device) that are configured in the current application. Example: check all modules of a profinet device PROGRAM CheckModuleConfig VAR submodule : ProfinetCommon.SubmoduleInfo ; submodules : ProfinetCommon.SubmoduleIterator ; END_VAR //Note: 'pnDevice' is a node in the device tree. IF ( pnDevice.xModuleDiff ) THEN // there's a module missmatch ? submodules.InitByID ( pnDevice.ID ); // init. iterator with the device's ID WHILE ( submodules.Next ( submodule => submodule )) DO IF ( submodule.xStateInformation ) THEN //some valid info in SubmoduleState ? IF ( submodule.SubmoduleState.IdentInfo <> ProfinetCommon.SubmoduleState_IdentInfo.OK ) THEN ; //--> message 'Wrong Module' or sth. like that END_IF END_IF END_WHILE END_IF Example: get profinet submodule-status form a generic IDevice-object FUNCTION GetSubmoduleInfo : BOOL VAR_INPUT Device : DED.IDevice ; // Enable Device Diagnosis in PLC Settings ! END_VAR // Then every node in the device tree is an instance of IDevice VAR_OUTPUT Submodule : ProfinetCommon.SubmoduleInfo ; END_VAR VAR info : DED.DEVICE_INFO ; submodules : ProfinetCommon.SubmoduleIterator ; END_VAR IF ( Device <> 0 AND_THEN Device.GetDeviceInfo ( info ) = DED.ERROR.NO_ERROR ) THEN IF ( submodules.InitByID ( info.idSystem )) THEN // idSystem = CommFB - ID GetSubmoduleInfo := submodules.Next ( submodule => submodule ); END_IF END_IF InOut: Scope Name Type Comment Output xInit BOOL TRUE if the Iterator is initialized with valid data. Methods: InitByID Next Structure: InitByID (Method) Next (Method)
PNSlaveDiag.Enable (PROP) ¶ PROPERTY Enable : BOOL This property returns if the node is enabled in the device tree. The setter can be used to change the Enabled flag. If enabling/disabling is not supported on the node the flag’s value will not change.
SubmoduleIterator.InitByID (METH) ¶ METHOD InitByID : BOOL Initialize the Iterator. If a submodules’s ID is used, the iterator is moved to the specified submodule. InOut: Scope Name Type Comment Return InitByID BOOL Input ID DWORD ID of a profinet device or submodule.
PNSlaveDiag.FirstChildNode (PROP) ¶ PROPERTY FirstChildNode : DED.INode
SubmoduleIterator.Next (METH) ¶ METHOD Next : BOOL Move to the next submodule. Returns TRUE unless the end of the submodule list is reached. InOut: Scope Name Type Comment Return Next BOOL Output submodule SubmoduleInfo The data of the current submodule. (Valid if return value is TRUE)
PNSlaveDiag.Index (PROP) ¶ PROPERTY Index : UDINT