FTP

プログラムは、RoboDKからABBロボットへFTPを介して簡単に転送できます:

1.RoboDKのロボットを右クリックします

2.ロボットに接続…を選択

3.ロボットのIPを入力してください

4.リモートFTPパスを入力します。    
完全なパスは、ティーチペンダントまたはFileZilla FTPクライアントを使用して取得できます。

5.FTP資格情報を入力します(デフォルトで匿名)。

RoboDKのプログラムをロボットに送信する準備ができたら:

1.RoboDKでプログラムを右クリック

2.プログラムをロボットに送信(Ctrl+F6)を選択します     
これによりプログラムが生成され、ロボットコントローラへの転送が試行されます。FTP転送が成功したかどうかを表示するウィンドウがポップアップします。

Robots ABB - 画像 4Robots ABB - 画像 5

プログラムをその場でFTP経由で転送される場合、ロボット側はRAPIDプログラミングを使用してプログラムを読み込む必要があります。次の例では、MOD_Pick_and_placeというモジュールからmain_RoboDKプログラムを実行します:

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