Trick digitale Eingänge zwischen schliesser und öffner zu unterscheiden? NC NO?

davbei

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Trick digitale Eingänge zwischen schliesser und öffner zu unterscheiden? NC NO?

Guten Tag die Herren und Damen,

bin jetzt seit einiger Zeit in der Programmierung tätig und bekomme immer wieder bei den Inbetriebnahmen Probleme
zwischen Schliesser und Öffnern auf den Eingängen und bei internen Variablen in dem Programm.

Aktueller Fall: 3x Not_Aus Relais (NC), 5x Sicherheitsabschaltungen im Schrank( NC), ca. 40 Feldgerätestörungen sind Öffner, Pumpenstörung und mehrere interne Störmeldungen von Funktionsbausteinen werden jedoch "true" sobald Sie auftreten (symbolisch NO).

Wenn ich nun alle Störungen auf meinem Alarmbaustein auswerte (kein Störfall) sind daher manche Eingänge true und andere false!
Nun fange ich die Schließer Kontakt an zu negieren.
In der HMI das selbe Spiel.
Jetzt ist die Verwirrung beim Aktorentest schon Perfekt und beim Kollegen noch viel mehr.

Gibt es einen Trick, auch wenn er noch so simpel ist welcher mir da die nächsten Jahre weiterhelfen wird???

Vielen Dank, freue mich auf eure Antworten.
 
Einen Kommentar zum Ein-Ausgang könnte nicht schaden.

-Temperaturregler XYZ, 1= Störung; 0=Betriebsbereit
-Sicherheitstüre offen, 0= offen; 1=geschlossen.

In der HMI das selbe Spiel.

Machst du da mit Ein-Ausgängen rum?
Könntest ja auf einen DB kopieren und zum HMI schicken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist ganz einfach.Hardwaremässig muss so geplant werden das der sichere Zusand 1 ist.
Bsp. Überfüllung eines Behälter=0-Signal!Falls der Draht bricht sicherer Zustand.

Gut=1/Schlecht= 0!Wenn das nicht so ist, ist es nicht drahtbruchsicher.
Du musst natürlich Vorort schauen in welchem Zustand die Anlage ist.Ist der Behälter leer muss der Überfüllkontakt auf 1 sein.
Der Leerkontakt auf Null.(Trochenlaufschutz)
 
Ist ganz einfach.Hardwaremässig muss so geplant werden das der sichere Zusand 1 ist.
Bsp. Überfüllung eines Behälter=0-Signal!Falls der Draht bricht sicherer Zustand.

Gut=1/Schlecht= 0!Wenn das nicht so ist, ist es nicht drahtbruchsicher.
Du musst natürlich Vorort schauen in welchem Zustand die Anlage ist.Ist der Behälter leer muss der Überfüllkontakt auf 1 sein.
Der Leerkontakt auf Null.(Trochenlaufschutz)

Für was ich NC/NO verwenden muss ist mir klar, es ging um die Umsetzung im Programm.
Erste Antwort ist schonmals ein guter Tipp was gerne vernachlässigt wird ;)
 
Ich lese alle Eingänge ein und schieb die dann in einen DB, dabei werden dann ev. einzelne Eingänge invertiert.

Dadurch kann dann in der SPS mit einheitlicher Logik gearbeitet werden.

Also wie beim Beispiel oben: HW geht beim überfüllen von 1 nach 0. Im Programm arbeite ich dann mit dem invertierten Wert -> Leer = 0, Überfüllung = 1 (dann bei mir Symbolisch zB Pegel_H20_MAXMAX
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das ist gut so.Die Störung hat dann immer 1 Signal.Und der Eingang wird entsprechend angepasst.
Wichtig ist das der Text dann immer auf Störung lautet.Also Behälter ist überfüllt oder Behälter ist leer, u.s.w
 
Bei mir ist der Signalstatus anhand der Symbolik ersichtlich.

z.B.
"Produkt_in_Lichtschranke" = bei "0" ist kein Produkt vorhanden, bei "1" schon
"Produkt_in_Lichtschranke/" = bei "1" ist kein Produkt vorhanden, bei "0" schon

Ich mache das am letzten Zeichen fest "/" steht für negierten Signalstatus.

Letztens hatte ich eine Anlage mit verschiedenen Sensoren zur Erkennung Produkte vorhanden/nicht vorhanden, welche fast zur Hälfte mal so oder so geschaltet haben. Da das Programm schon fertig war und ich bei der IB fast irre geworden bin, habe ich die "nicht passenden Eingänge" im OB1 gedreht.

UN "Produkt_in_Lichtschranke"
= "Produkt_in_Lichtschranke"

Ja, ich weis, nicht schön. Es wurde aber in der Sybolik eindeutig dokumentiert
 
Da das Programm schon fertig war und ich bei der IB fast irre geworden bin, habe ich die "nicht passenden Eingänge" im OB1 gedreht.

UN "Produkt_in_Lichtschranke"
= "Produkt_in_Lichtschranke"

Ja, ich weis, nicht schön.
Da kann man erst recht irre werden, wenn beim Programm-beobachten der Ex.y als True angezeigt wird und in der Variablentabelle sowie in HW Konfig Baugruppe beobachten als False ;) (jedenfalls solange der Triggerpunkt für Beobachten wie von Siemens empfohlen auf "Zyklusbeginn" steht)
Falls eine HMI direkt auf Ex.y schaut, dann wird es je nach SPS-Familie und B&B-Einstellungen lustig...

Ist das Umkopieren in einen Rangier-Bereich (ggf. mit negieren) wirklich ein so unzumutbar hoher Aufwand, so daß bewußt die "nicht schöne" faule Variante vorgezogen wird?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
UN "Produkt_in_Lichtschranke"
= "Produkt_in_Lichtschranke"

So etwas kann eigentlich nur jemand vorschlagen, der in seinen Programmen nie einen Fehler suchen muss (siehe Beitrag und Erklärung von Harald).
Vorschläge, wie man es vernünftig machen kann wurden ja schon gemacht.
Das NC als Text mit in den Operanden-Kommentar und/oder die Symbolik zu übernehmen macht auf jeden Fall Sinn - egal, wie man sonst weiter macht.

Gruß
Larry
 
Da kann man erst recht irre werden, wenn beim Programm-beobachten der Ex.y als True angezeigt wird und in der Variablentabelle sowie in HW Konfig Baugruppe beobachten als False
Harald

Hallo Harald,

danke für Deine Antwort. Das man das so nicht macht ist mir klar, war auch das erste Mal. Es war eher aus Zeitnot, die Anlage mußte unbedingt laufen.

Da ich gerade vor Ort bin und eh ein schlechtes Gewissen hatte, habe ich den Rangierbereich gestern vorbereitet und Abends nach Feierabend eingespielt.

Und das Gewissen ist nun auch beruhigt.
 
Was mich viel mehr stört ist, dass man in der Anzahl an Zeichen für das Symbol (24) relativ beschränkt ist. Lieber einen aussagekräftigen Namen als immer irgendwelche Abkürzungen erfinden zu müssen. Dadurch erspart man sich in den meisten Fällen dann den Kommentar. Ich schreibe bei boolschen Variablen im Kommentar meist immer eine Erklärung was 1 oder 0 bedeutet. Und wenn es aktuelle Pläne gibt das BMK bei Ein- und Ausgängen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich versuche meine Symbole immer so anzulegen wie es im 1 Zustand auch ist. Also zum Beispiel LS Rollenbahn frei wenn die Lichtschranke hellschaltend ist. Andersrum wäre es auch dann Rollenbahn belegt
 
Ich kenne das auch so wobei das Thema schon etwas verwirrend sein kann.

Wir bezeichnen das Signal nach den logischen Anlagenzuständen. Also zum beispiel "XXNYYNN_GS01_nBot" für einen Signal das 1 ist so lange XXNYYNN eben nicht unten ist. Allerdings sagt das nicht gezwungenermaßen etwas über die Schaltlogic (NC oder NO) aus. In dem Fall könnte es sich um einen NO handeln der eben nur unten betätigt wird oder um einen NC der über den ganzen Verfahrweg betätigt wird nur unten nicht mehr (durchgehende Betätigungsleiste). Letzterer Fall wird bei Sicherheitsendschaltern angewendet da in dem Fall sowohl Drahtbruch als auch ein mechanisches Problem (Betätigerleiste wird abgerissen, Endschalter wird mechanisch lose, usw) in den sicheren Zustand führt.

In der Visu wiederum zeigen wir den Zustand "Betätigt" an, was eben wahlweise 0, oder 1 sein kann. Signaldreher werden nicht im Programm gedreht sondern konsequent in der HW richtig gestellt oder wenn es wirklich anders sein soll wird eben die Symbolik geändert. Von eienr zentralen Umschalterei beim Rangieren halte ich gar nichts. Erstens ist das zwar schnell gemacht aber eben ein bißchen zu schnell gemacht.
 
Zurück
Oben