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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: SCL: WORD in 16 Bit lange STRUCT schreiben

  1. #11
    Registriert seit
    05.10.2010
    Ort
    Linz, AUT
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    hallo danube,
    schau dir meinen Beitrag #3 an. Da habe ich dir einen Lösungsansatz gegeben...
    Ansonsten....In einem anderen Beitrag gabs dasselbe Problem... Mein Lösungsvorschlag wurde dann umgesetzt KLICK
    Hab ich gesehen und ich stimme Dir zu, damit wird es funktionieren. Um allerdings auf die Eingänge zuzugreifen, ist der PEEK Befehl zu verwenden. Vielen Dank!

    Allerdings finde ich diesen wenig praktikabel, sobald sich die Anzahl der auszuwertenden Informationen erhöht. Deshalb frage ich mich (und Euch), ob es hier keinen kompakten Dreizeiler gibt, der die Aufgabe für mich übernimmt (unabhängig der zu übertragenden Datenmenge)?

  2. #12
    Registriert seit
    16.07.2007
    Beiträge
    61
    Danke
    13
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Einfacher gehts dann schon, wenn du in dem DB von dem FU gleich eine Struktur mit den Bits anlegst und das Wort da rein schreibst so wie Onkel Dagobert das geschrieben hat.

  3. #13
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Aus der Hilfe, schon gesehn? Vllt hilfts..

    SCL
    #myWord := PEEK_WORD(area:=16#84, dbNumber:=1, byteOffset:=#myInt);
    //...
    #myBool:=PEEK_BOOL(area:=16#84, dbNumber:=1, byteOffset:=#myByteOffset, bitOffset:=#myBitOffset);
    //...
    POKE(area:=16#84,dbNumber:=1,byteOffset:=#myInt,value:=12);
    //...

  4. #14
    Registriert seit
    05.10.2010
    Ort
    Linz, AUT
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    Aus der Hilfe, schon gesehn? Vllt hilfts..
    PEEKen tu ich schon, und zwar folgendermaßen:
    Code:
    #tmpW := PEEK_WORD(area := 81, dbNumber := 0, byteOffset := #II_EA);
    Der Anwender kann auf II_EA die Peripherie-Eingangsadresse parametrieren und ich schreibe dann dessen erstes Eingangswort auf meine temporäre tmpW Variable. Damit ist der erste Teil bereits geschafft.

    Jetzt scheitere ich nur noch daran, den als WORD formatierten Inhalt meiner tmpW Variable in die 16 bit lange UDT reinzudrücken... Im Moment versuche ich mich mit MOVE_BLK_VARIANT...

    Falls gar nix Anderes geht, muss ich wohl einen globalen DB verwenden und das Wort reinpoken, was allerdings schade wäre, da ich an einem Standard programmiere und zusätzliche Bausteine grundsätzlich zu vermeiden wäre. Gutes altes (versautes) AWL...

  5. #15
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Frage: Was für einen Datenbaustein hast du? Optimiert oder nicht nicht-optimiert? Anders gefragt: Soll dein DB nur symbolisch oder absolut (also mit Offset) sein?

  6. #16
    Registriert seit
    05.10.2010
    Ort
    Linz, AUT
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    Frage: Was für einen Datenbaustein hast du? Optimiert oder nicht nicht-optimiert? Anders gefragt: Soll dein DB nur symbolisch oder absolut (also mit Offset) sein?
    Der Instanzdatenbaustein ist Nicht-optimiert. Alleine schon mal aus Gewohnheit und dem Zweifel, dass die Optimierung vorteilhaft ist.

  7. #17
    Registriert seit
    04.11.2013
    Ort
    Salzburg
    Beiträge
    18
    Danke
    15
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    Wie sieht die Struktur aus? Array?? Bool ? word? byte?? Ich gehe mal davon aus, dass du deine Bausteine optimiert lassen willst?
    Dann mal ein Beispiel:
    Code:
    Meine_Struktur_Bool_0 := Mein_Eingangswort.x0;
    Meine_Struktur_Bool_1 := Mein_Eingangswort.x1;
    .
    .
    Cool

    Habe nicht gewusst dass es so einfach geht

    Vielen dank

  8. #18
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    @xperia: Bitte schön

    @danube

    ...und dem Zweifel, dass die Optimierung vorteilhaft ist.
    Was früher ging, geht mit der Optimierung zum Teil nicht... Aber dann würde ich weiter auf der 300er statt auf der 1500er programmieren... Es gibt aber viele tolle Sachen... und die "Optimierung" hat seine Vorteile und Vorzüge. Nur gehen gewisse Sachen, aber dafür viele neue andere.

    Aber sollte es nicht so gehen?

    ddaa.PNG

  9. #19
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    @xperia: Bitte schön

    @danube



    Was früher ging, geht mit der Optimierung zum Teil nicht... Aber dann würde ich weiter auf der 300er statt auf der 1500er programmieren... Es gibt aber viele tolle Sachen... und die "Optimierung" hat seine Vorteile und Vorzüge. Nur gehen gewisse Sachen, aber dafür viele neue andere.

    Aber sollte es nicht so gehen?

    ddaa.PNG
    Na super, biste ja wieder bei der alten Sch…. und auch noch Absolut ohne Symbolik. Ich denke in TIA ist nun alles besser und einfacher!
    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

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

    Thomas_v2.1 (11.12.2013)

  11. #20
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Na super, biste ja wieder bei der alten Sch…. und auch noch Absolut ohne Symbolik. Ich denke in TIA ist nun alles besser und einfacher!
    Da der Themenstarter mit nicht-optimierten Bausteinen arbeiten will, ist es wie früher... er wollte es so... wenn TIA "besser und einfacher" sein soll, dann sollte es man auch so nutzen wie vorgesehen und nicht wieder auf nicht-optimierte Bausteine umschalten. Dann hast du, wie du schon sagst, den ..
    alten Sch...
    In diesem Sinne... umschalten auf optimierte Bausteine, dann gibt es nur noch Symbolik und keine absoluten Adressen... Einge geeignete Struktur des DBs sich überlegen, die Möglichkeiten prüfen, wie man die Daten da rein bekommt, und alles wird gut Gute Nacht :=)

  12. Folgende 2 Benutzer sagen Danke zu shutdown_TIA12 für den nützlichen Beitrag:

    HelleBarde (15.12.2013),vollmi (12.12.2013)

Ä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
  •