Zeitschaltung mit S7 Basic 10.5

Tomtom124

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, Leute.

Bin neu hier im Forum.
Frueher (vor 5 1/2 Jahren) hatte ich als Betriebselektriker viel mit S7 300 und S7 400 zu tun, habe einiges vergessen.
In den letzten Jahren hatte ich nur mit Gebaeudeleittechnik DESIGO/VISONIK zu tun.

Jetzt hat mein Chef ein Startepaket S7 1200 bestellt, um kleinere Steueraufgaben "kostenguenstig" zu loesen.

Ich beabsichtige, eine Zeitschaltung zu programmieren, jedoch muss ich feststellen, dass diese Steuerung irgendwie gar nichts kann.

Beispielsweise moechte ich eine Maschine um 22:00h ausschalten und um 6:00h wieder einschalten.

Dies wollte ich ueber eine Einschaltverzoegerung und eine Ausschaltverzoegerung programmieren, jedoch hab ich festgestellt, dass die Steuerung das Zeitformat "TOD" (Time_of_Day) gar nicht kennt.

Wie kann ich ansonsten eine Uhrzeitgesteuerte Funktion ausloesen?

Kann mir hier jemand bei der Loesung des Problems weiterhelfen?

LG Tom
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Andy, fuer deine schnelle Antwort.

Kann mir allerdings nicht vorstellen, dass das funktioniert, da in der Zeitfunktion RD_LOC_T die Zeit im Format DTL ausgegeben wird.
Ich habe gesehen, dass in diesem Format immer die Jahreszahl und das Datum drinsteht, d. h. ich muesste fuer eine Taegliche Zeitschaltung 365 Vergleiche programmieren.

Oder sehe ich das falsch?
 
Nein, das ist nicht nötig. Du musst dir halt nur die Zeit aus dem DTL Format rausholen, das Datum brauchste ja nicht auszuwerten.
Schau mal in den Anhang, da kannst du sehen in dass sich Stunde und Minute in den Bytes 5 und 6 befinden.
 

Anhänge

  • DTL.JPG
    DTL.JPG
    35,9 KB · Aufrufe: 116
Ok, dass hatte ich eben auch in den Hilfen gefunden, aber mir ist immer noch nicht klar, wie ich Byte 5 u. 6 ansprechen, bzw. einen Vergleich auf diese Bytes vornehmen kann.

Ich hab jetzt mal folgendes gemacht:

DB2 angelegt mit den Variablen "Lokalzeit" und "Lokalzeit_Int", weil diese an der Zeitfunktion RD_LOC_T angegeben werden muessen.

Wie mir aufgefallen ist, kann man hier auch nicht absolut adressieren, also:
"DB2.XXX" (weiss gar nicht, wie ich das Format DTL im DB ansprechen muss)
dagegen muss man symbolisch adressieren:
"Datenbaustein_2".Lokalzeit funktioniert

Das hat mich aber noch nicht wirklich weitergebracht.

Suche halt jetzt die Moeglichkeit, die Bytes da rauszupicken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, das Problem hatte ich auch schon. Hab jetzt grad kein Step7-Basic da, aber es gibt da eine Option "nur symbolisch adressierbar". Beim Hinzufügen eines neuen Datenbausteins kann man das einstellen, ich bin mir nicht sicher ob das nachträglich noch geändert werden kann. Zumindest muss dieser Haken weggenommen werden, dann kann auch wieder absolut adressiert werden.
 
Wenn du absolut auf den DB zugreifen kannst geht das ja im Prinzip ganz einfach. Angenommen die Lokalzeit steht wie in deinem Fall als allererstes in DB2, dann halt einfach mit DB2.DBB5 um die Stunden zu lesen bzw. DB2.DBB6 für die Minuten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, hab nachgeschaut, hattest recht, die Festlegung ob symbolisch oder absolut adressiert werden kann, muss man beim Erstellen der Bausteine festlegen.
Gilt uebriegens auch fuer die FC's.

Gut, dann werd ich das morgen mal neu anlegen und noch einmal ausprobieren.

Ich hab die Steuerung noch nicht in Betrieb, deshalb wirds noch ein paar Tage dauern, bis ich dir sagen kann, ob das auch funktioniert.

Danke dir nochmal fuer deine Hilfe.

LG Tom
 
Hi Andy, wollte mich noch mal melden und Bescheid geben, daß alles funktioniert.

Übriegens kann man die DB's auf eine erweiterte Ansicht stellen, aus der heraus auch eine Symbolische Adressierung möglich ist.
Hab so Funktionen im Touchpanel KTP600 programmiert, da eine direkte Adressierung hier gar nicht möglich ist.

Vielen Dank nochmals

LG Tom
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, Leute.

Bin neu hier im Forum.
Frueher (vor 5 1/2 Jahren) hatte ich als Betriebselektriker viel mit S7 300 und S7 400 zu tun, habe einiges vergessen.
In den letzten Jahren hatte ich nur mit Gebaeudeleittechnik DESIGO/VISONIK zu tun.

Jetzt hat mein Chef ein Startepaket S7 1200 bestellt, um kleinere Steueraufgaben "kostenguenstig" zu loesen.

Ich beabsichtige, eine Zeitschaltung zu programmieren, jedoch muss ich feststellen, dass diese Steuerung irgendwie gar nichts kann.

Ich halte zwar auch nichts von der 1200er, aber dennoch kann sie wesentlich mehr als Du !!!!


Beispielsweise moechte ich eine Maschine um 22:00h ausschalten und um 6:00h wieder einschalten.

Dies wollte ich ueber eine Einschaltverzoegerung und eine Ausschaltverzoegerung programmieren, jedoch hab ich festgestellt, dass die Steuerung das Zeitformat "TOD" (Time_of_Day) gar nicht kennt.

Wie kann ich ansonsten eine Uhrzeitgesteuerte Funktion ausloesen?

Kann mir hier jemand bei der Loesung des Problems weiterhelfen?

LG Tom

Kann es sein dass Du den falschen Job auserwählt hast ????
 
Hi Andy, wollte mich noch mal melden und Bescheid geben, daß alles funktioniert.

Übriegens kann man die DB's auf eine erweiterte Ansicht stellen, aus der heraus auch eine Symbolische Adressierung möglich ist.
Hab so Funktionen im Touchpanel KTP600 programmiert, da eine direkte Adressierung hier gar nicht möglich ist.

Vielen Dank nochmals

LG Tom
Danke für die Rückmeldung, schön dass es geklappt hat. Das mit der erweiterten Ansicht ist mir neu, gut zu wissen.

Gruß Andy
 
Zurück
Oben