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

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

Thema: TwinCat Analogwert verarbeiten

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Wie kann ich bei Twincat Analogwerte umwandeln?
    Ich suche etwas um aus einem Analogwert ein mA-signal bzw. den Druck des Sensors zu bestimmen.

    Der Analogwert wird als UINT aufgenommen.
    Ziel: 11750 -> xx.x mA bzw. xx.x bar
    4mA müssten ja dem Analogsignal 0 entsprechen, 65535 = 20mA

    Wie ließe es sich das umsetzen? gibt es evtl ne Funktion dafür?
    Wie kann ich Kommazahlen erzeugen?

    Vielen Dank im Voraus!
    Zitieren Zitieren TwinCat Analogwert verarbeiten  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Dreisatz

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

    ostermann (30.01.2015)

  4. #3
    Registriert seit
    26.11.2012
    Ort
    Gummersbach
    Beiträge
    503
    Danke
    18
    Erhielt 72 Danke für 70 Beiträge

    Standard

    Hallo,

    also eine einfache Messwert-Anpassung bekommst Du mit folgender Formel:

    (<Messwert des Analogeingangs> : <Maximaler Messwert des Analogeingangs>)*<Mögliche Messspanne>

    Bei einem 0-20mA Eingang:

    (32767,5 (50%, gemessene 10mA) : 65535)*20mA = 10mA

    Für Deinen 4-20mA Eingang wäre das dann:

    (32767,5 (50%, gemessene 8mA) : 65535)*16mA = 8mA

    Wenn Du den Messwert direkt in z.B. Druck skalieren willst, musst Du die <Mögliche Messspanne> durch die Werte Deines Drucksensors ersetzen. Z.B. 1bar bei einem Drucksensor 0-1bar.

    Ich hoffe, Dir damit ein bisschen geholfen zu haben.

    Christian
    Ganz kurz ganz hell
    ganz lange ganz dunkel....

  5. #4
    spiegelkabinett ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2015
    Beiträge
    17
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    jo, klar.
    ne funktion hätte ich auch gerne genommen. Ich erhalte ja so immer nur ganzzahlige Werte.

    Var01_IN:REAL;
    Var01 AT %I* :UINT;

    Var01_IN := 4+(Var01*(20/65535)); //der Wert von Var01_IN ist immer 4. Brauch aber auch die Nachkommastellen... =(

  6. #5
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.563
    Danke
    284
    Erhielt 259 Danke für 233 Beiträge

    Standard

    Wenn du Ethercat-Klemmen (EL...) einsetzt, ist eine Anwenderskalierung in der Analogklemme möglich. Dann sparst Du Dir die Rechnerei im Zyklus.
    Als REAL geben die dann auch direkt den Spannungs/Stromwert aus.

  7. #6
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.563
    Danke
    284
    Erhielt 259 Danke für 233 Beiträge

    Standard

    Versuch mal

    Var01_IN:REAL;
    Var01 AT %I* :UINT;

    Var01_IN := 4+(UINT_to_REAL(Var01)*20/65535);


    oder

    Var01_IN := 4.0+(Var01*20.0/65535.0);

    Kann sein, das der Compiler nicht erkennt, was Du willst, wenn in der Formel nicht mindestens ein REAL drin ist.

  8. #7
    spiegelkabinett ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2015
    Beiträge
    17
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ja, ich benutze eine Ethercat-Klemme (EL3024). Dannach habe ich auch schon gesucht. Leider kann cih die Einstellung dafür nicht finden =(
    Kannst du mir sagen wo?

  9. #8
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.563
    Danke
    284
    Erhielt 259 Danke für 233 Beiträge

    Standard

    Reiter CoE im Systemmanager für die Klemme

    (DATENBLATT LESEN, mittelprächtig erläutert in der .chm-Datei)

    Wenn Du dann die Änderungen der CoE-Objekte unter dem Reiter Startup hinzufügst, überleben diese auch einen Klemmentausch ohne Neukonfiguration.
    Geändert von weißnix_ (29.01.2015 um 15:54 Uhr)

  10. Folgender Benutzer sagt Danke zu weißnix_ für den nützlichen Beitrag:

    spiegelkabinett (29.01.2015)

  11. #9
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.563
    Danke
    284
    Erhielt 259 Danke für 233 Beiträge

    Standard

    0x80n0:1 wäre die Freigabe der Anwenderskalierung
    0x80n0:11 Userscale Offset
    0x80n0:12 Userscale Gain

    n steht für den Kanal der Klemme, in Deinem Fall 0...3

    Edit: Index geändert, hab mich verguckt
    Geändert von weißnix_ (29.01.2015 um 15:59 Uhr)

  12. #10
    spiegelkabinett ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2015
    Beiträge
    17
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    okay,
    Werde ich nochmal ausführlich studieren...

    CoE-Online->Set Value Dialog?

Ähnliche Themen

  1. Analogwert verarbeiten S5/analog PT100
    Von spspfuscher im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.10.2017, 13:28
  2. TIA Analogwert verarbeiten SCL
    Von EMZ im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 25.01.2015, 14:58
  3. Analogwert verarbeiten
    Von MauriceS im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 29.05.2011, 10:25
  4. UDINT in TwinCAT verarbeiten und skalieren
    Von olitheis im Forum CODESYS und IEC61131
    Antworten: 13
    Letzter Beitrag: 06.12.2010, 08:19
  5. S7-Real in TwinCAT verarbeiten
    Von SPSler2009 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 24.01.2009, 13:27

Lesezeichen

Berechtigungen

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