TIA Schalten, wenn zwischen zwei Daten

UAV

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich habe eine Problem und finde keine simple Lösung, undzwar: Ich 16 unregelmäßige Zeitspannen über das gesamte Jahr verteilt. (Uhrzeit ist nicht relevant)
Mein Ziel: Rausbekommen in welcher Zeitspanne ich mich befinde. Eine Variable vom Typ Int die in der ersten Zeitspanne den Wert 1 bekommt und in der zweiten 2, in der dritten 3, usw.

Leider habe ich keine Methode gefunden, wie ich das bewerkstelligen kann, ohne 20 neue Netzwerke zu erstellen.

Möglicherweise hat da jemand einen Tipp.

Edit: Ist ne S7-1200. Bevor ich es vergesse. ^^


Ich bedanke mich im Voraus,
UAV
 
Zuletzt bearbeitet:
Wodurch werden denn die Zeitspannen bestimmt, wenn sie unregelmäßig sind.


Wie sieht denn die Lösung mit den 20 Netzwerken aus? Vlt. kann man die ja vereinfachen/zusammenfassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Zeitspannen werden vom Kunden vorgeben. Hab hier eine Tabelle von wann bis wann welche Zeitspannen gehen.

Für mich ist die SPS noch ziemlich Neuland und das folgende, ist das einzige was mir eingefallen ist.
Jede Zeitspanne die ich habe, würde ich mit einem neuen Netzwerk versehen, dass dann ungefähr so aussieht:
http://abload.de/img/unbenannttxuhn.jpg
Das Ganze würde ich 16x machen - also für jede Zeitspanne.

(Bin am privat Rechner und habe das TIA Portal nicht drauf)

@OffTopic: Geht ja flott hier.


-UAV
 
Die Zeitspannen kommen vom Kunden. Habe hier ne Tabelle mit allen Daten.

Unbenannt.jpg
Und das würde ich für alle 16 Zeitspannen machen. (SPS ist für mich noch Neuland ^^)


-UAV
 
Die Zeitspannen werden vom Kunden vorgeben. Hab hier eine Tabelle von wann bis wann welche Zeitspannen gehen.
Kann man die Tabelle mal sehen?
Sind die Daten schon zeitlich sortiert? Wenn nicht, darf die SPS sie sortieren?
Dann könnte man auf das 1. Datum warten und bei Eintreten einen Zeiger auf das 2. Datum verschieben usw. Dann hast Du geschätzt 2 Netzwerke - 1 für den Zeiger und 1 für die Datumsabfrage. (Wie's genau wird, muss man dann sehen.)
So 'ne Art FIFO.



@OffTopic: Geht ja flott hier.
Nicht immer - man soll den Tag nicht vor dem Abend loben.
;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Tabelle sieht ungefähr so aus: Von X bis Y ist Wert Z (sind sortiert)
Kann sie mal hochladen, wenn es dich interessiert. ^^

Hatte es jetzt so gelöst, dass ich auf ein Datum warte und dann Wert setze. (So ähnlich, wie ich das hier schon gepostet habe)
Sowas wie du vorgeschlagen hast, hätte ich mir auch gewünscht, aber ich habe überhaupt keine Idee wie man das umsetzt.

@OffTopic: Hab ich gemerkt. Innerhalb einer Stunde wurde der Thread freigeschaltet und es kam die erste Antwort.
Mein nächster Beitrag wurde erst nach 2 oder 3 Stunden freigeschaltet (deswegen auch zweimal fast das gleiche, ich hatte keine Rückmeldung was mitm Beitrag ist). :p


-UAV
 
Ja, würde mich interessieren.
Vor allem, wo Du die in der SPS gespeichert hast. Sicher in einem DB, oder?
Wie ist der Aufbau? Vlt. mal 'nen Screenshot. Geht darum, wie der Zeiger gestaltet werden muss.

Mich würde auch das Programm interessieren. Ist immer gut, wenn hier mehrere Lösungen zu finden sind.
 
Kannst du nicht einfach die interne Uhr auslesen und dann den Monat und Tag vergleichen?

Monat > 6 und Tag >1 und Monat < 8 und Tag < 31 -> 1 ins Int verschieben

Das ganze dann z.B. 3 mal und gut is.
Oder verstehe ich das falsch?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@hucki: Der Aufbau ist hardcodet. So wie es wolder meint.

@wolder: Leider sind das nicht 3x sondern 16x und genau darin liegt mein Problem.



-UAV
 
Zuletzt bearbeitet:
@wolder: Leider sind das nicht 3x sondern 16x und genau darin liegt mein Problem.

Dafür gibt es doch FB´s!
Bau dir einen und übergebe das Datum für Anfang und Ende und mach die Vergleicher.
Diesen rufst du dann 16 mal auf. Dann brauchst du nur noch die Daten angeben und am Ende kommt ne 1 oder 0 als Ausgang raus.

Gruß wolder
 
Zurück
Oben