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

Ergebnis 1 bis 7 von 7

Thema: Skalieren FUP Automation Studio

  1. #1
    Registriert seit
    28.03.2016
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Böse


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen
    Kurz zu mir, ich bin ein mittelmäßiger Beginner auf dem Gebiet SPS Programmierung und ich kämpfe mich mit verschiedener Literatur durch. Aber jetzt bin ich auf eine unüberwindbare Hürde gestoßen. Ich möchte einen Analogwert in FUP skalieren. Bei S7 gibt es einen tollen Baustein FC105. Aber wie mache ich das im Automation Studio. Konnte dort nichts finden. Kann ich mir einen solche Funktion selber erstellen?
    Wäre echt dankbar wenn ich hier eine Lösung bekäme, ich bin langsam verzweifelt

    Danke im Voraus
    Zitieren Zitieren Skalieren FUP Automation Studio  

  2. #2
    Registriert seit
    23.07.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Tombaland,

    im AS4.2 gibt es unter den Mechatronik Bibliotheken den Funktionsbaustein MTLookUpTable mit dem man Werte skalieren kann.

    Solltest du eine ältere Version vom AS haben, dann gibt es die Funktionen LCRScal, LCScINT, LCScDINT, LCScUINT.

    MfG
    Andi

  3. #3
    Tombaland ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.03.2016
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zuerst einmal, ich habe die Version AS4.0.25
    Den Funktionsbaustein MTLookUpTable konnte ich nicht finden, obwohl dieser in der Hilfe aufgeführt wird.
    Aber ich denke das passt alles nicht zu meinem Problem. LCRScal passt auch nicht.
    Ich beschreibe mal mein Problem:
    bei einem Int -32700 will ich eine Ausgabe von -75 und bei einem Int +32700 will ich eine Ausgabe von +70
    und das liniar

  4. #4
    Registriert seit
    23.07.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    also wie ich schon geschrieben habe ist die Funktion "LCScINT" die die du brauchst.

    Das könnte dann so aussehen:

    VAR
    InValue : INT; //Eingangswert (-32700..32700)
    OutValue : INT; //Ausgabewert (-75..70)
    LCScINT_0 : LCScINT;
    END_VAR

    PROGRAMM_INIT
    LCScINT_0.x1 := -32700;
    LCScINT_0.x2 := 32700;
    LCScINT_0.y1 := -75;
    LCScINT_0.y2 := 70;
    END_PROGRAMM

    PROGRAMM_CYCLIC
    LCScINT_0.x := InValue;
    LCScINT_0();
    OutValue := LCScINT_0.y;
    END_PROGRAMM

    Damit du die Funktion hast, musst du die Bibliothek "LoopCont" einfügen.

    MfG

  5. #5
    Tombaland ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.03.2016
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Na also, jetzt endlich funktioniert es.
    Ich weiß gar nicht wie ich meinen Dank in Worte fassen kann.
    Meine zugehörige Visu PP065 funktioniert dahingehend auch schon.
    Ich hoffe ich stelle nicht allzu viele Fragen. Aber das iTüpfelchen wäre jetzt noch eine Skalierung mit 10er Stelle, zBsp. 70.0 (Zehnerstelle zählt mit) Habe inzwischen schon wieder einiges probiert und die Lösung lässt auf sich warten. Im Monitor wird der Ausgang immer mit punkt0 angezeigt, zählt jedoch nicht mit

  6. #6
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Hi
    also am einfachsten ist wenn du statt -75/70 einfach auf -750 / 700 änderst. In der Visu kannst du die Kommaanzeige ja einfach bei den Ausgabefeldern parametrieren.
    Oder du schaust dir mal das Kapitel "Einheiten" an....

    Wenn du stark visuell orientiert bist, kannst du auch mal gerne die Testversion von PLTrend laden (siehe unten: signature), dann kannst du dir alle Variablen als Kurven ansehen und das zeitliche Zusammenspiel übersichtlicher darstellen.

    bg
    bb

  7. #7
    Registriert seit
    23.07.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    wenn du eine Nachkommastelle willst musst du mit der Funktion "LCRScal" aus der Bibliothek "LoopContR" arbeiten.

    Das würde dann so aussehen:

    VARInValue : INT; //Eingangswert (-32700..32700)
    OutValue : REAL; //Ausgabewert (-75.0..70.0)
    LCRScal_0 : LCRScal;

    END_VAR

    PROGRAMM_INIT
    LCRScal_0 .x1 := -32700.0;
    LCRScal_0 .x2 := 32700.0;
    LCRScal_0 .y1 := -75.0;
    LCRScal_0 .y2 := 70.0;

    END_PROGRAMM

    PROGRAMM_CYCLIC
    LCRScal_0 .x := INT_TO_REAL(InValue);
    LCRScal_0 ();
    OutValue := LCRScal_0 .y;

    END_PROGRAMM

    Jetzt gibt es auch Nachkommastellen.

    Falls du die Bibliothek "Standard" noch nicht eingefügt hast, musst du diese auch einfügen um die Funktion "
    INT_TO_REAL()" nutzen zu können.

    MfG

Ähnliche Themen

  1. Automation Studio
    Von DeinVater im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 18.03.2016, 13:34
  2. B&R mit Automation Studio 4.0 FUP zum Triggern
    Von bernd67 im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 22.05.2014, 11:19
  3. Automation Studio : Temperaturwerte skalieren
    Von sschultewolter im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 30.01.2013, 15:15
  4. B&R Automation Studio
    Von Aussie im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 13.04.2010, 00:11
  5. Automation Studio
    Von DaHoff im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 27.11.2008, 12:29

Stichworte

Lesezeichen

Berechtigungen

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