Selector: .... ist sicher ein Anfängerfehler !!!

Begonnen von kohle, 09. Juni 2014, 20:23:47

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

kohle

Hallo,

Ich versuch derzeit eine Case hinzubekommen.
Leider schreibt er mir hartnäckig immer wieder den gleichen Fehler.

Könnte mir jemand bitte den anhang ansehen und mir einen Tipp geben, bitte

mfg

p.s. Ja ich habe die Doku gelesen und auch das Ampelbsp. versucht - leider ohne erfolg --> immer die gleich Fehlermeldung :-(



[gelöscht durch Administrator]

peewit

exportiere den baustein und stelle ihn online, dann können wir dir helfen


kohle

#2
Guten Morgen peewit,

Es ist denke ich nicht so kompliziert. (Ich hab den Code nur aus der Doku verwendet - sonst nichts verändert)

Ich möchte euch zuerst noch weiter Informationen zu verfügung stellen:
Ich "programiere" derzeit rein im CFC (weil ich das andere noch nicht drauf habe  ;) ) und versuche eine CASE anweisung zu gestallten.
Dises Case Anweisung soll aufgrund der Unterschiedlichen cases einer globalen Variable je nach Fall (Case) andere Werte zuweisen.
Damit meine Ich:
Im State 1 soll a =3
Im state 2 soll a =5 ...sein.

Warum brauche ich das: Der Baustein hat nur einen Eingang den ich aber je nach Tageszeit unterschiedlich belegen möchte (je nach use case).

Nun zu meinem konkreten Fragen:
1.) Kann im CFC eine Case Anweisung realisiert werden oder muss ein Objekt in ST eingefügt werden um eine Case anweisung zu realisieren.
2.) Wenn ich im ST eine Case realisiere, muss ich außen drum rum noch eine While schleife machen - oder läuft das eh alle xx ms durch.

Vielen Dank das mir die Hinrwindungen gerade gezogen werden.....

lg

[gelöscht durch Administrator]

peewit

1. wirklich sinnvoll ist es nur in ST
2. wenn dein programm nicht vorher bedingt beendet bzw überspringt dann wird jede code zeile in jeden zyklus durchlaufen.


in den grafischen programmiersprachen kommst du warscheinlich mit dem baustein "SEL" schneller zum ziel.
wenn du mehrere werte hast dann kannst du auch diese kaskadieren



kohle

#4
Hi,

Ich versuche das nun mit ST umzusetzen, auch wenn ich davon noch keine Ahnung habe   :o
Soweit mein Verständnis ist kann man wohl in Codesys ST und alles andere an verfügbaren Sprachen durcheinander mixen. (eine neue Erkenntnis für mich :-))

Hab damit jetzt ein wenig rum gespielt und versucht so ein "Selector" zu machen.
Das Problem ist aber das der selector, der nichts anderes als eine Case ist, so funktioniert.
Eigentlich ist das sehr einfach, aber ich finde den Fehler nicht warum der Ausgang nicht auf den zugewiesenen Wert hüpft.
Ich habe mal das Beispiel dazu gehängt, vieleicht kann mir jemand den entscheidenden Hinweis geben.
Ziel ist es, den Eingang zu Variieren so dass der Ausgang lt case Anweisung verändert

Sorry für die dummen Fragen! aber Newbies dürfen das :-)


[gelöscht durch Administrator]

peewit

Ist der eingangsparameter such wirklich mit dem baustein verbunden.?
Verschiebe mal den eingangsparameter mit der maus nach links

kohle

here you are - ist connected

[gelöscht durch Administrator]

peewit

Deine sps ist auch auf run ?
Programm wird auch aufgerufen
Wird die eingangs bzw. Ausgangsvariable noch irgendwo anders ueberschrieben

Deinen baustein kann ich erst am sonntag abend ansehen  ..... Bin unterwegs.....


kohle

1.)
Danke - mit RUN hatest du Recht!
Ich versuch es nun in das PRG einzubinden....
2.)
Ich versuch noch mal im Haptprog. nachzusuchen, ob die Variable wo anders beschrieben wird

kohle

#9
Hi,

Habe nun "select" auf der Reihe (denke ich halt).

Also, wer so ein Select vor einen Baustein vorschalten möchte, das geht mit case oder einer IF Anweisung.
Wobei für mich zuerst mal zu verstehen war das man CFC und ST mischen kann - ist eigentlich coo!! (Wer's kennt: Labview mit einen Formeleditor) .
Man kann also in ST eine Funktion programmieren, mit allen möglichen Anweisungen.
Danach bindet man den ST als Block im CFC wieder ein.

Hab mal so ein Teil als Baustein angehängt - falls das mal wer brauchen sollte.... (natürlich nur Anfänger *g*)

PS Sorry an die Admins - Wusste am Anfang nicht wohin mit dieser Frage - wahrscheinlich ist hier wohl der falsche platz ....


[gelöscht durch Administrator]