WinCC flex und auto. Bildanwahl

Roos

Level-1
Beiträge
226
Reaktionspunkte
25
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

soll für eine Projektarbeit an unserer FH eine Anlage mit automatischer Bildanwahl machen.
Das fnktioniert soweit auch wenn ich das Programm welches im FC4 steht ohne Variablen machen und direkt im OB 1, anstelle im FC5, aufrufe.
Das Problem ist, das gewünschte Bild wird aufgerufen....aber das Signal steht trotz pos.Flanke immer noch am Baustein an und "Triggert" mir das bild im 1.sec Tackt.
Ich habe mittlerweile keine Ahnung mehr was ich noch ändern könnte damit es geht.
Bereichszeiger im WinCC flex sind richtig eingestellt.

Lade das Programm mit hoch vll wirft einer mal einen Blick drauf.

Danke für eure Hilfe mfg Roos
 
wenn ich fc und flanke lese, und bevor ich mir das jetzt runterlade, hast du den flankenmerker als inout an deinem fc deklariert? das ist notwendig, sonst verliert er seinen status ... im ob1 funktioniert das weil da die temporären daten immer gültig sind...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
japp habe die pos. flanken als inout deklariert.
seltsam ist halt dass die pos Flanke solange 1-Signal hat wie der Eingang von dem die Flanke gebildet werden soll.
Selbst wenn Flanke und Eingang wieder 0 Signal haben liegt der Steuerauftrag (51) und Bildnummer (x) immer noch im DB fest drin bis ein neuer Steuerauftrag und Bildnummer kommt.

Gruß und danke
 
deine flanken funktionieren!

das problem ist, dass du den steuerauftrag nicht löschst ... 0 müßte richtig sein, oder? mach so selten winccflex...

versuch mal deinen FC4 so zu erweitern:

Code:
*
      SPA   end2

END1: L     0
      T     #Steuerauftrag

end2: NOP   0
 
... umgekehrt ...

Der Steuerungsauftrag wird vom Bediengerät auf "0" zurück-gesetzt, wenn er bearbeitet wurde. Das wäre auch eine Bedingung, die mit eingebaut werden müßte, damit man überhaupt erst einen neuen Auftrag starten kann.

Der Fehler in dem Programm sind m.E. die OUT-Variablen, die Flanken-gesteuert einen Wert erhalten. Ist die Flanke nicht da steht irgendetwas Undefiniertes darin.
Weise doch einfach mal direkt dein DBW in dem FC4 zu und keine OUT-Variable ... oder nimmt eine IN_OUT-Variable ... und frage den Zustand des Auftrages ab ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@larrry: ich verstehe :D

also so?

Code:
*
      L     #Steuerauftrag
      L     0
      ==I   
      U     #Bedingung1
      FP    #posFlanke1
      SPBN  END0
...

und steuerauftrag ist inout ...

macht natürlich mehr sinn als das einmalige schreiben ...

sollte mir endlich mal ein panel besorgen :rolleyes:
 
Danke

so habe jetzt mal ein bisschen gebastelt und habe doch noch eine andere
(warscheinlich sehr umständliche) aber funktionierende möglichkeit gefunden.

ist als anhang dabei.

Würde mich über konstruktive kritik sehr freuen.

mfg und nochmals danke roos
 
Zuletzt bearbeitet:
nee roos, mach es so wie larry erklärt hat! da brauchste keine timer für - wenn ich larry richtig verstanden habe schreibt das panel eine 0, wenn der auftrag erfolgreich ausgeführt wurde!

@larry: was kommt zurück, wenn der auftrag nicht ausgeführt werden konnte? also sone art timeout erkennung oder muß man die sich selber basteln?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so gut das geht soweit.
nur ich habe ja nicht ohne grund diese sache mit variablen gemacht.
Mein gedanke war ja dass ich einen fc mir schreibe wo ich immer 2 bilder anwählen kann.
Jetzt will ich zb 10 bilder anwählen, also wollte ich hingehen und in einem FC (ZB FC2) den geschriebenen fc 5 mal aufrufen und immer andere bedingungen verknüpfen.
Jetzt habe ich aber das problem dass wenn ich 5 Netzwerke habe bild 1-8 (Netzwerk 1-4) nicht gehen und nur der befehl in netzwerk 5 bild 9 und 10 bearbeitet wird.was mache ich falsch?

danke und gruß
 
Hallo Roos,
mach doch einfach einen FB und lege deinen Koppelbereich für den Steuerungs-Auftrag im STAT-Bereich an. Dann entfallen auch die genannten Restriktionen ...

@4L:
Es gibt (leider) keinen Timeout. Den mußt du dir selber bauen ... Wobei, wenn alles richtig gemacht ist, dann quittiert die die Visu jeden Steuerungsauftrag auf die genannte Weise. Ein manuelles Überschreiben nutzt dann auch nicht viel, da ja die gewünschte Reaktion von der Visu nicht gekommen ist.

So nebenher:
Das Ganze ist keine Flex-Funktion, sondern finktioniert mit ProTool haar-genauso ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mach die variable Bildanwahl schon immer ohne Steuerungsauftrag. Ein Variable am OP/TP wird Bildnummer genannt. Diese mit einem DB verbunden. Die Variable Bildnummer bekommt eine Aktion bei "Wertänderung" und zwar einen Variablen Bildwechsel mit sich selbst als Variable. So kann ich dann sowohl vom Panel, als auch von der SPS aus, durch einfaches Beschreiben der Variablen "Bildnummer", ein anderes OP-Bild aufrufen. Allerdings ist es möglich, daß es Anzeigen gibt, die das evtl. nicht können, aber das kommt bei den Siemensgeräten ja leider des öfteren vor.
 
danke LL
aber hat leider nicht funktioniert trotz stat und fb.
immer noch das selbe der letzt aufruf wird bearbeitet die davor leider nicht
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so danke LL aber habe den Fehler gefunden. hatte im weitern Programm eine Rechenoperation die im erstenzyklus Daten in das DBW geschoben hatte...doppelzuweisung.

Sorry aber vielen dank roos
 
@Ralle, das mit der Bildnummer funktioniert mit Panels aber leider nicht mit PCs (mindestens in ProTool, bin nicht ganz sicher in Flex).
 
@Ralle, das mit der Bildnummer funktioniert mit Panels aber leider nicht mit PCs (mindestens in ProTool, bin nicht ganz sicher in Flex).

Also, wenn ich die Runtime eines Panel starte geht es. Die ProTool-Version auf dem PC hab ich noch nie eingesetzt, zu verstehen wäre das aber nicht, da die sich ja alle Variablen auf Wertänderung überwachen lassen. Fehlt da die Funktion "Bildanwahl Variabel"? Denn damit muß es eigentlich auch auf dem PC gehen.
 
Zurück
Oben