Transferência de programas via FTP

Os programas podem ser facilmente transferidos via FTP do RoboDK para robôs ABB:

1.Clique com o botão direito do mouse no robô no RoboDK

2.Selecione Conectar ao robô...

3.Digite o IP do robô

4.Digite o caminho do FTP remoto.     
O caminho completo pode ser recuperado no pingente de ensino ou usando o FileZilla FTP Client.

5.Digite as credenciais de FTP (anônimas por padrão)

Quando o programa do RoboDK estiver pronto para ser enviado ao robô, você poderá enviar o programa ao robô:

1.Clique com o botão direito do mouse em um programa no RoboDK

2.Selecione Enviar programa para o robô (Ctrl+F6)
Isso gerará o programa e tentará transferi-lo para o controlador do robô. Aparecerá uma janela mostrando se a transferência FTP foi bem-sucedida ou não.

Robots ABB - Imagem 4Robots ABB - Imagem 5

Quando os programas são transferidos por FTP em tempo real, eles precisam ser carregados usando a programação RAPID no lado do robô. O exemplo a seguir executará o programa main_RoboDK a partir de um módulo chamado MOD_Pick_and_place:

MÓDULO RoboDK_FTP_Run_Program

    ! Digite o caminho para uma pasta com direitos de acesso de gravação. Exemplo:

    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, "Digite o programa a ser executado. Por exemplo: para executar Prog2 no módulo Prog2.mod, digite 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 "Iniciando o programa: " + path_module;

        Chame o programa principal do módulo enviado e carregado

        ! %"main_RoboDK"%;

        Chame o programa numerado (ele deve ter o mesmo efeito)

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

       

        TPWrite "Programa concluído";

    ENDPROC

ENDMODULE