Aufgabe zur SPS Programmierung - Flanke in FBS

Zuviel Werbung?
-> Hier kostenlos registrieren
Der Geek in mir möchte wissen, wie viele Seiten dein Würfel hatte :p
Das war ein gaaanz normaler Würfel mit 6 Seiten und den üblichen 1..6 Punkten.
Er bestand übrigens aus Gummi (geräuschdämmend!) mit einer KantenLänge von 50,3 mm und war als Spielzeug für gaaanz normale Hunde gedacht.
Für Ja-Nein-Alternativen war er mit seinen 6 Seiten zwar überqualifiziert. Aber immerhin nicht unterqualifiziert. ;)

Hätte ich einen so wundervollen Würfel gehabt, wie Michael in Beitrag #38, dann hätte ich ihn sicherlich viel häufiger benutzt.
 
Anhang anzeigen 79653
Der zweite Eingang in Netzwerk 2 muss weg. Hier wird lediglich der aktuelle Zustand von EIN in die Variable EIN_ALT kopiert.
Damit wird in Netzwerk 1 der aktuelle Zustand von EIN mit dem im vorherigen Zyklus aktuellen Zustand von EIN per AND verknüpft.

AND- und OR-Verknüpfungen sollte es theoretisch mit nur 1 Eingang geben, da A AND A = A bzw. A OR A = A ist.
Aber Vorsicht, das gilt nicht für XOR, da A XOR A = FALSE ist und XOR nur für 2 Eingänge definiert ist.

Dass es nicht egal ist, in welcher Reihenfolge die Anweisungen
AUS := EIN AND NOT EIN_ALT ;
und
EIN_ALT := EIN ;
ausgeführt werden, sollte eigentlich klar sein, denn
EIN_ALT := EIN ;
AUS := EIN AND NOT EIN_ALT ;
ist nchts anderes als
A AND NOT A
und das ist immer FALSE.
In etwa so ?
 

Anhänge

  • Screenshot 2024-07-10 133233.png
    Screenshot 2024-07-10 133233.png
    9,6 KB · Aufrufe: 35
Zuviel Werbung?
-> Hier kostenlos registrieren
Anhang anzeigen 79653
Der zweite Eingang in Netzwerk 2 muss weg.
Die Aufgabenstellung verlangt aber ausdrücklich:
Es geht in dieser Aufgabe darum, einen vorgegebenen Text so genau wie möglich in Funktionsbausteinsprache (FBS) zu übersetzen.
(...)
Danach bestimmt man für den nächsten Rechenzyklus den aktuellen Wert des Eingangs, indem man den Eingang „EIN“ mit der Funktion „AND“ mit sich selbst verknüpft und dann dem internen Signal „EIN_ALT“ zuweist.

Wie das Netzwerk demnach aussehen müsste, hatte ich ihm schon in Beitrag #2 gezeigt, da hat der Fragesteller leider nichts weiter draus gelernt, als sich beleidigt zu fühlen... 🤷‍♂️
:unsure: Hmmm. Ausdrücklich verlangt wird aber doch, EIN per AND mit sich selbst zu verküpfen.
Es wird nicht verlangt EIN mit EIN_ALT per AND zu verknüpfen und das Ergebnis EIN_ALT zu nennen. EIN_ALT kann so übrigens nie vom Zustand FALSE in den Zustand TRUE wechseln.
 
Genau das ist mein Dilemma.
Was ist denn dein Dilemma? Das du nicht weißt wie eine SPS funktioniert? Nicht weißt was du da wirklich tust?

Meiner Meinung nach hilft es nicht, wenn du wahllos Variablen und Netzwerke hin und her schiebst bis einer dir den Daumen zeigt, wenn dir theoretische Grundlagen zur Funktionalität einer SPS fehlen.
 
Denkst du dir auch etwas dabei, was du da programmierst? Oder probierst du wirklich wahllos alle falschen Varianten durch?
Wenn du nicht die beldeidigte Leberwurst gespielt hättest, wärst du nestimmt schon fertig mit der Lösung... ich mache dir das ignorieren jetzt aber noch etwas leichter
;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt nur noch Netzwerk 1 und 2 tauschen, dann haben wir es.
ist es zufiel erlagt eine erklerung zur bekommen.
Beim EIN 1 wird AUS 1 wen er vorher 0 war. Das AUS 0 war zeigt Der EIN_ALT der im & generiert ist.
so ist EIN 1 ---- UND ---- Nicht EIN_ALT 1 = AUS 1 nur für den einen Rechenzyklus.
Richtig.
 

Anhänge

  • Screenshot 2024-07-10 134423.png
    Screenshot 2024-07-10 134423.png
    9,5 KB · Aufrufe: 28
Jetzt musst du noch deine Variablen richtig deklarieren.

Eine Erklärung ist hier tatsächlich etwas viel verlangt. Hier im Forum ist es normal, insbesondere bei grundlegenden/einfacheren Fragen eher Hilfe zur Selbsthilfe zu leisten. Was haben wir oder du davon, wenn du hier eine Lösung bekommst und diese erklärt bekommst? Sehr wenig, weil der Lerneffekt dabei flöten geht. Für gewöhnlich hat die fragenstellende Person einen größeren Lerneffekt, wenn die Lösung selbst erarbeitet und vor allem verstanden wird.

Wenn du nicht verstehst, wie das alles funktioniert und warum es so funktioniert, kommst du mit der nächsten Hausaufgabe wieder hierher. Wenn sich das Spiel dann wiederholt, hast du wieder nichts/wenig gelernt und das Spiel beginnt wieder von vorn.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ist es zufiel erlagt eine erklerung zur bekommen.
EIN_ALT muss STATIC sein bzw. darf nicht TEMP sein, damit der Zustand im nächsten Zyklus noch unverändert abfragbar ist.
Die UND-Verknüpfung
EIN AND NOT EIN_ALT
liefert dann 1 Zyklus lang den Wert TRUE, wenn EIN TRUE ist und EIN einen Zyklus zuvor noch den Zustand FALSE hatte.
 
Zuletzt bearbeitet:
Was ist denn dein Dilemma? Das du nicht weißt wie eine SPS funktioniert? Nicht weißt was du da wirklich tust?

Meiner Meinung nach hilft es nicht, wenn du wahllos Variablen und Netzwerke hin und her schiebst bis einer dir den Daumen zeigt, wenn dir theoretische Grundlagen zur Funktionalität einer SPS fehlen.
JA. ich habe keiner Ahnung. Deswegen habe ich angefangen zur lernen.
Ja . ich weiß es noch nicht wie ich etwas generiere was vorher noch nicht da war oder nicht zu sehen wahr.
ja. ich habe kein Lehrer oder Beikanten der mir was erklehrt was ich noch nicht verstehe oder anders interpretiere als es ist.
ja ich habe vorher nichts mit SPS-Programmierung zu tun gehabt.
 
Und woher hast du diese Aufgabe( n)?
Lektüre( n) würde ich dir an dieser Stelle empfehlen, Fachbücher welche wirklich bei Null anfangen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke für vollumfängliches, würde ich tatsächlich wirklich ein Lehrbuch empfehlen.

Hier zB eins vom Springer Verlag:

dann gibts noch das hier:

oder hier: https://www.lehmanns.de/shop/technik/61014429-9783527718191-sps-fuer-dummies
 
Zurück
Oben