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

Ergebnis 1 bis 5 von 5

Thema: 3D Anlagensimulation

  1. #1
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich starte diesen Thread mal als Fortsetzung dieses Threads
    http://www.sps-forum.de/showthread.p...mittels-PLCSIM
    da ich das Blender Paket mittlerweile schon das ein oder andere Mal per Email verschicken musste.

    Ich habe es extra nicht unter "Simatic" gepostet, da man eigentlich relativ einfach durch Austausch der SPS-Anbindungsschnittstelle die Simulation auf andere Steuerungen anpassen kann. Die Beispiele von mir sind momentan aber auf eine S7-Steuerung mit Plcsim zugeschnitten.

    Als erstes werde ich die in dem Dokument aus dem anderen Thread beschriebenen Blender Beispiele posten.

    Als Alternative zu Blender habe ich auch schon ein paar Tests mit dem UDK (Unreal Development Kit) gemacht, aber dazu evtl. im weiteren Verlauf mehr.
    Zitieren Zitieren 3D Anlagensimulation  

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

    DricaCH (11.10.2015)

  3. #2
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Simulation mit Blender

    Blender ist eine freie 3D-Grafiksoftware. http://de.wikipedia.org/wiki/Blender_%28Software%29
    Unter anderem besitzt diese auch eine Game-Engine mit der man Spiele programmieren kann, oder in diesem Falle auch eine Anlagensimulation.

    Blender Grundinstallation

    Meine Demodateien habe ich Ende 2010 erstellt.
    Momentan gibt es eine neue Blender Version. An der Blender API gab es einige Änderungen, und es wird eine nicht abwärtskompatible neue Python
    Version 3 verwendet.
    Ich habe zwar die Beispiele auf meinem Rechner schon für die neuen Versionen hochgezogen, aber gibt noch ein paar Probleme. Eine richtige Neuerung in Blender sehe ich momentan noch nicht. Darum würde ich zum Testen die Versionen verwenden die in der Dokumentation angegeben sind. Diese wären:

    Blender:
    Blender Version 2.49b (blender-2.49b-windows.exe) from
    http://download.blender.org/release/Blender2.49b/

    Python Version 2.6.6
    http://www.python.org/download/releases/2.6.6/

    Python for Windows extensions:
    pywin32-216.win32-py2.6.exe from
    http://sourceforge.net/projects/pywi...in32/Build216/

    Die weiteren Installationsschritte sind in dem pdf aus dem anderen Thread beschrieben.
    Geändert von Thomas_v2.1 (04.02.2012 um 23:27 Uhr)

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

    DricaCH (11.10.2015)

  5. #3
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Python Klasse zur Anbindung an Plcsim

    Um die Blender-Laufzeit an Plcsim anzukoppeln, habe ich eine kleine Python-Klasse geschrieben welche die Funktionen um Daten aus Plcsim zu lesen / zu schreiben beinhaltet.
    Die python Klasse ist Python Version 3 kompatibel.

    Die zip-Datei im Anhang beinhaltet folgende Dateien:
    - plcsim.py: Klasse für die Plcsim Anbindung
    - use_plcsim.py: Testfunktionen um die plcsim.py zu testen

    Die *.py Dateien enthalten direkt den Python-Quellcode, können also mit einem Texteditor eingesehen und bearbeitet werden.

    Momentan gibt es aber noch folgendes Problem:
    Die Plcsim-Schnittstelle ist ein COM-Objekt (S7ProSim) welches vom Variant-Datentyp gebrauch macht.
    Da in Python der kleinste Datentyp immer 4 Bytes hat, lassen sich keine 2-Byte oder 1-Byte Variablen in einem Rutsch schreiben, sondern müssen über einzelne Bits geschrieben werden.
    Da nicht sichergestellt ist dass dieses in einem SPS-Zyklus geschieht, kann das SPS-Programm währenddessen evtl. falsche Variablenwerte lesen.
    Das Problem besteht aber _nur_ beim Schreiben von Variablen, und nicht beim Lesen.
    Angehängte Dateien Angehängte Dateien
    Geändert von Thomas_v2.1 (05.02.2012 um 00:52 Uhr)

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

    DricaCH (11.10.2015)

  7. #4
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Blender - Würfel bewegen

    Sozusagen das "Hallo Welt" Programm der Blender-Plcsim Anbindung.

    In der Szenerie ist ein Würfel (Cube) und ein Objekt PlcConnection zu finden.
    Ist PLCSIM gestartet kann dieses Beispiel direkt gestartet werden. Das Starten der GameEngine
    geschieht über die Taste "P" oder alternativ über den Menüpunkt Game->Start Game.
    Beendet wird es über die ESC-Taste.
    Ist die Gameengine gestartet kann der Würfel mit den Variablen MW100 und MW102 in der X- und
    Y-Richtung positioniert werden.
    Beim Start der Gameengine wird das Programm PlcConnectionInit aufgerufen. Wenn dies der erste
    Aufruf war, wird das modul plcsim (also die Klasse plcsim aus der Daten plcsim.py welche sich im
    gleichen Verzeichnis wie die .blend Datei befinden muss) geladen und eine Verbindung zu PLCSIM
    hergestellt.
    Zusätzlich wird hier ein Abfangen der ESC-Taste eingebaut, damit die Verbindung zu PLCSIM
    korrekt getrennt wird.

    Läuft die Gameengine so wird zyklisch das Programm PlcReadPosition aufgerufen welches an das
    Objekt Cube gekoppelt ist.
    Das Programm liest aus der SPS den Wert der Variablen MW100 und MW102, und setzt die
    Objektposition des Cube auf diesen Wert. Die Division durch 100.0 findet nur statt damit sich das
    Objekt feiner bewegen lässt. Die Werte von MW100, MW102 können z.B. Über eine
    Variablentabelle geschrieben werden.
    Angehängte Dateien Angehängte Dateien

  8. Folgende 4 Benutzer sagen Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    DricaCH (11.10.2015),MatzeSch (26.03.2013),prinz1978 (05.02.2012),wee (05.02.2012)

  9. #5
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe mal ein kleines Übungsmodell für Programmiereinsteiger gebaut.
    Es ist eine Art Prägemaschine wie es in der Art auch in einem SPS-Buch von Zastrow zu finden ist. Es dient zur Übung von Schrittketten. Wer Interesse hat daran rumzuspielen, kann mir eine PN schicken und bekommt dann die Blender-Dateien.

    Kleines Video:
    https://www.youtube.com/watch?v=PQjKD0V3lkM

    Ich habe das außerdem Konzept etwas überarbeitet:
    Es läuft im Hintergrund eine Art Datenserver, der bestimmte Objekteigenschaften automatisch mit SPS-Variablen versorgt, und Rückmeldungen wieder in die SPS schreibt. So lässt sich in Blender das meiste über die dort vorhandenen Logic-Bricks erledigen, und es muss für einfache Dinge nicht mehr unbedingt aus Python zurückgegriffen werden. Das Beispiel ist komplett mit Logic-Bricks erstellt.

    Außerdem ist es so relativ einfach um eine Ankopplung an andere SPS Steuerungen über das Schreiben eines Treibers in Python erweiterbar. Zur Zeit ist ein Treiber für S7-Plcsim (Step7 5.x) und Beckhoff ADS vorhanden.
    Ein Treiber für Codesys auf dem Raspi wäre was, da weiß ich aber nicht was dort für eine Kopplung möglich ist, und vor allem wie schnell. Das Lesen/Schreiben eines Datensatzes sollte auf jeden Fall unter 10ms liegen.

  10. Folgende 6 Benutzer sagen Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    dentech (20.06.2015),DricaCH (11.10.2015),ebt'ler (20.06.2015),rogseut (03.12.2015),sps_ro (15.05.2017),TIA_TESTER (12.01.2016)

Ähnliche Themen

  1. Problem bei Anlagensimulation
    Von slma im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 13.07.2007, 08:18
  2. CPU-Kopplung von Simulations-SPSen zur einfachen Anlagensimulation
    Von Gerhard Bäurle im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 13.10.2006, 14:13

Lesezeichen

Berechtigungen

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