ABB Roboterschulung von praxiserfahrenen Trainern
in unserem Schulungszentrum in Mainburg oder vor Ort bei Ihnen
Bediener und Expertenschulungen anfragen

Autor Thema:  Automatisches Estellen eines Backups am IRC5  (Gelesen 1698 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Baruck

  • Forum Mitglied LV 5
  • *
  • Beiträge: 49
  • Bewertet: 0
Automatisches Estellen eines Backups am IRC5
« am: 06. April 2013, 00:46:43 »
Hallo,

besteht bei der IRC5-Steuerung die Möglichkeit, dass ein Backup auf dem USB Stick jede Woche automatisch erstellt wird?

Begruendung: Es gibt Kunden, die sich nach einer Aenderung nicht angewoehnen, ein Backup zu erstellen. Wenn dieses nach einem evtl. Absturz des Systems benoetigt werden sollte, ist es nicht vorhanden und Schuld hat dann das Robotersystem, aber nie der Bediener.

Gruss
bomi
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert


ABB Robotertraining
günstig und verständlich mit Zertifikat
ABB Roboterschulung

Offline stromer

  • Forum Elite LV 7
  • *
  • Beiträge: 366
  • Denken hilft
  • Bewertet: 0
Re: Automatisches Estellen eines Backups am IRC5
« am: 16. April 2013, 09:43:44 »
Es gibt einen Systemeingang der ein Backup auslöst. Da kann z. B. die SPS das Backup anstossen oder Du bastelst Dir im Roboter selbst was zurecht, was den Eingang kurz setzt (Querverbindung).

Gruß
Stromer
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Kotik

  • Forum Mitglied LV 7
  • *
  • Beiträge: 65
  • Bewertet: 0
Re: Automatisches Estellen eines Backups am IRC5
« am: 16. April 2013, 12:35:43 »

Hallo,
ich habe es auf dieser Weise gelöst:

!----------------------------------------------
  !--------Automatisches Backup------------------
  !----------------------------------------------
  PROC rBackUpAuto()
    VAR bool bLocHilf;
    VAR string strDatNeu;
    VAR bool bLocTimeOut;
    VAR num nLocStdNeu;
    VAR string strUhrNeu;
   
    IF (DOutput(do_PrgLaeuft)=1 OR di_Mat_Anf_Ein=1) RETURN;
    !-- Aktuelle Uhrzeit und Datum auslesen
    strUhrNeu:=CTime();
    strDatNeu:=CDate();
    bLocHilf:=StrToVal(StrPart(strDatNeu,9,2),nTagNeu);
    bLocHilf:=StrToVal(StrPart(strDatNeu,6,2),nMonNeu);
    bLocHilf:=StrToVal(StrPart(strDatNeu,1,4),nJahNeu);
    bLocHilf:=StrToVal(StrPart(strUhrNeu,1,2),nLocStdNeu);
    !
    nStdNeu:=nLocStdNeu;
    IF ((nStdNeu+byAnzahlStd)<=24) AND ((nStdAlt+byAnzahlStd)>24) nStdAlt:=1;
    IF (byAnzahlStd>0) byAnzahlTage:=0;
    IF (byAnzahlStd<=0) AND ((nMonNeu>nMonAlt) OR (nJahNeu>nJahAlt)) nTagAlt:=nTagNeu-byAnzahlTage;
    !
    IF ((byAnzahlStd<=0) AND (nTagNeu>=(nTagAlt+byAnzahlTage)) AND nStdNeu>=14) OR (byAnzahlStd>0 AND nStdNeu>=(nStdAlt+byAnzahlStd)) THEN
      SetDO do_SimBackup,0;
      TPErase;
      rError "Report","Task_HT=> Hintergrundtask!","Automatisches BackUp wird erstellt...";
      SetDO do_SimBackup,1;
      nTagAlt:=nTagNeu;
      nMonAlt:=nMonNeu;
      nJahAlt:=nJahNeu;
      nStdAlt:=nStdNeu;
      !
      WaitUntil (DOutput(do_SimBUpInProgress)=1)\MaxTime:=3\TimeFlag:=bLocTimeOut;
      SetDO do_SimBackup,0;
      !
      IF (bLocTimeOut) TPWrite "Wartemarke...";
      IF (bLocTimeOut) rError "Error","Task_HT=> Hintergrundtaskfehler!","Automatisches BackUp wurde nicht erstellt!";
      IF (NOT bLocTimeOut) rError "Report","Task_HT=> Hintergrundtask!","Automatisches BackUp wurde erfolgreich erstellt!";
    ENDIF
    !
  ENDPROC



EIO:CFG_1.0:5:0::

#
EIO_CROSS:
      -Res "di_SimBackup" -Act1 "do_SimBackup"

#
SYSSIG_IN:
      -Signal "di_SimBackup" -Action "Backup" -Arg1 "Auto_Backup"\
      -Arg3 "X:/Backup_Roboter_X/BACKUP/"


Man kann das ganze natürlich auch ohne Hintergrundtask lösen, einfach die Routine beim jedem Zyklus abfragen.

Hoffe es hilft  :biggrins:
« Letzte Änderung: 16. April 2013, 12:56:23 von Kotik »
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Baruck

  • Forum Mitglied LV 5
  • *
  • Beiträge: 49
  • Bewertet: 0
Re: Automatisches Estellen eines Backups am IRC5
« am: 17. April 2013, 02:24:20 »
Hi Stromer and Kotik,

thanks a lot for your response!

I will try how your solution will work. I am not sure when it will be possible to get an IRC5 for test. Hopefully the next few days.

Thanks again.
bomi
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Online AtoK09

  • Forum Elite LV 1
  • *
  • Beiträge: 214
  • "Vorwärts immer, Rückwärts nimmer!"
    • AG4LIFE
  • Bewertet: +5
Re: Automatisches Estellen eines Backups am IRC5
« am: 13. November 2013, 14:26:42 »
*hervorkram*

ich habe ein problem mit dem Datum, deshalb krame ich das hier mal hervor, da es ansätze enthält die ich nutze...

in meinem fall soll ich einen teilezähler erstellen, der in den ersten sechs stellen das aktuelle datum enthält.
ich lese das datum aus:
stDatum:=CDate();nun bekomme ich einen string im format "jjjj-mm-tt". hier beginnen meine schwierigkeiten; da ich den kompletten zähler als integer auf den buss legen muss, sollen die "-"(bindestriche) raus... jetzt kommt ihr ;)
ich habe versucht:
bOk:=StrToVal(stDatum,nVal);das gibt mir ein "false" auf bOk und nullen in nVal...
ich habe das datum aufgesplittet:
    bOK := StrToVal(StrPart(stDatum,3,2), nTempJahr);
    bOK := StrToVal(StrPart(stDatum,6,2), nTempMon);
    bOK := StrToVal(StrPart(stDatum,9,2), nTempTag);
nun müßte ich es in EINER num wieder zusammenfügen... ich komme an dieser stelle nicht weiter.

am ende möchte ich eine "num" mit neun stellen haben ich welcher ich jahr, monat, tag, teilezähler darstellen kann, etwa so "131113001"

irgendwelche anregungen?
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

Offline Micky

  • Forum Elite LV 3
  • *
  • Beiträge: 274
  • Bewertet: +48
Re: Automatisches Estellen eines Backups am IRC5
« am: 13. November 2013, 15:20:17 »
Hi,

probier mal folgendes:
PROC test1()
  VAR string stDate;
  VAR dnum dnValue;
 
  !Zahl als String mit führenden Nullen zusammenbauen
  !z.B. 130108011 für den 08.01.2013 mit Zählerstand 11
  stDate:=ValToStr(nTempJahr)+IntToStr(nTempMonat,2)+IntToStr(nTempTag,2)+IntToStr(nZaehler,3);

  !Zahl in dnum konvertieren, damit der Zahlenbereich als integer abgebildet werden kann
  dnValue:=ValToStr(stDate);

  !Ausgabe des Zählers auf den Gruppenausgang
  Setgo goZaegler,dnValue;
ENDPROC

!Zahl in String umwandeln und mit führenden Nullen auffüllen, bis die erforderliche Länge ereicht ist
FUNC string IntToStr(num value, num length)
  VAR string strValue;
  strValue:=ValToStr(value);

  !Führende Nullen auffüllen
  While Strlen(strValue)<length do
     strValue:="0"+strValue;
  endwhile

  return strValue;
endfunc

Gruß
Micky
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Online AtoK09

  • Forum Elite LV 1
  • *
  • Beiträge: 214
  • "Vorwärts immer, Rückwärts nimmer!"
    • AG4LIFE
  • Bewertet: +5
Re: Automatisches Estellen eines Backups am IRC5
« am: 13. November 2013, 15:40:07 »
hallo micky, danke für die antwort. ich werde es morgen (!) mal reinhacken,
nachdem ich obrige "walloftext" verfaßt habe, kam mir der gedanke es so zu lösen:
    bOK := StrToVal(StrPart(stDatum,3,2), nTempJahr);
    bOK := StrToVal(StrPart(stDatum,6,2), nTempMon);
    bOK := StrToVal(StrPart(stDatum,9,2), nTempTag);
    !
    nDatum := (nTempJahr*1000000) + (nTempMon*10000) + (nTempTag*100)+ nTeilezähler;

dann habe ich noch alle "num" in "dnum" umgewandelt und dann meinen "go" ge-"setet".
deine lösung werd ich trotzdem ausprobieren!
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

Offline Micky

  • Forum Elite LV 3
  • *
  • Beiträge: 274
  • Bewertet: +48
Re: Automatisches Estellen eines Backups am IRC5
« am: 13. November 2013, 16:28:52 »
Ho AtoK09,

Deine Lösung sieht besser aus, denn man spart sich die Umwandlung in einen String, das Auffüllen der führenden Nullen und die Umwandlung zurück in eine Zahl.

Gruß
Micky
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert


xx
Automatisches Backup IRC5?

Begonnen von martinkrapp

15 Antworten
3393 Aufrufe
Letzter Beitrag 29. November 2010, 10:51:12
von Kotik
xx
Automatisches Aufnehmen eines TCP´s

Begonnen von Sven Weyer

12 Antworten
4780 Aufrufe
Letzter Beitrag 30. Oktober 2005, 09:14:16
von Sven Weyer
xx
sowas in der Art wie "Abbruch eines Jobs bei Schalten eines Digitalen Eingang"s

Begonnen von Snoopy01

6 Antworten
2226 Aufrufe
Letzter Beitrag 14. September 2009, 08:58:01
von hanes@w
xx
Automatisches laden der Lastdaten in Handbetrieb

Begonnen von högi

5 Antworten
2063 Aufrufe
Letzter Beitrag 04. Dezember 2009, 20:54:35
von högi
xx
Automatisches Backup auf den Server direkt speichern.

Begonnen von ABB_Anfänger

7 Antworten
2127 Aufrufe
Letzter Beitrag 18. Dezember 2014, 12:27:57
von Bout
 

über das Roboterforum

Nutzungsbedingungen Impressum
Sitemap