Step 7 Linearstrecke! Benötige Hilfe...

Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, das ist ja mein Problem. Hatte vorher noch nie mit so einer Achse zu tun. Jetzt hat mich erstmal mein Chef rund gemacht warum ich nicht schon längst ständig an den Achsen sitzen würde und die mit dem Laptop in Betrieb nehmen würde, weil Sie das ja schon immer so gemacht hätten. Also muss ich das jetzt so versuchen. Geht das überhaupt ohne Grenzschalter? Da kann doch auch viel kaputt gehen oder?

Gruß
Tommy
 
... klar geht das auch ohne Grenzschalter. Es liegt doch bei dir wo du die Achse hinfahren läßt. Ich würde das sowieso erstmal vorsichtig angehen lassen.

Was war jetzt mit der Anbindung an die SPS ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit der Antwort habe ich gerechnet. Schade das ich das nicht schon eher gewusst habe. Naja, anbinden an die SPS kann ich ja nicht. Ich kann ja noch nicht mal eine HW Konfig abspeichern. Aber das mit den Peripherieadressen meine ich verstanden zu haben. Muss jetzt die Geschichte erstmal so zum laufen kriegen. Habe noch so bescheuerte F3130 Sicherheitstechnikfehler die ich erst weg bekommen muss!:evil:
 
... klar geht das auch ohne Grenzschalter. Es liegt doch bei dir wo du die Achse hinfahren läßt. Ich würde das sowieso erstmal vorsichtig angehen lassen.

Was war jetzt mit der Anbindung an die SPS ?

Also, ich kann jetzt beide Achsen Tippen und Referenzieren. Jetzt ist mein Vorgesetzter auch beruhigt!
Du hattest von verschiedenen Fahraufträgen gesprochen, je nachdem wie viele Positionen ich anfahren muss. Könntest du dazu kurz was sagen?

Bisher mach ich das im Indraworks immer so das ich ihm ne Position vorgebe, dann die Parameterebene beende, gegebenenfalls auch anstehende Fehler lösche und anschließend auf Freigabe klicke. Muss ich das dann im Automatikrogramm genauso machen?

Beispiel:
Startimpuls kommt-->Antrieb aus-->Parametrierebene öffnen-->Sollwert vorgeben-->Ebene beenden-->Freigabe

Ich dachte immer das man dem Antrieb beispielsweise fest Werte vorgeben kann und der die nacheinander abfährt wenn die entsprechenden Signale anstehen. Macht ja auch überhaupt keinen Sinn jedesmal dem die ganzen Werte zu schicken!
 
Was das Fahren angeht :
Wenn du mehrere Positionen hast (das wäre auch die Position "hin" und die Position "zurück") dann sind das auch mehrere Fahraufträge. Du willst ja schließlich an jeder der Positionen dann auch etwas machen (Fahre X vor, Fahre Z runter, Greifen, Fahre Z hoch, Fahre X zurück, usw.).

Hallo Tommy,
erstmal verweise ich auf den Beitrag (s.o.).
Wenn du meinen FB so nachgebaut hast dann funktioniert der so, dass du ihm die Zielposition, die Geschwindigkeit und (was bei mir hin und wieder ein Thema ist) die Kraft (Drehmoment) mitteilst und dann den IN "Setze Fahrdaten" auf TRUE schaltest. Danach kannst du den Fahrauftrag mit dem IN "Start in Position" starten. Hat der Servo die Zielposition erreicht dann bekommst die Rückmeldung "OUT Fahren Ready". Um alles andere kümmert sich der Baustein selbst.

Willst du unterschiedliche Positionen anfahren dann benötigst du um den Baustein herum eine Schrittkette, die das ermöglicht, und natürlich auch eine Positionen-Verwaltung, die aber auch im Grunde von der Ablauf-Schrittkette gemanaged wird ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Willst du unterschiedliche Positionen anfahren dann benötigst du um den Baustein herum eine Schrittkette, die das ermöglicht, und natürlich auch eine Positionen-Verwaltung, die aber auch im Grunde von der Ablauf-Schrittkette gemanaged wird ...

Gruß
Larry

Genau das ist mir dann auch in den Sinn gekommen. Dann werd ich mich mal an die Positionenverwaltung machen. Weil das fehlt mir noch.

Gruß
Tommy
 
Also ...

wenn du den Antrieb auf der Step7-Seite in der HW-Konfig einträgst (hast du anscheinend noch nicht gemacht) dann wird dem ein Perepheriebereich entsprechend deiner HW-Konfig zugeordnet (z.B. PEW 700 ... 720 und PAW 700 ... 716). Über diese Perepherie-Adresse bedient sich mein Baustein an dem Regler.
Legst du den Antrieb noch einmal an (für den 2. Regler) dann bekommt der dann neue Perepherie-Adressen.
Die SPS selbst unterscheidet die beiden Busteilnehmer (welcher Bus noch gleich ? PB oder PN ?) entsprechend ihrer Adressen.

Gruß
Larry

Ich hab jetzt die Adressen in der HW-Konfig. Nur, wie weise ich die jetzt dem Instance DB von meinem Baustein zu? Ich kann an dem Baustein ja keine PEW's dran setzen. Sonst wäre das für mich klar. Vielleicht über den Handshake?

Und, wie bekomm ich die Diagnose Nr. in meine Meldeanzeige? Flexible will ja leider immer nur die Variable haben, die das Bit enthällt! Ich hab das schon mit Beispielweise DB3.DBW 32 probiert, aber das nimmt Flexible nicht an.

Gruß
Tommy
 
Zuletzt bearbeitet:
... ich kann dir jetzt gerade nicht folgen ...
Die Anfangs-Perepherie-Adresse des Datenbereichs, der für die Kopplung verwendet wird, übergibst du meinem Baustein mit dem In-Parameter "Per_Handshake".

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... ich kann dir jetzt gerade nicht folgen ...
Die Anfangs-Perepherie-Adresse des Datenbereichs, der für die Kopplung verwendet wird, übergibst du meinem Baustein mit dem In-Parameter "Per_Handshake".

Gruß
Larry

Ja so manchmal brauch ich etwas länger, sorry...;)
Ich melde mich wieder wenn es etwas neues gibt!

Kannst du mir zu der Sache mit der Diagnose Nr. noch was sagen?

Gruß
Tommy
 
... die Diagnose-Nummer steht doch in dem Struct, der die Empfangsdaten von der Perepherie repräsentiert ... die brauchst du doch nur anbinden (ist übrigens ein DWord) ...

PS:
Ich nutze an dieser Stelle oft die Instanz-DB's für die Visu-Anzeige ...

Gruß
Larry
 
... die Diagnose-Nummer steht doch in dem Struct, der die Empfangsdaten von der Perepherie repräsentiert ... die brauchst du doch nur anbinden (ist übrigens ein DWord) ...

PS:
Ich nutze an dieser Stelle oft die Instanz-DB's für die Visu-Anzeige ...

Gruß
Larry


Ich weiß das die in dem Struct steht. Das sieht jetzt wahrscheinlich so aus als wäre ich ganz und gar unfähig das selbst hin zu bekommen...:ROFLMAO:
Aber jetzt ohne Mist. Ich hab versucht dieses Dword anzugeben. Das Eingabefeld im Flexible nimmts aber nicht an. Ich hab genau das angeklickt was mir der DB liefert.

Fehlermeldung:
"Der Wert dieser Variablen ist ungültig"
zulässige externe Dateitypen sind "Word" und "INT"
zulässige interne Dateitypen sind "INT" und "UINT"

Demnach geht doch Dword garnicht oder? :confused:

Gruß
Tommy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Natürlich geht das auch mit DWord - du kannst dir das sogar in Hex-Darstellung anzeigen lassen ...
Allerdings ... was benutzt du für ein Bediengerät ? (Meine Referenz ist eine PC-Runtime - es kann sein, dass manche kleinen Bediengeräte das ggf. nicht können)

Gruß
Larry
 
Zurück
Oben