Byte aus Array in WinCC flexible 2008

fuss

Level-1
Beiträge
350
Reaktionspunkte
48
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen,
Um Power Tags in meinem WinCC flex Projekt zu sparen habe ich 2 Arrays in einem DB angelegt. Das erste Array besteht aus 20 WORD, wobei jeweils 1 WORD die Informationen (Fehlermeldungen, Laufmeldungen) eines Antriebes beinhaltet (SPS-->HMI). Das zweite Array besteht aus 20 Byte, wobei jeweils 1 Byte die Befehle vom OP für einen Antrieb beinhalten (HMI-->SPS).

Nun zu meinem Problem:
Das anknüpfen der Wörter aus dem ersten Array in WinCC flex funktioniert ohne Probleme.
Doch wenn ich die Bytes aus dem zweiten Array anknüpfe werden diese orange hinterlegt. Beim Generieren werden aber keine Warnungen oder Fehlermeldungen ausgegeben.

Beim testen mit WinCC flex Runtime und PLC-Sim wurden die Informationen (WORD) richtig angezeigt, die Befehle (Byte) kamen aber nicht auf der SPS an.

wenn einer ne Idee, bitte posten
 
Nun zu meinem Problem:
Das anknüpfen der Wörter aus dem ersten Array in WinCC flex funktioniert ohne Probleme.
Doch wenn ich die Bytes aus dem zweiten Array anknüpfe werden diese orange hinterlegt. Beim Generieren werden aber keine Warnungen oder Fehlermeldungen ausgegeben.

Wo sind die orange? im Ordner Variablen? Rechtsklick "neu verbinden".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo verpolt,
erst einmal danke für deine schnelle Antwort.
Im Ordner Variablen sind nur die beiden Arrays hinterlegt. ich knüpfe jeweils ein Byte aus dem Array an jeweils einen Bildbaustein (Faceplate) an. In dem Bildbaustein selber ist auch ein Byte unter Properties definiert, also müsste es ja eigentlich funktionieren.
 
Hast du die Variablen in WFlex selbst angelegt oder aus dem DB angeklickt?
Im Bildbaustein direkt unter der Bytevariable die Variable aus dem integrierten Projekt anwählen. (Also das Byte im DB )

PS: Dann sind das womöglich wieder Powertags
 
Aber ich möchte ja Power Tags sparen und mit dem WORD aus dem ersten Array funktioniert es ja auch.
Info_Word.jpg
OP_Byte.jpg
 
Hallo Larry,
hier mal ein Screenshot vom DB
DB.jpg

Das Array mit den 20 WORD befindet sich in einem anderen DB.
Könnte es vielleicht auch zu Problemen kommen, da ich die Bytes in dem Array über die Bildbausteine beschreibe (Button Startbefehl etc.) ? Auf die Wörter greife ich bloß lesend zu um z.B. Fehlermeldungen im Bildbaustein anzuzeigen.
 
Könnte es vielleicht auch zu Problemen kommen, da ich die Bytes in dem Array über die Bildbausteine beschreibe (Button Startbefehl etc.) ?

Grundsätzlich sind die Bytes immernoch orange markiert in WinCCflex. Ob lesend oder schreibend ist ja erstmal egal.

Nimm zum Test doch mal ein Wort-array für die Steuerung (bytes).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So habe es jetzt nochmal in Wflex überprüft, sobald ich schreibend auf eine Variable (z.B Setze Bit in Variable) im Array zugreife wird die Variable am Bildbaustein orange hinterlegt.
 
Wort funktioniert in Bildbausteinen bei Wflex nicht, habe es mit Integer probiert, leider gleicher Effekt.

Habe mal eine Schaltfläche eingefügt und unter Ereignisse "Setze Bit in Variable" projektiert, bei der Variablenauswahl steht mir dann aber das Array bzw. die Daten aus dem Array nicht zur Verfügung
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo LT Smash,
habe deinen Vorschlag eben mal ausporbiert, funktioniert, aber jedes Byte ist wieder ein Power Tag. Ich vesuche aber Power Tags zu sparen. Oder habe ich da etwas falsch verstanden?
 
...du musst in der Variablendeklaration die DB-Startadress angeben, als Datentyp "Byte" auswählen und in der Spalte "Array-Elemente" die Anzahl Bytes angeben, die der Länge des benötigten Datenbereichs entspricht. Dann ist diese Variable genau 1 Powertag. Du hast somit Zugriff auf den ganzen DB und verbrauchst nur 1 Powertag.
 
Hallo LT Smash,

danke nochmal für deine Antwort
wie du es beschreibst habe ich es auch gemacht! Wenn ich ein EA Feld einfüge und ein Byte aus dem Array anknüpfe funktioniert auch alles wunderbar. Projektiere ich jetzt aber eine Schaltfläche und füge unter Ereignisse "Setze Bit in Variable" ein, so kann ich unter Varibale (Eingabe/Ausgabe) kein Byte aus dem Array auswählen.
 
Zurück
Oben