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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Simulation mittels PLCSIM

  1. #11
    Registriert seit
    31.07.2009
    Ort
    Weißensee
    Beiträge
    46
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die pdf ist ja schon mal sehr interessant, kennst du noch eine andere kostengünstige Variante solche Simulationen in Verbindung mit plcsim zu machen? Habe mich bis jetzt mit "tarakos VRcontro"l und "trysim"
    beschäftigt, sind auch nicht sehr einfach zu handhaben.

  2. #12
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von ErwinLSE Beitrag anzeigen
    Die pdf ist ja schon mal sehr interessant, kennst du noch eine andere kostengünstige Variante solche Simulationen in Verbindung mit plcsim zu machen? Habe mich bis jetzt mit "tarakos VRcontro"l und "trysim"
    beschäftigt, sind auch nicht sehr einfach zu handhaben.
    Trysim haben wir in der Firma mal im Einsatz gehabt. Aber das ist doch eher für Fördertechnik ausgelegt. Wenn man entsprechend bezahlt programmiert er dir aber auch wohl alles mögliche an anderen Simulationsobjekten da rein. Ein Physiker sollte wissen wie sowas geht

    Andere Firmen setzen wohl auf kommerzielle Spiele-Engines. Bei der einen Firma wo hier mal Videos verlinkt waren läuft glaube ich die Unreal-Engine.

    Auf Blender bin ich eigentlich nur durch einen Artikel in der c't gestoßen. Es war jetzt kein konkreter Anwendungsfall den ich mit den Tests verfolgt habe, ich wollte nur mal sehen was damit so möglich ist.
    Wenn du dich mit Blender besser auskennst kannst du dir das ja mal ansehen. Z.B. bei dem Portalroboter konnte ich die Physik-Engine von Blender schon nicht mehr benutzen, weil es Probleme gab wenn ich zu viele Objekte aneinander gekoppelt habe. Da musste ich die Physik (zumindest ganz grob) selber programmieren. Und das wird dann irgendwann doch recht aufwändig.

    Der Vorteil an Blender ist aber, dass man eine Simulation angeblich als eigenständige exe kompilieren kann. Ich denke sowas könnte durchaus für Ausbildungszwecke als Simulationsmodell eine Alternative zu realen Objekten sein - zumindest für Hausaufgaben oder etwas in der Richtung.

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    ErwinLSE (29.01.2011)

  4. #13
    Registriert seit
    31.07.2009
    Ort
    Weißensee
    Beiträge
    46
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,

    habe jetzt auch mal ein Projekt mit Blender erstellt.
    Es ist ein Heber der er bei uns in der Firma läuft, zum Einsatz kommt das Originale Step7 Programm und das originale WinCC Projekt

    An dieser Stelle nochmal vielen Dank an Thomas, super Sache diese Schnittstelle.

    hier der Youtubelink.

    http://www.youtube.com/watch?v=4UdeiB0ZiwM

  5. Folgender Benutzer sagt Danke zu ErwinLSE für den nützlichen Beitrag:

    Thomas_v2.1 (22.02.2011)

  6. #14
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Hallo Erwin,

    das sieht ja mal verdammt gut aus was du da gemacht hast

    Hast du an meiner prinzipiellen Vorgehensweise noch etwas ändern müssen?
    Die Initiatoren an den Wagen kann man ja noch erkennen. Sieht aber so aus als ob die bei dir nicht auf Kollision sondern auf Annäherung reagieren, oder das täuscht.

    Mich würde interessieren wie du den Heber umgesetzt hast. Bei meinem Portalroboter-Beispiel habe ich es über die Blender-interne Logik nie hinbekommen mehrere Objekte in 3 Achsen aneinander zu koppeln - zumindest nicht wenn dann einer noch bewegt werden sollte.
    Dein Heber, die Verriegelungsstifte und die Wagen die auf den Heber fahren, müssen ja auch zu bestimmten Zeitpunkten gekoppelt werden. Per Python-Skript, Blender-Logik, oder wie hast du das gemacht?

  7. #15
    Registriert seit
    31.07.2009
    Ort
    Weißensee
    Beiträge
    46
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,

    die Beschreibung war sehr gut und vollständig.

    Die Auffahrsensoren der Wagen reagieren auf Kollision allerdings nur außerhalb des Heberbereiches, in diesem Bereich stoppt der Wagen über die "Lichtschranken" über der Fahrbahn (Fahrfreigabe).

    Der Heber bekommt seine Sollposition von der SPS, die Zwischenschritte werden in einem script berechnet in dem ich auch noch eine Bremsrampe berechne.

    cont = G.getCurrentController()
    me = cont.owner
    SollPosition = (G.plc.read( me["addr"] ))
    Vsoll = me["geschwindigkeit"]
    rampe = me["bremsrampe"]*10

    #Istposition des Hebers in reale Werte der Anlage umrechnen
    loc = me.position
    Zpos = loc[2]
    IstPosition = (Zpos-2.755 ) * 1000000.0

    if SollPosition > IstPosition:
    ___richtung = 1
    ___diff = abs(IstPosition -SollPosition)
    else:
    ___richtung = -1
    ___diff = abs(SollPosition - IstPosition)
    if diff > 0.1:
    ___if diff < rampe:
    ______# "Geschwindigkeit" in Bremsrampe verringern
    ______Vist = diff / (rampe / Vsoll)
    ___else:
    ______# maximale "Geschwindigkeit"
    ______Vist = Vsoll
    if Vist >= 0:
    ___IstPosition = IstPosition + Vist * richtung

    # Istposition für Blender zurückrechnen
    me.position = (-0.925, 0.027, IstPosition/1000000 + 2.755)
    me["HeberIstposition"] = IstPosition
    # Istposition an SPS
    G.plc.write( me["plcAddrPos"], int(IstPosition))

    Alle Elemente die zum Heber gehören sind erstmal (geparented) außer die Laufwagen. Die Verriegelungstifte werden über einen Ausgang der SPS einfach durch ein script hin.- und herbewegt.

    if G.plc.read( me["plcaddrVerriegeln"] ) == 1 and me.posX < me["PosVerriegelt"]:
    ___me.posX = me.posX + 0.01
    if G.plc.read( me["plcaddrEntriegeln"] ) == 1 and me.posX > me["PosEntriegelt"]:
    ___me.posX = me.posX - 0.01
    me.position = (me.posX,me.posY,me.posZ)

    Die Wagen bewegen sich erstmal über eine IPO Kurfe wobei ich die Kurfe für die Höhe gelöscht habe. Ich erkenne anhand der Kollision der Wagen mit der Schiene vom Heber welcher Wagen sich auf dem Heber befindet und setze die Position Wagen gleich der Position des Hebers. Wenn sich der Heber jetzt bewegt bewegen sich automatisch auch die auf ihm befindliche Wagen.

    Wagen = LWE

    import GameLogic as G
    cont = G.getCurrentController()
    sens = cont.sensors["sensor"]
    # Kollisionserkennung auf Schiene
    LweAufAbschnitt = sens.hitObjectList
    Szene = G.getCurrentScene()
    me = cont.owner
    # nur ausführen wenn LWE auf Abschnitt
    if len(LweAufAbschnitt) <> 0:

    ___# erkennen welche LWE sich im jeweiligen Abschitt befindet (LWE1, LWE2...)
    ___LWE = Szene.objects["OBLWE" + (str(LweAufAbschnitt[0])[5:])]
    ___locLWE = LWE.position
    ___locEHB = me.position
    ___# Hier wird die Position des Hebers auf die jeweilige LWE kopiert
    ___locLWE[2] = locEHB[2]
    ___LWE.position = locLWE
    ___# Fahrfreigabe für LWE auf diesem Abschnitt
    ___if GameLogic.plc.read( me["plcaddrFahrfreigabe"] ) == 0:
    ______G.FahrFrg[int(str(LweAufAbschnitt[0])[5:])] = 0
    ___else:
    ______G.FahrFrg[int(str(LweAufAbschnitt[0])[5:])] = 1

    in diesem script wird auch ein Bit für die Fahrfreigabe der jeweiligen LWE in diesem Abschitt anhand eines SPS Ausgangs gesetzt welches im Script für die LWE abgefragt wird und die LWE stoppt oder fahren lässt.

    Ich hoffe ich konnte ein paar Fragen kären

    habe gerade gesehen das hir keine Leerzeichen oder Tabs am Anfang der Zeile Möglich ist, deshelb die Unterstriche
    Geändert von ErwinLSE (22.02.2011 um 19:35 Uhr)

  8. #16
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von ErwinLSE Beitrag anzeigen
    Die Auffahrsensoren der Wagen reagieren auf Kollision allerdings nur außerhalb des Heberbereiches, in diesem Bereich stoppt der Wagen über die "Lichtschranken" über der Fahrbahn (Fahrfreigabe).

    Der Heber bekommt seine Sollposition von der SPS, die Zwischenschritte werden in einem script berechnet in dem ich auch noch eine Bremsrampe berechne.
    Also scheint es ganz ohne Skripte (zumindest bisher) nicht zu gehen.

    Meine Idee war ja, dass so eine Simulation möglichst einfach auch von einem nicht-Blender-Spezialisten erstellt werden kann.
    Dazu bräuchte man dann eine Bauteile-Bibliothek, aus der man die benötigen Objekte einfach in seine Szene einfügt, und dann nur die SPS-Adresse unter den Properties anpassen muss. Darum habe ich auch versucht möglichst viel in die Properties zu legen.

    Bei meiner Simulation mit den Förderbändern funktioniert das sogar. Dort kann ich hingehen und meine Förderbänder und die Lichtschranken duplizieren und passend positionieren, SPS-Adresse anpassen und die Maschine ist gebaut.

    Wie es aussieht funktioniert das aber nur bis zu eine gewissen Komplexität der Anlage. Eigentlich hat Blender eine eigene Physik-Engine, leider lässt sich die wohl nicht immer nutzen.
    Der Nachteil bei der Programmierung der eigenen Physik über Skripte ist zusätzlich dass man z.B. eine Maschinen- oder Programmstörung nicht mehr als "Crash" in der Simulation sehen kann. Oder würden bei dir die Wagen real zu Boden fallen, wenn du sie über die Schiene fährst wenn der Heber nicht an der richtigen Position ist?

    Zitat Zitat von ErwinLSE Beitrag anzeigen
    habe gerade gesehen das hir keine Leerzeichen oder Tabs am Anfang der Zeile Möglich ist, deshelb die Unterstriche
    Dafür gibt es im Editor unter # die
    Code:
    Code Tags
    .

  9. #17
    Registriert seit
    31.07.2009
    Ort
    Weißensee
    Beiträge
    46
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Die Wagen fallen nicht zu Boden (leider), habe es am Anfang über die Physiksimulation der Game Engine versucht, habe es aber nicht hinbekommen das der Wagen auf der Schiene bleibt, vielleicht fällt dir da ja was ein, würde es auch gerne mit der Pysiksimulation machen, dann könnte man auch die Schienen frei anordnen und Weichen einfacher einfügen. bei mir fahren die Wagen ja nur auf einem vordefinierten Pfad.

    Das mit dem duplizieren klappt bei mir mit den Wagen übrigens auch, duplizieren, Ausgang für Fahrantrieb unf Eingang Auffahrsensor anpassen und eine Startposition eingeben fertig schon habe ich einen wagen mehr.

    Ganz ohne programmieren per Script wird es wohl nicht gehen, aber selbst bei Komerziellen Produkten muss mit VRML programmiert werden.

    Hast du schon mal Versucht ein Projekt als EXE zu speichern, klappt bei mir nicht, währe aber super wenn man jemand anderen eine fertige Anlage zum Software erstellen geben könnte ohne das er sich mit Blender beschäftigen muss.

  10. #18
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von ErwinLSE Beitrag anzeigen
    Ganz ohne programmieren per Script wird es wohl nicht gehen, aber selbst bei Komerziellen Produkten muss mit VRML programmiert werden.
    Ich hätte da an sowas wie Trysim gedacht. Aber da ist man sehr auf die Bauteilebibliothek beschränkt. Was nicht geht, das geht dann auch nicht. In Blender kann man mit entsprechendem Aufwand denke ich mal schon sehr viel machen.

    Mit anderer 3D-Software kenne ich mich eigentlich garnicht aus, außer mit Povray das aber eher für statische Bilder ist.
    Zitat Zitat von ErwinLSE Beitrag anzeigen
    Hast du schon mal Versucht ein Projekt als EXE zu speichern, klappt bei mir nicht, währe aber super wenn man jemand anderen eine fertige Anlage zum Software erstellen geben könnte ohne das er sich mit Blender beschäftigen muss.
    Als exe speichern (Game als Runtime speichern) funktioniert auf jeden Fall.
    Man muss dann aber noch einige Dateien händisch in das Verzeichnis packen:
    - 2 dlls aus dem Blender Verzeichnis (wrap_oal.dll und vcomp90.dll)
    - die Datei plcsim.py für die PLCsim Anbindung

    Allerdings komplett startet das Programm dann auch noch nicht, weil ihm wohl das win32com.client Modul fehlt. Mal gucken ob man ihm das auch noch irgendwie unterjubeln kann

    Ob für das Ganze der Python Interpreter installiert sein muss habe ich noch nicht getestet. Mittlerweile ist das bei mir überall installiert.

  11. #19
    Registriert seit
    25.02.2011
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guten Abend,

    Hoffe bin hier richtig. Und zwar bin ich auf der suche nach einem grafischen Simulationsprogramm zur Simulation eines S7 Programms.

    Rödel gerade an meiner Technikerarbeit herum die ich theoretisch für eine Firma durchführe. Hierbei geht es um die Entwicklung und Konstruktion einer kleinen Maschine.

    Da ich die Maschine aber vorerst nicht baue tue ich mich bei der Präsentation ziemlich schwer, denn wer will schon nur ein SPS programm in PLCSIM präsentiert bekommen?

    Hab hier von Blender gelesen scheint mir aber für anfänger ziemlich komplex.
    Giebt es kein grafiktool das für Anfäger besser geeigent ist, beispielweise mit vorgefertigten Grafiken?
    Es würde eine zweidimensionale Ansicht von oben ausreichen!

    Bin über jede Hilfe froh und dank schonmal im vorraus.


    Gruß Extec

  12. #20
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von extec Beitrag anzeigen
    Und zwar bin ich auf der suche nach einem grafischen Simulationsprogramm zur Simulation eines S7 Programms.

    www.trysim.de


    wurde im POST #1 schon kurz genannt.

    Gruß

    Frank
    Grüße Frank

Ähnliche Themen

  1. Simulation mit PLCSIM
    Von Ninja2602 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.09.2011, 17:29
  2. Trysim, die kostenlose 3-D Simulation und S7-Simulation
    Von Josef Scholz im Forum PC- und Netzwerktechnik
    Antworten: 7
    Letzter Beitrag: 04.02.2011, 16:01
  3. Antworten: 6
    Letzter Beitrag: 26.12.2010, 08:35
  4. Simulation Runtime KTP1000 mit PLCSIM
    Von blasterbock im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 17.02.2010, 09:16
  5. Antworten: 6
    Letzter Beitrag: 11.09.2007, 16:52

Lesezeichen

Berechtigungen

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