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

Ergebnis 1 bis 8 von 8

Thema: V12 - STRUCT nach INT kopieren

  1. #1
    Registriert seit
    30.11.2008
    Ort
    Baesweiler
    Beiträge
    830
    Danke
    255
    Erhielt 120 Danke für 87 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe mir in einem FB-Baustein ein STRUCT im STAT von 16 Bits aufgebaut.

    In Step7 bin ich dann später hingegangen und habe per MOVE dieses STRUCT auf
    ein INT kopiert, dieses habe ich dann als OUT rausgeführt. Dient eigentlich nur zum beobachten.

    Wenn ich dies nun bei TIA machen möchte, meckert er dass er STRUCT nur auf STRUCT kopieren kann.
    Gibts da jetzt noch eine schönere Lösung als alles von Hand per Addierung nachzubilden?
    gruss Markus
    Zitieren Zitieren V12 - STRUCT nach INT kopieren  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    in SCL per AT-Sicht einen INT über den STRUCT legen. (könnte aber sein, daß das nur im TEMP geht)

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    mnuesser (08.06.2013)

  4. #3
    Registriert seit
    12.05.2009
    Beiträge
    61
    Danke
    21
    Erhielt 14 Danke für 12 Beiträge

    Standard

    oder die einzelnen Bits zuweisen.
    = IntWieAuchImmer.x0

    Finde isch schöner als "alles von Hand per Addierung nachzubilden".
    Grüße

  5. Folgende 2 Benutzer sagen Danke zu jack911 für den nützlichen Beitrag:

    mnuesser (08.06.2013),PN/DP (09.06.2013)

  6. #4
    Registriert seit
    30.11.2008
    Ort
    Baesweiler
    Beiträge
    830
    Danke
    255
    Erhielt 120 Danke für 87 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    in SCL per AT-Sicht einen INT über den STRUCT legen. (könnte aber sein, daß das nur im TEMP geht)

    Harald
    Danke PN/DP aber ich hab den FB ja nun schon in FUP erstellt
    gruss Markus

  7. #5
    Registriert seit
    30.11.2008
    Ort
    Baesweiler
    Beiträge
    830
    Danke
    255
    Erhielt 120 Danke für 87 Beiträge

    Standard

    ahhh... bit-zugriff auf ein int?
    sehr schön, wieder was gelernt... dank dir jack911
    gruss Markus

  8. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von jack911 Beitrag anzeigen
    oder die einzelnen Bits zuweisen.
    = IntWieAuchImmer.x0
    Ich würde mal behaupten, daß diese neuen Slice-Zugriffe für S7-1200/1500 NICHT mit INT gehen, sondern nur mit Byte, Word, Doppelword.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #7
    Registriert seit
    30.11.2008
    Ort
    Baesweiler
    Beiträge
    830
    Danke
    255
    Erhielt 120 Danke für 87 Beiträge

    Standard

    ne harald, bei mir geht das sogar sehr gut
    gruss Markus

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

    PN/DP (09.06.2013)

  11. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von PN/DP Beitrag anzeigen
    Ich würde mal behaupten, daß diese neuen Slice-Zugriffe für S7-1200/1500 NICHT mit INT gehen, sondern nur mit Byte, Word, Doppelword.
    Zitat Zitat von mnuesser Beitrag anzeigen
    ne harald, bei mir geht das sogar sehr gut
    Dieser für S7-1200/1500 neue Slice-Bitzugriff auf INT-Variablen hat mir keine Ruhe gelassen ... ich wollte die original Siemens Dokumentation dazu sehen.

    Zunächst der schon länger existierende Online Support FAQ:
    Wie können Sie in STEP 7 V11 bit-, byte- oder wortweise und symbolisch auf die unstrukturierten Datentypen zugreifen?
    Zitat Zitat von Beitrags-ID: 57374718 Datum: 2011-12-21
    Bei den S7-1200 Baugruppen (ab FW V2.0) haben Sie die Möglichkeit, bitweise auf Variablen vom Datentyp Byte, Word oder DWord zuzugreifen.
    [...]
    Nachfolgendes Beispiel zeigt den bitweisen symbolischen Slice-Zugriff. Das "x" steht für den bitweisen Zugriff in dem jeweiligen Wort oder Byte und die Nummer dahinter gibt den Offset des betreffenden Bits aus.

    Bild 03 zeigt ein Beispiel für den byteweisen Slice-Zugriff. Hier steht das "b" für den byteweisen Zugriff und die Nummer gibt den Offset des betreffenden Byte aus.

    Beim wortweisen Slice-Zugriff wird das "w" angegeben und die Nummer gibt den Offset des betreffenden Wortes aus.
    Die Aufzählung der möglichen Variablen-Datentypen enthält keine Ganzzahl-Datentypen. Nichts woraus man schließen könnte, daß es auch mit INT möglich ist.
    Allerdings enthält dieser FAQ den irreführenden Begriff Offset. Mit Offset ist hier aber kein Versatz im Sinne von Adressberechnungen gemeint! Das wäre nämlich falsch (weil Big-Endian). Die Nummer gibt einfach nur die Nummer des Items in der Variable an, wobei die Nummer 0 für das niederwertigste Item steht. Zum höchstwertigsten Item wird einfach aufsteigend durchnummeriert.


    Und was sagt das vom TIA Portal mitinstallierte Informationssystem?
    (Es war/ist nicht einfach, die diesbezügliche Beschreibung im TIA Informationssystem zu finden, selbst wenn man eigentlich weiß was man sucht.)
    Zitat Zitat von Informationssystem TIA Portal V11 SP2 Update 4
    Einzelne Bits einer Variablen adressieren

    Sie haben die Möglichkeit, gezielt Bereiche innerhalb deklarierter Variablen zu adressieren. Dabei können Sie auf Bereiche der Breiten 1 Bit, 8 Bit oder 16 Bit zugreifen.
    [...]
    Die Variable muss vom Datentyp "Bitfolge" sein. Bei aktivierter IEC-Prüfung ist auch der Zugriff auf Variablen des Datentyps "Ganzzahl" möglich.
    Die von mir rot markierte Aussage ist selbstverständlich falsch!.
    Nur wenn die IEC-Prüfung NICHT aktiviert ist, dann ist dieser Zugriff auf Ganzzahl-Variablen erlaubt. Wie man sehr leicht nachprüfen kann.

    Wird die IEC-Prüfung für den Baustein aktiviert, dann ergibt ein Slice-Zugriff folgende Fehlermeldung beim Übersetzen (original Meldung kopiert!):
    Netzwerk 1,Unzulässiger Peripehriezugriff x0 für "test_INT_Var".x0.,1,0,11:56:06
    Zitat Zitat von Hilfe zur Meldung 604:4509
    Der direkte Zugriff auf die Peripherie mit :P unterliegt folgenden Einschränkungen:
    • Der Zugriff darf nur für Ein- und Ausgänge verwendet werden.
    • Der Zugriff ist nicht für S7-300/400 zulässig.
    Ohh Mann Siemens, wer schreibt bloß Eure Dokumentationen?

    Ohne gezielt zu suchen, findet man einfach zu viele falsche, fehlerhafte oder unverständliche Beschreibungen.
    Und welcher Smartphone-Fuzzi oder Designer hat Euch eingeredet, daß man im Hilfesystem keinen [Zurück]-Button mehr braucht? (Backspace funktioniert "noch")

    Harald
    Angehängte Grafiken Angehängte Grafiken
    Geändert von PN/DP (09.06.2013 um 15:34 Uhr) Grund: Bild zugefügt
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren Slice Zugriffe auf INT  

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

    jack911 (09.06.2013)

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 28.03.2013, 07:53
  2. Anypointer SCL/AWL - INT kopieren
    Von pirat im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 22.11.2012, 08:46
  3. Antworten: 14
    Letzter Beitrag: 14.02.2012, 15:29
  4. Antworten: 5
    Letzter Beitrag: 08.04.2011, 14:36
  5. DB-Kopieren, Datentyp 'Block-DB' und 'int'
    Von Datenteufel im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.01.2010, 09:05

Lesezeichen

Berechtigungen

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