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

Ergebnis 1 bis 10 von 10

Thema: WinCC: Bitmeldungen mit Array of Bool

  1. #1
    Registriert seit
    11.09.2014
    Beiträge
    101
    Danke
    13
    Erhielt 1 Danke für 1 Beitrag

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Kann man die Bitmeldungen im TIA WinCC auch direkt (oder ohne umstänständliches Umwandeln/Aufbereiten) mit dem Array-Index eines bool'schen Array's verknüpfen?

    Danke und Gruss
    Zitieren Zitieren WinCC: Bitmeldungen mit Array of Bool  

  2. #2
    Registriert seit
    25.04.2014
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wozu?
    Es gibt doch bei Siemens eine Excel-Tabelle. Mit der kannst du dir alle Bits schön ausrechnen.

  3. #3
    Automatinator ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.09.2014
    Beiträge
    101
    Danke
    13
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von sps-forum.de Beitrag anzeigen
    Wozu?
    Es gibt doch bei Siemens eine Excel-Tabelle. Mit der kannst du dir alle Bits schön ausrechnen.
    Wie meinst du das? ausrechnen? Ich muss ja nichts ausrechen... Ich möchte nur ein einem wenn die Stelle im Array x (also index = x) dann soll die x'te Meldung in dieser Tabelle angezeigt werden (ID-Nr.).

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

    Standard

    Zitat Zitat von Automatinator Beitrag anzeigen
    Wie meinst du das? ausrechnen? Ich muss ja nichts ausrechen... Ich möchte nur ein einem wenn die Stelle im Array x (also index = x) dann soll die x'te Meldung in dieser Tabelle angezeigt werden (ID-Nr.).
    Das wird nicht funktionieren. WinCC organisiert die Bitmeldungen Wortweise. Ich habe eben versucht ein array of bool zu verwenden. Keine Chance.
    Ich habe mir mal eine Excel-Tabelle von Siemens runtergeladen. Da gibst du die Bausteinnummer, die Anfangsadresse deiner Meldungen und die Anzahl der Wörter an.
    Per Button wird die Struktur der Bitmeldungen und Quitvariablen berechnet und tabellarisch dargestellt. Mehr ist glaub ich nicht möglich.

  5. #5
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.337
    Danke
    448
    Erhielt 688 Danke für 513 Beiträge

    Standard

    sps-forum hat leider recht, das Array of Bool bringt leider nicht viel.
    WinCC akzeptiert es nicht, man kann sich die Variablen dann manuell als INT/WORD anlegen (DB nicht optimiert)
    Als zweiten Nachteil hat man dann dass man im Programm nur mit kryptischen Symbolen ala Alarm[328] arbeiten muss.

    Eigentlich akzeptiert WinCC sowieso nur INT/WORD-Werte aus denen man dann beim Erstellen der Meldung eine Bitadresse angeben muss.

    Welche Möglichkeiten gibts...
    a)Optimierter Baustein mit INT/WORD
    Vorteil: Kann direkt in WinCC als Triggervariable verwendet werden.
    Nachteil: Zugriff auf Bits muss auf Wegen wie Slice, AT, etc. genommen werden.
    DbStoerungen.Becken1.Stoe_331N1_NH4.X1/X2/X3 etc... ist aber auf kein tolles Symbol.

    b) Freie Struktur der Meldungen in einem nicht optimierten DB.
    Vorteil: Man kann alle möglichen Bitstrukturen verwenden.
    Nachteil: Mann muss die Variablen händisch in WinCC als INTs/WORDs an den entsprechenden Adressen anlegen.

    Ich persönlich tendiere zur Variante B.
    Im DB kann die die Bits vollsymbolisch mit Strukturen anlegen (Stoe.Becken1.331N1_NH4.MAX; Stoe.Becken1.331N1_NH4.StoeSensor; etc...)
    Die Worte-Variablen muss man halt dann in WinCC anlegen.

    Wenns bessere Lösungen gibt (für das Bitmeldeverfahren) dann bin ich ganz Ohr.

    Zu Wissen ist nur dass die Byte-Order in WinCC gedreht ist.
    Z.B. du hast eine Word-Variable, dann ist Bit 0 gleich Bit 8 in der Triggervariable der Meldung. Bit1 ^= Bit9, Bit8 ^= Bit0, etc....

    Siemens-Logik halt.
    Geändert von RONIN (25.06.2015 um 17:17 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  6. #6
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Wieso das?Du hast doch einen Kommentar im DB?
    Im DB musst du halt einzelne Variablen anlegen die in der Reihenfolge einzutragen sind das die verdrehten Byts wieder kompensiert werden.
    Auf der Visu-Seite hast du dann nur die Array Bitnummer die stimmt überein mit der Nummer der SPS-Variable.Die Bedeutung steht im Kommentar.
    Ich finde das gar nicht so schlecht.Die Arbeit machst du einmal und den Kommentar musst du eh hinzufügen.

    Bsp:

    alarm328 Kommentar:...............

  7. #7
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Entschuldigung ich habe einen Fehler gemacht.Die SPS-Seite stimmt.
    Auf der Visu-Seite ist es ein Array aus Word Variablen.Die Arraygröße kannst du beliebig bestimmen.
    Die Notation im Flexible ist Variablenname/Typ Word/Arraygröße.Das ist die Variable.

    Im Meldungsfenster taucht dann die Variable auf mit einer Nummer.Da hat Ronin recht.Pardon.

  8. #8
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.337
    Danke
    448
    Erhielt 688 Danke für 513 Beiträge

    Standard

    @freaky: Wie machst du denn das? Eine Array oder Bool-Variable kann man in WinCC ja nicht als Trigger nehmen..

    Ah, du erstellst ein absolut adressiertes Array of WORD in WinCC, oder? Ja das ist gar keine schlechte Idee.
    Danke für den Tipp.

    Zitat Zitat von silverfreaky Beitrag anzeigen
    Wieso das?Du hast doch einen Kommentar im DB?
    Die Bedeutung steht im Kommentar.
    Ich finde das gar nicht so schlecht.Die Arbeit machst du einmal und den Kommentar musst du eh hinzufügen.

    Bsp:
    alarm328 Kommentar:...............
    OK, das ich je nach Stil.
    Ich trage auch den kompletten Alarmtext im DB-Kommentar ein und übernehme dann den Text via Export/Import über Quellen/Excel in die Störmeldungen.

    Die Kommentare selbst habe ich aber in der Programmieransicht ausgeschaltet, die sind bei mir zu lang und kosten für mich zu viel Bildschirmplatz. Daher muss meine normale Symbolik aussagekräftig genug sein. Wenn ich mal in den Eigenschaften einer Var nachschauen muss wie der Kommentar lautet damit ich weiß was es ist, dann hab ich was falsch gemacht...

    Ich mach die Meldungen sowieso in Excel, da is mir der TIA-Meldungseditor zur lahm und fiddelig.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  9. #9
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard



    Ich bin halt ein alter Knochen.Quasi SPS klassich.NIX Portal!



    • Ich habs gut.Ich bin dumm und brauch nix denken!


  10. #10
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von RONIN Beitrag anzeigen
    Zu Wissen ist nur dass die Byte-Order in WinCC gedreht ist.
    Z.B. du hast eine Word-Variable, dann ist Bit 0 gleich Bit 8 in der Triggervariable der Meldung. Bit1 ^= Bit9, Bit8 ^= Bit0, etc....

    Siemens-Logik halt.
    Ist bei den 1500 und 1200 auch nicht mehr nötig. Siemens hat es geschafft ohne.

Ähnliche Themen

  1. Mit ARRAY OF BOOL Ausgänge schalten?
    Von spec im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 09.01.2015, 13:46
  2. Antworten: 5
    Letzter Beitrag: 07.11.2014, 16:11
  3. Antworten: 5
    Letzter Beitrag: 08.08.2014, 10:35
  4. Antworten: 10
    Letzter Beitrag: 01.08.2014, 06:17
  5. Bool-Array in Byte-Array
    Von Techniker im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 13.01.2006, 19:12

Stichworte

Lesezeichen

Berechtigungen

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