Blinker

Hallo
Unter Hardware CPU kannst du Taktmerkerbyte definieren. Dann hast du 8 Blinker. Oder so:

UN T 2
L S5T#500MS
SE T 1
U T 1
L S5T#500MS
SV T 2
U T 2
= A 0.0
javascript:emoticon(':D')
 
Markus schrieb:
wenn du uns sagst mit welcher sps...
es gibt viele möglichkeiten...
Schulle hat doch S7 erwähnt.
Oder meinst du Taddy? Gibts auf der S7 noch SV? Ich hätte noch ein SE genommen. Erstens war es mir immer zu schwer, mir die ganzen SX und ihre Impulsdiagramme zu merken, zweitens geht alles auch mit SE und einem Hilfsmerker, drittens konnte noch jede SPS, die ich gesehen habe, so was wie SE. Insofern wäre es dann wieder egal.
 
Jede SPS der S7 Familie hat identische Zeiten wie S5 (d.h. SE,SV,SA,SI).
Hast du natürlich Recht. Man kann alles mit zwei SE Zeiten bauen, oder auch mit Zählern. Es gibt viele Möglichkeiten. Die beste und einfachste Methode ist ...CPU soll die Blinker selber produzieren. Also: Hardware -> auf CPU klicken -> Zyklus/Taktmerker wählen -> unten Taktmerker markieren und ein MB eintragen z.B. MB 2. Hardware in die SPS übertragen mach hat 8 Blinker. Oder so: M3.0 = schnell ….M 3.7 = ganz langsam (Beispiel unten)
UN T 1
L S5T#100MS
SE T 1
SPB M011
L MB 3
INC 1
T MB 3
M011: NOP 0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ein ganz anderer Weg ist die Verwendung von Zeitinterrupt-OB's.

z.B.
OB 35 (S7)

L MW 6
L 1
+I
T MW 6


Bei dieser Lösung stehen 16 Taktmerker zur Verfügung.
 
oh sorry, asche über mein haupt...
(aber er hätte es auch größer schreiben können :ROFLMAO: )

naja bei einer s7 ist die sauberste lösung das oben beschriebene taktmerkerbyte. in der hw konfigurieren, standart ist bei vielen das MB100.
 
Schulle1972 schrieb:
Abend, kann mir einer erklären wie ich einen Ausgang blinken lassen kann mit einem bestimmten Takt z.B. 0,5s bei der S7

Abend und erstmal danke. Leider half mir das nicht richtig weiter. Bin Meisterschüler und zur Ausbildung gehört auch S7. Leider wurde uns der Blinker nicht erklärt.
Ich wusste das ich Taktmerker 100 setzen muss. Könnt Ihr vielleicht das ganze als Anweisung für FUP machen. Bin darauf getrimmt. Danke supi :D
 
Ich könnte jetzt sagen: richtige Programme schreibt man in AWL. Das ist natürlich genauso Quatsch, als wenn ich sage, richtige Programme schreibt man in Assembler oder Fortran...

Aber ich finde gerade noch einen Grund warum ich FUP nicht mag: Selbst wenn ich die Funktionsblöcke 100% im Kopf hätte, kann ich sie nicht mit der Tastatur eintippen, um sie zu posten. Ich müsste sie aufmalen und scannen (mit der Gefahr, daß du sie nicht erkennst, weil ich irgendeinen Eingang anders benenne oder die Reihenfolge vertausche) oder ich muß einen anderen Rechner anschmeißen, Step7 laden, das FUP eintippen, Bildschirm kopieren, Netzwerkkabel rein, auf diese Kiste laden und posten.

Irgendwie ist FUP genauso umständlich wie chinesische Schrift:
Mit 22 lateinischen Buchstaben kannst du die meisten Sprachen der Welt schreiben. Mit 20 verschiedenen AWL-Anweisungen kannst du alles programmieren. Mit FUP hast du für alles ein eigenes Symbol (und jeder Hersteller hat seine) und brauchst ein spezielles Programm zur Eingabe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Taktender Blinker oder blinkender Takt

Wenn man einen Takter in Zeit-OB schreibt und nutzt man ihn als Blinker für Störungsausgänge (z.B. Leds ) muss man damit rechnen, dass die Leds-Ausgänge (unter Umständen) nicht gleichzeitig blinken. Das kann man dann beobachten, wenn die Zykluszeit stark belastet ist. (z.B. am Zykluszeitanfang des OB1 ist der Blinker von z.B. OB 13 noch eine Eins aber in der Mitte eine Null....der Zeit-OB hat eigene Zykluszeit (eigentlich Aufrufe), die kürzer oder länger als die Zykluszeit von OB1 ist). Als Abhilfe -> Takter von Zeit-OB am Anfang OB1 "umladen". In dem Moment blinken alle Leds-Ausgänge gleich.
Übrigens.....man kann auch Doppelwort addieren, dann hat man 32 Blinker...aber wozu ?
Ganz schnell blinkend wünsche ich einen getakten Abend
 
@Schulle1972

Wenn ein Taktmerker Byte vorhanden ist, dann

U m100.2
= A 3.5

DAs funktioniert, weil sich bei S7 das Merkerbyte 100 aus den Merkern 100.0 .... 100.7 zusammensetzt.

Dies gilt auch für die Worte und Doppelworte. Somit ergibt sich im folgenden Beispiel eine Doppelbelegung von Merkern.

L 45
T mw0

u e 3.5
u e 4.6
= M 1.0

Hier ist der M1.0 ein Teil vom Merkerwort 0.

Dies gilt für S5 und S7.

Es gibt aber auch andere Steuerung, wo die Speicherbereiche für Bit, Byte, Word usw. getrennt verwaltet werden.

@Teddy stimmt bei langen Zykluszeiten und geringen Zeitraster, können z.B. Störmeldelampen im unterschiedlichen Takt blinken.
 
Blinker ohne Timer und Taktmerkerbyte

Habe untenstehend einen variablen Blinktakt mit gleieche Impuls Pausenverhältnis.



FUNCTION_BLOCK "Takt_VARIABEL"
TITLE =
VERSION : 0.1


VAR_INPUT
ZEITBASIS : INT ; // Zeitbasis in ms
END_VAR
VAR_OUTPUT
mTakt_1Sek : BOOL ; //pulstakt
Takt : BOOL ;
END_VAR
VAR
iTime : TIME ;
iRET_VAL : WORD ;
END_VAR
VAR_TEMP
dwTime_TCK : TIME ; //Zeitwert
END_VAR
BEGIN
NETWORK
TITLE =Sekundentakt erzeugen

SET ; // Puls 1 Sekunde loeschen
R #mTakt_1Sek;

CALL "TIME_TCK" (// current time in [ms]
RET_VAL := #dwTime_TCK);

L #iTime;
L LW 2; // current time
-I ;
L 0;
>I ;
SPB n1;
L #iTime;
L #ZEITBASIS;
+I ;
T #iTime;
S #mTakt_1Sek; // puls setzen
n1: UN #mTakt_1Sek;
SPB k1;
L 0; // Fehlernummer löschen
T #iRET_VAL;
k1: NOP 0;

U #mTakt_1Sek;
U #Takt;
SPBN k3;
R #Takt;
SPB k4;
k3: U #mTakt_1Sek;
UN #Takt;
SPBNB k4;
S #Takt;
k4: NOP 0;

END_FUNCTION_BLOCK


[/code]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Re: Blinker ohne Timer und Taktmerkerbyte

Hamlet schrieb:
Habe untenstehend einen variablen Blinktakt mit gleieche Impuls Pausenverhältnis.
...
[/code]
Sicher das längste Listing.
Vergleiche:
Code:
U M100.x
= Ax.y
Alles AWL...
Wer postet denn nun FUP für Schulte1972?
[/code]
 
Hallo
In der Anlage ist ein Blinker mit einem Timer und Exclusiv-oder als AWL und FUP.

Viel Spaß damit


Andreas
 

Anhänge

  • blinker.pdf
    9 KB · Aufrufe: 212
Zurück
Oben