26.04.2011 08:13 | |
Beigetreten: 23.06.2008 Letzter Bes: 02.11.2020 Beiträge: 3180 Bewertung:
|
Kämpfe mich nun seit kurzem durch die S7 1200 bzw durch Step7 Basic. Grundkenntnisse sind eigentlich nur Logo vorhanden. Nun möchte/muß ich eine Wochenschaltuhr programmieren. Diese soll vom Maschinenbediener programmierbar sein, er soll die gewünschte Zeit an einem Panel einstellen können. Soll ein Vorheiztimer werden, damit die Maschine gleich zu Arbeits-/Schichtbeginn (z.B. nach Wochenende, Feiertagen, etc.) Betriebstemperatur hat. Mit dem Panel (KTP400 mono) habe ich mich noch nicht auseinander gesetzt, das wird sicherlich ein anderer großer Batzen an Fragen werden. Jetzt habe ich schon ein paar Beiträge zu Wochenschaltuhren gelesen... bisher immer mit der Antwort vom Andy79. Leider fängt es bei Datenbausteinen, Variablen bei mir mit Unverständnis an. Also muß man da schon mit mir bei 0 anfangen ![]() Wer würde mir da Stück für Stück auf die Sprünge helfen? |
Versuch macht kluch .... |
|
02.05.2011 10:55 | |
Beigetreten: 23.06.2008 Letzter Bes: 02.11.2020 Beiträge: 3180 Bewertung:
|
Kann mir da niemand weiter helfen? |
Versuch macht kluch .... |
|
02.05.2011 17:04 | |
Beigetreten: 28.05.2008 Letzter Bes: 20.11.2020 Beiträge: 1341 Bewertung:
|
Hallo Nachbar, den Beitrag schon gesehen? https://www.automation.siemens.com/tf/WW/de/Posts/42355#top Du musst halt die Zeit, die du über "Read Time" (oder so ähnlich) bekommst, in eine DTL-Variable packen und dann dort die einzelnen Bytes (wie in dem anderen Beitrag beschrieben) über Vergleicher abfragen, bis du deine Wochenschaltuhr zusammen hast. Gruss |
02.05.2011 20:48 | |
Beigetreten: 23.06.2008 Letzter Bes: 02.11.2020 Beiträge: 3180 Bewertung:
|
Ja, den habe ich gelesen... leider nicht so ganz verstanden. Wobei ich da evtl. heute einen Schrit vorwärts kam.... muß ich mir morgen genauer anschauen. Allerdings hänge ich da schon bei den Vergleicher, bzw wie ich das mit "SOLL" und "IST" Datum/Zeit machen soll. Muß ich da eigentlich für Jahr, Monat, Tag, Std., Sek. je einen Vergleicher basteln? |
Versuch macht kluch .... |
|
03.05.2011 18:46 | |
Beigetreten: 21.03.2006 Letzter Bes: 07.01.2021 Beiträge: 10217 Bewertung:
|
Hallo, Vielleicht könnte Ihnen ein paar Ideen S7-1200 Daily Timer Gruss, Hristo Mihalev |
04.05.2011 09:47 | |
Beigetreten: 23.06.2008 Letzter Bes: 02.11.2020 Beiträge: 3180 Bewertung:
|
Danke soweit, leider ist mein Englisch nicht gerade das Beste... Hatte mir das doch etwas einfacher vorgestellt. Habe jetzt ein NW mit RD_SYS_T, an OUT habe ich einen P#DB3.DBX0.0"Datenbaustein_1 (DB3). RET_VAL ist noch offen, weiß auch nicht was ich damit machen soll.. Ein weiteres NW mit einem Vergleicher, wo an IN1 %DB3.DBB3 steht. Nachdem ich den Vergleicher auf USInt geändert hatte (warum auch immer?) habe ich "Datenbaustein_1".Static_1.DAY dran stehen. Habe jetzt auch die Wahl zwischen Tag, Monat, Stunde, etc. ... Nun fehlt ja der Wert an IN2, dies soll ja der Wert vom HMI werden, welche vom Bediener man. eingegeben werden muß. Da scheitert es jedenfalls...... auch. Den Grundkurs habe ich gestern mal zum Teil durchgearbeitet, bis Kap. 2.7. Hat auch soweit geklappt, doch auf einen grünen Zweig bin ich trotzdem nicht gekommen. |
Versuch macht kluch .... |
|
05.05.2011 11:29 | |
Beigetreten: 28.05.2008 Letzter Bes: 20.11.2020 Beiträge: 1341 Bewertung:
|
Ok, Ret_Val ist nur ein INT-Variable. Da steht dann ein Wert drinne, falls das urhzeit auslesen nicht funktioniert hat. Im Handbuch kannst du dann in den Fehlercodes nachschauen, was das bedeutet. Kurz und knapp: Häng da einfach eine INT-Variable dran. Kann auch ein Merkerwort MW sein. Du tust dich auch leichter, wenn du alles symbolisch programmierst. Also so Sachen wie P#DB1.DBB3 usw.. interessieren dich eigentlich nicht. D.h. du hast irgendwo deinen Datenbaustein, wo jetzt in einer DTL-Variablen deine Uhrzeit drin steht. Dort hast du einzeln Zugriff auf Jahr, Monat, ... Wenn du in dem DB die DTL-Variable aufklappst, siehst du auch die Datentypen der einzelnen Daten. U.a. UINT für Jahr. SUINT für Monat... Um mit irgendwas Vergleichen zu können, benötigst du eine zweite Variable gleichen Datentyps, die du dann mit dem Eingabefeld in deinem HMI verbindest. Das kann wieder eine Merkervariable sein oder eine Variable im STATIC Bereich das selben DB's. Wenn der Vergleich erfolgreich ist, setzt du ein Bit. Dieses kannst du später zum auswerten nehmen, ob deine Uhr gerade aktiv ist oder nicht. Zum leichteren Verständnis habe ich dir mal ein paar Bildchen angehängt, wie eine Lösung im Ansatz aussehen könnte. Gruss DateianhangWochenschaltuhr.zip (158 Downloads) |
05.05.2011 18:58 | |
Beigetreten: 23.06.2008 Letzter Bes: 02.11.2020 Beiträge: 3180 Bewertung:
|
Danke, ich schau mir das mal morgen in Ruhe an und versuche das dann weiter umzusetzen. Bis zu den nächsten Fragen ... |
Versuch macht kluch .... |
|
06.05.2011 10:00 | |
Beigetreten: 23.06.2008 Letzter Bes: 02.11.2020 Beiträge: 3180 Bewertung:
|
Irgendwie komme ich nicht weiter. Es wird auch schlimmer, wenn ich was gemacht habe. Denn nun will die SPS nicht mehr in RUN gehen. Ich muß mir wohl eingestehen, daß ich mich da doch etwas übernommen habe. Edit: SPS wollte nicht mehr in RUN, weil irgendwie die Busverbindung der 2 angesteckten Module nicht da war. Am Verbinder vom 1. Modul gedrückt, wieder alles da. Tja, nun habe ich aber vorher alle meine letzten Schritte gelöscht...... Ich bekomme es nicht mal hin, daß die richtige Zeit auf dem Panel zu sehen ist. Verstehe das auch nicht mit den Variablen und was genau symbolisch programmieren ist. |
Zuletzt bearbeitet von: Nachbar am: 06.05.2011 12:01Zuletzt bearbeitet von: Nachbar am: 06.05.2011 11:11Versuch macht kluch .... |
|
Folgen Sie uns auf