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

Ergebnis 1 bis 9 von 9

Thema: PAC3200 - Probleme beim auslesen

  1. #1
    Registriert seit
    09.11.2014
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe hier vor mir ein PAC3200 von Siemens liegen, welches ich über Modbus TCP auslesen möchte um mir die Werte auf einem XV102 von Eaton anzuzeigen.
    Ich kriege zwar Werte rein, diese springen aber willkürlich rum und ergeben keinen Sinn.

    Kann mir jemand sagen was ich falsch gemacht habe und warum es falsch ist? Ich bringe mir das ganze programmieren großteils selbst bei und wüprde auch gerne verstehen wie man's richtig macht!

    modbus.jpg

    pac3200_var.jpg

    pac3200_var_online.jpg

    Freundliche Grüße
    Ansgar
    Zitieren Zitieren PAC3200 - Probleme beim auslesen  

  2. #2
    Registriert seit
    22.05.2005
    Ort
    sonniges Maifeld
    Beiträge
    1.067
    Danke
    77
    Erhielt 205 Danke für 159 Beiträge

    Standard

    Probier mal bitte die Spannungen ab Register 16#0002 zu lesen.
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  3. #3
    ansgar96 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.11.2014
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey,

    wenn ich die Register ab 16#0002 lese bekomme ich Kommunikationsprobleme und die Meldung "Der Bus läuft nicht" / "Diagnosemeldung verfügbar" (wo ich diese sehen kann habe ich leider noch nicht herausgefunden, die Meldung springt aber auch ca im 0,5sek Takt von ok zu Fehler).

    Freundliche Grüße
    Ansgar

  4. #4
    Registriert seit
    22.05.2005
    Ort
    sonniges Maifeld
    Beiträge
    1.067
    Danke
    77
    Erhielt 205 Danke für 159 Beiträge

    Standard

    Ach ja, da war ja was...die Byteorder passt nicht!
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  5. #5
    ansgar96 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.11.2014
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey,

    wie kann ich die Bytes denn nun richtig ordnen? ;o

  6. #6
    Registriert seit
    22.05.2005
    Ort
    sonniges Maifeld
    Beiträge
    1.067
    Danke
    77
    Erhielt 205 Danke für 159 Beiträge

    Standard

    Poste mal bitte ein Bild vom E/A Abbild.

    Code:
    U_L1_N at %IW2 : REAL
    kann eigentlich nicht richtig sein. Ich weiss nicht ob der Compiler:

    Code:
    U_L1_N at %ID2 : REAL
    versteht. Für den Fall das nicht musst du die Wörter von Hand zusammen basteln, mit Union geht das ganz gut:

    Code:
    TYPE REALCONVERT : UNION rVar : REAL;
     wVar : ARRAY[0..1] OF WORD;
     END_UNION
    END_TYPE
    Geändert von Lars Weiß (02.06.2015 um 08:42 Uhr)
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  7. #7
    ansgar96 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.11.2014
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Alos das E/A-Abbild sieht so aus:

    EA_Abbild.jpg

    Mir ist leider nicht so ganz klar wie und wo ich Union benutzen soll.
    Kann man die Funktion in einem extra Baustein anlegen und dann für wVar einen Eingang und rVar einen Ausgang anlegen?
    Ich hab im Netz auch noch nichts finden können was mir das etwas verständlicher macht

    Trotzdem schonmal vielen Dank für deine Bemühungen!

    Freundliche Grüße
    Ansgar

  8. #8
    Registriert seit
    22.05.2005
    Ort
    sonniges Maifeld
    Beiträge
    1.067
    Danke
    77
    Erhielt 205 Danke für 159 Beiträge

    Standard

    Der Code Realconvert ist ein DUT, den fügst du ein und bindest ihn in dein Programm ein:

    Als Variable REG2R eingefügt:

    Code:
    PROGRAM PLC_PRG
    
    VAR
        REG2R : realconvert;
        MW: REAL;
    END_VAR
    Und im Programm aufgerufen:

    Code:
        
    REG2R.wVar[1] := %IW1; // Wort 1    
    REG2R.wVar[0] := %IW2; // Wort 2
    MW := REG2R.rVar; // Realwert umspeichern
    Idealerweise in einem Loop ausgeführt und anstatt nur einem Wert ein ganzes Real-Array beschreiben.
    Geändert von Lars Weiß (03.06.2015 um 11:40 Uhr)
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  9. #9
    Registriert seit
    09.11.2007
    Beiträge
    322
    Danke
    52
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    versuche gerade mit einer WAGO und Codesys 2.3 an die Daten eines PAC3200 über Modbus TCP zu kommen.
    Daten bekomme ich schonmal, allerdings nichts plausibles. UNION geht bei WAGO nicht, oder?
    Wie kann ich die Daten wandeln?

    VG NSN

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 29.10.2013, 10:57
  2. S7-300 2DP Sentron Pac3200 Profibus auslesen
    Von StefanW. im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 14.06.2013, 22:40
  3. Probleme beim laden in S7
    Von amour im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 06.04.2009, 15:57
  4. Antworten: 5
    Letzter Beitrag: 09.11.2007, 11:20
  5. Probleme beim speichern beim Symatic Manager
    Von Anonymous im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 10.06.2005, 06:36

Lesezeichen

Berechtigungen

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