S7 Startup Merker aus OB100 oder im OB 1?

Ist halt schon ein Unterschied, ob man nur die PLC oder z.B. 804D (NC mit PLC) einsetzt!

Bei der NC Variante, benötigt man halt den OB100 ...
Obwohl, man könnte bestimmt dies auch im OB1 bestimmt machen und das eine Netzwerk für die Initialisierung nur bearbeitet wenn OB1Scan 1 ist ...

Könnte man mal versuchen :)

Also das mitohne OB100 das ist ein Tipp der einen gewissen Charm hat.
Wobei ich das als nicht unbedingt sinnvoll und erfolgsversprechend ansehe.

Es ist schon toll, dass es bei Programmieren den Eindruck gibt, dass man ohne OB100 auskommt.
Ich setze z.B. auch die Taktflanken beim Hochlauf im OB100 zurück, damit nicht aus irgend einem Grund eine ungemütliche Situation entstehen kann.
Wie machen die Kollegen das mit Initialisieren bei Kommunikation, Reglern oder so.

Also machen wir es mit dem Setzen im OB 100, denn so ein OB100 belastet die Zykluszeit nicht und beeinträchtigt die Funktion der PLC nicht.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... denn so ein OB100 belastet die Zykluszeit nicht und beeinträchtigt die Funktion der PLC nicht.
aber macht meinem Geschmack nach das Programm unübersichtlicher. Aber das ist so in meinen Augen...

ein "if OB1scan=1 do ..." find ich aber nun nicht wirklich zyklusbelastend.

...aber ein Streit um solche Nebensächlichkeiten kann leicht zum Selbstzweck entarten ;)
 
aber macht meinem Geschmack nach das Programm unübersichtlicher. Aber das ist so in meinen Augen...

ein "if OB1scan=1 do ..." find ich aber nun nicht wirklich zyklusbelastend.

...aber ein Streit um solche Nebensächlichkeiten kann leicht zum Selbstzweck entarten ;)



Beim jedem Debug Aufruf sehe ich am Anfang einen Vergleich, der mich überhaupt nicht interessiert.
Auch wenn die Bedingung false ist, dann ist es eben bei jedem Durchlauf da.
Dadurch wird das Programm nicht schneller.

Und es ging nicht um Streit sondern darum, wie es andere machen.
Wer nur von kurz bis nah seine Programmierarbeit sieht, macht etwas falsch.


bike
 
Beim jedem Debug Aufruf sehe ich am Anfang einen Vergleich, der mich überhaupt nicht interessiert.
...
Wer nur von kurz bis nah seine Programmierarbeit sieht, macht etwas falsch.
na, Du kannst Dich ja richtig über Kleinigkeiten aufregen? weil im OB1 etwas steht, das nur ein einziges Mal beim Anlauf der Steuerung ausgeführt wird?

wg. kurz und nah: Was machen in Deinen Augen denn die Kollegen kurz, nah, falsch?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
na, Du kannst Dich ja richtig über Kleinigkeiten aufregen? weil im OB1 etwas steht, das nur ein einziges Mal beim Anlauf der Steuerung ausgeführt wird?

wg. kurz und nah: Was machen in Deinen Augen denn die Kollegen kurz, nah, falsch?

Du solltest dir einmal Gedanken machen wie ein Programm funktioniert.
Unabhängig ob ein Vergleich true oder false ist, der Vergleich wird ausgeführt und kostet Rechenzeit.

und ich habe vergessen zu schreiben, dass ich Programmierer gefragt habe und keine TIA abhängige Gläubige.

Sei sehr vorsichtig, dass du nicht einmal eine richtige Maschine programmieren musst.

Danke fürs Gespräch, aber du verstehst nach dem was du schreibst zu wenig vom Prgrammieren.


bike
 
Du solltest dir einmal Gedanken machen wie ein Programm funktioniert.
Unabhängig ob ein Vergleich true oder false ist, der Vergleich wird ausgeführt und kostet Rechenzeit.

Leider habe ich die Angewohnheit alles erst komplett zu lesen und danach zu urteilen. aber das kostet leider LEBENSZEIT.

Daher wäre es gut wenn du einiges was du hier schreibst in deinem privaten OB100 hineinschreiben würdest.

Schreibe einfach deine ganze Prosa an dich selbst als PN, dann hast du es dir von der Seele geschrieben und du kannst ruhig schlafen.

Vorteil einer selbstandressierten PN, niemand gibt dir Wiederworte ...



und ich habe vergessen zu schreiben, dass ich Programmierer gefragt habe und keine TIA abhängige Gläubige.

Sei sehr vorsichtig, dass du nicht einmal eine richtige Maschine programmieren musst.

Danke fürs Gespräch, aber du verstehst nach dem was du schreibst zu wenig vom Prgrammieren.

bike


Der Perfekte schreibt manchmal auch ganz schönen Unsinn, aber dieser anmaßende arrogante Müll dieser drei Zeilen
würden für dich in anderen mir bekannten Foren mindestens 4 Wochen Auszeit bedeuten.

Vor Programmieren erwarte ich ein Mindestmaß an Niveau. Leider muss ich da in letzter Zeit ganz schön Abstriche machen.

Frank
 
Zuletzt bearbeitet:
... der Vergleich wird ausgeführt und kostet Rechenzeit.
entschuldigung, ich hatte mich unpräzise ausgedrückt. ich meinte natürlich: ...etwas steht, das jedes Mal im Zyklus ausgeführt wird, aber nur ein einzig erstes Mal benötigt wird.

Ob man den Merker "erster_Zyklus" nun im OB1 oder OB100 bildet, macht in meinen Augen den Unterschied, dass er an zwei verschiedenen Orten gebildet werden muss, wenn er im OB100 gesetzt und im OB1 zurückgesetzt wird.

Wird am Ende des OB1 ein Merker "nicht_erster_Zyklus" gebildet, so hat das den Makel, dass man sich über das Remanenzverhalten dieses Merkers Sorgen machen muss.

Für die Auswertung der Startinformation des OB1 spricht, dass es verschiedene Anlaufereignisse gibt. Ich habe zwar noch nie die Unterscheidung benötigt, aber vielleicht hat sich ja jemand was sinnvolles dabei gedacht, als er die verschiedenen Anlaufereignisse kreiert hat.

Und was ich tötlich hasse, ist, wenn im OB100 irgendwelche Initialisierungsroutinen stehen. Das geht absolut gegen meinen Drang, zu kapseln. Aber bevor Du mich wieder bezichtigst, keine Ahnung vom Programmieren zu haben, akzeptiere ich da Deinen für mich voraussehbaren Standpunkt.
 
In PCS7 werden die Bausteine automatisch mit im OB100 eingebaut (falls bnötigt).
Sieht man auch wenn man die Eigenschaften eines Bausteins im CFC-Editor aufmacht.
 
In PCS7 werden die Bausteine automatisch mit im OB100 eingebaut (falls bnötigt).
Sieht man auch wenn man die Eigenschaften eines Bausteins im CFC-Editor aufmacht.
Najo, zB möchte ich alle FlipFlops (edit: oder OP_D, OP_D3) reseten, dazu das Neustartbit.
Oder Kunde will Alarm haben bei CPU Neustart, auch hier braucht man das Neustartbit.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Rein informativ: hat wer für PCS7 auch eine "korrekte" Lösung, die besser als meine Bastellösungen sind?

http://support.automation.siemens.com/WW/view/de/24449702

ab Seite 189

da ist beschrieben, wie die PCS7-Bausteine Ihre Anlauferkennung machen.

Code:
ERR := RD_SINFO (TOP_SI := TOP_SI, START_UP_SI := START_UP_SI);
// Read out start info
IF TOP_SI.NUM = 100 THEN // When startup
Du könntest also einen Baustein schreiben, welcher die Anlauferkennung so macht und an nem Ausgang zur Verfügung stellt. Damit dann Deine gewünschten Aktionen im CFC realisieren.
Im Moment fällt mir auch kein Baustein aus der PCS7 Bibliothek ein, welcher ne Anlauferkennung liefert, also selberschreiben.


Gruß.
 
Zuletzt bearbeitet:
Nein, man stellt in den FB-Eigenschaften eine sogenannte TaskList ein.
Dort steht drinnen in welchen OB's der Baustein automatisch miteingebaut wird.
Heisst ein Baustein wird möglicherweise mehrmals im Programm aufgerufen.
Mag jetzt für einen S7-Programmierer verwirrend erscheinen, stellt im praktischen Leben aber kein Problem dar.
Der PCS7 Programmierer braucht da eigentlich an nichts denken. Passiert alles von alleine.
Du musst Dir vorstellen, dass zB sämtliche Systemmeldungen automatisch generiert werden, dazu werden verschiedene Bausteine für Baugruppenfehler automatisch in die passenden FehlerOB's reingeschoben.
Der Systembaustein PS (für Stromversorgung) wird ohne Dein zutun im OB1, OB100, OB81, OB83 eingebaut.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die grundlegende Funktion eines OB in einer PLC ist immer gleich.
Es ist völlig unerheblich, ob die Aufrufe manuell oder von der Prgrmierumgebung erstellt werden.
Es ist aber so, dass es die Funktion eines OB 100 benötigt wird.
Das ist auch so bei CNC
Ohne Ob100 und Fb1 wird keine einzige 8XX funktionieren.

Daher wird es Zeit andere Dinge zu akzeptieren oder sich das Wissen an zueignen oder einfach ruhig zu sein.



bike
 
Zurück
Oben