SPS S7 für Dummies

Zuviel Werbung?
-> Hier kostenlos registrieren
Dann bauen Wir eben einen Takt mit zwei Timern:

Nimm zwei Frei Timer und anstelle des Taktmerkers schreibst Du in den anderen Code den ersten von den Timern.

Code:
UN T2 
L #S5T500ms
SE T1

U T1
L #S5T500ms
SE T2
 
sorry, mat...ich habs halt immer noch nicht.
ich komm noch immer nicht hintr das geheimnis...es handelt sich nur um eine virtuellegeschichte. also kann doch garkeine hardware eigenschaft angezeigt werden? oder is das wie ein spiel anzusehn, dass es sowas trotzdem gibt. nur bin ich bis jetzt nurauf die eigenschaften eines bausteins gestoßen. die aber nur den ezitstempel code,
die zeitstempel schnittstelle,
anzahl der netzwerke, lokaldaten, bausteingröße RAM, ladespeicher und ram anzeigen. zudem noch author, family, name, version. kann da nix erkennen, von wegen eigenschaften der cpu...
naja vielleicht gibt´s ja doch was...
mfg, total hirnverbrannt, bernd

so ganz langsam

du bist im simatic manager nicht das wir von trysim sprechen

wenn simatic manager

dann solltest du die hardware config kennen da gehst du rein

legst dir deine cpu an die du haben willst
stellst deinen taktmerker ein wie oben beschreiben

und spielst das ganze in deinen simulator
nun solltest du denn taktmerker auf deinen mb zur verfügung haben

alternativ dazu

un t2
l s5t#1s
se t1
u t 1
l s5t#1s
se t2
u t1
= m10.0 // jetzt hast du auf deinen m ein 1s blinklicht
 
so, nun hab ich nen anschiss aber wegbekommen, das ist die ideallösung, nicht so ne schlampige, wie ich die abgeliefert hab.
:confused:

//
UN T 2 //UND NICHT der Timer 2
L S5T#500MS //Lade die Zeit von 100 Millisekunden
SE T 1 //Starte als Einschaltverzögerung Timer 1
U T 1 //UND Timer 1
L S5T#500MS //Lade die Zeit von 100 Millisekunden
SE T 2
L 0
//Lade 0
L MB 0 //Lade MerkerByte 0
==I //Vergleich auf gleich (Integer) 0
U E 0.0 //Start Taster 1
SPBN n001 //Springe bedingt NICHT auf N001
L 1 //Lade 1
T MB 0 //Transferiere MerkerByte 0
n001 :NOP 0 //Nulloperation
U E 0.0 //UND Eingang 0.0
U T 1 //UNDTimer 1
FP M 10.0 //Flanke Positiv Merker 10.0

SPBN n002
//Springe Bedingt NICHT auf n002
L MB 0 //Lade MerkerByte 0
SLW 1 //Schiebe Links Wort
T MB 0 //Timer MerkerByte 0
n002 :NOP 0 //Nulloperation
L MB 0 //Lade MerkerByte 0
L 31 //Lade die Binärzahl 31 (damit das Licht nicht weiterrennt)
>I //INT Vergleich auf größer (-->auf die 31 bezogen)
SPBN n003 //Springe Bedingt NICHT auf n003
L 0 //Lade 0
T MB 0 //Transferiere MerkerByte 0
n003 :NOP 0 // Nulloperation
L MB 0 //Lade MerkerByte 0
UN E 0.0
U T 1
SPBN n004
//Sprund bei VKE="1" auf n004
L 0
n004 :NOP 0
T AB 0
//Transferiere Ausgangsbyte 0
 
Ich finde Die Lösung zwar nicht schön aber vom Ansatz her könnte man wenn der Taster nicht betätigt ist mit einem Taktmeker abwechselnd NULL auf Aufsausgangsbyte transferieren und im anderen Zyklus des Taktes eben das Merkerbyte.

Dem ist nichts hinzuzufügen.

Ausser das es keine Ideallösungen gibt.
 
mal eine vielleicht einfachere lösung

BEGIN
NETWORK
TITLE =

U M 1.5;
U E 0.1;
ZV Z 1;
BLD 101;
NOP 0;
NOP 0;
U( ;
L MW 100;
L 5;
==I ;
) ;
R Z 1;
L Z 1;
T MW 100;
NOP 0;
NOP 0;
NETWORK
TITLE =

U( ;
L MW 100;
L 0;
==I ;
) ;
U E 0.1;
= A 0.0;
NETWORK
TITLE =

U( ;
L MW 100;
L 1;
==I ;
) ;
U E 0.1;
= A 0.1;
NETWORK
TITLE =

U( ;
L MW 100;
L 2;
==I ;
) ;
U E 0.1;
= A 0.2;
NETWORK
TITLE =

U( ;
L MW 100;
L 3;
==I ;
) ;
U E 0.1;
= A 0.3;
NETWORK
TITLE =

U( ;
L MW 100;
L 4;
==I ;
) ;
U E 0.1;
= A 0.4;
NETWORK
TITLE =

UN E 0.1;
L MW 100;
L 0;
==I ;
U M 1.5;
= A 0.0;

NETWORK
TITLE =

UN E 0.1;
L MW 100;
L 1;
==I ;
U M 1.5;
= A 0.1;

NETWORK
TITLE =

UN E 0.1;
L MW 100;
L 2;
==I ;
U M 1.5;
= A 0.2;

NETWORK
TITLE =

UN E 0.1;
L MW 100;
L 3;
==I ;
U M 1.5;
= A 0.3;

NETWORK
TITLE =

UN E 0.1;
L MW 100;
L 4;
==I ;
U M 1.5;
= A 0.4;

Bin über jedes Feedback dankbar. Lobo.
 
mensch lobo(das is doch n ungarischer wolf oder?),
keine ahnung, was du da hingeschrieben hast, aber ich hab jetzt mal dein geschriebenes bei mir rein gebastelt. nur mein WinSPS-S7V3.45 mag es nicht. tjoa, vielleicht einer der werten herren, die mir morgends geholfen ham. mfg, bernd
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK OK. Das war ein wenig "dahinge..." ich habe mal Kommentare dahinter geschrieben, ganz wichtig ist vielleicht das der M1.5 mein Taktsignal ist.
Für M1.5 musst du dein Taktsignal einfügen.


U M 1.5; //das ist das das Taktsignal (M1.5=taktsignal)
U E 0.1; //der Taster
ZV Z 1; //wenn Takt und Taster = 1 wird vor gezählt
U( ;
L MW 100; //ist der Zähler bei 5 angekommen wird der Zähler zurück gesetzt
L 5; //
==I ; //
) ;
R Z 1; //
L Z 1;
T MW 100; //der zählerstand wird in MW100 gespeichert

U( ;
L MW 100; //ab hier folgen dann nur noch vergleiche, bei 0
L 0; //und Taster ein 1. Led
==I ;
) ;
U E 0.1;
= A 0.0;

U( ; //zweite Led
L MW 100;
L 1;
==I ;
) ;
U E 0.1;
= A 0.1;

U( ; //dritte Led
L MW 100;
L 2;
==I ;
) ;
U E 0.1;
= A 0.2;

U( ; //vierte Led
L MW 100;
L 3;
==I ;
) ;
U E 0.1;
= A 0.3;

U( ; //fünfte Led
L MW 100;
L 4;
==I ;
) ;
U E 0.1;
= A 0.4;

UN E 0.1; //ist der taster ausgeschaltet = 0 wird nicht mehr weitergezählt,
L MW 100; //und der letzte Zählerstand gespeichert
L 0; //hier würde die erste LED blinken
==I ;
U M 1.5;
= A 0.0;

UN E 0.1; //hier würde die zweite LED blinken
L MW 100;
L 1;
==I ;
U M 1.5;
= A 0.1;

UN E 0.1; //hier würde die dritte LED blinken
L MW 100;
L 2;
==I ;
U M 1.5;
= A 0.2;

UN E 0.1; //hier würde die vierte LED blinken
L MW 100;
L 3;
==I ;
U M 1.5;
= A 0.3;

UN E 0.1; //hier würde die fünfte LED blinken
L MW 100;
L 4;
==I ;
U M 1.5;
= A 0.4;

Danke für Feedback.
 
so, nun hab ich nen anschiss aber wegbekommen, das ist die ideallösung, nicht so ne schlampige, wie ich die abgeliefert hab.
:confused:

mal eine frage deine lösung hat funktioniert oder

und du hast einen anschiss bekommen

was ist denn das für einer

sag ihn mal einen schönen gruss für was er denn 2 timer benötigt wenn seine lösung schon so gut ist und nicht nur 1
 
Zurück
Oben