Anfahren einer Position

Alles zur Software WinSPS-S7 bzw. WinPLC7

Moderatoren: Matthias, Weiss_MHJ

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

mit Aufruf eines Bausteins meine ich z.B.
CALL FB10, DB10
und die Übergabe der Parameter.
Oder bei FCs
CALL FC21

Wenn man das Anfahren einer Position in einem Baustein schreibt, dann kann man bei späteren Änderungen des Programmteils für das Anfahren einer Position, einzig das Programm im Baustein ändern und muss nicht an verschiendenen Stellen im Programm Änderungen ausführen.

Bei der Pumpeninsel sollte man auch für eine Pumpe das Programm in einem FB schreiben und dann diesen je nach Anzahl der Pumpen entsprechend oft aufrufen (mit jeweils anderem Instanz-DB).

Gruss

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Anfahren einer Position

Beitrag von MAC »

Hallo,
bitte Sehen sie sich mal das Programm an, mit dem Aufruf der DB1 und 2 stimmt was nicht.
Oder ich habe schon im Programm einen Fehler.
Für ihre Hilfe wäre ich ihnen sehr Dankbar.

Gruß
mac

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Anfahren einer Position

Beitrag von MAC »

Hier das Programm...
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Anfahren einer Position

Beitrag von MAC »

Hallo Herr Weiß,
ich habe Probleme mit dem Aufruf der DBs, den DB1 rufe ich auf aber der DB2 ruft sich nach Ablauf von DB1 nicht auf.
Wie habe ich das zu Programmieren?


Gruß
mac

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

zunächst etwas grundsätzliches:
DBs werden nicht aufgerufen sondern entweder aufgeschlagen (über die Operation "AUF DB[X]" die auch Bestandteil der DB-Doppelbefehle ist) oder der DB wird als Instanz-DB beim Aufruf eines FB angegeben.

Nun zum Problem.
Sie haben die ganze Funktionalität in einem FB geschrieben. Dieser FB erledigt das Anfahren der Grundstellung und das Anfahren der neu eingestellten Position. Dies ist so in Ordnung, das Ganze funktioniert.
Der zweite Aufruf des FB mit den Instanz-DB2 ist unnötig, da der erste Aufruf ja alles erledigt. Den Aufruf können Sie entfernen.
Das Belegen des IN-Parameters "Start" ist etwas abenteuerlich. Dieser wird im Netzwerk 1 mit der Flankenerkennung überschrieben, somit hat der übergebene Aktualparameter keine Funktion.

Für die Zukunft:
Im Forum sollen Probleme in einer Weise erörtert werden, dass andere Forenmitglieder ebenfalls von der Problemlösung profitieren. Solche allgemeinen Fragen wie "schauen Sie sich mal bitte das Programm an ..." sind da wenig interessant. Sie sollten das Problem detaillierter schildern und den betroffenen Programmteil darstellen. Dies macht es auch denjenigen leichter, die Ihnen helfen möchten. Als gutes Beispiel sei das in diesem Thread gelöste Problem mit der Überschneidung der Merkerwörter genannt.

Gruss

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Anfahren einer Position

Beitrag von MAC »

Hallo,
OK, werde mich in Zukunft daran halten, und vielen Dank für die Antwort.


Gruß
mac

Antworten