neues Problem aufgetreten

holle

Level-1
Beiträge
49
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo zusammen

habe folgende 2 probleme
1.Es stehen 2 Eingänge an und nun sollen sich 2 Ausgänge im 5 Min Takt abwechseln.

2.Es stehen 3 Eingänge an und nun sollen sich 3 Ausgänge im 5 Min Takt
abwechseln

habe beides über eine folgesteuerung von mehreren Timer versucht diese funktioniert auch ist aber bestimmt nicht die eleganteste lösung ,da ich das ganze mehrere male einbauen muß.
evtl.hat einer von euch da eine bessere Lösung zur verfügung
mfg holle
 
Taktmerkerbyte verwenden

Hey holle,

meinst du mit anstehen, die sind beide "1" oder alle drei sind "1"?

Ich habe dein Problem leider noch nicht richtig verstanden um was geht
es genauer?

Um was für Ausgänge geht es dir?, du hast ein neues Thema aufgemacht!

Das mit den Timern ist keine optimale Lösung, versuchs mal mit dem Taktmerkerbyte der CPU und erzeuge hieraus mittels XOW
8-Flankenmerker. Die kannst du dann zur Zeitsteuerung nutzen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
re

Mit anstehen mein ich ein 1 Signal
und es muß halt ein merker oder ein digitalaußgang angesteuert werden
z.B E0.1 und E0.2 sind 1
A1.0 und A2.0 sollen im 5 min takt wechseln
Ich komme eher noch aus dem bereich der Klappertechnik und habe da wohl noch den hang zu folgesteuerungen.
von dem Taktmerkerbyte der cpu habe ich schon gehört unter den objekteigenschaften der cpu kann ich auf ihn zugreifen.
Jedoch habe ich keine Ahnung wie ich ihn einsetzen kann.
Bin auf dem S7 gebiet noch Newbie.
Ein 5 Min 0-1 Wechsel wär das möglich?
Ich dachte das geht immer nur im sek Bereich
 
Taktmerkerbyte verwenden

Du definiert z.B. mit HW-Config als Taktmerkerbyte (nennen wir es kurz TM) als 50 überträgst dann die Configuration zur CPU
(Systemdaten im Bausteinordner vom Manager nicht vergessen).
Jetzt erzeugt die SPS im MB50 8-Bit mit freuquenzen von 0,5Hz bis 10Hz.
  • Jedem Bit des Taktmerkerbytes ist eine Periodendauer/Frequenz zugeordnet:
    Bit 7 6 5 4 3 2 1 0
    Perioden-
    dauer (s): 2 1,6 1 0,8 0,5 0,4 0,2 0,1
    Frequenzen
    (Hz): 0,5 0,625 1 1,25 2 2,5 5 10

Das Tastverhältnis zwischen ein/aus beträgt für jedes Signal 50/50.
Jetzt erzeugst du hieraus 8-Flankenmerker
Code:
L      MB50     // Taktmerker laden
L      MB52     // Zustand der Taktmerker beim letzten OB1-Zyklus laden
XOW             // für jedes Bit Flanke erkennen
T      MB51     // 8-Taktmerker sichern

L      MB50     // Taktmerker für nächsten OB1-Zyklus sichern
T      MB52     // ...
Jetzt kannst du z.B. mit den Taktmerkern eine Zeiterfassung Programmieren:
Code:
UN     M51.7    // Taktmerker nicht gesetzt
SPB   nWrk     // Programmteil überspringen es gibt nichts zu tun
//______________ Kontrollieren ob es was zu tun gibt ______________
         L       MW10    // Zähler laden (M.Word hier als 16Bit-Z.benutzt)
         L       1
         -I
         SPN   upDT    // Zähler ist nicht abgelaufen (Zeit ist nicht um)

//____die 300sec sind abgelaufen, jetzt müssen wir die Ausgänge ändern ____
... hier muß jetzt der Code rein der die Ausgänge abhängig von den eingängen und dem vorhandenen Zustand ändert ...

//----------Zeit neu laden----------------------------------------------
         L   300   // Zähler für 300sec (mit M51.7) neu initalisieren
upDT:T   MW10   // Zähler aktuallisieren
    
nWrk: NOP 1 // deine weiteres Programm

Der Vorteil dieser Metode ist das du jedes Byte,Word oder DWord zur Zeitmessung benutzen kannst. Wenn du vor die Verarbeitung noch ein Freigabebit hängst, kannst du die Zeit sozusagen einfrieren, das geht mit den Simens-Timer nicht!
Du hast also keinerlei Beschränkungen mehr mit der Anzahl der verfügbaren Timer.

Die Taktmerker kannst du auch wunderbar dazu nutzen z.B. durch eine Lampe oder LED die Anlagenbetriebsart Anzeigen zu lassen z.B. so:
Code:
UN M50.5       // kein Schnelles Blinken ODER
ON ErrorFlag  // kein Fehler vorhanden
spb noTg       // ...

UN A1.0
=   A1.0
SPA EXIT // hier nix mehr zu tun

noTg:UN M50.7   // kein langsames Blinken ODER
ON WarningFlag  // keine Warnung vorhanden
spb norm           // ...

UN A1.0
=   A1.0
SPA EXIT // hier nix mehr zu tun

norm: U AnlageBereit
          = A1.0

Gruß, Ulrich

P.S. Wenn du mehr Fragen hast kannst du mich auch mal anrufen
07244/7415-827
 
re

erstmal danke für die antwort werde mich morgen da mal rein hängen und ein paar Unterlagen durchstöbern hört sich auf jedenfall brauchbar an
MFG holle
 
re

Danke für eure Hilfe!
Habe mir jetzt über 2 Timer einen Flankengeber erzeugt
Den Taktgeber babe ich zusätzlich als Statusanzeige auf einen Ausgang gegeben um den Betriebszustand auf eine Meldeanlage zu ünbertragen.
MFG holle
 
Zurück
Oben