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

Ergebnis 1 bis 4 von 4

Thema: mit S7PROSIMLib Werte von PLCSIM auslesen und schreiben

  1. #1
    Registriert seit
    28.06.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Gerne möchte ich mit ein CSharp-Programm schreiben, welches dem PLCSIM Input-Werte vorgibt und Output-Werte auslesen kann.

    Ich benutze folgende Library: S7PROSIMLib
    Die Verbindung kann ich aufbauen und auch den Status der CPU auslesen.

    Wie kann ich jedoch mit "ReadFlagValue" den Wert am Eingang E0.0 auslesen. Das ganze ist laut Doku CPU-Abhängig (ich benutze eine CPU315-2 DP) . Weiss jemand, wo ich das nachschlagen kann, bzw. welche Werte ich für E0.0 setzten muss?

    Besten Dank für eure Hilfe!


    Mein momentaner Code:


    private void button1_Click(object sender, EventArgs e)
    {
    S7ProSim ps = new S7ProSim();
    System.Object pData = new System.Object();


    // Verbindung zu PLCsim herstellen
    ps.Connect();


    ps.ReadFlagValue(0, 0, PointDataTypeConstants.S7_Bit, pData);
    ps.Disconnect();
    }-
    Zitieren Zitieren mit S7PROSIMLib Werte von PLCSIM auslesen und schreiben  

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

    Standard

    Über die S7PROSIMLib kannst du auf Eingänge nur schreibend und auf Ausgänge nur lesend zugreifen. Damit man im Programm diese geschriebenen Eingänge auch lesen kann, muss auch eine entsprechende Hardware vorhanden sein. Die E/A Karte muss dazu im Rack sitzen oder eine Profibus Baugruppe sein, und die Hardware in Plcsim geladen werden. Profinet-Baugruppen lassen sich nicht simulieren!

    Hört sich vielleicht seltsam an, aber für eine Anlagensimulation ist das so durchaus sinnvoll.

  3. #3
    kurmanpa ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.06.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, danke für die Antwort.

    Ich habe nun mit folgendem Statement versucht, den Eingang E0.0 zu schreiben, ich sehe jedoch in PLCSIM keine Änderung...

    ps.WriteFlagValue(0, 0, pData);

    Was mache ich falsch...?

  4. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit WriteFlagValue schreibst du auf Merkerbereiche und nicht auf Eingänge.

    Die Write-Methoden überprüfen den Datentyp des Funktionsparameters pData.
    So steht es im Handbuch geschrieben:
    "Pointer auf die zu schreibenden Daten. Die gültigen Werte für Data richten sich nach dem Datentyp."

    Wenn der Parameter vom Datentyp Int16 ist werden zwei Bytes in der SPS geschrieben, bei einem Int32 4 Bytes usw. Mit einem generischen Object wie du ihn verwenden willst kann die Funktion nichts anfangen und macht darum nichts.

    Wenn vorher der Verbindungsaufbau geklappt hat, sollte folgendermaßen der Wert 123 in das Merkerwort 0 geschrieben werden können:
    Code:
    Int16 value;
    value = 123;
    ps.WriteFlagValue(0, 0, value);
    Hier mal ein ganz einfaches Beispiel:
    http://www.sps-forum.de/simatic/3954...tml#post285758

    Und hier habe ich noch ein Programmbeispiel gepostet, in dem die ganze Plcsim Anbindung nochmal in eine eigene Klasse gekapselt ist (Klasse in Plcsim.cs):
    Programm Simulation &Test

Ähnliche Themen

  1. PLCSim from Excel using VBA and S7PROSIMLib
    Von jondownloads im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.07.2011, 23:25
  2. Werte von Variablen auslesen und im Quellcode sichern
    Von CST-LS im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 05.07.2010, 10:46
  3. Mit S7 werte von MATLAB auslesen und verarbeiten
    Von Freakadelle im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 02.02.2009, 13:56
  4. Antworten: 3
    Letzter Beitrag: 31.10.2008, 07:34
  5. PS3 auslesen und Werte in MySql-DB schreiben
    Von Anonymous im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 22.01.2006, 15:08

Lesezeichen

Berechtigungen

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