Typische Fehler: Doppelzuweisungen

Tipps von Fortgeschrittene für Anfänger. Bezogen auf die STEP7-Sprache oder SPS Hardware.
Antworten
Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 286
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Typische Fehler: Doppelzuweisungen

Beitrag von Matthias »

Für SPS-Anfänger ist es natürlich sehr interessant zu lesen, welche typische Fehler man vermeiden sollte.

Anfangen möchte ich mit diesen typischen Fehlern:

1. Mehrfachzuweisungen von Operanden

Operanden (also Merker, Ausgänge) sollten möglichst an einer Stelle im SPS-Programm gesetzt bzw. zugewiesen werden.
Wenn man dies nicht macht, wird das Programm sehr unübersichtlich und vor allem sehr fehlerträchtig.

Wenn Sie z.B. einen Baustein beobachten und sehen, das der Ausgang über eine Zuweisung in Zeile xy auf '1' gesetzt wird und die entsprechende Ausgangs-LED trotzdem nicht auf '1' wechselt, kommt der eine oder andere ins Grübeln.

Die Ursache ist vermutlich, dass irgendwo an einer anderen Stelle der Ausgang nochmals beeinflusst wird.
Die Stelle bekommt man zwar über die Querverweis-Funktion heraus- besser wäre aber eine einmalige Zuweisung.

Besonders wenn nach einem Jahr eine Programmänderung gemacht werden muss, kann das schnell schief gehen.

Ein besonders merkwürdiges Verhalten tritt auf, wenn der gleiche Timer an mehreren Stellen gestartet wird.
Auch nicht zu empfehlen.


2. Doppelverwendung von Flankenmerker

Die Flankenbefehle FP und FN benötigen einen Flankenmerker, damit erkannt werden kann, ob eine Flanke (0->1 bzw. 1->0 Wechsel) stattfindet.
Das kann aber nur funktionieren, wenn bei jedem FP/FN ein anderer Flankenmerker benutzt wird.

------------------------------------------------------

Ich werde weitere Tipps in diesem Forum hier posten.
Ich lade auch andere Programmierer ein, an dieser Stelle Ihre persönlichen Tipps niederzuschreiben.
Für jeden Tipp sollte ein eigener Thread/Thema eröffnet werden.

Viele Grüße

Matthias

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 286
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Dieser Beitrag erfordert keine Antwort. Er kann aber ergänzt werden bzw. es können Fragen zu diesem Beitrag gestellt werden.

knutschkugel
SPSTreff-User
Beiträge: 1
Registriert: 05 Okt 2014, 11:26

Doppelte Zuweisungen

Beitrag von knutschkugel »

Also ich bin ja neu und wollte mal wissen wie sich das im Fall der VISU verhält. Ich habe mit "flexible 2008" und "WinCC Scada" gearbeitet. Dort konnte ich z.B dem Taster E0.0 einen Merker M0.0 zuweisen. Den hatte ich dann einfach mit in die Symboltabelle genommen und beim Programmieren "ver ODER t". (U E0.0; O M0.0) Also bei meinen ersten Schritten mit VISU ging das nicht wirklich. Version: SPS-VISU S5/S7 V4.941 (20€)
Wahrscheinlich habe ich mich bestimmt zu umständlich ausgedrückt. Es sei mir verziehen..

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

Beitrag von Weiss_MHJ »

Hallo,

wenn in SPS-VISU einem Taster ein Operand zugewiesen wurde (in Ihrem Beispiel der E0.0), dann kann kein weiterer Operand angegeben werden.
Wenn Sie einen zweiten Taster platzieren und diesen dann mit dem Operanden M0.0 verknüpfen, dann können Sie natürlich die beiden Operanden im SPS-Programm mit einer ODER-Operation verknüpfen und das Ergebnis auswerten.

Mit Doppelzuweisungen, also dem eigentlichen Grund des Threads, hat dies aber nichts zu tun.

Gruss

Antworten