Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 6 von 6 ErsteErste ... 456
Ergebnis 51 bis 60 von 60

Thema: Mit Schleife DB füllen

  1. #51
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gut OK ...
    Es würde dann also so laufen :
    Von einem Koordinatenpunkt "Start" aus berechnest du den nächsten Punkt X und Y. Über die Katheten des Dreiecks weißt du den Abstand und kannst entsprechend daraus die benötigten Geschwindigkeiten errechnen, damit beide etwa zeitgleich im Ziel ankommen. Nun startest du beide Achsen mit dem Weg-Wert und der Geschwindigkeit und der Beschleunigung. Nun mußt du warten, bis die Achsen ihr Ziel erreicht haben und kannst nun den nächsten Zielpunkt übergeben und wieder starten. Das wird dann so genau, wie du deine Auflösung hierbei wählst / wählen kannst. Das wird dann bei einem Kreis sicherlich auch ziemlich kreisförmig (warum auch nicht ?). Allerdings wird es auch dauern - wie lange wage ich jetzt nicht annähernd zu schätzen. Es wird hierbei allerdings die meißte Zeit mit dem Handshake SPS - Servo's verdaddelt. Aber nur um es zu testen - why not ...? Sollte es allerdings Leistung bringen sollen ...

    Gruß
    Larry

  2. #52
    Registriert seit
    23.10.2009
    Beiträge
    390
    Danke
    58
    Erhielt 112 Danke für 86 Beiträge

    Standard

    Und wenn Du wirklich Schrittmotore einsetzt und die Ansteuerung selbst machst sieh Dir mal den Bresenham-Algorithmus an.

  3. #53
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Dieses Teil wird für ne Art Showroom gebaut. Es soll Schülern und Studien-Interessierte locken.
    Darum sollen auch mit dem Stift Figuren gezeichnet werden (Kreis, Dreieck, ect), um z.b. Spielchen damit zu machen, z.B. einen Kreis versuchen manuell zu fahren. Die Interessierten könnten somit die X und Y Achsen direkt steuern. Eventuell könnte man auch nen Wettbewerb aufziehen, wer den besten Kreis malt (die Aktualwerte vergleichen mit den ideellen die im DB hinterlegt sind und daraus die Abweichung berechnen) ....

    Tut mir Leid, hätt ich vllt noch sagen müssen, wobei s an meinen Problemen ja nichts ändert.

  4. #54
    Registriert seit
    14.11.2008
    Beiträge
    66
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Ich würde mich beim Programmieren mehr am Stand der Technik orientieren, auch wenn es mit Step7 realisiert wird. Wir haben 2011.

    Mathematische Berechnungen, Interpolation, Arrayzugriffe manuell nach AWL zu kompilieren und das Ergebnis weiterzuentwickeln ist vor allem ein hoher Zeitaufwand und führt zum Risiko von schwer nachvollziehbaren Fehlern, weil ein Pointer sonstwohin zeigt.

    Das ist gerechtfertigt, wenn die Anforderung "AWL oder Assembler" ist oder ausreichend Stunden geschoben werden müssen, damit die Arbeit anerkannt wird.

    Andernfalls gilt: Die Formeln so aufschreiben, wie bereits gesehen, ein paar Semikolons hinzufügen, Variablen deklarieren mit "_" statt "-" im Namen und ansonsten die Fehlermeldungen des SCL-Compilers beachten. Ähnlich wie VBA. Das spart sehr viel.

    Weiterer Hinweis: Wenn es eine "billige" SPS ist, sollte die Berechnung auch in Echtzeit gehen, die sind nämlich schnell genug. Teure SPSe eines renommierten Herstellers sind vielleicht zu langsam, dann wird das Array als Zwischenschritt notwendig.

    Step7 hat ein Feature "Externe Quelle". Damit lassen sich zB komplette DBs, die als Quellcode vorliegen (zB mit VBA erzeugt), einlesen. Wenn ein DB von außen vorbelegt werden soll, der mehr als ca. 10 Werte enthält, geht das um ein Vielfaches schneller. Mit "Quelle generieren" und "Quelle exportieren" kann man Beispiele erzeugen.

    Beim Kreismalwettbewerb werden natürlich die real angefahrenen Positionen in DBs gespeichert und dann "in Ruhe" mit der Berechnung selbst verglichen.

    Zur Kommunikation mit den Achsen: Ich weiß nicht, wie man das normalerweise macht, damit es so langsam und schwierig wird. Ich gebe immer einen Analogwert für die Geschwindigkeit vor und bekomme einen Inkrementalgeber-Wert für die Istposition. Damit klappt das Kreise fahren sehr gut, besonders wenn es nur fürs Auge ist, es erfordert aber noch eine Regelung in Software. Wenn immer Stützpunkte an den Regler zu übergeben sind, ist es schwierig, eine konstante Geschwindigkeit zu erreichen. Der Regler ist immer "schon fast da" und fährt variabel langsam an den Punkt heran. Da hilft es vielleicht, immer einen außerhalb des Kreises liegenden Punkt (auf der Tangente vom aktuellen Punkt aus) vorzugeben, damit die Servos sich durchgehend bewegen. Dann natürlich nicht warten, bis der Punkt erreicht ist, sondern sofort den nächsten vorgeben. Damit habe ich keine Erfahrung, ist nur so eine Idee.

  5. #55
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke. Das ist ein völlig neuer Ansatz. Werde mir dann doch mal SCL anschaun.
    Das Teil sollte am besten über ein Touchpanel gesteuert werden.
    Mit SCL die Berechnungen durchzuführen scheint viel "edeler" als alle in AWL zu programmieren und mit verschied Variablen und Lokalvariabeln um sich zu werfen.

    Jetzt muss ich aber erstmal schauen, ob wir an der Hochschule überhaupt SCL verwenden. Die Frage ist, wenn nicht, was dann?
    Bleibt mir ja nur der AWL Weg.
    Außer ich lass meine Berechnungen in VBA stattfinden und Übertrag sie dann per libnodave (damit könnte die Übertragung stattfinden, hab ich gelesen, aber noch keine Erfahrung damit). Damit muss aber immer ein PC angeschlossen sein.

  6. #56
    Registriert seit
    14.11.2008
    Beiträge
    66
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Wenn SCL nicht verfügbar ist, würde ich es immer noch für sinnvoll halten, geeignete Teile des Programms in einer Hochsprache (zB SCL) zu schreiben und dann schlimmstenfalls manuell nach AWL zu kompilieren. Zumindest ist es dann "in lesbar" vorhanden.

    Vielleicht kann der Fachbereich Informatik - Compilerbau eine Semesterarbeit anbieten, Thema "SCL nach AWL Compiler". Oder besser "C nach AWL"

    Zitat Zitat von htw Beitrag anzeigen
    Außer ich lass meine Berechnungen in VBA stattfinden und Übertrag sie dann per libnodave (damit könnte die Übertragung stattfinden, hab ich gelesen, aber noch keine Erfahrung damit). Damit muss aber immer ein PC angeschlossen sein.
    DAS ist mal eine gute Idee. Einerseits kann man in einigen Bedienoberflächen-Erstell-Tools (wie WinCCflex) auch Basic-Funktionen erstellen und mit der SPS kommunizieren.

    Aber wenn eine Übertragung mit libnodave zur Laufzeit klappt, sind die Einsatzmöglichkeiten endlos...

    Das Touchpanel ist wahrscheinlich ohnehin ein PC. Und wenn der nicht mehr da ist, fährt die Maschine ihre letzte Bewegung fertig, wie wenn es keine neue Eingabe gibt.

  7. #57
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So ... nach einer lange Zeit hat sich so einiges getan ...

    Durch die vielen Beiträge ist mir klar geworden, dass meine ersten Gedanken zu diesem Thema einfach zu naiv waren.
    Des Weiteren gibt es schon Baugruppen die interpolieren können. So habe ich dann eine Mail an Siemens geschrieben mit der Bitte um Unterstützung. Es kam prompt eine positive Rückmeldung und einer Einladung direkt zu Siemens.

    Der Status Quo sieht nun wie folgt aus:

    Siemens sponsert mir eine D435 Simotion und die nötigen Antriebe (Sinamics).
    Derzeit programmiere ich nun an einem Trainings- und Simulationskoffer von Siemens bis die nötigen Komponenten bestellt und die ganze Bürokratie von Tisch ist.

    Probleme bestimmte Positionen anzufahren gibts es natürlich nicht mehr, da es schon fertige Bausteine gibt, die alle Rechenarbeit erledigen.

    Ich programmiere auch nun in ST. Habe mich jetzt 1,5 Wochen reingefitzt und es läuft ganz gut, doch es ergeben sich hin und wieder Fragen, die ihr mir eventuell beantworten könnt!

    Hoffe das passt überhaupt noch in den Threat (von Thema her).


    -Wie kann ich in ST eine Flankenabfrage realisieren?

    mit R_TRIG ? leider steht in der Hilfe kein konkretes Beispiel, an welchem ich mich orientieren könnte.


    VIELEN DANK an euch!

  8. #58
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von htw Beitrag anzeigen
    Wie kann ich in ST eine Flankenabfrage realisieren?

    mit R_TRIG ? leider steht in der Hilfe kein konkretes Beispiel, an welchem ich mich orientieren könnte.
    Hallo,
    das würde ich so machen :
    Code:
    if myAction and not myAction_OK then
     
    ... tue, was zu tun ist ...
     
    end_if ;
    myAction_OK := myAction ;
    ... hierbei wäre myAction_OK dann ein BOOL und im Bereich der VAR-Deklaration (also Statisch) angeordnet.
    Dieses Bit könnte nun auch sehr schön die Bestätigung darstellen, dass der Befehl ausgeführt worden ist (möglicherweise als Feedback an das aufrufende Programmteil).

    Gruß
    Larry

  9. #59
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    die " If- Anweisung" ist mir klar.

    Die Syntax mit R_TRIG jedoch nicht.

    Trotzdem Danke!

  10. #60
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ok ... habs =)

    Da sucht man ewig und plötzlich gehts ... und es ist einem "clear as crystal".

Ähnliche Themen

  1. Array füllen
    Von elmoklemme im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 31.08.2010, 18:23
  2. DB Füllen
    Von SPS_NEU im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.08.2010, 16:25
  3. DB automatisch mit Werte füllen
    Von Potenzial im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 02.07.2010, 07:46
  4. Kreis füllen
    Von doretan im Forum HMI
    Antworten: 1
    Letzter Beitrag: 21.06.2009, 23:51
  5. DB's abwechselnd füllen und auslesen
    Von Karli im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 07.11.2008, 07:06

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •