FBD Programm Umwandlung TIME in S5TIME

Marco_ET12

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend,

da ich komplett neu in diesem Forum bin möchte ich mich kru einmal vorstellen:
Ich studiere im 4.Semester Elektrotechnik mit Schwerpunkt auf elektrische Energietechnik. Im Sinne des Studiums trifft mich nun auch das Modul Steuerungstechnik, wo es hauptsächlich um SPS-Programmierung mittels TIA geht. Momentan machen wir gerade das FBD(Funktionsplan) und müssen eine Projektaufgabe lösen, bei der ich etwas Hilfe benötige.

Die Aufgabe sieht folgendermaßen aus:

"Geben Sie ein Programm in FBD an, dass eine Variable vom Datentyp TIME (Variable"zeit_2019") mit Hilfe der Standardbausteine der IEC61131 so umwandelt, dass der Werterhalten bleibt und dem Aufbau des Datentyps S5TIME entspricht. Der gewandelte Wertsoll in der Variablen "s5zeit19" abgelegt werden.
VARzeit_2019 : TIME;
s5zeit19 AT %MW20 : WORD;
END_VAR

Die Umsetzung soll mit folgenden Testwerten funktionieren
:- zeitwert := t#80ms
- zeitwert := t#2h

Für die Variablen geben Sie die Variablendeklaration nach IEC61131-3 an.Geben Sie eine Lösung in FBD an. Die Lösung soll nicht mit der Siemens spezifischenFunktion T_CONV durchgeführt werden sondern ausschließlich mit Standardfunktionen aus der IEC61131-3!Erklären Sie Ihre Programmlösung!"


Dies ist die Aufgabe, die ich bearbeiten soll. Leider haben wir dieses Modul bei unserem Studiendekan, welcher kaum da ist, weil er andere Termine hat. Und wenn er da ist, wird das Thema so schnell es geht durchgekaut, Hauptsache es ist abgeschlossen. Ich finde das Thema selbst allerdings extrem intressant und möchte es nicht einfach nur bestehen, sondern auch verstehen.

Ich möchte nicht, dass mir hier jemand einen fertigen FBD reinstellt oder eine fertige Lösung präsentiert. Viel mehr hoffe ich auf eine nette Leute, die das mit mir zusammen angehen und mir etwas helfen. Denn Verständnis liegt bei mir wirklich im Vordergrund (sollte es im Studium auch tun). Also ich würde mich sehr freuen, wenn wir das gemeinsam angehen könnten und sich Leute hier finden, die etwas Erfahrung in diesem Bereich haben. Ich lerne gerne dazu.

Mit freundlichen Grüßen,

Marco
 
Achso, was ich noch dazu anmerken möchte, ist, dass ich wirklich überhaupt keinen Plan habe, wie ich überhaupt anfangen soll.
 
Ja, den Aufbau des Datentyps kenne ich.
Dazu habe ich mich gestern noch etwas eingelesen.
Was ich Weiss, ist, dass die ersten 12 Bits für den Zeitwert und die anderen beiden, für die Einheit stehen.

Allerdings Weiss ich dadurch nciht wie ich das Programm schreiben soll
 
Für den Zeitwert stehen dir immer nur 3 Stellen zur Verfügung. Bei Zeitbasis 1s kannst du dort also nur 999s unterbringen.
D.h. der erste Schritt wäre also festzustellen welche Zeitbasis du benötigst um die Zeit überhaupt unterbringen zu können.
Denn z.B. 1000s kannst du nicht mehr mit Zeitbasis 1s unterbringen, sondern musst auf Zeitbasis 10s wechseln.

Die Zeitbasis beim Format TIME ist sozusagen 1ms. Du musst den Zeitwert also entsprechend der festgestellten S5TIME Zeitbasis herunterteilen (dividieren).
Um beim Beispiel bei 1000s zu bleiben, wurdest du diese bei Zeitbasis 10s durch 10 Teilen, und hast dann als Zeitbasis 10s und als Zeitwert 100.

Als letzten Schritt wandelst du den heruntergeteilten Wert dann in das BCD-Format, und baust die 3 Stellen zusammen mit der festgestellten Zeitbasis in einem WORD zusammen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der S5Time behalt 4 Zeitbasis:
0 = *0.01 s (Max Zeitwert 9,99 s)
1 = * 0.1 s ( Max Zeitwet 99,9 s)
2 = * 1 s ( Max Zeitwert 999 s)
3 = * 10s (Max Zeitwert 9990 s = 2H 46M 30s )
 
Zurück
Oben