21. Februar 2019, 08:39:52
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Tasten ersetzen von smartpad


normal_post Autor Thema:  Tasten ersetzen von smartpad  (Gelesen 1084 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

05. Februar 2019, 17:24:16
Gelesen 1084 mal
Offline

woodys


Hallo Leute ich bin es mal wieder....

Ich muss ein neues Projekt umsetzen!

Ich soll den Roboter starten und stoppen mit externen Tasten. Das heißt das was man am kcp macht, soll über separaten taster erfolgen in der Betriebsart AUT!

Also ich habe hier im forum schon viel gelesen über AUT extern sowie das man auch etwas Brücken muß wenn man keine sps hat. Aber irgendwie werde ich da nicht schlau draus... Kann mir das jemand genauer erklären?

Ich sollte das an allen krc4 umsetzen und habe keine sps....

Was muß ich genau tun für mein Vorhaben? Und welche Infos benötigt ihr noch?

Grüße
  • gefällt mir    Danke

Heute um 08:39:52
Antwort #1

Werbung

Gast

05. Februar 2019, 23:07:55
Antwort #1
Offline

SJX

Global Moderator
Hallo Woodys,

Es ist viel einfacher, als Du es Dir vorstellst.
Dem Roboter ists egal, ob die Eingänge via SPS oder via Taster in die Steuerung kommen.
Was aber sein Muss: Schlüsselschalterstellung Automatik extern!

Mal eine einfache Art und am besten zu verstehen für ein KRC4:
Dazu brauchst Du:
4 konfigurierte Eingänge auf einem Buskoppler, wo Dir die Eingangsnummern bekannt sind.
3 Eingänge verdrahtest Du über Schliesser (Taster), Funktion $Conf_Mess, $Drives_On, $Ext_Start
1 Eingang über Öffner (Taster), Funktion $Move_Enable (Stop)

Danach gehst Du in die Konfiguration von Automatik extern
Weisst unter "Wert" die entsprechende Eingangsnummer der Funktion zu und übernimmst es.


Zum Testen:
In T1 Programm anwählen, SAK ausführen auf Ausgangsposition.
Türe Schliessen und Quittieren
Auf EXT umschalten:
Taster mit Funktion $Drives_On drücken
Taster mit Funktion $Conf_Mess drücken
Taster mit Funktion $Ext_Start drücken, Programm läuft
…..
Für Stop:
Taster mit Funktion $Move_Enable drücken

Erneuter Start:
Taster mit Funktion $Conf_Mess drücken
Taster mit Funktion $Ext_Start drücken, Programm läuft

Reihenfolge ist die gleiche wie in den Ablaufdiagrammen in der Doku zu Automatik extern.

Wenn Du verschiedene Statis der Steuerung über Lampen dazu willst, müsste man einfach pro Status einen Ausgang dazu haben.


Wenn Du die Anzahl Taster reduzieren möchtest:
$Conf_Mess müsste kombinierbar sein als Schliesser zusammen mit $Drives_on als Öffner auf einem Taster.
In gewissen Situationen kann es aber sein, dass er 2x gedrückt werden muss hintereinander.


Weitere Reduktionen der Taster liessen sich reduzieren über sps.sub Programm.
Da würde dann Brücken zum Tragen kommen Ausgang auf Eingang. Würde aber heissen, dass Du zusätzlich bis zu 4 Ausgänge dazu benötigst.

Mit nem simplen Testaufbau kannst Du dies gut erforschen.

Gruss SJX
  • gefällt mir x 2    Danke x 1 (Details | 4 Danke)
Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

06. Februar 2019, 05:50:47
Antwort #2
Offline

woodys


Hey danke für die schnelle Antwort...

Also Eingänge hab ich noch einige vorhanden daran soll es nicht scheitern.

Aber umso weniger Tasten umso besser, da würde ich die sps. Sub Variante bevorzugen!

Grüße
  • gefällt mir    Danke

07. Februar 2019, 12:13:01
Antwort #3
Offline

SJX

Global Moderator
Hallo Woodys,

Hardware also 1 Start Taster / 1 Stop Taster.
Würde heissen hardwaretechnisch:
Stop Taster über Öffner auf Eingang (1) verdrahten. (Funktion Stop)
Start Taster über Schliesser auf Eingang (2) verdrahten. (Funktion Startprozedere SPS.sub)
1. Brücke zwischen Ausgang (3) und Eingang (3). (Funktion Antriebe Ein)
2. Brücke zwischen Ausgang (4) und Eingang (4). (Funktion Fehlerquittierung)
3. Brücke zwischen Ausgang (5) und Eingang (5). (Funktion Start)

Softwaretechnisch:
Stopfunktion: Eingang (1) direkt in Autoext. Konfiguration $Move_enable zuweisen.

Startfunktion und Anforderung an SPS.sub Baustein:
Eingang (3) in Autoext. Konfiguration $Drives_On zuweisen.
Eingang (4) in Autoext. Konfiguration $Conf_Mess zuweisen.
Eingang (5) in Autoext. Konfiguration $Ext_Start zuweisen.

SPS.Sub Baustein / Schrittkette, mal stark vereinfacht:
Wenn Eingang (2), prüfen Startkonditionen wie Betriebart, Programm angewählt, Fehler ansteht, weitere Anlagenspezifisch
Schritt 1: Ausgang (4) pulsen
Schritt 2: Ausgang (3) Pulsen
Schritt 3: Ausgang (4) Pulsen
Schritt 4: Ausgang (5) Pulsen

Kannst Du / willst Du diesen selber schreiben?
Hast Du Testequipment?

Irgendwo müsste ich was haben, müsste aber suchen.

Gruss SJX
  • gefällt mir    Danke
Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

07. Februar 2019, 15:35:52
Antwort #4
Offline

woodys


Hi...
Was zum testen habe ich nicht... Kann es nur an einer realen Anlage testen!

Die taster sind ja schnell erstellt....

Das Brücken... Ist das so gemeint dass ich einfach eine drahtbrücke von den E/A Karten nehme? Also eine Ader von der ausgangskarte auf die eingangskarte?

Es ist so ich würde es schon gerne selber schreiben aber da ich es noch nie gemacht habe wäre es mir lieber wenn ich schon was in der hand hätte. Den Rest schaffe ich dann schon alleine. Muss insgesamt 25 das ganze realisieren!
  • gefällt mir    Danke

Heute um 08:39:52
Antwort #5

Werbung

Gast

07. Februar 2019, 23:40:26
Antwort #5
Offline

SJX

Global Moderator

Genau, Direkt Ausgang auf Eingang brücken.
Hintergrund ist, Du kannst nur Eingänge den benötigten Funktionen in der Konfiguration von Automatik extern zuordnen.
Eingänge direkt kannst Du aber nicht Setzen im SPS.sub, nur Ausgänge. So umgehst Du diese Problematik.

Submitinterpreter auszuprogrammieren ist schon bisschen anders als Roboterinterpreter.
Werd Dir was zusammenstiefeln. Eilts?
Ist aktuell schon was ausprogrammiert darin? Hast Du per Zufall Multisubmitinterpreter installiert?
Zur Kontrolle wäre es toll, wenn Du mal von Deinem ersten Kandidaten die sps.sub posten könntest.

So als Tipp noch dazu.
Wenn Du Taster hättest mit Lampen,Start z.B. grün, Stop rot, verdrahtet Lampen auf 2 weitere Ausgänge, könnte man noch gewisse Statis rausgeben (Muss ja nicht schon in erster Version sein).

Gruss SJX


« Letzte Änderung: 07. Februar 2019, 23:42:18 von SJX »
  • gefällt mir    Danke
Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

08. Februar 2019, 08:45:35
Antwort #6
Offline

woodys


DEF  SPS ( )
  ;FOLD DECLARATIONS
  ;FOLD BASISTECH DECL
  ;Automatik extern
  DECL STATE_T STAT
  DECL MODUS_T MODE
  ;ENDFOLD (BASISTECH DECL)
  ;FOLD USER DECL
  ; Please insert user defined declarations

  ;ENDFOLD (USER DECL)
  ;ENDFOLD (DECLARATIONS)
  ;FOLD INI
  ;FOLD AUTOEXT INIT
  INTERRUPT DECL 91 WHEN $PRO_STATE1==#P_FREE DO RESET_OUT ()
  INTERRUPT ON 91
  $LOOP_MSG[]="                                                            "
  MODE=#SYNC
  $H_POS=$H_POS
  ;Automatik extern
  IF $MODE_OP==#EX THEN
    CWRITE($CMD,STAT,MODE,"RUN /R1/CELL()")
  ENDIF
  ;ENDFOLD (AUTOEXT INIT)
  ;FOLD BACKUPMANAGER PLC INIT
  BM_ENABLED = FALSE
  BM_OUTPUTVALUE = 0
  ;ENDFOLD (BACKUPMANAGER PLC INIT)
  ;FOLD TQM_INIT
    TorqueDefinitions()
  ;ENDFOLD (TQM_INIT)
  ;FOLD USER INIT
  ; Please insert user defined initialization commands

  ;ENDFOLD (USER INIT)
  ;ENDFOLD (INI)

  LOOP
    WAIT FOR NOT($POWER_FAIL)
    TORQUE_MONITORING()
    ;FOLD BACKUPMANAGER PLC
    IF BM_ENABLED THEN
      BM_OUTPUTSIGNAL = BM_OUTPUTVALUE
    ENDIF
    ;ENDFOLD (BACKUPMANAGER PLC)
;FOLD GRIPPERTECH PLC;%{E}%MKUKATPGRP,%CSPS,%VSPS,%P
  IF (ZANGEN_FUNKT>0) THEN
    H50 (5,AKT_ZANGE,DUMMY,GDEFAULT )
    ZANGEN_FUNKT=0
  ENDIF
;ENDFOLD (GRIPPERTECH PLC)
    ;FOLD USER PLC
    ;Make your modifications here

IF $Pro_State1 == #P_Free THEN
$OUT[40] = False
endif
IF $Pro_State1 == #P_Stop THEN
$OUT[40]=False
endif
IF $Pro_State1 == #P_Reset THEN
b_Reset=TRUE
;FOLD OUT 11 'a_Werkzeugbereich_frei' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:11, 3:a_Werkzeugbereich_frei, 5:TRUE, 6:
$OUT[11]=TRUE
;ENDFOLD
;FOLD OUT 12 'a_Werkzeugbereich_frei' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:12, 3:a_Werkzeugbereich_frei, 5:TRUE, 6:
$OUT[12]=TRUE
;ENDFOLD
;FOLD OUT 13 'a_Werkzeug_schließen' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:13, 3:a_Werkzeug_schließen, 5:TRUE, 6:
$OUT[13]=TRUE
;ENDFOLD
;FOLD OUT 14 'a_Werkzeug_öffnen' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:14, 3:a_Werkzeug_öffnen, 5:TRUE, 6:
$OUT[14]=TRUE
;ENDFOLD
;FOLD OUT 15 'a_SGM_ohne_Handling' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:15, 3:a_SGM_ohne_Handling, 5:TRUE, 6:
$OUT[15]=TRUE
;ENDFOLD
;FOLD OUT 16 'a_Auswerfer_zurück' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:16, 3:a_Auswerfer_zurück, 5:TRUE, 6:
$OUT[16]=TRUE
;ENDFOLD
;FOLD OUT 17 'a_Auswerfer_vor' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:17, 3:a_Auswerfer_vor, 5:TRUE, 6:
$OUT[17]=TRUE
;ENDFOLD
;FOLD OUT 18 'a_Kernzug_1_einfahren' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:18, 3:a_Kernzug_1_einfahren, 5:TRUE, 6:
$OUT[18]=TRUE
;ENDFOLD
;FOLD OUT 19 'a_Kernzug_1_ausfahren' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:19, 3:a_Kernzug_1_ausfahren, 5:TRUE, 6:
$OUT[19]=TRUE
;ENDFOLD
;FOLD OUT 20 'a_Kernzug_2_einfahren' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:20, 3:a_Kernzug_2_einfahren, 5:TRUE, 6:
$OUT[20]=TRUE
;ENDFOLD
;FOLD OUT 21 'a_Kernzug_2_ausfahren' State=TRUE ;%{PE}%R 8.3.40,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:21, 3:a_Kernzug_2_ausfahren, 5:TRUE, 6:
$OUT[21]=TRUE
;ENDFOLD
endif
IF $IN[12] == True THEN
b_Werkzeug_geschlossen = True
ENDIF
IF $IN[34] == False THEN
b_Stoerung_Absaugung = True
endif


Das Steht aktuell drinne!

Mir ist nicht bekannt dass Multisubinterpreter installiert ist..wo kann man da nachschauen? ist das ne zusatzsoftware...daist nähmlich nichts.

Was wir hin und wieder machen ist...dass wir eine Variable setzen in der SPS.SUB der wiederum einen anderen SUB Startet. ist bis jetzt auf 2 Anlagen so.

Ich muss mal schauen was wir da haben an Lampen ....was ich zumindest noch machen kann ist , die sogenannte Leitung mal vorbelegen bis ich das ganze zeug zusammen habe.....

Eilen tut noch nichts ....das ist das anschliessende Projekt zu meinem jetzigen Projekt , was ich bis ende nächster woche erledigt haben muss. D.H die Taster geschichten haben ca. 2-3 Wochen zeit zum vorführen.


Grüsse
  • gefällt mir    Danke

11. Februar 2019, 23:44:57
Antwort #7
Offline

SJX

Global Moderator
Hallo woodys,

attached ein .zip-File mit 3 Dateien:
1. pdf = Diagramm, wie man es verdrahten könnte
2. .txt = Beschrieb mit Vorgehen + Variabeln zum Kopieren in $config.dat
3. .src = Programm für ExtStartStop, das man Aufrufen muss im Loop des sps.sub

Das Programm ist komplett ungetestet und könnte auch den einen oder anderen Syntaxfehler drin haben.
Hab leider selbst nichts zum Prüfen greifbar. Habs noch ergänzt mit Diagnosevariabeln zum Auswerten.
Gib bitte ein Feedback.


Hoffe es hilft Dir.

Gruss SJX

Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

14. Februar 2019, 20:35:55
Antwort #8
Offline

woodys


 :danke:
Hey erstmal vielen Dank.... Sobald ich die Möglichkeit habe werde ich mich melden und berichten!

Grüße
  • gefällt mir    Danke

Heute um 08:39:52
Antwort #9

Werbung

Gast


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH