Additional HDD storage not available after RW6.09 update on controller

jmf
jmf South Africa
Hi.

I am not sure if this is a bug with RW6.09 or not but can someone explain to me how to access the additional storage on a Controller with RW6.09 installed and working?

I upgraded from RW6.02 to RW6.09 and on RW6.02 I had access to the additional storage but after update I am not able to access the storage anymore.

Comments

  • graemepaulin
    graemepaulin New Zealand mod

    Is the additional storage via the USB port on the main computer?

    Are you trying to access the additional storage via the RAPID program, via the FlexPendant, or RobotStudio?

  • jmf
    jmf South Africa
    No its not connected via usb it is connected inside to the main computer unit.

    I am trying to access through all channels but no luck.
  • graemepaulin
    graemepaulin New Zealand mod
    Is it RAM or a hard disk - so I can see if this is a reported issue.
  • jmf
    jmf South Africa
    I am not sure how to check. Can you guide me on how to check that?
  • jmf
    jmf South Africa
    its the RAM i can not access

  • IGlumac
    IGlumac Seattle WA
    Were you able to see it before?

    If I recall correctly you can only view the RAM storage via an FTP type viewing program.
  • jmf
    jmf South Africa
    I was able to see it on RW 6.02 on the FlexPendant Explorer and with a ftp viewer, yes, but with the upgrade to RW 6.09 I am not able to see it at all.

    The system works perfect with RW 6.09 and I can access everything else it is just that I had the option to store data on this "ram" and not on the hdoa. Now I need to store all modules and routines to the "hdoa" itself, which is not an issue but I would like to use as little memory of the hdoa (home directory).

    I am not sure if it was a "partition" of the memory card or if it was external/extra memory which was added.

  • lemster68
    lemster68 United States ✭✭✭


    This ought to be what he is referring to, it says"/ram1".  I had been meaning to take a picture and got around to it last week.  I see it on our older, 6.0 systems, but on the newer, like 6.05, there is no such thing.
    Lee Justice
  • jmf
    jmf South Africa
    lemster68 said:


    This ought to be what he is referring to, it says"/ram1".  I had been meaning to take a picture and got around to it last week.  I see it on our older, 6.0 systems, but on the newer, like 6.05, there is no such thing.
    Precisely what I was trying to say, Thanks Lemster.

  • lemster68
    lemster68 United States ✭✭✭
    Giving you a nudge @graemepaulin because you were participating in this conversation before.  Have a good day!
    Lee Justice
  • graemepaulin
    graemepaulin New Zealand mod
    edited May 2020
    I have searched around on the internal ABB tools and found a reference to new functionality added in 6.01 to use the RAM disk:
    A new I/O device name diskram has been added in RAPID. It is described in the table describing the Object argument in instruction Open.
    RAMDISK:" or diskram1 can be used from RAPID to access the RAM disk.

    The current Technical Reference Manual for RAPID still shows this this is still valid and notes:
    The RAM disk memory is not for permanent storage of any data. The size is around 100 Mb and it is cleared at each shut down.
  • lemster68
    lemster68 United States ✭✭✭
    Thanks Graeme for getting back to us.  But what jmf was first having the issue with was that since he updated his RW then the /Ram1 was no longer available.  I can confirm that my RW 6.05 robots do not show it.
    Lee Justice
  • IGlumac
    IGlumac Seattle WA
    As I was saying before and as I was recently told by ABB via email is that to view the RAM you now have to use an FTP program. I can look up the specific details of that email if this is still an ongoing issue.
  • jmf
    jmf South Africa
    UPDATE.

    I got it working. I added my USB drive to USB slot 4 on the Main Computer unit and it picked it up. With that working I started to fiddle around and also got my ROBOT to save files (Modules, CFG files, Making a backup) to that drive as I wanted. Background - I store all modules and a backup within the system and when calling a routine, it searches the specified folder and load/unload as required. So now I can save up some space on the HDD of the Robot to make backing up a bit faster as there is not so much data to copy in the backup and also the Robot's hdd space has increased a whole lot.

    The drive is formatted to FAT32.

    In Rapid I use "RemovableDisk1" and not "usbdisk1/2/3". "usbdisk1/2/3" does not recognise the instruction only "RemovableDisk1" does.

    No changes was made from the RW version side. Only RS is 2021.4 version but I don't think it has anything to do with the fact that its working now.


  • jmf
    jmf South Africa
    On this matter I have found a bug maybe. 
    I want to make backups to the USB drive but aren't able to write the backup to the disk. It keeps writing the backup to the HDD of the Robot and not the USB.
    I have changed the System parameters (Configuration - I/O System - System Input - Argument 3) to RemavableDisk1 (the same directory allocation that I use for the saving of the modules, which is working 100%, but it does not work the same with the Backup Function. 

    Has anyone encountered the same issue? 

    See attached my rapid code for the backup.
        ! Maintenance Procedure for 2nd Step.
        LOCAL PROC Miscellaneous_Routines_List()
            VAR num nDummy;
            VAR string sDummy;
            nDummy:=UIListView(\Result:=button_answer,\Header:="",liMySysRoutList\Icon:=iconInfo\MaxTime:=nMaxtime\BreakFlag:=Err_Var);
            TPErase;
            TEST nDummy
            CASE 1:
                IF DOutput(doStation1)=1 WireChange\Station1;
                IF DOutput(doStation2)=1 WireChange\Station2;
                IF DOutput(doStation1)=0 AND DOutput(doStation2)=0 THEN
                    TPPrint "  ";
                    TPReadFK nDummy,CENTER("   WIRE CHANGE"),"","STN 1","","STN 2","";
                    TPErase;
                    TEST nDummy
                    CASE 2:
                        WireChange\Station1;
                    CASE 4:
                        WireChange\Station2;
                    ENDTEST
                ENDIF
            CASE 2:
                GasChange;
            CASE 3:
                IF diBackup=0 OR diBackup=1 THEN
                    SetDO doBackup,1;
                    WaitDO doBackup,1;
                    WaitDI diBackup,1;
                    SetDO doBackup,0;
                    WaitDO doBackup,0;
                ENDIF
                TPErase;
                IF Check_OS(OS)="VIRTUAL CONTROLLER" THEN
                    TPWrite Check_OS(OS);
                    SysMods\Saving;
                    SaveCfgData "HOME:/Configuration Files/CFG Files",ALL_DOMAINS;
                    WaitTime 0.5;
                    IDelete intBackup;
                    CONNECT intBackup WITH tBackup;
                    ISignalDO BackupInProgress,1,intBackup;
                    IF RobOS() THEN
                        CloseDir directory;
                        OpenDir directory,"HOME:/Backup";
                        IF IsFile("HOME:/Backup/MMD_Africa_RW6.09.02.00") THEN
                            RemoveFile "HOME:/Backup/MMD_Africa_RW6.09.02.00";
                        ELSE
                            MakeDir "HOME:/Backup/MMD_Africa_RW6.09.02.00";
                        ENDIF
                        CloseDir directory;
                    ELSE
                        RemoveDir "HOME:/Backup";
                        MakeDir "HOME:/Backup";
                    ENDIF
                ENDIF
                IF Check_OS(OS)="REAL CONTROLLER" THEN
                    IF diBackup=0 OR diBackup=1 THEN
                        SetDO doBackup,1;
                        WaitDO doBackup,1;
                        WaitDI diBackup,1;
                        WaitDO BackupInProgress,1;
                        WaitUntil BackupInProgress=0;
                        SetDO doBackup,0;
                        WaitDO doBackup,0;
                    ENDIF
                    TPWrite Check_OS(OS);
                    SysMods\Saving;
                    SaveCfgData "RemovableDisk1:/Configuration Files/CFG Files",ALL_DOMAINS;
                    WaitTime 0.5;
                    IDelete intBackup;
                    CONNECT intBackup WITH tBackup;
                    ISignalDO BackupInProgress,1,intBackup;
                    IF RobOS() THEN
                        CloseDir directory;
                        OpenDir directory,"RemovableDisk1:/Backup";
                        IF IsFile("RemovableDisk1:/Backup/MMD_Africa_RW6.09.02.00") THEN
                            RemoveFile "RemovableDisk1:/Backup/MMD_Africa_RW6.09.02.00";
                        ELSE
                            MakeDir "RemovableDisk1:/Backup/MMD_Africa_RW6.09.02.00";
                        ENDIF
                        CloseDir directory;
                    ELSE
                        RemoveDir "RemovableDisk1:/Backup";
                        MakeDir "RemovableDisk1:/Backup";
                    ENDIF
                ENDIF
            CASE 4:
                CalPos_Move;
                Stop;
            CASE 5:
                CheckIfHome;
                bOperator:=FALSE;
            CASE 6:
                SysMods\Saving;
                WaitTime 0.5;
            CASE 7:
                SaveCfgData "HOME:/Configuration Files/CFG Files",ALL_DOMAINS;
                WaitTime 0.5;
            CASE 8:
                TPErase;
                TPReadFK nDummy,"","","CLEAR REPORT","","DISPLAY REPORT",""\MaxTime:=nMaxtime\BreakFlag:=Err_Var;
                TPErase;
                TEST nDummy
                CASE 2:
                    sRep_Job_No{2}:=sClear;
                    sRep_PartDes{2}:=sClear;
                    sRep_PartNo{2}:=sClear;
                    sStartTime:=sClear;
                    sStartWeekday:=sClear;
                    sStartDate:=sClear;
                    sEndTime:=sClear;
                    sEndWeekday:=sClear;
                    sEndDate:=sClear;
                    sRep_OperOnDuty{2}:=sClear;
                    nReadTime:=0;
                    TPPrint "DATA IS CLEARED";
                CASE 4:
                    WaitTime 0.1;
                    TPPrint "JOB NO   : "+sRep_Job_No{2};
                    TPPrint "PART     : "+sRep_PartDes{2};
                    TPPrint "PART NO  : "+sRep_PartNo{2};
                    TPPrint "START    : "+sStartTime+sGap+sStartWeekday+sGap+sStartDate;
                    TPPrint "END      : "+sEndTime+sGap+sEndWeekday+sGap+sEndDate;
                    TPPrint "OPERATOR : "+StrMap(sRep_OperOnDuty{2},STR_LOWER,STR_UPPER);
                    TPPrint "         : "+ValToStr(nReadTime/60)+" MIN";
                    TPPrint "         : "+ValToStr(nReadTime/60/60)+" HRS";
                    TPPrint "****************************";
                    TPPrint "PRESS PLAY BUTTON WHEN DONE";
                    Stop;
                ENDTEST
            CASE 9:
                TPErase;
                WaitTime 0.1;
                TPPrint "ID           : "+GetSysInfo(\CtrlId);
                TPPrint "LANG         : "+StrMap((GetSysInfo(\CtrlLang)),STR_LOWER,STR_UPPER)+"GLISH";
                TPPrint "IP           : "+GetSysInfo(\LanIp);
                TPPrint "IRB TYPE     : "+GetSysInfo(\RobotType);
                TPPrint "IRBT TYPE    : "+Track(\TrackType);
                TPPrint "SW VER       : "+GetSysInfo(\SWVersion);
                TPPrint "SYS NAME     : "+GetSysInfo(\SystemName);
                TPPrint "LAST SERVICE : 31/03/2021";
                TPPrint "NEXT SERVICE : 31/03/2022";
                TPPrint "****************************";
                TPPrint "PRESS PLAY BUTTON WHEN DONE";
                Stop;
            CASE 10:
                UIMsgBox Percentage(sPerc)+"%"\Buttons:=btnOK;
            CASE 11:
                Gas_Check_Move;
            CASE 12:
                RobMain;
            ENDTEST
            TPErase;
        ENDPROC