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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Analogwerte mit 8MC11 einlesen und vergleichen

  1. #1
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi, habe folgendes Problem:
    Ich habe eine 6ES5 464 - 8MC11 Baugruppe auf Steckplatz 6 einer S5 100U CPU 100.
    Jetzt würde ich gerne den ersten und zweiten Kanal der Baugruppe einlesen, Spannungen vergleichen und je nach Ergebnis einen Ausgang schalten.
    Soviel zur Planung. Bei der Umsetzung haperts. Den FB 250 gibts ja bei der CPU 100 noch nicht. Wie lese ich die Kanäle ein und speichere sie in den Akkus ab? Sorry, für die doofe Frage, ich erwarte kein fertiges Programm von euch. Nen Tipp oder nen Link zu ner hilfreichen Dokumentation würde mir schon helfen.

    Vielen Dank im Voraus,
    Christian
    Zitieren Zitieren Analogwerte mit 8MC11 einlesen und vergleichen  

  2. #2
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    direkt auf die eingänge zugreifen (in fb programmieren):

    L PEW 112 lädt den analogwert in den akku + fehlerbits
    SLW 3 schiebt die fehlerbits aus dem akku
    T MW 200 wert in mw200 ablegen
    U M 200.4 nun noch das verschobene vorzeichen wieder richten
    = M 200.5
    = M 200.6
    = M 200.7

    und schon steht der wert korrekt in mw200
    wert ist normiert:
    -10V => -2047 dez
    0V => 0
    +10V => 2047 dez

    das selbe für PEW 114 (zweiter kanal) auf mw202 machen und schon hast
    du beide werte zum weiterbearbeiten parat

    solltest du infos (z.b. handbuch) zur 100u benötigen bitte kurze pn an mich.

  3. #3
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von tnt369 Beitrag anzeigen
    solltest du infos (z.b. handbuch) zur 100u benötigen bitte kurze pn an mich.
    http://support.automation.siemens.com
    http://support.automation.siemens.co...iew/de/1091978
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #4
    Chry007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von tnt369 Beitrag anzeigen

    L PEW 112 lädt den analogwert in den akku + fehlerbits
    SLW 3 schiebt die fehlerbits aus dem akku
    T MW 200 wert in mw200 ablegen
    U M 200.4 nun noch das verschobene vorzeichen wieder richten
    = M 200.5
    = M 200.6
    = M 200.7

    OK, leuchtet ein. Was tun die letzten 4 Zeilen?

  5. #5
    Registriert seit
    10.06.2009
    Beiträge
    64
    Danke
    36
    Erhielt 24 Danke für 13 Beiträge

    Standard

    Zitat Zitat von tnt369 Beitrag anzeigen
    direkt auf die eingänge zugreifen (in fb programmieren):

    L PEW 112 lädt den analogwert in den akku + fehlerbits
    SLW 3 schiebt die fehlerbits aus dem akku
    T MW 200 wert in mw200 ablegen
    So weit ich mich erinnere, können die CPU 100 .. 102 keine PW,
    es müsste über EW gelesen werden.

    Ausserdem: Schieberichtung ist falsch: SRW 3, die Fehlerbits sind Bit 0..2

    Also:
    L EW x
    SRW 3
    T MW 200

    Das vorzeichen steht nach dem Schieben im Bit M 200.4
    M 200.7.. M 200.5 wurden mit 0 aufgefüllt.
    Um eine korrekte Integer zu erhalten musst Du das Vorzeichen nach links
    rekonstruieren:
    U M 200.4
    = M 200.5
    = M 200.6
    = M 200.7

    Gruss Werner

  6. #6
    Registriert seit
    01.04.2010
    Beiträge
    306
    Danke
    18
    Erhielt 38 Danke für 37 Beiträge

    Standard

    Zitat Zitat von heisch Beitrag anzeigen
    Das vorzeichen steht nach dem Schieben im Bit M 200.4
    M 200.7.. M 200.5 wurden mit 0 aufgefüllt.
    Um eine korrekte Integer zu erhalten musst Du das Vorzeichen nach links
    rekonstruieren:
    U M 200.4
    = M 200.5
    = M 200.6
    = M 200.7

    Gruss Werner
    So weit ich mich erinnere ist das 15 Bit für das Vorzeichen zuständig!
    Wieso werden denn die Bit´s 14 und 13 auchnoch mit 1 belegt?

    Gruß SKg
    Mann muß nicht alles wissen, mann sollte nur wissen wo es geschrieben steht!
    Wer lesen kann ist klar im Vorteil!

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von SKg Beitrag anzeigen
    So weit ich mich erinnere ist das 15 Bit für das Vorzeichen zuständig!
    Wieso werden denn die Bit´s 14 und 13 auchnoch mit 1 belegt?

    Gruß SKg
    Das liegt am Zahlenformat für die Darstellung negativer Integerzahlen.

    WIKI

    Da ja 3 Bit nach rechts verschoben sind, muß man bei positiven Zahlen nichts tun (Vorzeichenbit ist 0 und die aufgefüllten Bit sind auch 0), bei negativen Zahlen muß man alle durch den "Rechtsruck" mit 0 aufgefüllten Bit mit 1 belegen. Zwar können ja auch negative Zahlen bei diesen Bit eine 0 stehen haben, aber wegen der Parameterbits wurden ja die Bits geschoben, die so entstandene Intager hat also einen kleineren Wertebereich, als in einer 16-bit-Zahl eigentlich darstellbar ist. Diese "verlorenen" Bits müssen bei positiven Zahlen mit 0, bei negativen Zahlen mit 1 gefüllt werden, wie man im o.g. Wiki-beitrag ganz gut sehen kann
    Geändert von Ralle (20.10.2010 um 10:29 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    heisch (20.10.2010)

  9. #8
    Chry007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also, hier der Stand der Dinge:

    U M 200.4
    = M 200.5
    = M 200.6
    = M 200.7

    generiert eine Fehlermeldung. S5 für Windows sagt, dass sei eine ungültige Eingabe. Habs dann mal weggelassen. Wär ja schonmal nen fortschritt, wenn ich überhaupt einen Wert einlesen könnte. -.-

    L PEW generiert auch eine Fehlermeldung.
    Mit L EW kann ich das Programm zur SPS übertragen, die CPU geht aber immer wieder in den Stopzustand... -.-

    Ist doch korrekt, dass ich im OB1 einen absoluten Sprung zu FB 1 habe und darin das genannte Programm steht?

    Hab übrigens durch Zufall noch eine Siemens CPU 315 - 2 DP bekommen. Allerdings will die irgendwie nicht mit meinem PC reden. Über einen MPI Adapter müsste die sich doch auch mit S5 / S7 für Windows programmieren lassen, oder?

    Vielen Dank schonmal an euch, für die Zeit, die ihr euch nehmt.

  10. #9
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    das mit ob1 und fb1 ist korrekt

    welche fehlerursache ist auslesbar nachdem die cpu in stop geht (u-stack / b-stack).
    evtl. mal die adressen prüfen (EW112/114 sind laut handbuch dem
    steckplatz 6 zugeordnet => das ist die 7. Peripheriekarte, da die karten
    bei 0 zu zählen beginnen)

    probier mal ob deine software das mag:
    U M 200.4
    = M 200.5
    U M 200.4
    = M 200.6
    U M 200.4
    = M 200.7
    ist von der funktion her das gleiche, nur etwas länger (mehr befehle)

    welchen mpi-adpater hast du denn?

  11. #10
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hab gerade gesehen:
    die CPU100 mag nur merker bis 63!

    also bitte die merkerworte und -bits auf einen wert <64 ändern!

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 28.12.2012, 17:52
  2. Analogwerte
    Von Alexandr im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 12.08.2010, 13:59
  3. Antworten: 8
    Letzter Beitrag: 23.07.2010, 08:19
  4. analogwerte
    Von Majus68 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 31.08.2009, 14:41
  5. Analogwerte mit einer 313C einlesen
    Von Atlas im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 08.08.2009, 18:43

Lesezeichen

Berechtigungen

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