Ich hatte das Problem auch in meinem Aktuellen BMW Projekt. Was soll ich sagen, Safty und Bremsentest ausgeschaltet, dann AEG. Safty und Bremsentest wieder eingeschaltet, dann nochmal AEG. Läuft wieder so wie es soll. Danke für diesen Beitrag von euch.
Beiträge von N.Rose
-
-
Das hat weniger mit Echtzeitfähigkeit zu tun, sondern mehr mit purer Faulheit der SPS-Programmierer. Ich habe noch keinen SPS-Programmierer getroffen, der sich wirklich mal die 100 Seiten der ABB-Dokumentation zum Thema System-Ein-/Ausgänge durchgelesen hat und entsprechend der dort angeführten Rahmenbedingungen für das Senden eines Signals (wie zB. MotorsOn, Start, PZMain etc...) diese auch überprüft.
Diese wollen halt einfach nur START schicken, wenn Roboter nicht läuft, dass hierfür aber auch das STOP Signal nicht anliegen darf, die Runchain OK sein muss, Motoren EIN etc... - das wird nicht überprüft.
Ein Apell an alle SPS Programmierer: Bitte programmiert die Roboteransteuerung über Systemsignale einmal robust und mit zumindest den Checks die Offensichtlich sind.
Ich habe mir hierfür die 100 PDF Seiten aus dem Manuel extrahiert, damit ich das dann den jeweiligen SPSlern direkt zeigen kann. Außerdem hab ich die wichtigsten Signale + Bedingungen nochmal auf einem Handout zusammengefasst.
Tut mir Leid, falls mich das Thema etwas triggert, aber ich habe nicht erst einmal erlebt, dass das Log eines ABB-Roboters mit Meldungen "Start nicht zulässig" im Milisekunden-Takt zugespammt wurde, weil die SPS das signal einfach permanent schickt, solange der Roboter nicht läuft....
Hi, könntest du das hier mal bitte online stellen damit ich das meinem SPSler geben kann. Das wäre echt super von dir.
-
Danke für eure Hilfe, ihr seit alle Mega klasse.
Hab gerade zeit Gehabt zum Testen und es geht.
-
StartATMain und PPtoMain machen das gleiche und ich komme immer oben in der ersten Zeile von der Main raus.
Aber nur der PPtoMain bricht auch bei einem WaitDi ab. Hab ich das richtig verstanden?
Stört euch bitte nicht am GoTo, ich weiss das es schöner geht.
-
Bei timeout wird das Signal zur SPS gesetzt
Die SPS kann daraufhin dann pptomain senden…..
Wenn ich sowas mache das unbedingt ein pptomain folgen muss , benutze ich immer Exit.
Nur das zurücksetzen funktioniert so nicht , das musst du bei Start Main mit als erstes zurück setzen
Nach PP to Main Springe ich doch als erstes in meine Initialisierung rein wo ich alles resette.
Dann sollte doch alles wieder gut sein.
-
Du musst einen Eingang mit der Systeminput Funktion StartMain verknüpfen.
wenn die SPS das Signal sendet wird der PZ hart auf Main zurückgesetzt (dabei passiert auch einiges mit deinen Variablen)
Du musst im Roboter da gar nichts machen, egal wo du stehst, der PP wird vom Roboter selbst gelöscht und zurück auf Main gesetzt. kein Rücksprung mehr irgendwohin, kein waitmaxTime, keine Error Handler kein Nix mehr...
ob es PPtoMain und/oder Start at Main gibt hängt von der RW ab.
bei PPtoMain musst du halt zusätzlich noch ein Startsignal senden
dann also so?
-
So ihr Lieben was denkt Ihr
-
Ihr helft mir echt weiter, Danke noch mal an alle.
-
Mit dem Main-Aufruf klappt das so ned. Du würdest ja aus dem Unterprogramm des Mains das Main nochmals aufrufen.
Schau dir mal in der Doku die "System Inputs" an, da kannst du ein Signal der SPS auf die Funktion legen, dass die positiver Flanke des Signal das Main abbricht und wieder von vorne Startet.
Dies findest du unter Systemeinstellungen->Systemparameter konfigurieren->System inputs.
Dort gibst du dann dein Signal ein und bei ACTION hinterlegst PZ to Main.
Grüße
Du meinst hier
Da ist aber nur ein PP to Main oder ist das, dass gleiche?
-
Die Signale sind erstmal zum testen drin
-
Hab mein Fehler selbst gefunden ich depp.
-
So sieht man es besser
-
Also Könnte ich das so Machen?
WaitDI di_GoAbwurfPosition, 1 \MaxTime := 6 \TimeFlag := timeout;
IF timeout THEN
SetDO do_Prg_ausgefuehrt_Fehler, 1;
Break;
RESET do_Prg_ausgefuehrt_Fehler;
IF di_Main,1 THEN
Main();
ENDIF
ENDIF
-
Mega stark von euch
-
Danke für deine Schnelle Antwort Robonator,
WaitDi di_Signal,1\MaxTime:=180;
und wie weiter?
Ich programmiere noch nicht so lange ABB
-
Hallo Ihr Profis,
ich habe folgendes Problem. Der SPS Programmierer möchte von mir wenn ich in einem WaitDI stehe und auf sein Signal warte, nach 3 Minuten eine Meldung an die SPS haben und mich wenn er das möchte über ein Signal was er mir gibt in die PZ-Main zurück zu setzen damit er das Programm Grundstellung mir schicken kann.
Wie kann ich das am besten Realisieren ohne das Rad neu zu erfinden.
Ich danke euch jetzt schon mal.
Gruß Nico