Transférer les programmes par le FTP

Les programmes peuvent être facilement transférés via FTP depuis RoboDK pour les robots ABB :

1.Faire un clic droit sur le robot dans RoboDK

2.Sélectionner Connecter au Robot…

3.Entrer l’adresse IP du robot

4.Entrer le chemin FTP.
Le chemin complet peut être récupéré à partir du teach pendant ou en utilisant Filezilla FTP Client.

5.Entrer les informations d’authentification du FTP (par défaut anonymous)

Une fois qu’un programme RoboDK est prêt à être envoyé au robot :

1.Faire un clic droit sur un programme dans RoboDK

2.Sélectionner Envoyer programme au robot (Ctrl+F6)      
Cela générera le programme et tentera de le transférer au contrôleur robot. Une fenêtre apparaîtra si le transfert FTP a réussi ou non.

Robots ABB - Image 4 Robots ABB - Image 5

Lorsque les programmes sont transférés par FTP à la volée, ils doivent être chargés en utilisant la programmation RAPID côté robot. L’exemple suivant exécutera le programme main_RoboDK à partir d’un module appelé Mod_pick_and_place:

MODULE RoboDK_FTP_Run_Program

    ! Enter the path to a folder with write access rights. Example:

    CONST string PATH_ROBODK := "/hd0a/robot-serial-num/HOME/RoboDK";

   

    PERS string ftp_program_loaded := ";

   

    PROC Main()

        FTP_Run_Program;

    ENDPROC

   

    PROC FTP_Run_Program()

        var num module_id := -1;

        WHILE module_id <= 0 DO

            TPErase;

            TPReadNum module_id, "Enter the program to run. For example: to run Prog2 in Module Prog2.mod type 2.";

        ENDWHILE

        FTP_Run_Program_ID(module_id);

    ENDPROC

   

    PROC FTP_Run_Program_ID(num module_id)

        VAR string path_module := "";

        VAR string mod_to_unload;

        IF module_id <= 0 THEN

            RETURN;

        ENDIF       

       

        path_module := PATH_ROBODK + "/Prog" + NumToStr(module_id, 0) + ".mod";

        IF StrLen(ftp_program_loaded) > 0 THEN

            mod_to_unload := ftp_program_loaded;

            ftp_program_loaded := "";

            UnLoad mod_to_unload; 

        ENDIF       

 

        Load path_module;

        ftp_program_loaded := path_module;

 

        TPWrite "Starting program: " + path_module;

        ! call the main program from the module sent and loaded

        ! %"main_RoboDK"%;

        ! call the numbered program (it should have the same effect)

        %"Prog"+NumToStr(module_id,0)%;

       

        TPWrite "Program completed";

    ENDPROC

ENDMODULE