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…
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
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
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
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 …