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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Beautification Flankenauswertung --> Array[0..63] of Word/Byte

  1. #1
    Registriert seit
    28.03.2009
    Beiträge
    81
    Danke
    16
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Thema: Flankenauswertung von 64 Bytes
    Warum: WinCC Error Handling mit Einzelquittierung

    Quelle:
    Störungen.Array[0] as Word
    Störungen Quittierungen
    00000000 00000001

    Die Störungen kommen durch die SPS (linkes byte).
    Beim Quittieren in HMI wird der entsprechenden Bit im rechten Byte durch WinCC gesetzt.
    Leider geht das mit der Tia-Welt nicht anders. Muss die gleiche Variable/Array sein.

    Ziel:
    HMI.Quittierung[0] as Byte
    00000001
    In der SPS wird es ein 'Array [0..63] of bytes' geben mit der TP-verzögert die Einzelquittierung ausgegeben wird.
    Zudem werde ich auf NotNull prüfen um ein globales WinCC quittierung abzuleiten.

    Bei einem 'Word' würde ich das mit INVI, UW und einem HilfsWord lösen.
    Nur; ich habe 64 Wörter...Möchte dafür ungern 64-Hilfswörter opfern

    Frage:
    Wie würdet ihr eine Flankenauswertung über 64-Bytes lösen, ohne dafür 64 Hilfsbytes zu opfern?
    Könnte man das dann auch mit einem TP/TOF verknüpfen, oder ist dann für jedes bool/Störung ein Zeitelement zu spendieren?

    Danke schonmal...
    Zitieren Zitieren Beautification Flankenauswertung --> Array[0..63] of Word/Byte  

  2. #2
    Registriert seit
    24.03.2010
    Ort
    Westerwald
    Beiträge
    155
    Danke
    39
    Erhielt 13 Danke für 7 Beiträge

    Standard

    Für eine Flankenauswertung muss man zwingend zwischenspeichern,
    Also wirst du um das benutzen von Meckern oder DB Variablen nicht umher kommen.

    Mach dir doch einen DB für die Flanken. 64 Byte ist doch keine große Menge. Dann kannst Du die Flankenauswertung wortweiße durchführen.
    Gruß Florian

    Programmierer in sechster Generation

  3. #3
    logo78 ist offline Benutzer
    Themenstarter
    Registriert seit
    28.03.2009
    Beiträge
    81
    Danke
    16
    Erhielt 4 Danke für 4 Beiträge

    Standard

    hmm.. Danke, mir ist der Ansatz schon bekannt, wie man wortweise nach Flanken schaut.
    Es geht mir prinzipiell um die intelligente Wiederverwendbarkeit von Hilfsvariablen, wenn man nach Zustandsveränderungen (Flanken, Wertveränderungen, etc..) in größeren Bereichen Ausschau halten muss.
    Ich sehe es sportlich und bilde mir mal weiterhin ein, dass es eine grazilere Methode geben muss - irgendwo da draußen...

  4. #4
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.240
    Danke
    193
    Erhielt 201 Danke für 185 Beiträge

    Standard

    [Klugscheiß]
    64 Worte != 64 Byte
    [/Klugscheiß]

    Ich hab jetzt mal so getan, als ob ich was wüßte...


    Um die Hilfsworte wirst Du kaum drumherumkommen. Ist halt eine Frage des Satzbau's

  5. #5
    Registriert seit
    24.03.2010
    Ort
    Westerwald
    Beiträge
    155
    Danke
    39
    Erhielt 13 Danke für 7 Beiträge

    Standard

    Zitat Zitat von logo78 Beitrag anzeigen
    Ich sehe es sportlich und bilde mir mal weiterhin ein, dass es eine grazilere Methode geben muss - irgendwo da draußen...
    Sag bescheid wenn du sie gefunden hast
    Gruß Florian

    Programmierer in sechster Generation

  6. #6
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.240
    Danke
    240
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Irgendwer wird sich den Altwert merken müssen.
    Du kannst es ja mittels eines OP machen wo Du bei jedem Doppelwort die alte Bitkombination eintippst- einmal pro Zyklus, das spart dir Speicherplatz.
    Und Speicherplatz ist echt teuer, also 64 Byte......
    Ironie off!

  7. #7
    logo78 ist offline Benutzer
    Themenstarter
    Registriert seit
    28.03.2009
    Beiträge
    81
    Danke
    16
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ja, ist angekommen. Danke.
    Nicht jeder hat die Weisheit mit dem Löffel gefressen.

    Hört bitte endlich auf, 64byte zu verniedlichen.
    Meine Frage ist rein prinzipieller/startegischer Natur gewesen. So habe ich es auch definiert.
    Vielleicht gibt es ja ein Algorithmus, beispielsweise mit Quersummenbildung etc..
    Darum frage ich ja..

    Wiederverwendbarkeit ist wichtig. Es geht hier um Vereinheitlichung/Standardisierung.
    die auch mal System- und CPU-übergreifend genutzt werden sollen.
    Man hat nicht immer eine 319F, oder eine 1517F. Du 64Byte können auch mal 512Byte sein,
    und das vielleicht mehrmals.

    btw:
    Das erinnert mich an viele Spezialisten, die mehrere 100-Byte große Datentypen
    in jedem FB als In,Out und sogar InOUT deklarieren und sich dann lauthals über
    den Speicherschwund beschweren.

  8. #8
    Registriert seit
    24.03.2010
    Ort
    Westerwald
    Beiträge
    155
    Danke
    39
    Erhielt 13 Danke für 7 Beiträge

    Standard

    Zitat Zitat von logo78 Beitrag anzeigen
    Hört bitte endlich auf, 64byte zu verniedlichen.
    Machen wir nicht, aber das was Du vorhast benötigt eben Speicher... auch wenn Du das nicht möchtest.
    Gruß Florian

    Programmierer in sechster Generation

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.017
    Danke
    511
    Erhielt 2.648 Danke für 1.910 Beiträge

    Standard

    Was genau willst du überhaupt machen? Ich kann grad nicht verstehen, wozu du jede Meldung zeitverzögert quittieren willst.
    Wen du zeitverzögert quittieren willst, könntest du auch einfache nicht quittierpflichtige Meldungen im HMI nutzen.
    Dann kommt und geht die Meldung im HMI, wenn die SPS das Bit setzt oder zurücksetzt und fertig. So handelst du dann alles in der SPS.

    Davon abgesehen, ich nutze ja auch den Quittiernmechanismus von WinCCFlex, 1 Bit Meldung, 1 Bit Quitt SPS, 1 Bit Quitt HMI.
    Da kann man auch bei der 1500-er mit 3 Structs (oder auch Array) in einem DB (nicht optimiert) machen. Nicht optimiert macht bei den Meldungen ohnehin Sinn, da
    HMI und 1500-er hier vom Sytem her nicht wirklich zusammenpassen.

    Static
    PLC_ERR "stERROR_BITS" 0.0 False True True False
    PLC_ACK "stERROR_BITS" 64.0 False True True False
    HMI_ACK "stERROR_BITS" 128.0 False True True False
    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. #10
    logo78 ist offline Benutzer
    Themenstarter
    Registriert seit
    28.03.2009
    Beiträge
    81
    Danke
    16
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich muss (leider) auch die Quittiermechanismen, incl. einer möglichen externen Quittierung nutzen.

    Ich finde es unschön das die entsprechende Einzelquittierung durch WinCC immer auf '1' ist, so lange
    keine Störung ansteht. Es soll nur dann quittiert werden, wenn auch die Einzelquittierung erfolgt ist.
    Darum die Flankenauswertung.
    Die Zeitverzögerung ist nur die Paranoia, das vielleicht ein Zyklus zum Quittieren nicht ausreichen könnte.
    Ist aber an der Stelle vllt wirklich unnötig.

    Ich hänge später mal die Funktionen und eine Funktionsübersicht hier rein.
    Habe auch eine 'tolle' Excel-Tabelle gebastelt, die einem sehr viel Arbeit abnimmt. Vllt hilft sie ja dem einen oder anderen.

Ähnliche Themen

  1. BYTE in WORD (High Byte, Low Byte)
    Von TimeOUT im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 18.03.2016, 13:48
  2. TIA DB Bool Array in DB Word Array kopieren
    Von mkd im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 21.09.2015, 16:46
  3. Step 7 Array of Byte in Array of Word übertragen
    Von BenniL im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 29.06.2015, 11:18
  4. SCL, Byte to WORD
    Von paula23 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 29.01.2011, 12:14
  5. Antworten: 4
    Letzter Beitrag: 08.07.2008, 08:52

Stichworte

Lesezeichen

Berechtigungen

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