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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 21 von 21

Thema: SCL: WORD in 16 Bit lange STRUCT schreiben

  1. #21
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    AT geht nur mit nicht-optimierten Bausteinen... dies ist nicht zu empfehlen. Warum? Frag HelleBarde... er hat schon viele nützliche Sache Performance und Laufzeit geschrieben... Wird übrigens von big S. auch nicht empfohlen...
    oh weh, bin ich schon so berühmt


    Also danube möchte einen Frequenzumrichter dessen Daten im E liegen in einen UDT wuppen. Ich empfehle einen UDT zu definieren, der enthält, was dieser Umrichter so als Ausgänge zu bieten hat. (Des Umrichters Ausgänge sind der Simatic Eingänge). Und dann schreibe man einen FC, der das Wuppen erledigt. Z.B. so

    Code:
    FUNCTION ReadMyConverter : VOID
    VAR INPUT
    in : WORD
    VAR INOUT
    converter : MyConverter
    BEGIN
    #converter.on := #in.x0; #converter.off := #in.x1; #converter.ccw := #in.x3; #converter.fast := #in.x4; ...
    END
    Den Baustein kann man denne mehrfach im OB1 (oder einem Zyklischen oder einem HardwareInterrupt) verwenden

    Code:
    ReadMyConverter( in := %EW10, converter := "aDataBlock".containing.some.converters[ 3 ]); ReadMyConverter( in := %EW14, converter := "aDataBlock".containing.some.converters[ 4 ]);
    Wenn man das so eingibt, dann zwingt einen TIA dazu zu %EW10 ein Symbol zu definieren ... dann machen wir das eben

    Für die Ausgänge des Programms, die Eingänge des Converters kann man das ganz ähnlich machen. Der oben gewählte Name ist dann vielleicht nicht der kleverste. Und sollten da ein paar Analogwerte herum hängen, dann macht man die mit an die Schnittstelle. Z.B.

    Code:
         WriteMyConverterIn( ConverterIn := "aDataBlock".containing.some.converters[ 4 ]; outBools => %AW48, outAnalogValue1 => %AW50, outAnalogValue2 => %AW52 );

    Ich gebe ja zu, dass das nicht so voll symbolisch ist, aber es begrenzt den Schaden auf genau diese Funktionen. Das restliche Programm bleibt sauber, "selbst dokumentierend" und schnell.


    'n schön' Tach auch
    HB
    Geändert von HelleBarde (17.12.2013 um 23:53 Uhr)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 07.06.2013, 17:37
  2. Word in struct
    Von WinniePooh im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 11.10.2012, 12:47
  3. Per SCL ein Bit in einen DBD schreiben
    Von SEAL im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 11.01.2012, 16:07
  4. struct als word in HMI
    Von Züttu im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.06.2011, 16:22
  5. Antworten: 3
    Letzter Beitrag: 11.07.2007, 22:52

Stichworte

Lesezeichen

Berechtigungen

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