# Allgemeine Frage - Ausgänge ansteuern!



## Ricko (6 November 2009)

Hallo SPS'ler

die Ausgänge im Programm sollen nur einmal angesteuert/zugewiesen werden!
aber..

in meinem Programm habe ich die Handebene (nur zum Testen bzw. Inbetriebnahme, es gelten fast keine Verriegelungen) und eine Automatikebene (Schrittkette).
In jeder Ebene steuere ich die gleiche Ausgänge. Je nach der Position des Schlüsselschalters wähle ich eine andere Betriebsart

U "Hand/Auto"
SPBN _001
Call "Handmodus"
_001: NOP 0

UN "Hand/Auto"
SPBN _002
Call "Automodus"
_002: NOP 0

Frage : ist das OK?

Außerdem im WinCC Flexible2008 (MP377) benutze ich nur Merker/Eingänge/Ausgänge als Variablen für die Visualisation (ca.100 Variablen) statt DB's. 

Frage: Ist das OK?



Fragende Grüße

Ricko


----------



## Paule (6 November 2009)

Hallo Ricko,

wenn sichergestellt ist das beim Umschalten in die andere Betriebsart jeder Ausgang sofort neu zugewiesen wird, also dementsprechend mit == True oder == False beschrieben wird, ist das ok.

Du darfst halt keinen Ausgang setzen oder über ihn drüber springen.
Sonst könnte passieren dass in der Betriebsart Hand ein Ausgang gesetzt wird und in der Betriebsart Automatik das Rücksetzen nicht erfüllt ist, das geht nicht gut aus.


----------



## Blockmove (6 November 2009)

Ausgänge:
Man kann es so machen, aber wie gesagt:
Das Umschalten ist der kritische Moment.
Von daher musst du jeden Ausgang genau betrachten, was beim Wechsel passieren muss. Je nach Anlage kann es besser sein die Ausgangsebene in einen eigenen Baustein zu verlagern. Dieser wird immer bearbeitet und enthält die Ansteuerung der Ausgänge und die notwendigen Verriegelungen.

WinCC-Flex:
Solange du nicht auf E/A/M mit SCHREIBEND mit deinem MP377 zugreifst, kann man das gelten lassen. Ein extra DB für die Visualisierung ist natürlich schöner und meist auch flexibler.


Gruß
  Dieter


----------



## argv_user (6 November 2009)

Blockmove schrieb:


> ... Ein extra DB für die Visualisierung ist natürlich schöner und meist auch flexibler.



Eventuell steigert er auch noch die Geschwindigkeit der Visu...


----------



## netmaster (6 November 2009)

Ich finde die Version einen Ausgang nur einmal im ganzen Programm mit = zuzuweisen am übersichtlichsten.

Ausgänge zu überspringen halte ich selten für sinnvoll.


----------



## bike (6 November 2009)

Ein Ausgang sollte immer nur einmal zugewiesen werden.
Was natürlich ggF ganz fatal enden kann ist, wenn ein Ausgang 1 in Hand zugewiesen wird und die AUtomatik nix davon weis, dann kann es klappern.

So etwas mache ich nur, wenn ich nach dem Umschalten von Hand nach Automatik zuerst eine Initialisierungsroutine laufen lasse, die alle Grundstellung erfasst und wenn notwendig diese anfährt oder mit Meldung wartet, was der Bediener will.

bike


----------



## Ricko (9 November 2009)

@ Danke für die Antworten!

da die Handebene nur zum Testen ist, werden die Ausgänge die angesteuert sind, beim Umschalten auf AUTO ausgeschaltet. AUTO läuft nur dann wenn die Anlage im Grundzustand ist (alles "0").
Läuft aber die S.Kette im AUTO, kann ich auf HAND Schalten (Antriebe testen, S.Kette stoppt) und dann wieder auf AUTO (Ansteuerung bleibt erhalten) - Sind die Weiterschaltbedingungen erfüllt wird der nächste Schritte gesetzt!

@BLOCKMOVE - was meinst Du "Schreiben" ?
Die Tasten z.B. "AUF/ZU" sind Merker die am Multipanel S/R werden und in der Steuerung ausgewertet werden. Es funktioniert! Ich verwende noch eine zusatz Taste "AUSFÜHREN" sog.Zweitastenbediennung!

Grüße
Ricko


----------



## Rudi (9 November 2009)

Ricko schrieb:


> @ Danke für die Antworten!
> 
> da die Handebene nur zum Testen ist, werden die Ausgänge die angesteuert sind, beim Umschalten auf AUTO ausgeschaltet. AUTO läuft nur dann wenn die Anlage im Grundzustand ist (alles "0").
> Läuft aber die S.Kette im AUTO, kann ich auf HAND Schalten (Antriebe testen, S.Kette stoppt) und dann wieder auf AUTO (Ansteuerung bleibt erhalten) - Sind die Weiterschaltbedingungen erfüllt wird der nächste Schritte gesetzt!
> ...


Im Prinzip geht das natürlich. Mir persönlich gefällt das bedingte Aufrufen der Hand und Automatikbausteine nicht. Setzt Du alle Ausgänge beim Verlassen des Handbaustein zurück ?
Mir persönlich wäre das zu unübersichtlich.


----------



## Blockmove (9 November 2009)

Ricko schrieb:


> @BLOCKMOVE - was meinst Du "Schreiben" ?
> Die Tasten z.B. "AUF/ZU" sind Merker die am Multipanel S/R werden und in der Steuerung ausgewertet werden. Es funktioniert! Ich verwende noch eine zusatz Taste "AUSFÜHREN" sog.Zweitastenbediennung!



Mit Schreiben meinte ich genau das, was du machst 
Der Schreib-Zugriff auf den Merker taucht nirgendwo im Querverweis auf. Wenn irgendwann die Symbolik verschüttet geht, dann stehst du unter Umständen ganz schön doof da.
Von daher ist mir ein definierter Nahtstellen-DB SPS<->MP viel lieber.
Der Projektierungsaufwand ist genau der gleiche, aber es ist meiner Meinung nach um einiges übersichtlicher.

Gruß
  Dieter


----------



## Ricko (9 November 2009)

Hallo Dieter!

es werden nur die Tasten (AUF/ZU... HAND, AUTO..) am Panel geschaltet. 
Ich drücke AUF + AUSFÜHREN, Ventil wird geöffnet und die Taste AUF auf "0" geschaltet. Online kann ich sehen ob da "1" oder "0" vorliegt.

Grüße
Ricko


----------



## Blockmove (9 November 2009)

Ricko schrieb:


> es werden nur die Tasten (AUF/ZU... HAND, AUTO..) am Panel geschaltet.
> Ich drücke AUF + AUSFÜHREN, Ventil wird geöffnet und die Taste AUF auf "0" geschaltet. Online kann ich sehen ob da "1" oder "0" vorliegt.



Wie so vieles in der Automatisierungstechnik ist es eine Geschmacks- bzw. Stilfrage. Für portablen und klar strukturierten Code sind halt Merker einfach nicht mehr so praktisch oder vielleicht auch zeitgemäß. Spätestens wenn du dich mal näher mit dem Thema Strukturen und UDTs beschäftigst, wirst du immer weniger Merker verwenden.
Ich würd sogar soweit gehen, dass in den nächsten Steuerungsgenerationen Merker gar nicht mehr vorhanden sein werden.

Gruß
  Dieter


----------



## bike (9 November 2009)

Blockmove schrieb:


> Ich würd sogar soweit gehen, dass in den nächsten Steuerungsgenerationen Merker gar nicht mehr vorhanden sein werden.
> 
> Gruß
> Dieter



Also da bin ich anderer Meinung, ein Merker ist eine direkt adressierbare Speicherstelle, das ist immer schneller als ein DB Zugriff. 
Wenn dem so werden sol, muss das Konzept der DB geändert werden und sind das dann noch DB im klassischen Sinn?


bike


----------



## Rudi (9 November 2009)

Blockmove schrieb:


> Ich würd sogar soweit gehen, dass in den nächsten Steuerungsgenerationen Merker gar nicht mehr vorhanden sein werden.
> 
> Gruß
> Dieter



Dieter Du machst mir Angst


----------

