1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. KUKA Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Kuka KRC4 Automatic Archive Backup

  • Latoff
  • May 8, 2021 at 7:56 PM
  • Thread is Unresolved
  • Latoff
    Trophies
    3
    Posts
    16
    • May 8, 2021 at 7:56 PM
    • #1

    Hello guys,

    I ve read the previous discussions, still they do not answer the question, what is the way to make Kuka KRC4 ( KSS 8.6.6 )to automatically store the backup in Archive file.

    The Backup Manager does store automatic, but only project and kop files.

    For my purpose to trigger the Archive Backup would be fine, but again Kukas function triggers BackupManager and stores the project. In BackupManager.exe i didnt find the required option.

    I know that VKRC has an option to trigger Archive backup externally, any suggestion how to implement it on KRC (without payed pluggins "KukaAutomaticBackupTech":) )

    Thanks for suggestions!

    Edited once, last by Latoff (May 11, 2021 at 9:29 AM).

  • Latoff
    Trophies
    3
    Posts
    16
    • May 11, 2021 at 9:32 AM
    • #2

    Sorry , guys, can you please give me any advice? I guess it is quit common issue. Just short answer is there some native function of Kuka or how can it approximately done from KRL would be already great.

    Thanks!

  • Fubini
    Reactions Received
    272
    Trophies
    9
    Posts
    1,873
    • May 11, 2021 at 10:32 AM
    • #3

    Probably there is no KRL function. KRL primarily is interfacing to the real-time controller on VxWorks. Archive is handled by the UI on Windows side. Also I do not remember ever seeing a tool for automatically shedules archives.

    Fubini

  • SkyeFire
    Reactions Received
    1,044
    Trophies
    12
    Posts
    9,391
    • May 11, 2021 at 3:11 PM
    • #4

    Several years ago, I had an AutoIT script that would automate the Archive function for KSS 5.x, and later for KSS 8.x. It used the Windows Task Scheduler to execute periodically, and worked well. But at some point between KSS 8.2 and KSS 8.3 (probably at the change from WinXP to Win7), the Windows Task Scheduler quit working, even though the script still worked if executed manually. I never did manage to fix the Task Scheduler issue.

    This code hasn't been tested in quite some time, and of course, as a homebrew tool, it's definitely something you use at your own risk. Newer KSS versions may have moved some of the menus around, so the simulated mouse motions may no longer be correct.

    The script depends on the default Archive location having been set to D:\Backups\, and the wildcard for the file name needs to be adjusted on a case-by-case basis.

    C
    ; AutoIT script to auto-backup KRC controllers in a journaling fashion
    ; v1.3
    ; v1.3 uses FileFindFirstFile and FileFindNextFile to get around the fact that FileExists cannot use Regular Expressions
    ; v1.5 Modified to work with KRC4, interface had to be changed from hotkeys to mouse movements
    ; v1.5.4 Modified to use remote drive on network
    ; v1.6.0 Modified to use robot's built-in History, and not wait for SmartHMI
    #include <Date.au3> ;
    #include <File.au3> ;
    
    $LatestArchiveMask    = "S?_?ML_????_???????.zip" ; wildcard to find new backup as set in KRCConfigurator, before the date.time has been appended
    $LatestArchive        = ""
    $ArchivePath           = "D:\Backups\" ; Path that KRCConfigurator will be set to save the Archive to.  Does not need to be Default
    $ArchiveName           = ""
    $BackupRoot              = "D:\"
    $EarlierArchivesMask  = ""
    $ArchiveDestination   = ""
    $Overwrite            = 1                ; fake Enum
    $No_Overwrite         = 0                ; fake Enum
    $Extension            = ""
    $FileTime             = ""
    ;$RemotePath           = "E:\"            ; KRC4 Cabinet USB drive default
    ;$RemotePath2          = "K:\"            ; KRC4 SmartPad USB default
    $ItDoesExist          = False
    $szDrive              = ""
    $SzDir                = ""
    $szFName              = ""
    $szExt                = ""
    $LogFileName          = "JournalBackup.Log"
    $AgeLimit              = 30 ; max age of archives to retain, in Days
    
    Dim $RemotePath[3]
    $RemotePath[0] = "E:\" ; KRC4 Cabinet USB Drive default letter
    $RemotePath[1] = "K:\" ; KRC4 SmartPad USB Default latter
    $RemotePath[2] = "S:\" ; remote network drive
    
    $LogFileHandle = FileOpen ($ArchivePath & "\" & $LogFileName, 2) ; open logfile in erase-rewrite mode
    
    FileWriteLine ($LogFileHandle, LogDateStamp () & "." & LogTimeStamp () & ":  JournalBackup Script Started")
    
    ;Warn users that the robot will start acting on its own and ensures that the Kuka HMI is the focus of the screen
    Local $answer = MsgBox(48, "Kuka Ghost", "Please do not touch this robot, it will now execute an automatic function" &@CRLF& "Fonction automatique en cours d'exécution, ne pas toucher SVP" , 5)
    sleep(200)
    WinActivate("SmartHMI")
    
    ;Presses the Main Menu button
    WinActivate("SmartHMI")
    sleep(200)
    MouseMove(10,27,0)
    MouseClick("Primary")
    
    ;Presses the "Home" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(74,157,0)
    MouseClick("Primary")
    
    ;Presses the "File" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(125,222,0)
    MouseClick("Primary")
    
    ;Presses the "Archive" button
    WinActivate("SmartHMI")
    sleep(200)
    MouseMove(294,262,0)
    MouseClick("Primary")
    
    ;Presses the "Network" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(469,302,0)
    MouseClick("Primary")
    
    ;Presses the "All" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(463,222,0)
    MouseClick("Primary")
    
    ;Presses the "Yes" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(260,459,0)
    MouseClick("Primary")
    
    FileWriteLine ($LogFileHandle, LogTimeStamp () & ": Triggered KRC Archive-All process, waiting for new Archive to exist")
    
    Exit
    
    ;================================================================================================
    
    Func LogTimeStamp ()
        Return @HOUR & "." & @MIN & "." & @SEC
    EndFunc
    Func LogDateStamp ()
        Return @YEAR & "/" & @MON & "/" & @MDAY
    EndFunc
    Display More

    What are you trying to accomplish with this automated backup? If you only need to track program changes, you could make the C/KRC/R1 directory network-readable, and use a script on a remote computer to pull the programs periodically.

  • haiyanglove
    Trophies
    3
    Posts
    11
    • May 11, 2021 at 3:49 PM
    • #5

    use network backup

  • Latoff
    Trophies
    3
    Posts
    16
    • May 11, 2021 at 4:15 PM
    • #6
    Quote from SkyeFire

    Several years ago, I had an AutoIT script that would automate the Archive function for KSS 5.x, and later for KSS 8.x. It used the Windows Task Scheduler to execute periodically, and worked well. But at some point between KSS 8.2 and KSS 8.3 (probably at the change from WinXP to Win7), the Windows Task Scheduler quit working, even though the script still worked if executed manually. I never did manage to fix the Task Scheduler issue.

    This code hasn't been tested in quite some time, and of course, as a homebrew tool, it's definitely something you use at your own risk. Newer KSS versions may have moved some of the menus around, so the simulated mouse motions may no longer be correct.

    The script depends on the default Archive location having been set to D:\Backups\, and the wildcard for the file name needs to be adjusted on a case-by-case basis.

    C
    ; AutoIT script to auto-backup KRC controllers in a journaling fashion
    ; v1.3
    ; v1.3 uses FileFindFirstFile and FileFindNextFile to get around the fact that FileExists cannot use Regular Expressions
    ; v1.5 Modified to work with KRC4, interface had to be changed from hotkeys to mouse movements
    ; v1.5.4 Modified to use remote drive on network
    ; v1.6.0 Modified to use robot's built-in History, and not wait for SmartHMI
    #include <Date.au3> ;
    #include <File.au3> ;
    
    $LatestArchiveMask    = "S?_?ML_????_???????.zip" ; wildcard to find new backup as set in KRCConfigurator, before the date.time has been appended
    $LatestArchive        = ""
    $ArchivePath           = "D:\Backups\" ; Path that KRCConfigurator will be set to save the Archive to.  Does not need to be Default
    $ArchiveName           = ""
    $BackupRoot              = "D:\"
    $EarlierArchivesMask  = ""
    $ArchiveDestination   = ""
    $Overwrite            = 1                ; fake Enum
    $No_Overwrite         = 0                ; fake Enum
    $Extension            = ""
    $FileTime             = ""
    ;$RemotePath           = "E:\"            ; KRC4 Cabinet USB drive default
    ;$RemotePath2          = "K:\"            ; KRC4 SmartPad USB default
    $ItDoesExist          = False
    $szDrive              = ""
    $SzDir                = ""
    $szFName              = ""
    $szExt                = ""
    $LogFileName          = "JournalBackup.Log"
    $AgeLimit              = 30 ; max age of archives to retain, in Days
    
    Dim $RemotePath[3]
    $RemotePath[0] = "E:\" ; KRC4 Cabinet USB Drive default letter
    $RemotePath[1] = "K:\" ; KRC4 SmartPad USB Default latter
    $RemotePath[2] = "S:\" ; remote network drive
    
    $LogFileHandle = FileOpen ($ArchivePath & "\" & $LogFileName, 2) ; open logfile in erase-rewrite mode
    
    FileWriteLine ($LogFileHandle, LogDateStamp () & "." & LogTimeStamp () & ":  JournalBackup Script Started")
    
    ;Warn users that the robot will start acting on its own and ensures that the Kuka HMI is the focus of the screen
    Local $answer = MsgBox(48, "Kuka Ghost", "Please do not touch this robot, it will now execute an automatic function" &@CRLF& "Fonction automatique en cours d'exécution, ne pas toucher SVP" , 5)
    sleep(200)
    WinActivate("SmartHMI")
    
    ;Presses the Main Menu button
    WinActivate("SmartHMI")
    sleep(200)
    MouseMove(10,27,0)
    MouseClick("Primary")
    
    ;Presses the "Home" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(74,157,0)
    MouseClick("Primary")
    
    ;Presses the "File" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(125,222,0)
    MouseClick("Primary")
    
    ;Presses the "Archive" button
    WinActivate("SmartHMI")
    sleep(200)
    MouseMove(294,262,0)
    MouseClick("Primary")
    
    ;Presses the "Network" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(469,302,0)
    MouseClick("Primary")
    
    ;Presses the "All" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(463,222,0)
    MouseClick("Primary")
    
    ;Presses the "Yes" button
    WinActivate("SmartHMI")
    sleep(200)
    mousemove(260,459,0)
    MouseClick("Primary")
    
    FileWriteLine ($LogFileHandle, LogTimeStamp () & ": Triggered KRC Archive-All process, waiting for new Archive to exist")
    
    Exit
    
    ;================================================================================================
    
    Func LogTimeStamp ()
        Return @HOUR & "." & @MIN & "." & @SEC
    EndFunc
    Func LogDateStamp ()
        Return @YEAR & "/" & @MON & "/" & @MDAY
    EndFunc
    Display More

    What are you trying to accomplish with this automated backup? If you only need to track program changes, you could make the C/KRC/R1 directory network-readable, and use a script on a remote computer to pull the programs periodically.

    Oh, man ,that looks massive)

    I am just to trying to organise the staff with the backing up and version control. Yes, i consider as a backup option to copy the folder with the script from the network share, just as well it will require for each new station tune the ipadresses or a bit more handy if kuka pcs will push files to the server.

    I have found your old post where it was about the use of "run C:\KRC\UTIL\KRCCONFIGURATOR\KrcConfigurator.exe", but it doesn't seem to be a something to call from cmd :thinking_face:

    Ok, thanks everybody, for it was just to prove that i am not as dummy and didn't miss some "obvious settings" on kuka!)

  • panic mode
    Reactions Received
    1,268
    Trophies
    11
    Posts
    13,040
    • May 11, 2021 at 5:09 PM
    • #7
    Quote from Latoff

    Oh, man ,that looks massive)

    what do you mean? it is just a script, mere few lines...

    if you download AutoIt3.x you can compile this into EXE so it is easier to deploy.

    code can be shortened by making it more modular. for example replace lines 45-85 with

    Code
    TouchScreen("SmartHMI",10,27)   ; Presses the Main Menu button
    TouchScreen("SmartHMI",74,157)  ; Presses the "Home" button
    TouchScreen("SmartHMI",125,222) ; Presses the "File" button
    TouchScreen("SmartHMI",294,262) ; Presses the "Archive" button
    TouchScreen("SmartHMI",469,302) ; Presses the "Network" button
    TouchScreen("SmartHMI",463,222) ; Presses the "All" button
    
    TouchScreen("SmartHMI",260,459) ; Presses the "Yes" Dialog button

    and at the end add

    Code
    Func TouchScreen($WindowName,$X,$Y)
        WinActivate($WindowName)    
        sleep(200)
        mousemove($X,$Y,0)
        MouseClick("Primary")
    EndFunc 

    that will make it much shorter.

    to use this in OfficeLite for example one would need to account for window position. so maybe something like this would do the trick:

    Code
    Func TouchScreen($WindowName,$X,$Y)
        WinActivate($WindowName)    
        sleep(200)
        Local $WinPos = WinGetPos($WindowName) ; get window position
        Local $dX = $WinPos[0]+122 ; determine X offset for OL
        Local $dY = $WinPos[1]+34  ; determine Y offset for OL
        mousemove($X+dX,$Y+$dY,0)
        MouseClick("Primary")
    EndFunc 

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • panic mode
    Reactions Received
    1,268
    Trophies
    11
    Posts
    13,040
    • May 11, 2021 at 5:11 PM
    • #8

    C:\KRC\UTIL\KRCCONFIGURATOR\KrcConfigurator.exe is just a convenient front end to make some configuration changes. This does not create archive but, it can help modify what goes into archive...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Latoff
    Trophies
    3
    Posts
    16
    • May 12, 2021 at 10:34 PM
    • #9
    Quote from panic mode

    what do you mean? it is just a script, mere few lines...

    if you download AutoIt3.x you can compile this into EXE so it is easier to deploy.

    code can be shortened by making it more modular. for example replace lines 45-85 with

    Ok, sure i am convinced, i ll try that way. Still more efforts then expected for such tiny purpose!)

    Thanks guys for your advices!

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Similar Threads

  • i try to use for the first time my two kuka agilus kr6 r700 sixx robots and i have some problems,could you please give some help?

    • angelos vassiliou
    • October 24, 2020 at 5:09 PM
    • KUKA Robot Forum
  • Some PMs

    • panic mode
    • January 28, 2020 at 4:58 PM
    • KUKA Robot Forum
  • Automatic Backup plugin for KRC4

    • M.Ozkan
    • June 23, 2018 at 11:04 AM
    • KUKA Robot Forum
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download