VAR
    dwCycleTimeMainTask, dwCycleTimeSecTask:    DWORD;       
    dwIntervalMainTask, dwIntervalSecTask      :    DWORD;
    sNameMainTask, sNameSecTask                :    STRING;
    hFirstTask, hSecTask                       :    RTS_IEC_HANDLE;
    iecResult                                  :    RTS_IEC_RESULT;
    sAppName                                   :    STRING := 'Application';
    pIecInfo                                   :    POINTER TO CmpIecTask.Task_Info2;
END_VAR
hFirstTask := CmpIecTask.IecTaskGetFirst(pszAppName := ADR(sAppName), pResult := ADR(iecResult));
IF ((hFirstTask <> RTS_INVALID_HANDLE) AND (iecResult = CmpErrors.Errors.ERR_OK)) THEN
    pIecInfo := CmpIecTask.IecTaskGetInfo3(hIecTask := hFirstTask, pResult := ADR(iecResult));
    dwIntervalMainTask := pIecInfo^.dwInterval;

    dwCycleTimeMainTask := pIecInfo^.dwCycleTime;


    sNameMainTask := pIecInfo^.pszName^;
    hSecTask := IecTaskGetNext(pszAppName := ADR(sAppName), hPrevIecTask := hFirstTask, pResult := ADR(iecResult));
    IF ((hSecTask <> RTS_INVALID_HANDLE) AND (iecResult = CmpErrors.Errors.ERR_OK)) THEN
        pIecInfo := CmpIecTask.IecTaskGetInfo3(hIecTask := hSecTask, pResult := ADR(iecResult));
        dwIntervalSecTask := pIecInfo^.dwInterval;
        dwCycleTimeSecTask := pIecInfo^.dwCycleTime;
        sNameSecTask := pIecInfo^.pszName^;
    END_IF
END_IF