Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REGION Step 2 - Refresh device properties
- IF "ScanProfinet" = 1 THEN
- #si_RetExist := DeviceStates(LADDR := #LADDR,
- MODE := 4,
- STATE := #sa_Exist);
- #si_RetDisabled := DeviceStates(LADDR := #LADDR,
- MODE := 3,
- STATE := #sa_Disabled);
- #si_RetConfigure := DeviceStates(LADDR := #LADDR,
- MODE := 1,
- STATE := #sa_Configure);
- #si_RetFault := DeviceStates(LADDR := #LADDR,
- MODE := 2,
- STATE := #sa_Fault);
- #si_RetProblem := DeviceStates(LADDR := #LADDR,
- MODE := 5,
- STATE := #sa_Problem);
- ;
- ELSE
- RETURN;
- END_IF;
- END_REGION
- REGION Step3 - Saving error code
- #ti_CounterErrors := 0;
- FOR #ti_NrOfDevice := 0 TO 512 DO
- IF #sa_Configure[#ti_NrOfDevice] THEN
- #Diagnostic_Array[#ti_NrOfDevice].Configure := TRUE;
- IF #sa_Exist[#ti_NrOfDevice] THEN
- #Diagnostic_Array[#ti_NrOfDevice].Exist := FALSE;
- ;
- ELSE
- #Diagnostic_Array[#ti_NrOfDevice].Exist := TRUE;
- #ti_CounterErrors := #ti_CounterErrors + 1;
- ;
- END_IF;
- IF #sa_Disabled[#ti_NrOfDevice] = FALSE THEN
- #Diagnostic_Array[#ti_NrOfDevice].Enable := FALSE;
- ELSE
- #Diagnostic_Array[#ti_NrOfDevice].Enable := TRUE;
- #ti_CounterErrors := #ti_CounterErrors + 1;
- ;
- END_IF;
- IF #sa_Fault[#ti_NrOfDevice] = FALSE THEN
- #Diagnostic_Array[#ti_NrOfDevice].Faulty := FALSE;
- ELSE
- #Diagnostic_Array[#ti_NrOfDevice].Faulty := TRUE;
- #ti_CounterErrors := #ti_CounterErrors + 1;
- ;
- END_IF;
- IF #sa_Problem[#ti_NrOfDevice] = FALSE THEN
- #Diagnostic_Array[#ti_NrOfDevice].Problem := FALSE;
- ELSE
- #Diagnostic_Array[#ti_NrOfDevice].Problem := TRUE;
- #ti_CounterErrors := #ti_CounterErrors + 1;
- ;
- END_IF;
- ELSE
- #Diagnostic_Array[#ti_NrOfDevice].Configure := 0;
- END_IF;
- ;
- ;
- END_FOR;
- END_REGION
- REGION Step 4 - Error flag
- IF #ti_CounterErrors = 0 THEN
- #qx_Error := FALSE;
- "ScanProfinet" := FALSE;
- ;
- ELSE
- #qx_Error := TRUE;
- END_IF;
- END_REGION
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement