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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Analogausgang programmieren

  1. #1
    Registriert seit
    23.02.2016
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe eine S7-300 CPU 315 AO 2x12BIT SM332
    ich habe da ein kleines problem. Und zwar will ich einen Analogausgang programmieren und komme nicht weiter.
    Ich will das aus mehreren Markern (z.B. M0.0 - M3.7) ein Analogausgang skaliert wird.
    Es soll für Merker M0.0 ein Stomwert von 4mA ausgegeben werden
    Für Merker M0.1 4,5mA
    usw. bis M3.7 19,5mA

    Wie bekomme ich jetzt die Umwandlung von Digitalwert zu Analogwert hin?

    Vielen Dank für eure Hilfe und Mühe!

    Mfg Jenson
    Zitieren Zitieren Analogausgang programmieren  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... in dem du, abhängig von deinem Merker, einen bestimmten Zahlenwert auf das PAW des Analog-Ausgangs schreibst.
    In der Beschreibung der Karte findest du auch eine Tabelle, die dir sagt, welche Zahlenwerte welches Ergebnis bewirken würden ...

    Gruß
    Larry

  3. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    jenson (23.02.2016)

  4. #3
    jenson ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.02.2016
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für deine schnelle Antwort.
    Kannst du mir bitte mal ein Beispiel dazu machen wie genau das aussehen soll? (z.B. M0.0 auf 4mA
    Ich bin leider noch ziemlicher Laie auf dem Gebiet der Analogwertverarbeitung

    Gruß Jenson

  5. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Nimm in FUP oder KOP eine MOVE-Box.
    An -|EN schreibst Du Deinen Steuermerker M0.0 (M0.1 .. M3.7)
    An -|IN schreibst Du Deinen mA-Zahlenwert
    An OUT|- schreibst Du eine temporäre Variable

    (Jetzt kannst Du die Ansicht auf AWL umstellen, falls Du in AWL programmieren willst.)

    Das ganze machst Du so oft nacheinander wie Du Merker hast.
    Zum Schluß skalierst Du den Wert der temporären Variable, so daß sich aus 4..20 (oder 0..20 ? oder 40..200 oder ...) --> 0..27648 ergibt und gibst das Ergebnis an Deinen Analogausgang PAW aus.
    Zum Skalieren zu 0..27648 kann man einfache Mathematik oder den FC106 UNSCALE verwenden. (Standard Library / TI-S7 Converting Blocks)
    Je nachdem wie Du am Ende Skalieren willst ergibt sich, welchen Datentyp Du für die temporäre Variable nimmst (INT oder REAL) und ob Du 40, 45, .. 195 oder 4.0, 4.5, .. 19.5 oder 0..100 %-Werte oder sonstwas zuweist.
    Du kannst auch direkt sofort den erforderlichen Wandlerwert 0..27648 an die MOVEs schreiben und das Skalieren am Ende weglassen, dann mußt Du halt die 32 Werte per Hand ausrechnen.

    (KOP schematisch)
    Code:
    |--------- 0 -[MOVE]- #temp_int
    |-|M0.0|- 40 -[MOVE]- #temp_int
    |-|M0.1|- 45 -[MOVE]- #temp_int
    | ...
    |-|M3.7|- 195 -[MOVE]- #temp_int
    Was soll passieren, wenn kein Merker aktiv ist?
    Was soll passieren, wenn mehrere Merker aktiv sind?

    Falls es einen linearen Zusammenhang zwischen Deinen Merkern und der Sollwert-Ausgabe gibt, dann könnte man auch das höchste gesetzte Bit ermitteln und einfach mit einem Faktor multiplizieren.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Lichtspiel (08.04.2016)

  7. #5
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    934
    Danke
    156
    Erhielt 169 Danke für 127 Beiträge

    Standard

    je nach können des TE wäre vlt auch SPL eine Möglichkeit. Ansonsten sicher je bit ein MOVE
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  8. #6
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.355
    Danke
    393
    Erhielt 221 Danke für 175 Beiträge

    Standard

    Ein andere Möglichkeit ist das MD0 zu Skalieren und dann auf der Analog Ausgang.

    MD0 von 0 bis 4294967296 (DINT) ist 0 bis 27648 ( 0 bis 20 mA).
    Geändert von de vliegende hollander (24.02.2016 um 08:26 Uhr) Grund: dint
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  9. #7
    jenson ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.02.2016
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Danke für eure Hilfe ich werdes es versuchen

  10. #8
    jenson ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.02.2016
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Was soll passieren, wenn kein Merker aktiv ist?
    Was soll passieren, wenn mehrere Merker aktiv sind?

    Normalerweise ist immer nur ein Merker aktiv.

    Wie bekomm ich dann die temporären Variablen in den Analogausgang?
    Das war doch was mit PAW und PEW oder so ähnlich?

  11. #9
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.355
    Danke
    393
    Erhielt 221 Danke für 175 Beiträge

    Standard

    Lese doch beitrag #4vom harald durch..
    Der hat es genau beschrieben.
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  12. #10
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.355
    Danke
    393
    Erhielt 221 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von de vliegende hollander Beitrag anzeigen
    Ein andere Möglichkeit ist das MD0 zu Skalieren und dann auf der Analog Ausgang.

    MD0 von 0 bis 4294967296 (DINT) ist 0 bis 27648 ( 0 bis 20 mA).
    Oops, Schlechte tipp.
    Wert ist nicht linear..
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

Ähnliche Themen

  1. Analogausgang
    Von Dagobert1987 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.09.2012, 19:01
  2. Analogausgang Programieren ?
    Von horstiborstiworsti im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 14.08.2011, 15:34
  3. Antworten: 7
    Letzter Beitrag: 26.04.2011, 13:16
  4. analogausgang
    Von markus277 im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 13.11.2009, 15:57
  5. Analogausgang an CPU 224 XP programmieren ???
    Von Trollhammaren im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 19.04.2005, 18:04

Stichworte

Lesezeichen

Berechtigungen

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