eigen Bausteine Zusammenbauen in Step7

olitheis

Level-1
Beiträge
488
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
es gibt bei verschiedenen anderen SPS-Softwares die Möglichkeit, eigene Bausteine zu schreiben. Das ist sehr hilfreich bei verschiedenen Funktionen wie z.B. Ventilansteuerungen, die immer wiederkehren. Ich würde mir dafür einen Baustein zusammenstellen, auf die ich dann einfach nur noch die Taster für Handbetrieb, den Merker für Autobetrieb und die Endschalter und Ausgänge programmiere. Alle Verriegelungen usw. wären dann schon intern verschaltet. Praktisch wäre das auch für Alarme. Gibt es diese Möglichkeit in Step7 auch?
Vielen Dank
Oli
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke für die schnelle Antwort,
wie muss ich denn vorgehen, wenn ich einen FC erstellen möchte mit späterer Ansicht in FUP, also als Block mit IN's und OUT's?
Danke
Oli
 
Zuletzt bearbeitet:
Im Simaticmanager unter Lasche Bausteine neues Objekt einfügen-> Funktion.
Danach die IN's, OUT's und INOUT's (ferner TEMP) definieren (beim FB gibt es STAT auch, das sind statische Variablen mit Gedächtnis die beim FB- Aufruf nicht sichtbare Anschlüsse sind, zB für einen Flankenmerker oder dergleichen).
Dann programmiert man die Logik im FC/FB mittels der definierten Variablen der IN, OUT, etc.

speichern.

Danach in zB einem OB1 aufrufen (FC müssen alle Abschlüsse verschalten haben, FB müssen nicht verschalten sein).

Fertig
 
prima, danke.
Nur noch eine Frage:
Besteht die Möglichkeit, diesen FC als Box mit Anschlüssen darzustellen?
Das ist für mich irgendwie übersichtlicher, auch beim Beobachten.
 
danke kai,
hat prima funktioniert!
Muß ich die Funktion grundsätzlich immer im OB1 aufrufen, oder halt nur dort, wo ich sie benötige?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst FCs oder FBs dort aufrufen, wo Du sie benötigst. Du kannst also einen FC oder FB auch in einem anderen FC oder FB aufrufen. Du bist mit dem Aufruf nicht auf OBs beschränkt.

Gruß Kai
 
Vorsicht bei FC

Du kannst jedoch einen FC, sobald du in mehrmals aufrufst nicht mehr richtig beobachten. Daher beim Testen, bzw. entwickeln des Bausteins den FC nur einmal aufrufen, bis er vollständig funktioniert. Danach nicht mehr ändern und am besten die Versionierung verwenden. Keine globalen Merker darin verwenden.
Den FB kannst du im "Angegebenen Pfad" aufrufen, also mit Instanz-DB.
Wenn du mehrere Bausteine sammeln willst, kannst du auch eine eigene Bibliothek anlegen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
also Du meist, dass ich den FC erstellen sollte, mir aber dann sicher sein muss, dass er wirklich funktioniert, und dann keine Änderungen mehr in ihm vornehmen. Aber dann funktioniert das beobachten doch überall dort, wo ich ihn verwenden möchte, oder? (aber immer nur einen, richtig?).
Und wie meinst Du das mit der Versionierung und den globalen Merkern? Wäre nett, wenn Du mir das mit dem "Angegebenen Pfad" und der eigenen Bibliothek auch noch etwas näher erklären könntest :rolleyes: .#
Sorry, wegen der Viel fragen...

Vielen Dank
Oli
 
also Du meinst, dass ich den FC erstellen sollte, mir aber dann sicher sein muss, dass er wirklich funktioniert, und dann keine Änderungen mehr in ihm vornehmen. Aber dann funktioniert das beobachten doch überall dort, wo ich ihn verwenden möchte, oder? (aber immer nur einen, richtig?).

Du kannst einen FC nicht richtig beobachten, wenn er im aufrufenden FC mehrmals benutzt wird. Step 7 kann dann nicht entscheiden, welcher FC-Aufruf gemeint ist.
Bsp: FC200 wird 6 Mal in FC5 aufgerufen. Wenn du FC200 beobachten willst kannst du als Aufrufpfad den FC5 angeben, mehr nicht und dann weiß Step7 ja nicht, welchen der 6 FC200 du beobachten willst.

2 Möglichkeiten:
1. den FC 200 nur einmal im FC 5 aufrufen, für die anderen Aufrufe einen eigenen Aufrufbaustein (Mist, oder?)
2. wenn du wirklich später nochmal im FC200 beobachten willst, den FC200 in FC201 kopieren, diesen in die SPS, dann den gewünschten Aufruf im FC5 von FC200, auf FC201 ändern, in die SPS übertragen und dann den FC201 beobachten. (umständlich, geht aber; So mach ich das, wenn ich wirklich nochmal in einem meiner Standardbausteine was suche l)

Und wie meinst Du das mit der Versionierung und den globalen Merkern?

Versionierung:
Mann kann jedem Baustein eine Versionsnummer mitgeben. Ändert man am Baustein, erhöht man die Nummer (muß man selbst machen!), mehr geht in Step7 leider nicht :???: !

Globale Merker:
Globale Merker, z.Bsp. Hand/Automatik etc. sollte man nicht in allgemeingültige Bausteine hineinschreiben, die Merkernummer könnte bei einem anderen Projekt ja anders sein, dann muß man im Baustein ändern. Besser man gibt diese Daten als IN- und OUTPUT-Parameter mit.

Wäre nett, wenn Du mir das mit dem "Angegebenen Pfad" und der eigenen Bibliothek auch noch etwas näher erklären könntest

Beim Beobachten kann man einen Aufrufpfad definieren.
2 Möglichkeiten:
1. über den aufrufenden FC
2. über den offenen Datenbaustein

Wenn man also im Progamm 4 Mal den FC 200 verwendet hat und das je einmal im FC5,6,7,8, dann kann man im Aufrufpfad angeben, daß man den FC200 über den Aufruf im FC6 beobachten will.

Bei einem FB kann man das über den Instanz-DB machen, daher kann der auch mehrmals in einem FC aufgerufen werden, er hat ja jedesmal einen anderen Instanz-DB.

Wie das allerdings bei den Aufrufen in Multiinstanz-FB aussieht, kann ich nicht genau sagen, ich verwende solche Teile eher selten.
 
Zuletzt bearbeitet:
Zurück
Oben