Hi,
wenn ich das richtig verstanden habe, sollst Du einen Binärzähler erstellen.
Bei jedem Eingangsimpuls soll hochgezählt werden, dass letztendlich so was bei raus kommt:
000
001
010
011
100
....
Das lässt sich relativ einfach lösen, in dem man bspw. bei jedem Eingangsimpuls eine Variable (bspw. vom Typ word) um eins erhöht.
An den Ausgängen wird die Variable bitweise (wMyCounter.0, wMyCounter.1, ...) ausgegeben. Bei Reset den Counter wieder auf 0 setzen.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Falls Du wirklic FUP verwenden musst und auch CoDeSys Funktionalitäten nehmen darfst, dann könnte es so wie im Screenshot gehen.
Alternativ müsstest Du den CTU Baustein selbst implementieren.
Das ist jetzt nur eine von vielen Lösungen...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Abgesehen davon, dass Dein Prof. für diese unzulängliche Aufgabenstellung gefeuert werden sollte... (Enstschuldigung Herr Prof. wenn Sie die Aufgabe doch präziser gestellt haben)
...lese ich das so:
Bei jeder steigenden Flanke eines Eingangssignals (BOOL) soll am Ausgang der Wert eines Zählers binär an Hand von drei Ausgängen dargestellt werden.
Dann sollte die Lösung passen. Das Ganze müsste noch in einen FB verpackt werden um das auch optisch (Ein-/Ausgänge) darzustellen.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry:Ich habe noch etwas vergessen.
Damit der Reset-Eingang funktioniert, muss im 'Count_3_Bit(FB)' noch ein Codeblock hinzugefügt werden.
Schreib einfach unter die letzte Zeile noch:
IFReset=TRUETHENCount :=0;END_IF
Viel Spass beim Testen!
Mit freundlichen Grüssen! Pitsch
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
wenn ich das richtig verstanden habe, sollst Du einen Binärzähler erstellen.
Bei jedem Eingangsimpuls soll hochgezählt werden, dass letztendlich so was bei raus kommt:
000
001
010
011
100
....
Das lässt sich relativ einfach lösen, in dem man bspw. bei jedem Eingangsimpuls eine Variable (bspw. vom Typ word) um eins erhöht.
An den Ausgängen wird die Variable bitweise (wMyCounter.0, wMyCounter.1, ...) ausgegeben. Bei Reset den Counter wieder auf 0 setzen.
Wieso Schaltung? Habt Ihr da Vorgaben bekommen in welcher Sprache (AWL, AS, KOP, ST, ...) das zu implementieren ist?
Ich würde so was in ST (Structured Text) realisieren. Und das hat wirklich nicht mal Ansatzweise etwas mit einer Schaltung zu tun.
Nimms mir nicht krumm, aber ich denke Du hast noch prinzipiellen Nachholbedarf in Sachen IEC 61131-3.
Falls Du wirklic FUP verwenden musst und auch CoDeSys Funktionalitäten nehmen darfst, dann könnte es so wie im Screenshot gehen.
Alternativ müsstest Du den CTU Baustein selbst implementieren.
Das ist jetzt nur eine von vielen Lösungen...
Hallo
Mit einen 3-Bit Zähler kannst du nur auf 7 Zählen. Du hast also 8 Kombinations-Möglichkeiten 0 - 7.
Versuchs mal so wie im Bild!
Mit freundlichen Grüssen! Pitsch
Abgesehen davon, dass Dein Prof. für diese unzulängliche Aufgabenstellung gefeuert werden sollte... (Enstschuldigung Herr Prof. wenn Sie die Aufgabe doch präziser gestellt haben)
...lese ich das so:
Bei jeder steigenden Flanke eines Eingangssignals (BOOL) soll am Ausgang der Wert eines Zählers binär an Hand von drei Ausgängen dargestellt werden.
Dann sollte die Lösung passen. Das Ganze müsste noch in einen FB verpackt werden um das auch optisch (Ein-/Ausgänge) darzustellen.
Hallo
Vielleicht entspricht das eher deiner Vorstellung.
Hallo kaddi88
Sorry:Ich habe noch etwas vergessen.
Damit der Reset-Eingang funktioniert, muss im 'Count_3_Bit(FB)' noch ein Codeblock hinzugefügt werden.
Schreib einfach unter die letzte Zeile noch:
Viel Spass beim Testen!
Mit freundlichen Grüssen! Pitsch