Rivet Page

mail@pastecode.io avatar
unknown
pascal
a year ago
3.0 kB
0
Indexable
Never
REGION HMI Button enables
    //prepare hmi button enable
    "DB_05HMICom".stHMIData.udtRivetData.xButtonEnabled := "DB_StationGeneral".ProtLevel.xProtLevel1
        AND "DB_FG13Actuators".udtRobot02.xInPosHome
        AND "DB_FG14Actuators".udtRobot03.xInPosHome
        AND "DB_FG".SiGen.xFTSetupMode;
END_REGION ;
    
REGION Show rivet position nests block data
    //show rivet position nests block data
    IF "DB_FG".SiGen.xAutoOn OR ("DB_FG".SiGen.xFTSetupMode AND "DB_05HMICom".stHMIData.udtRivetData.xButtonRefresh) THEN
        "DB_05HMICom".stHMIData.udtRivetData.archRivetStateTurnTable := "DB_08PartProcessData".ArudtPaDaBlockTurnTable["DB_01FGCom".stFG.udtFG24.ariNestNoAtPos["CiNo02StatOnTT_FG10_StationRivertCB"]].udtPDTInternalDataRivetBlock.archRivetState;
        "DB_05HMICom".stHMIData.udtRivetData.archRivetStateTempStorage := "DB_08PartProcessData".UdtPaDaBlockTempStor.udtPDTInternalDataRivetTemp.archRivetState;
    END_IF;
    
    IF "DB_05HMICom".stHMIData.udtRivetData.archRivetStateTurnTable <> "DB_08PartProcessData".ArudtPaDaBlockTurnTable["DB_01FGCom".stFG.udtFG24.ariNestNoAtPos["CiNo02StatOnTT_FG10_StationRivertCB"]].udtPDTInternalDataRivetBlock.archRivetState
        OR "DB_05HMICom".stHMIData.udtRivetData.archRivetStateTempStorage <> "DB_08PartProcessData".UdtPaDaBlockTempStor.udtPDTInternalDataRivetTemp.archRivetState THEN
        "DB_05HMICom".stHMIData.udtRivetData.xStateDifferences := true;
    ELSE
        "DB_05HMICom".stHMIData.udtRivetData.xStateDifferences := false;
    END_IF;
END_REGION ;

REGION HMI button actions
    //write altered data, store eks number
    IF "DB_05HMICom".stHMIData.udtRivetData.xButtonPressed
        AND NOT "DB_05HMICom".stHMIData.udtRivetData.xfpButtonPressed
        AND "DB_05HMICom".stHMIData.udtRivetData.xButtonEnabled
    THEN
        REGION Store EKS number 
            "FC_EKSIDToStringOEM"(iqstrEKSID := #tstrEKSID, iudtHmiProInterface := "DB_LTLP_HMIProInterfaceData");
            Strg_TO_Chars(Strg := #tstrEKSID, pChars := 0, Cnt => #tdiCnt, Chars := "DB_02InterPersi".archEKSNumbers[0]);
        END_REGION ;
        "DB_08PartProcessData".ArudtPaDaBlockTurnTable["DB_01FGCom".stFG.udtFG24.ariNestNoAtPos["CiNo02StatOnTT_FG10_StationRivertCB"]].udtPDTInternalDataRivetBlock.archRivetState := "DB_05HMICom".stHMIData.udtRivetData.archRivetStateTurnTable;
        "DB_08PartProcessData".UdtPaDaBlockTempStor.udtPDTInternalDataRivetTemp.archRivetState := "DB_05HMICom".stHMIData.udtRivetData.archRivetStateTempStorage;
        REGION Shift EKS numbers in tabelle
            FOR #tiI := "CiMaxStoredEKSNo" TO 1 BY -1 DO
                "DB_02InterPersi".archEKSNumbers[#tiI] := "DB_02InterPersi".archEKSNumbers[#tiI - 1];
            END_FOR;
        END_REGION ;
        "DB_05HMICom".stHMIData.udtRivetData.xfpButtonPressed := TRUE;
    END_IF;
END_REGION ;

"DB_05HMICom".stHMIData.udtRivetData.xfpButtonPressed := "DB_05HMICom".stHMIData.udtRivetData.xButtonPressed;