Step 7 WIN CC Einzelnes Bit aus WORD auslesen !FRAGE!

Vagasa

Level-1
Beiträge
49
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Vorweg ich bin Anfänger in Sachen Step 7 programmierung. Bis jetzt hab ich alles irgendwie selber herausgefunden. Jetzt brauch ich aber eure Hilfe :)

Folgendes:

Hab in meinem GB DB100 ein Word deklariert. 130.0--->132.0 Ein Word hat ja 2 Bytes....
In meiner Programmierung schreib ich einen Zustand in ein Bit dieses ganzen Wortes. Und zwar so: "Zustand 0/1" ------>in : Spule DB100.DBX130.1
Das sollte soweit korrekt sein. Diese Variable hab ich jetzt auch in WIN CC angelegt damit ich darauf zugreifen kann. Mein Ziel ist, wenn ich mein "Taster" drücke und dieser einen Ausgang schaltet, dass das schaltfeld blinkt...also man soll sehen das der "zB der Motor" geschaltet ist. Mein Word hab ich parallel Zum Ausgang geschaltet. Ich drücke den Taster und Motor geht an. Gleichzeitig schick ich mein Word zu WIN CC über Profibus. Variable hab ich auch in WIN CC angelegt
Jetzt gibt es unter mein "Button" so ein schöner Gestaltungsbaum. Unter Animation kann ich auf mein Word zugreifen und sogar das Bit was geschaltet wird auswählen. Sollte also funktionieren, aber es funktioniert nicht! Ich weiss auch das WIN CC Wörter nicht in der selben Reihenfolge liest wie in dem Simatic manager, aber ich hab alle 16 Bits in meiner Programmierung ausprobiert aber das blinken tauchte nie auf. Kann mir einer helfen?

Danke :)
 
Hallo, also so wie es sich liest bist du schon auf dem richtigen Wege. Am Besten du lädst mal ein Screenshot hoch, um sehen zu können was genau "klemmt". Gruß DerMatze
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das Problem ist einfach, ich drücke "Ein" dann sollte die schaltfläche farblich blinken. Man kann unter Animation ja Farben und blinken einstellen. Problem ist einfach das das irgendwie nicht klappt aber die "Spule" ist mit Brille grün im Simatic manager, also das 1 Signal sollte definitiv in WIN CC ankommen. Ich stelle unter Animation dann auf Binär und wähle das Bit aus. Wenn ich da aber bit 0 von dem Word auswähle, heisst das nicht das es in der Programmierung auch bit 0 ist oder? Weil ich mir da halt nicht sicher war hab ich alle 16 bits ausprobiert im Simatic manager und in Win CC dauerthaft auf 0. Aber eins von den 16 Bits hätte es ja sein müssen ;) Hab ich in WIN CC die möglichkeit das ganze Wort auszulesen um halt die Bit Zustände zu überprüfen?

Bin gerade leider nicht an der Anlage für ein Screenshot.
 
Zuletzt bearbeitet:
Ich denke, Du liest doch schon das ganze Word - oder was für eine Variable benutzt Du bei der Animation?
Mache einfach ein EA-Feld für diese Variable. Wie hast Du die Variable in WinCC angelegt?

Apropo: meinst Du vielleicht WinCC flexible? Welche Version?
Man kann beliebig viele Variablen auf die gleiche absolute SPS-Adresse anlegen.

Harald
 
Apropo: meinst Du vielleicht WinCC flexible? Welche Version?

So wie es beschrieben ist sagt meine Glaskugel das es sich um flex handekt...?!

Siehe Bild:
bei Variable dein Bit (DB100.DBX130.1) eintragen, dann blinkt die Schaltffläche grün wenn dieses "1"ist ...

Gruß
DerMatze
 

Anhänge

  • Animation.jpg
    Animation.jpg
    271,8 KB · Aufrufe: 44
Zuviel Werbung?
-> Hier kostenlos registrieren
DeineVar | Word | DB100.DBW130
Bit.0 dieses Words ist DBX131.0

Ein Bild sagt mehr als 1000 Worte: zeige uns doch mal Screenshots, wie Du die Variable in WinCC angelegt hast und wie Du die Animation gemacht hast.

Harald
 
Ja Das Visualisierungsprogramm sollte WIN CC Flexible sein. Unter Variablen in WIN CC flexible hab ich die die Variable auch ganz normal als Word deklariert. Ich schreibe aber nur in einem Bit von dem Word den Zustand 1 rein in meiner Programmierung. Wenn dieser 1 ist soll sich halt meine Schaltfläche blinken. Oder kann ich sowas auch über eine BOOL Variable relisieren? Unter Animation sind halt nur Optionen wo man Bits auswählen kann, sprich ein Bit aus einem Wort oder doppel wort.

Ich benutze ein "Button". Über "drücken" und "loslassen" schalte ich ein RS flipflop im Simatic manager. Das RS Flipflop schaltet mein ausgang zum Schütz/Motor. Parallel dazu schreib ich das signal in DB100.DBX130.1. ( oder DB100.DBX130.0-7 / DB100.DBX131.0-7 ) damit ich den Button zum leuchten bringen kann ;)

danke schonmal
 
@DerMatze
Ob der TE genau wie Du keine Prozessvariable angegeben hat?
Außerdem möchte er wohl nicht für jedes Bit ein Tag/Variable anlegen, sondern das Bit im Word angeben.

Harald
 
:) du hast die variable nicht angeklickt. im flex kannst du für animation und aktion verschiedene variablen nehmen. auf deinem bild ist das feld leer. auf den pfeil der nach unten zeigt klicken und dein variable anklicken. jeh nach update und sp vom flexile musst jetzt noch auf dein variable im variablenordner klicken und deren eigenschaften auf zyklisch fortlaufend klicken. bitte denk daran, dass blinken ist langsam. als er wird alle 1-1,5sec nur die farbe wechseln....
 
Zum Test könntest Du ja mal das komplette Word mit 0 oder 1 belegen - also 0 oder W#16#FFFF zuweisen. Dann muß in WinCC was zu sehen sein.

Funktioniert denn die Verbindung von Deinem WinCC flex (Panel oder PC-Runtime?) zur SPS?
Schaltet der Ausgang, wenn Du in WinCC bedienst?
Du könntest auch mal im WinCC-ES "Extras > temporäre Dateien löschen" und dann "Alles generieren"

Harald
 
Ähhhmmm, kann es sein daß Du eine Schaltfläche mit Grafik hast? Die kann man nicht blinken lassen.

@Fanta
Das Bild ist nicht vom TE sondern von DerMatze

Harald
 
Ich lad mal ein paar bilder hoch, es klappt noch nicht ;) Man sieht einmal jeweils die Deklarationen in Flex und im DB 100. Man sieht die Zuweisung im manager und die Einstellungen in FLEX. Unbenannt.JPGUnbenannt1.JPGUnbenannt2.JPGUnbenannt3.JPG
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
tttttttttt.JPG noch eins. Über die flexible runtime klappts auch nicht. Hab irgendwie das Gefühl das das Word nicht richtig zu flexible übertragen wird...ich habs mit jedem Bit probiert. Das word wird auch nicht anderwertig benutzt. Kann man das nicht auch irgendwie mit ein BOOL realisieren?
 
Zuletzt bearbeitet:
Hallo,

hast du das Datenwort im DB oder in einer Variablen Tabelle angeguckt?
Wenn da dann auch schon kein "1 Signal" drin steht wird das Wort wohl doch irgendwo überschrieben.
Nimm dir mal einen freien Merker und den legst du in die Animation deiner Schaltfläche. Den Merker kannst du via Variablen Tabelle "schalten".

Blinken.jpg
M99.0 = 0 --> Schaltfläche ist rot
M99.0 = 1 --> Schaltfläche blinkt grün

Gruß
DerMatze
 
Zuletzt bearbeitet:
Mache Dir zum Test ein EA-Feld für die Variable BLINK (Modus Eingabe/Ausgabe). Damit kannst Du sehen, ob die Verbindung zur CPU korrekt funktioniert. Kannst Du da einen Wert <> 0 sehen?

Ändere die Verbindung der Variable zu <Interne Variable>. Dann kannst Du in der Runtime in das EA-Feld Werte eingeben - bei ungeraden Werten muß die Schaltfläche blinken.

Lösche in WinCCflex die temporären Dateien und generiere alles neu.
Lösche die Schaltfläche und erstelle sie neu (neu aus dem Werkzeugfenster einfügen, nicht von einer anderen Schaltfläche kopieren!).
Ändere mal bei der Animation>Gestaltung den Typ der Variablenauswertung von Binär zu Bit.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke euch für die Hilfe. Hab mal die Temporären Dateien gelöscht wie Harald schrieb, dann hab ichs mit dem Merker probiert !Hat geklappt Matze!! Hab extra noch andere Wörter probiert aber irgendwie wurd da was überschrieben. Naja hauptsache es läuft :)

Danke

MFG
 
Zurück
Oben