Nimm nur dann einen FB, wenn du wirklich soviele (remanente) Daten brauchst.Grüße dich,
SPS: 315-2DP
Software: Step 7
Aufgabe: ich möchte einen Baustein erstellen, der eine Funktion ausführt, die ich mehrmals im Programm aufrufen kann.
Frage: Welcher Lösungsweg ist der Vorteilhafte?
1) FB1 -> für Baustein mit der Funktion,
FB2, DB12 -> mit: call FB1, DB1
FB3, DB13 -> mit: call FB1, DB2
FB4, DB14 -> mit: call FB1, DB3 usw.
Oder anders?
Danke für deine Erklärung..
Ich sehe das so:
Aufgabe: ich möchte einen Baustein erstellen, der eine Funktion ausführt, die ich mehrmals im Programm aufrufen kann.
Frage: Welcher Lösungsweg ist der Vorteilhafte?
1) FB1 -> für Baustein mit der Funktion,
FB2, DB12 -> mit: call FB1, DB1
FB3, DB13 -> mit: call FB1, DB2
FB4, DB14 -> mit: call FB1, DB3 usw.
Multiinstanzen
Die mögen toll für den Programmierer sein, der das Programm schreibt und der den Anwedungsfall kennt. Sie sind allerdings für einen Laien oder Servicetechniker eine Katastrophe.
Bei heutigen S7-CPUs mit 2047 DBs sollten Multiinstanzen (ausgenommen bei SFBs) kein Thema mehr sein! Bei uns ist erst 1 mal ein Multiinstanz-System zum Einsatz gekommen, welches in unregelmäßigen Abständen unerklärliche Phänomene gezeigt hat. Es ist mittlerweile durch FB mit Instanz-DBs ersetzt worden - Multiinstanzen sind bei uns nun verboten!
mfg
Maxl
Es gibt viele Gründe MI zu nehmen, oder auch nicht. Ich habe oft mehrere gleiche Maschinenfunktionen in einer SPS => FB. In diesem FB rufe ich viele andere Standard-FB´s auf, als Multiinst. Nun sind 10 FB im FB und ich habe 10 mal die gleiche Maschine, da sind die Fehler beim FB,DB-Aufruf schon vorprogrammiert, deshalb Multi. Das die Inst damit nicht klar kommt, oder wehr auch immer, ich kenne diese Aussagen, juckt mich nicht. Bei den Preiskämpfen am Markt kürze ich auch ab, genauso setzte ich ja Zeiger ein und AWL, ebenfalls zum grauen der meisten Nichttäglichprogrammierer. Wenn ich an einem Audi mit 2,5L TDI Motor den Zahnriemen wechseln möchte, verliefe ich auch, an meinem Audi 80 Bj. 78 konnte ich locker 10 Stück am Tag wechseln und dabei auch noch 20 Umpen nebenbei mitwechseln.
Probleme hatte ich auch schon mal mit den MI´s. Irgendetwas verbiegt sich bei den Bausteinen, wenn sie größer werden, mit FB, DB Aufruf ging es dann. Ist aber schon länger her, das es so war.
Gruß, pt
Vielleicht liegt's an der Hantierung mit Adressregistern? Sind die Dinger in awl geschrieben?
Hab bisher selten MI's eingesetzt, und wenn, dann den Baustein richtig zu gemacht um Fehler beim Akutalisieren der Instanz-DB's zu vermeiden.
( Dies bekommen andere PLC-hersteller auch einfacher hin, als Siemens, der Anwender sollte sich normalerweise gar nicht um die Instanzen DBs kümmern müssen)
Ok, dafür sind MI ja gedacht. Wie Siemens das MI-Prinzip umgesetzt hat, ist jedoch besch...en. Systeme wie CoDeSys oder B&R sind hier sicher weit voraus.Es gibt viele Gründe MI zu nehmen, oder auch nicht. Ich habe oft mehrere gleiche Maschinenfunktionen in einer SPS => FB. In diesem FB rufe ich viele andere Standard-FB´s auf, als Multiinst. Nun sind 10 FB im FB und ich habe 10 mal die gleiche Maschine, da sind die Fehler beim FB,DB-Aufruf schon vorprogrammiert, deshalb Multi.
Diese Einstellung kann ich mir nicht leisten. Ich bin verantwortlich für die Normierung in einer Softwareabteilung mit mittlerweile 26 Programmierern, welche mit den verschiedensten Systemen und Techniken arbeiten. Hier ist es leider manchmal notwendig, dass jemand, der ein halbes Jahr nur ABB-Roboter programmiert hat, auch mal wieder Änderungen in einer S7 vornimmt. So Themen wie MI sind dann natürlich problematisch.Das die Inst damit nicht klar kommt, oder wehr auch immer, ich kenne diese Aussagen, juckt mich nicht. Bei den Preiskämpfen am Markt kürze ich auch ab, genauso setzte ich ja Zeiger ein und AWL, ebenfalls zum grauen der meisten Nichttäglichprogrammierer.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?