in meinem sps-kurs haben wir vor kurzem eine progammieraufgabe bekommen.es geht grob gesagt um ein förderband auf denen verschiedene pakete bis in einen bestimmten bereich (ident station) gefahren werden dort stoppt das band und indentifiziert das paket als typ A ,B oder Fehler(=fehlerhaft) Nach der erkennung wird das einzelne paket auf einen tisch weiterbefördert der je nach typ entweder nach links rechts oder noch vorn kippt.
mein problem is des ich natuerlich kein reelles förderband sondern stattdessen einen datenstrom erzeugen soll der eine abfolge von paketen simuliert und sich zyklisch wiederholen soll.
wie mach ich das ,bin total ratlos wie ich sowas anstell?????
ich kopier einfach mal diese teilaufgabe rein
und hoffe ihr koennt mir helfen
Teilaufgabe 2 – Ident-Station
Simulieren Sie die Funktion der Ident-Station und des Förderbandes, indem Sie in einem Funktionsbaustein in einem angemessen Taktzeitraster einen fortlaufenden Datenstrom erzeugen, der eine Reihenfolge von Teilen A, B oder „fehlerhaft“ signalisiert. Der fortlaufende Datenstrom kann z. B. durch zyklische Wiederholung eines Datenarrays „A A A B B „Fehler“ B B B A“ erzielt werden.Bedenken Sie bei der Erstellung Ihrer Simulation, dass hier die Funktion des Förderbandes einfließt. Der Datenstrom sollte sich also starten und stoppenlassen.
Erstellen Sie zu diesem Steuerungsablauf einen Funktionsbaustein in einer
IEC-Programmiersprache Ihrer Wahl.
Die Verwendung von globalen Variablen in Funktionsbausteinen ist nicht
gruss bolle
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
jetzt weiss ich zumindest welche befehl ich dafuer brauch.
aber wie mach ichs des das ich einen array erzeug mit der abfolge affbababbbfaabf , den stück fuer stück durchlaufe und ihn dann wieder von vorne beginnen lasse???also kurzgesagt wie kann ich die einzelnen stellen eines arrays ansprechen???
ausserdem bin ich mir net ganz sicher was diese befehlszahlen einzeln genau bedeuten sollen???
(die kommentare sind zwar sehr hilfreich aber wenns um die einzelenen befehle geht kann ich nur von der wortbedeutung erahnen wozu sie da sind)
danke im vorraus fuer die hilfe!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Der Variable "siPacketState" wird der Inhalt des ARRAY Elements [i] zugewiesen. Wobei i eine Zahl zwischen 1..20 sein MUSS. Das ist die definierte Grösse des Arrays.
Ebenfalls siehe Deklarationsteil Zeile 12.
Und mal nur so nebenbei: Was habt ihr eigentlich bisher in der Schule gelernt ? Papierflieger falten ?
Gruss
Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
wir haben halt gelernt was arrays und schleifen sind und andere programmiertechniken aber eben in anderen porgrammiersprachen.der sps kurs war ein freiwilliges nebenfach und deswegen nich wirklich ausfuehrlich^^
keine angst werd mich demnächste eh fuer nen sps-kurs anmelden
by the way
kannst mir da einen empfehlen???
einen fuer relativ fortgeschrittenen wos nich nochmal so sachen wie schleifenstrukturen oder boolsche algebra erklären oder so sachen wie dnf und knf,des kann ich nämlich schon und wenn ich schon 500euro zahl naja........
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Empfehlen kann ich da leider nichts. Ich hab nie einen Kurs gemacht.
Learning by doing...
3S bietet auch diverse Kurse an.
Das Buch SPS-Programmierung bach IEC 61131-3 ist ganz gut.
ISBN 3-7723-5801-2
Bei CoDeSys solltest du dir auch vorab schon mal überlegen in welcher Programmiersprache du bevorzugt arbeiten willst. Wir benutzen mittlerweile ausschliesslich ST. Auch meine Kollegen die vorher in AWL programmiert haben sind auf ST umgestiegen.
Gruss
Erik
PS: Ich bin ab heut ne Woche in Dänemark. Kuck also vermutlich erst danach wieder hier rein.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hallo an alle =)
haett da ein kleines problem
in meinem sps-kurs haben wir vor kurzem eine progammieraufgabe bekommen.es geht grob gesagt um ein förderband auf denen verschiedene pakete bis in einen bestimmten bereich (ident station) gefahren werden dort stoppt das band und indentifiziert das paket als typ A ,B oder Fehler(=fehlerhaft) Nach der erkennung wird das einzelne paket auf einen tisch weiterbefördert der je nach typ entweder nach links rechts oder noch vorn kippt.
mein problem is des ich natuerlich kein reelles förderband sondern stattdessen einen datenstrom erzeugen soll der eine abfolge von paketen simuliert und sich zyklisch wiederholen soll.
wie mach ich das ,bin total ratlos wie ich sowas anstell?????
ich kopier einfach mal diese teilaufgabe rein
und hoffe ihr koennt mir helfen
Teilaufgabe 2 – Ident-Station
Simulieren Sie die Funktion der Ident-Station und des Förderbandes, indem Sie in einem Funktionsbaustein in einem angemessen Taktzeitraster einen fortlaufenden Datenstrom erzeugen, der eine Reihenfolge von Teilen A, B oder „fehlerhaft“ signalisiert. Der fortlaufende Datenstrom kann z. B. durch zyklische Wiederholung eines Datenarrays „A A A B B „Fehler“ B B B A“ erzielt werden.Bedenken Sie bei der Erstellung Ihrer Simulation, dass hier die Funktion des Förderbandes einfließt. Der Datenstrom sollte sich also starten und stoppenlassen.
Erstellen Sie zu diesem Steuerungsablauf einen Funktionsbaustein in einer
IEC-Programmiersprache Ihrer Wahl.
Die Verwendung von globalen Variablen in Funktionsbausteinen ist nicht
gruss bolle
Moin
Als kleine Anregung ein Projekt anbei das den Datenstrom erzeugt.
Gruss Erik
DataStream.zip [4.46 KiB]
hi erki
wo denn???
du hast den anhang vergessen
bolle
passt scho war nur net eingeloggt
schaem
=)
Moin
Und ? Hats weitergeholfen ?
hi erik =)
ja doch war ein sehr grosse hilfe
jetzt weiss ich zumindest welche befehl ich dafuer brauch.
aber wie mach ichs des das ich einen array erzeug mit der abfolge affbababbbfaabf , den stück fuer stück durchlaufe und ihn dann wieder von vorne beginnen lasse???also kurzgesagt wie kann ich die einzelnen stellen eines arrays ansprechen???
ausserdem bin ich mir net ganz sicher was diese befehlszahlen einzeln genau bedeuten sollen???
(die kommentare sind zwar sehr hilfreich aber wenns um die einzelenen befehle geht kann ich nur von der wortbedeutung erahnen wozu sie da sind)
danke im vorraus fuer die hilfe!
Hallo
Also das Besipiel macht ja eigentlich genau dieses. Das Array wird bereits bei der Deklaration initialisiert (also mit Inhalt befüllt)
Siehe Deklarationsteil Zeile 12.
Hast Du schon mal einen Befehl (Schlüsselwort in BLAU) markiert und dann F1 gedrückt ?
Da passieren manchmal die tollsten Dinge
Und der einzigste Befehl der da benutzt wird ist ein IF...
Zugriff auf ein Element eines ARRAYS funktioniert so:
0010 | siPacketState := asiStateSimulationArray[i];
Der Variable "siPacketState" wird der Inhalt des ARRAY Elements [i] zugewiesen. Wobei i eine Zahl zwischen 1..20 sein MUSS. Das ist die definierte Grösse des Arrays.
Ebenfalls siehe Deklarationsteil Zeile 12.
Und mal nur so nebenbei: Was habt ihr eigentlich bisher in der Schule gelernt ? Papierflieger falten ?
Gruss
Erik
Noch was.
Falls Du die Aufgabenstellung wirklich wörtlich nimmst und ein Array mit A, B, usw. befüllen willst, dann geht das (unter anderem auch) so:
astrTest: ARRAY[1..20] OF STRING(1) := 'A','B','B','A',' ', 'F','O','R','E','V', 'E','R';
Das halte ich aber für reichlich ungeschickt und glaube auch nicht dass das vom Aufgabensteller so gedacht war.
Und im grössten Notfall hast Du ja meine Telefonnummer / Mail Adresse.
passt jetzt hab ich auch verstanden
jo
papierflieger war mein leistungskurs
ne ohne witz
wir haben halt gelernt was arrays und schleifen sind und andere programmiertechniken aber eben in anderen porgrammiersprachen.der sps kurs war ein freiwilliges nebenfach und deswegen nich wirklich ausfuehrlich^^
keine angst werd mich demnächste eh fuer nen sps-kurs anmelden
by the way
kannst mir da einen empfehlen???
einen fuer relativ fortgeschrittenen wos nich nochmal so sachen wie schleifenstrukturen oder boolsche algebra erklären oder so sachen wie dnf und knf,des kann ich nämlich schon und wenn ich schon 500euro zahl naja........
Moin
Empfehlen kann ich da leider nichts. Ich hab nie einen Kurs gemacht.
Learning by doing...
3S bietet auch diverse Kurse an.
Das Buch SPS-Programmierung bach IEC 61131-3 ist ganz gut.
ISBN 3-7723-5801-2
Bei CoDeSys solltest du dir auch vorab schon mal überlegen in welcher Programmiersprache du bevorzugt arbeiten willst. Wir benutzen mittlerweile ausschliesslich ST. Auch meine Kollegen die vorher in AWL programmiert haben sind auf ST umgestiegen.
Gruss
Erik
PS: Ich bin ab heut ne Woche in Dänemark. Kuck also vermutlich erst danach wieder hier rein.