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

Ergebnis 1 bis 10 von 10

Thema: [ Newbie ] Speicheradressierung und Datentypen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo;

    Hardware: OP77B mit S7-200
    Software: WinCC flexible 2004 compact

    Als Newbie versuche ich eine Steuerung mit obigen Komponenten zu realisieren. Arbeite dazu auch die zur Hardware mitgelieferten Tutorials durch. Aber zwei Dinge krieg ich nicht raus:

    a) Wieso nehmen Bool-Variable im WinCC Simulator die Werte 0 und -1 an? Sollte das nicht 0 und 1 sein?

    b) Ich habe zwei Variablen, die zyklisch fortlaufen aktualisiert werden ,definiert: VW0 und VB1
    Meinem Verständnis der Anleitung nach besteht VW0 aus den beiden Bytes VB0 und VB1, wobei VB1 die Bits 0 bis 7 und VB0 die Bits 8 bis 15 von VW0 darstellt. Wenn ich aber den Wert von VW0 im Simulator oder durch die Steuerung verändere, ändert sich der Wert von VB1 jedoch nicht. Wie kann das sein? VB1 ist doch das Lower Byte von VW0 oder etwa nicht.

    (c; bEn
    Zitieren Zitieren [ Newbie ] Speicheradressierung und Datentypen  

  2. #2
    caret ist offline Benutzer
    Themenstarter
    Registriert seit
    29.07.2005
    Beiträge
    82
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das Problem scheint nicht bei der Aderssierung zu entstehen, sondern dadurch, dass ich unterschiedliche Variablen mit überlappenden Adressbereichen definiere. Will heissen: Ich definiere zwei externe Variable A und B beide als VW0.

    Das Prob was ich damit hab ist, dass ich Störmeldungen nur über DatenTyp WORT projektieren kann. Möchte ich aber z.B. testhalber mit dem OP77 eine Störmeldung erzeugen können, d.h. durch Drücken einer Taste das entsprechende Bit des Störmeldungs-Wortes invertieren, so kann ich nur über DatenTyp BOOL adressieren.

    Irgendwie ist es sehr unglücklich, dass man den verschiedenen Funktionen nicht äquivalente Parameter übergeben kann. So kann ich der Funktion Bit Invertieren z.B. nicht VW1.0 übergeben sondern nur V1.0

    Kann mir jemand helfen was da im Hintergrund von WinCC passiert, wenn ich zwei Variable mit dem gleichen Speicherbereich definiere? Ist das Prob so ungewöhnlich? Oder ist es so trivial, und ich hab es im Systemhandbuch nur noch nicht gefunden.


    (c; bEn
    Zitieren Zitieren Nachtrag zu b)  

  3. #3
    thomas Gast

    Standard

    hi caret,
    es ist nun halt mal so das du einen bereich für meldungen deklarierst z.b. 16 meldungen in einem wort , wenn du jetzt eine bestimmte meldung anwählen möchtest setzt du das zur meldung gehörende bit auf high,
    also nutzt du zum beispiel vw 0 für störmeldungen hast du die bits von vb 0 und vb 1 für die meldungen. eine einzelne meldung wird dann eben über ein einzelnes bit angesprochen z. b. v1.5.
    was da genau im hintergrund abläuft kann ich nicht beantworten, das prinzipt sollte nun aber klar sein vw0 beinhaltet vb0 und vb1


    ---------------16 bit ( vw0 )----------------

    ---8bit(vb0)-------------------8bit(vb1)----

    v0.7-v0.6-v0.5u.s.w.---v1.7-v1.6-v1.5u.s.w

  4. #4
    caret ist offline Benutzer
    Themenstarter
    Registriert seit
    29.07.2005
    Beiträge
    82
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo;

    Danke erst einmal für die Anregung. Allerdings beantwortet sie leider nicht meine Frage. Der Aufbau des Speichers und die Adressierung ist mir schon klar. Das Prob was ich hab ist, dass ich eine Variable Störungen als VW0 deklariert habe und dann noch mehrere Bits, z.B. NotAus auf V1.0. Wenn ich nun VW0, in dieser Deklaration ja ein unsigned integer (UINT), auf 1 setze, kommt ganz korrekt die Störmeldung "NotAus betätigt". Wenn ich aber V1.0 auf 1 setze bekomme ich jedoch keine Störmeldung!

    Ich kann also VW0 und V1.0 unabhängig voneinander verändern. Das kann aber nicht sein, da sie sich die beiden Variable den Speicherbereich teilen. Eine Änderung von V1.0 muss auch den Wert von VW0 beeinflussen. Tut es aber nicht. Und das ist das Problem.

  5. #5
    Anonymous Gast

    Standard

    hi caret,
    ok, was ich nicht verstehe ist weshalb du 2 versch.variablen des op´s auf eine variable,in diesem fall vw0 der steuerung deklarierst ( was soll das bewirken ?), deine vermutung , daß v1.0 nicht in vw0 enthalten ist kann ich nicht teilen , wie kommst du darauf, daß wenn ich v1.0 auf 1 setze sich der wert von vw0 nicht ändert?

  6. #6
    Anonymous Gast

    Standard

    Zitat Zitat von gast
    ok, was ich nicht verstehe ist weshalb du 2 versch.variablen des op´s auf eine variable,in diesem fall vw0 der steuerung deklarierst ( was soll das bewirken ?),
    Siehe Oben: Ich möchte eine Störmeldung per Tastendruck auf dem OP auslösen. Dazu projektiere ich das Ereignis "Bit invertieren" für eine Taste. "Bit Invertieren" bekommt als Parameter eine BitAdresse (BOOL). Meldungen lassen sich aber nur über WORT oder INT projektieren. Ergo: Ich brauche 2. verscheidene Variablen

    Zitat Zitat von gast
    deine vermutung , daß v1.0 nicht in vw0 enthalten ist kann ich nicht teilen , wie kommst du darauf, daß wenn ich v1.0 auf 1 setze sich der wert von vw0 nicht ändert?
    Ganz einfach: Wenn ich "Runtime uns Simulator starten" ausführe und die entsprechenden Variablenwerte beobachten lasse, kann ich V1.0 ändern ohne dass VW0 eine Änderung erfährt. Beide Variable werden "zyklisch fortlaufend" erfasst.

    Kann natürlich sein, dass der Simulator marode ist. Immerhin hat der auch noch ganz andere Probleme, z.B. werden Schriftarten und der Anmeldedialog nicht korrekt angezeigt (gerendert). Aber das sind bisher nur Darstellungsfehler und keine Laufzeitfehler.

    (c; bEn

  7. #7
    Registriert seit
    28.05.2005
    Beiträge
    56
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Wie sind denn deine WinCC-Variablen mit der Steuerung verknüpft.
    Bei der 300er musst du dann deinem Stör-Variablen(Wort oder uint) ein Mekerwort (zb. MW10) oder DB-Wort zuweisen.
    Wenn du der Bit-Variablen dann zb. ein bit aus diesem bereich zuweist zb. m10.0 und das bit änderst, müsste sich auch der wert der Stör-variablen ändern.
    Ob das ohne Steuerungsanbindung nur im Simulator geht wage ich zu bezweifeln.
    Zitieren Zitieren Variablen  

  8. #8
    caret ist offline Benutzer
    Themenstarter
    Registriert seit
    29.07.2005
    Beiträge
    82
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Atlantik
    Wie sind denn deine WinCC-Variablen mit der Steuerung verknüpft.
    Wie gesagt: Bin ein Newbie. Wieso muss ich die Variable aus WinCC mit der der Steuerung verknüpfen? Hatte das Systemhandbuch so verstanden, dass "externe Variable" die in WinCC angelegt wurden direkt mit den entsprechenden Speicheradressen der Steuerung verbunden sind, d.h. eine automatische Abbildung des Speichers des OP auf den Speicher der Steuerung stattfindet.

    Zitat Zitat von Atlantik
    Bei der 300er musst du dann deinem Stör-Variablen(Wort oder uint) ein Mekerwort (zb. MW10) oder DB-Wort zuweisen.
    Wenn du der Bit-Variablen dann zb. ein bit aus diesem bereich zuweist zb. m10.0 und das bit änderst, müsste sich auch der wert der Stör-variablen ändern.
    Benutze ein S7-200. Werd mich im Handbuch über den Meldungsmechanismus der Steuerung schlau machen.

    Zitat Zitat von Atlantik
    Ob das ohne Steuerungsanbindung nur im Simulator geht wage ich zu bezweifeln.
    Ähhhm, wozu benötige ich den einen Simulator der nicht simuliert? Ich meine die Darstellungsfehler verkrafte ich ja noch irgendwie. Wenn der nicht alles simulieren kann, würde ich das auch noch akzeptieren. Aber das falsch simuliert wird, d.h. der Siumulator weder Warnungen oder Fehlermeldungen erzeugt oder einfach Situationen die er nicht sumulieren kann nicht zulässt, das ist echt übel. Dann verwirrt der einfach mehr als er nützt.

    (c: bEn
    Zitieren Zitieren Re: Variablen  

  9. #9
    Anonymous Gast

    Standard

    moment,
    es gibt auch variable die keine steuerungsanbindung benötigen.Trotzdem woher sollte den vw0 gelesen werden?Du gibst dieser Runtime ja auch kein Steuerungsprogramm.Für die RT-Sim ist ja auch der ganze ablauf der Bildwechsel wichtig die so simuliert werden können.
    Teste mal ob du mit variable ohne steuerungsanbindung besser fährst.

  10. #10
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von caret
    Hallo;

    Hardware: OP77B mit S7-200
    Software: WinCC flexible 2004 compact

    Als Newbie versuche ich eine Steuerung mit obigen Komponenten zu realisieren. Arbeite dazu auch die zur Hardware mitgelieferten Tutorials durch. Aber zwei Dinge krieg ich nicht raus:

    a) Wieso nehmen Bool-Variable im WinCC Simulator die Werte 0 und -1 an? Sollte das nicht 0 und 1 sein?

    b) Ich habe zwei Variablen, die zyklisch fortlaufen aktualisiert werden ,definiert: VW0 und VB1
    Meinem Verständnis der Anleitung nach besteht VW0 aus den beiden Bytes VB0 und VB1, wobei VB1 die Bits 0 bis 7 und VB0 die Bits 8 bis 15 von VW0 darstellt. Wenn ich aber den Wert von VW0 im Simulator oder durch die Steuerung verändere, ändert sich der Wert von VB1 jedoch nicht. Wie kann das sein? VB1 ist doch das Lower Byte von VW0 oder etwa nicht.

    (c; bEn
    Zitieren Zitieren Re: [ Newbie ] Speicheradressierung und Datentypen  

Ähnliche Themen

  1. Datentypen in Codesys V3
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 05.09.2011, 19:38
  2. Datentypen bei Profibusslaves
    Von Howie im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 12.01.2010, 17:09
  3. NEWBIE: SPS und Haustechnik
    Von leonie im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 08.04.2008, 16:48
  4. Any-Zeiger für Datentypen
    Von volker im Forum FAQ
    Antworten: 0
    Letzter Beitrag: 31.03.2007, 16:18
  5. [ Speicheradressierung ] Verständnisfrage
    Von Anonymous im Forum HMI
    Antworten: 3
    Letzter Beitrag: 09.09.2005, 08:35

Lesezeichen

Berechtigungen

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