Noch eine Frage zu SFC1

mega_ohm

Level-2
Beiträge
676
Reaktionspunkte
47
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mir viele Bemerkungen zu diesem Thema durchgelesen, bin überhaupt erst durch verschiedene Tipps auf den Trichter gekommen, daß Folgendes funktionieren KÖNNTE ! :
Code:
[SIZE=1][SIZE=2]U "AutoRun" // Automatik- Betrieb[/SIZE]
[SIZE=2]UN DB 1.Pump_Run // M Pumpe einschalten [/SIZE]
[SIZE=2]U DB 1.FM_Pumpe // FM  Pumpe läuft; neg. Flanke[/SIZE]
[SIZE=2]U DB 1.Ini_1_OK // Merker "Ini 1= Schmierzykl. erfolgreich"[/SIZE]
[SIZE=2]U DB 1.Ini_2_OK // Merker "Ini 2= Schmierzykl. erfolgreich"[/SIZE]
[SIZE=2]SPBN M001[/SIZE]
[SIZE=2]CALL SFC1 [/SIZE]
[SIZE=2]RET_VAL := #Err // Variable für Fehler bei der Ausführung [/SIZE]
[SIZE=2]CDT := DB 1.L_Schmier// CPU-Zeit auf DB[/SIZE]
[/SIZE]
Symbolerklärung:
M = Merker (auch wenn's in eine DB geschrieben wird, ich habe einfach keinen Bock, mir freie Merker zu suchen )
FM = Flankenmerker

Mittels TRYSIM funktioniert das.

DB 1.L_Schmier (DB1.DBD 28, deklariert als "Date_and_Time") zerstückle ich dann in TrySim in DBB_Jahr, DBB_Monat, DBB_Tag, DBB_Stunde und DBB_Minute.

Auf einem OP17 möchte ich den letzten erfolgreichen Schmierzyklus mit Datum und Uhrzeit anzeigen.
Eine "Date_and_Time" Variable gibt es auf dem OP nicht, also muß man "rumbasteln".

Wird meine Idee so funktionieren wie ich es bei mir zu Hause mit TrySim sehe (da ist es perfekt !!!) oder muß ich in s7 irgendwas beachten ?

Da es eine Anlage ist, die im 4- Schicht- Arbeitsrhythmus läuft, habe ich keine Möglichkeit, zu "experimentieren".
In der Werkstatt habe ich auch keine Simulations- oder Testmöglichkeiten, wenn ich diese Erweiterung "aufspiele". Bisher läuft die Schmiersteuerung, bei weitem nicht so komfortabel, wie ich es mir vorstelle, provisorisch über eine KM-easy.
Die Schmierung muß also auf Anhieb funktionieren, oder es muß... bis zur nächsten Lösungs- Idee weiterhin über die notdürftige KM-easy- Steuerung laufen.

 
-

Hi,
spricht nichts dagegen..sobald du die entspr. DBs
nicht vergessen hast zu laden..und die Sprungmarke M001 auch irgendwo weiter unten existiert.

V.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
spricht nichts dagegen..sobald du die entspr. DBs
nicht vergessen hast zu laden...
Wie meinst Du das mit den "DBs" laden ?
Den DB 1.L_Schmier ( db1.dbd28 ) schreibe ich so, wie er aus dem SFC1 zurück-'geliefert' wird.
Mit T oder L geht da ja eben nix.
... und die Sprungmarke M001 auch irgendwo weiter unten existiert.
V.
Die Sprungmarke existiert weiter unten...
Code:
[SIZE=1]// Auswertung der Dat_and_Time- Variable, gespeichert in einem DBD [/SIZE]
[SIZE=1]M001: L DB 1.DBB 28 // Jahr laden[/SIZE]
[SIZE=1]     BTI [/SIZE]
[SIZE=1]     T "L_year" // auf MW203 schreiben[/SIZE]
[SIZE=1]// ....[/SIZE]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
er meint du sollst den DB1 nicht vergessen in die CPU zu laden.denke ich mal.
Jetzt wollt ihr mich aber verwirren ???? :confused:
Ich habe einen DB1, den ich natürlich auch auf die CPU laden werde,
wenn ich sicher bin, daß mein SFC1 - Handling so funktioniert.

Aber Dankeschön für die Erinnerung. :)

Da ich den DB (db1) ja direkt (vollqualifiziert) benenne und danach erst die Adresse ( dbd28 ), kann ich nicht glauben, daß Du dieses Späßken mit
Code:
Auf DB1
meinst.
Es wäre allerdings in diesem Fall, da ich mir ja für diesen Programmteil einen seperaten DB gebastelt habe, von der Schreibweise her eventl. effizienter, den DB nur einmal zu öffnen und danach nur noch die Adressen tippseln zu müssen.
- Aber: Wer schreibt, der bleibt. :)
Ich tippe lieber einmal etwas mehr und sehe viel Monate / Jahre später auch noch durch.

____________________________________________________________

Ich bin mir aus folgendem Grund nicht so ganz sicher, daß meine Idee so paßt:
In TrySim funktioniert zwar alles so, wie ich es mir gedacht habe, aber dieser DB1.DBD28 (als DATE_AND_TIME deklariert ) wird mir zwar symbolisch dargestellt, in der Taskleiste erscheint aber eben kein Bezug.
Sonst wird jedes Symbol in der Taskleiste als E ?.?, A ?.?, M ?.?, DB etc. direkt als Adresse angezeigt.
Nur eben bei dieser einen DB- Adresse wird gar nix angezeigt.
Das ist ungewöhnlich.
 
Ich werde den Programmteil morgen abend mal mit deaktivierten Abschaltbedingungen auf das AG 'spielen'.
Dann blinkt oder leuchtet eben eine Meldeleuchte.... nunja, irgendwas ist ja immer.

Ich werde sehen, wie das Ganze funktioniert... wenn alles schief geht, klemme ich die Pumpe eben wieder auf meine KM-easy- Steuerung und denke erneut über das Problem nach.
 
Ich bin mir aus folgendem Grund nicht so ganz sicher, daß meine Idee so paßt:
In TrySim funktioniert zwar alles so, wie ich es mir gedacht habe, aber dieser DB1.DBD28 (als DATE_AND_TIME deklariert ) wird mir zwar symbolisch dargestellt, in der Taskleiste erscheint aber eben kein Bezug.
Sonst wird jedes Symbol in der Taskleiste als E ?.?, A ?.?, M ?.?, DB etc. direkt als Adresse angezeigt.
Nur eben bei dieser einen DB- Adresse wird gar nix angezeigt.
Das ist ungewöhnlich.


Hallo mega_ohm,

in der Taskleiste wird angezeigt was auch online darstellbar ist (also max. 4 Byte). Der Datentyp Date_AND_TIME hat ja bekanntlich 8 Byte und taucht deswegen dort nicht auf.

MfG
FrankW
 
Zurück
Oben