Forum: Mikrocontroller und Digitale Elektronik Logiksignale nur durchlassen, falls nicht mehr als eine 1


von Robert M. (lamerchen)


Lesenswert?

Hallo,

freue mich nun im Forum registriert zu haben, nach dem ich schon so viel 
Hilfe bekommen habe allein durchs Lesen.

Jedenfalls zum Thema:
Ich habe einige Steuersignale die im Endeffekt Relais steuern. Das 
wichtige ist mir die Absicherung, dass nur ein Relais zu einem Zeitpunkt 
angezogen sein darf. Es wird etwa 20 Steuersignale.

Wenn also 2 oder mehr Signale 5V sind, sollen alle Signale in 0 
gewandelt werden.

Mit Gattern wäre das ein riesen Aufwand, wie ich denke, und das nimmt 
mir doch etwas zu viel Platz ein. Meine Alternatividee wäre ein µC zu 
benutzen und das Softwaretechnisch umzusetzen.
Hat einer von euch vllt eine bessere Idee?

Beste Grüße
Robert

von Floh (Gast)


Lesenswert?

Woher kommen die Steuersignale?

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Robert M. schrieb:
> Hat einer von euch vllt eine bessere Idee?

Ja. Mach das doch einfach "teil-Analog". Ist zwar ein wenig "getrickse", 
geht aber. Du brauchst nur 1 Widerstand pro Relais + eine Diode pro 
Relais + 1 Komparator + 1 Referenzspannung.
1
  ----------------------------
2
  |    |        |       |    |
3
 ---  --- alle ---      |    |   |\
4
 | |  | |  1k  | |      |    ----|+\_____ Wird high, wenn >1 Eingang high
5
 | |  | | Ohm  | |     ---   ----|-/
6
 ---  ---      ---  1k | |   |   |/
7
  |    |   ...  |  Ohm | |   |---------
8
 ---  ---      ---     ---  ---       |
9
 / \  / \      / \      |   | |      --- 1kOhm
10
 ---  ---      ---      |   | | 1k5  | |
11
  |    |        |       |   --- Ohm  | |  /\ VCC
12
  |    |        |       |    |       ---  |
13
St.1 St.2     St.n     ---  ---       |---|


Gruß
Jonathan

von Helmut L. (helmi1)


Lesenswert?

Robert M. schrieb:
> Ich habe einige Steuersignale die im Endeffekt Relais steuern. Das
> wichtige ist mir die Absicherung, dass nur ein Relais zu einem Zeitpunkt
> angezogen sein darf. Es wird etwa 20 Steuersignale.

Ist das eine Sicherheitskritische Anwendung?
Wenn ja darf das nur per Hardware (Kontakte) geloest werden.

von Robert M. (lamerchen)


Lesenswert?

Die werden durch eine andere Anwendung mit Relais geschaltet. Ich muss 
aber davon ausgehen, dass dort etwas falsch geschaltet werden könnte, da 
ich darauf keinen Zugriff habe.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Hi,

grundsätzlich ja eine einfache Aufgabe für einen uC
Du kannst z.B. timergesteuert alle paar mSec den Status der Eingangsport 
überwachen, dabei kannst du z.B. 8 Ports immer gemeinsam einlesen und 
einfach erkennen, ob die Zahl>0 ist.

Für die 20 Ports eignet sich am Besten ein Atmega16 aufwärts, der hat 
dann 32 Ports, von denen du am geeignetsten PortA, PortC und PortD mit 
jeweils 8 Eingängen nutzen könntest (PortB4-B7 würde ich in deinem Fall 
nur für die ISP-Programmierung verwenden).

Wichtig ist, dass du vorher einmal die JTAG-Schnittstelle abschaltest, 
sonst wirds beim PortC undurchsichtig ;-)

von Robert M. (lamerchen)


Lesenswert?

Helmut Lenzen schrieb:
> Robert M. schrieb:
>> Ich habe einige Steuersignale die im Endeffekt Relais steuern. Das
>> wichtige ist mir die Absicherung, dass nur ein Relais zu einem Zeitpunkt
>> angezogen sein darf. Es wird etwa 20 Steuersignale.
>
> Ist das eine Sicherheitskritische Anwendung?
> Wenn ja darf das nur per Hardware (Kontakte) geloest werden.

Ja ganz recht. Durch Schalten zweier Relais entsteht ein Kurzschluss, 
der sich unter Umständen nicht gesund auswirken wird!

Jonathan Strobl schrieb:
> Ja. Mach das doch einfach "teil-Analog". Ist zwar ein wenig "getrickse",
> geht aber. Du brauchst nur 1 Widerstand pro Relais + eine Diode pro
> Relais + 1 Komparator + 1 Referenzspannung.

Die Idee klingt eigentlich nett. Da ich mit Komparatoren jetzt noch 
nicht gearbeitet habe, was genau empfiehlt sich für eine solche 
Anwendung? Es geht um 5V Signalpegel.

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Robert M. schrieb:
> Da ich mit Komparatoren jetzt noch
> nicht gearbeitet habe, was genau empfiehlt sich für eine solche
> Anwendung?

Eigentlich egal. Nimm doch den LM358, der ist ganz nett und außerdem 
leicht beschaffbar.


Gruß
Jonathan

von bestucki (Gast)


Lesenswert?

Jonathan Strobl schrieb:
> Ja. Mach das doch einfach "teil-Analog". Ist zwar ein wenig "getrickse",
> geht aber. Du brauchst nur 1 Widerstand pro Relais + eine Diode pro
> Relais + 1 Komparator + 1 Referenzspannung.


So kann mans natürlich auch machen, hab da aber noch ne andere Idee:

Die Dioden kannst du dir sparen wenn du einen Summierverstärker 
aufbaust. Jedoch musst du dann noch die Ausgangsspannung auswerten (z.B. 
Komparator).
Das ergibt: 1 Widerstand pro Signal + OPAMP mit Rückkopplungswiderstand 
+ Komparator (wieder OPAMP) mit Spannungsreferenz (2 Widerstände).

Total: 2 OPAMPs und 23 Widerstände


Danach musst du natürlich noch verhindern, dass zwei oder mehrere Relais 
gleichzeitig anziehen.

von Helmut L. (helmi1)


Lesenswert?

Robert M. schrieb:
> Ja ganz recht. Durch Schalten zweier Relais entsteht ein Kurzschluss,
> der sich unter Umständen nicht gesund auswirken wird!

Dann muss das nach VDE ueber die Oeffnerkontakte der anderen Relais 
verhindern. Also nix mit uC und Co. Die koennen abstuerzen und damit die 
Sicherheitsfunktion verhindern.

von Thomas E. (thomase)


Lesenswert?

bestucki schrieb:
> Danach musst du natürlich noch verhindern, dass zwei oder mehrere Relais
> gleichzeitig anziehen.
Meine Güte, genau darum geht's doch.

Robert M. schrieb:
> Wenn also 2 oder mehr Signale 5V sind, sollen alle Signale in 0
> gewandelt werden.
Das macht ein Mikrocontroller mit links. Ist allerdings auch ein großer 
Hardwareaufwand. Denn du benötigst 20 Eingänge und 20 Ausgänge. Als 
Ausgänge bieten sich Schiebergister, die über SPI angesteuert werden, 
an. Als Eingänge dienen die Ports des µC. Also 40-Pinner: Atmega 164, 
324 oder so. Nicht die alte Atmega16-Gurke. Ist auch eine Preisfrage. 
Die neuen sind mittlerweile wesentlich billiger.

Für die Ports nimmt man den Pin-Change-Interrupt und fragt bei jedem 
Interrupt ALLE Ports ab. Dann braucht man noch ein wenig Bitgefriggel 
und gibt dann das Ergebnis über SPI auf die Schieberegister = Ausgänge.

mfg.

von Thomas E. (thomase)


Lesenswert?

Helmut Lenzen schrieb:
> Also nix mit uC und Co. Die koennen abstuerzen und damit die
> Sicherheitsfunktion verhindern.
Blödsinn.

Helmut Lenzen schrieb:
> Dann muss das nach VDE ueber die Oeffnerkontakte der anderen Relais
> verhindern
Relaiskontakte können abbrechen, verbrennen, verbiegen etc. und die 
Sicherheitsfunktion verhindern.

mfg.

von Peter D. (peda)


Lesenswert?

Thomas Eckmann schrieb:
> Als
> Ausgänge bieten sich Schiebergister, die über SPI angesteuert werden,
> an.

74HC138 oder 238 sind besser geeignet, dann kann der MC immer nur einen 
Ausgang aktivieren.


Peter

von Thomas E. (thomase)


Lesenswert?

Peter Dannegger schrieb:
> 74HC138 oder 238 sind besser geeignet, dann kann der MC immer nur einen
> Ausgang aktivieren.
Stimmt.
Das ist dann richtig idiotensicher.

mfg.

von Helmut L. (helmi1)


Lesenswert?

Thomas Eckmann schrieb:
> Relaiskontakte können abbrechen, verbrennen, verbiegen etc. und die
> Sicherheitsfunktion verhindern.

Schon mal was von Sicherheitsrelais mit zwangsgefuehrten Kontakten 
gehoert?
Wenn bei einem Sicherheitsrelais / Schuetz ein Kontakt festbrennt 
duerfen die anderen nicht mehr schalten. Ausserdem ist die gute alte 
Elektromechanik immer noch um einiges Sicherer als jede Elektronik.

http://schmersal.de/cms1/opencms/html/de/service/glossary.html?id=71

von Thomas E. (thomase)


Lesenswert?

Helmut Lenzen schrieb:
> Schon mal was von Sicherheitsrelais mit zwangsgefuehrten Kontakten
> gehoert?
Ja.

Helmut Lenzen schrieb:
> Ausserdem ist die gute alte
> Elektromechanik immer noch um einiges Sicherer als jede Elektronik.
YMMD

mfg.

von Ago (Gast)


Lesenswert?

Robert M. schrieb:
>> Ist das eine Sicherheitskritische Anwendung?
>> Wenn ja darf das nur per Hardware (Kontakte) geloest werden.
>
> Ja ganz recht. Durch Schalten zweier Relais entsteht ein Kurzschluss,
> der sich unter Umständen nicht gesund auswirken wird!

Wenn du eine µC-Lösung baust, dann denke daran eine Umschaltzeit mit 
einzuplanen in welcher die Relais auch Zeit zum Abfallen haben, bevor du 
ein neues einschaltest.

von Falk B. (falk)


Lesenswert?

@  Peter Dannegger (peda)

>74HC138 oder 238 sind besser geeignet, dann kann der MC immer nur einen
>Ausgang aktivieren.

3x74HC148 + 3x74HC138 + ein paar 74HC04 für die Invertierungen. Alles 
ohne Programmieren und abstürzende uCs.

MfG
Falk

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Helmut Lenzen schrieb:
> Robert M. schrieb:
>> Ja ganz recht. Durch Schalten zweier Relais entsteht ein Kurzschluss,
>> der sich unter Umständen nicht gesund auswirken wird!
>
> Dann muss das nach VDE ueber die Oeffnerkontakte der anderen Relais
> verhindern. Also nix mit uC und Co. Die koennen abstuerzen und damit die
> Sicherheitsfunktion verhindern.

HHMMM,

Ohne jetzt die VDE vorschriften Diesbezüglich jetzt noch im Detail 
auswenig zu kennen oder gar jetzt nachschlagen zu wollen müsste man sich 
jetzt einigen ob man von "Sicherheitskritisch" im Sinne der Vorschrift 
(Der Kopf des Bedieners steckt noch zwischen Formteil und Stempel... 
Wenn da was Schiefgeht explodiert die Anlage...) oder aber nur von 
"Sicherheitskritisch" im Sinne von: "Wenn da was Schiefläuft ist die 
Anlage evtl. kaputt und ich muss den Techniker rufen" Spricht.

Für ersteres muss man wirklich genau auf die Vorschriften achten, für 
letzteres nur etwas "technisch" Sinnvolles aufbauen.

Vorschlag an den TE:
Wenn das mit dem Gattergrab in Standartlogik (logischerweise) zu 
aufwendig ist:
Wieso nicht das Gattergrab in form von einer reihe verODERter NAND in 
einen einzigen PLD - z.B. einem GAL, oder wenn es richtig viele Signale 
sind auch CPLD gießen?
Kein Program, keine Taktsignale alles Hardwareverknüpfungen ohne jede 
Latenz.

Gruß
Carsten

von bestucki (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> bestucki schrieb:
>> Danach musst du natürlich noch verhindern, dass zwei oder mehrere Relais
>> gleichzeitig anziehen.
> Meine Güte, genau darum geht's doch.

Ich habe nur beschrieben wie man erkennen kann, ob mehrere Signale high 
sind. Meine Schaltung verhindert nicht, dass mehrere Relais anzeihen 
können.

Ich gehe jetzt nicht weiter darauf ein, wie man das verhindern kann, da 
eine Lösung mit einem uC um einiges besser ist, da auch die Abfallzeiten 
der Relais berücksichtigt werden können. Dies muss allgemein beim 
Umschalten berücksichtigt werden, wenn Kurzschlüsse entstehen können.


Helmut Lenzen schrieb:
> Also nix mit uC und Co. Die koennen abstuerzen und damit die
> Sicherheitsfunktion verhindern.

Wenns wirklich so wichtig ist, dann baut man ein redundantes System auf.


Leider gibt es noch keine weiteren Informationen über die Anforderungen. 
Ist es irgend ein Gebastel für Zuhause oder muss es 
professionell/kommerziell sein?

von Harald W. (wilhelms)


Lesenswert?

Thomas Eckmann schrieb:
> Helmut Lenzen schrieb:
>> Also nix mit uC und Co. Die koennen abstuerzen und damit die
>> Sicherheitsfunktion verhindern.
> Blödsinn.
>
> Helmut Lenzen schrieb:
>> Dann muss das nach VDE ueber die Oeffnerkontakte der anderen Relais
>> verhindern
> Relaiskontakte können abbrechen, verbrennen, verbiegen etc. und die
> Sicherheitsfunktion verhindern.

Nicht, wenn man Sicherheitsrelais nimmt und diese richtig verschaltet.
Gruss
Harald

von Ralf N. (Gast)


Lesenswert?

Während die Fähigkeiten des Controller für diese simple Aufgabe nahezu 
unbedeutend sind, kommt man aufgrund der 20 Eingänge und 20 Ausgänge 
kaum um einen Chip mit ca. 60++ Pins herum - etwas Größeres im 
SMD-Gehäuse.

Eine andere Möglichkeit wäre es, zwei kleinere Contoller zu verwenden, 
und beim ersten die 20 Eingangs-Signale anzuschließen, und beim zweiten 
die 20 Ausgangssignale. Untereinander verbunden werden beide Chips über 
eine der üblicherweise vorhandenen seriellen Schnittstellen, z.B. SPI 
oder I²C.

Vorteile dieser Lösung sind, daß bestenfalls keine Glue-Logic 
erforderlich ist, daß die Funktion flexibel programmierbar ist, und man 
mit den preiswertesten Controllern auskommt, die nur genügend Pins 
bieten müssen.

Der erste Controller generiert aus den 20 Eingangssignalen ein 
Datenpaket entsprechend der Forderung, daß gleichzeitig nur ein Signal 
Aktiv sein darf, und kann bei Verletzung dieser Regel entweder alle 
Signale im Datenpacket inaktiv schalten, oder nach Wunsch dann auch ein 
bestimmtes von mehreren Eingangssignalen priorisieren. Dieser Controller 
dient damit als frei programmierbarer Encoder.

Das Datenpacket wird seriell an den zweiten Controller gesendet, der 
dies je nach Sicherheitsanforderung erneut überprüfen kann, und daraus 
wieder 20 "einzelne" Steuersignale für die Relais dekodiert. Dabei kann 
dieser Controller auf Wunsch noch hier bereits angesprochene 
"Feinheiten" wie Schaltzeiten der Relais beachten.

Wird noch mehr Sicherheit bezüglich der Forderung "nur ein Relais zur 
gleichen Zeit zu schalten" gefordert, die bspw. auch "klebende" Kontakte 
berücksichtig, müsste zusätzlich das Signal hinter den Relais 
kontrolliert werden. Im einfachsten Fall über 20 Dioden, deren Anoden an 
den Relaiskontakten liegen, und an deren gemeinsamer Kathodenleitung ein 
Signal ansteht, wenn auch nur ein Relaiskontakt geschlossen ist. Dieses 
verUNDete Signal kann der zweite Controller auswerten, um zu erkennen, 
ob alle Relais tatsächlich ihre Kontakte geöffnet haben.

Ggf. wird es erforderlich sein, dieses verUNDete Signal galvanisch 
getrennt, bspw. über einen Optokoppler zurückzuführen. Selbst ein 
Wechselspannungssignal ist zur Rückführung geeignet, wenn die Totzeit 
während der alle Relais offen sind, länger als eine 
Wechselspannungsperiode dauert.

von Helmut L. (helmi1)


Angehängte Dateien:

Lesenswert?

Einfachste Verriegelung.
Immer das Relais das links ist gewinnt die Entscheidung. Alle Relais 
rechts davon fallen ab. Braucht nur einen weiteren Oeffner pro Relais. 
Ist zwar jetzt nicht die sichereste aller Schaltungen aber immer noch 
sicherer als alle anderen mit Halbleitern drin.

Frage mich wann der erste kommt mit einem Vorschlag der einen Quadcore 
Prozessor braucht :-)

von Thomas E. (thomase)


Lesenswert?

Helmut Lenzen schrieb:
> Ist zwar jetzt nicht die sichereste aller Schaltungen aber immer noch
> sicherer als alle anderen mit Halbleitern drin.
Was hast du eigentlich gegen Halbleiter? ICs sind immer das Letzte, was 
kaputt geht.
In einem Relais-Forum wirst du natürlich ungeteilte Zustimmung ernten 
und alle werden die nächsten drei Tage noch nicken. Aber dieses Forum 
ist ein Mikrocontroller-Forum.

Deine Schaltung ist gut. Weil einfach. Also einfach gut.
Berücksichtigt aber eine Forderung nicht:
Robert M. schrieb:
> Wenn also 2 oder mehr Signale 5V sind, sollen alle Signale in 0
> gewandelt werden.

Helmut Lenzen schrieb:
> Frage mich wann der erste kommt mit einem Vorschlag der einen Quadcore
> Prozessor braucht :-)
Wenn man auch die Eingänge mit Schieberegistern einliest, reicht ein 
Tiny mit 8 Pins.

mfg.

von Nitram L. (nitram)


Lesenswert?

Wenn man das mit einem µC machen wollte braucht es "nur" 20 Eingänge
und 1 Ausgang...

nitraM

von Helmut L. (helmi1)


Lesenswert?

Thomas Eckmann schrieb:
> Was hast du eigentlich gegen Halbleiter? ICs sind immer das Letzte, was
> kaputt geht.

Ich habe nichts gegen Halbleiter im Gegenteil. Aber anscheinend hast du 
was gegen Elektromechanik. Man muss nicht alles mit Halbleitern (uC und 
Co) relaisieren.
Und ich habe im laufe meines Lebens schon mehr defekte Halbleiter 
gesehen als defekte Relais. Halbleiter gehen schon bei der kleinsten 
Ueberspannung kaputt, Relais dagegen noch lange nicht.

Thomas Eckmann schrieb:
> In einem Relais-Forum wirst du natürlich ungeteilte Zustimmung ernten
> und alle werden die nächsten drei Tage noch nicken. Aber dieses Forum
> ist ein Mikrocontroller-Forum.

Dafuer gibt es aber genug andere Themen hier die nichts mit uC zu tun 
haben.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas Eckmann schrieb:
> Berücksichtigt aber eine Forderung nicht:
> Robert M. schrieb:
>> Wenn also 2 oder mehr Signale 5V sind, sollen alle Signale in 0
>> gewandelt werden.
Leider ist das nur eine Folgerung aus der eigentlichen Forderung, die
Robert M. schrieb:
> Das wichtige ist mir die Absicherung, dass nur ein Relais zu einem
> Zeitpunkt angezogen sein darf.
Kurz: es müssen im Fehlerfall nicht alle abfallen, sondern es darf eines 
angezogen bleiben. Und das beherrscht die Schaltung von Helmut Lenzen 
(helmi1) optimal und in schnörkelloser, brutaler Hardware. Ich würde das 
auch so machen... ;-)

von Thomas E. (thomase)


Lesenswert?

Helmut Lenzen schrieb:
> Aber anscheinend hast du was gegen Elektromechanik.
Wenn es sich vermeiden lässt, auf jeden Fall.

Helmut Lenzen schrieb:
> Und ich habe im laufe meines Lebens schon mehr defekte Halbleiter
> gesehen als defekte Relais.
Ich auch. Ist ja nicht so, daß nie etwas kaputt geht.

Helmut Lenzen schrieb:
> Halbleiter gehen schon bei der kleinsten Ueberspannung kaputt
Das ist doch nun wirklich an den Haaren herbeigezogen. Überspannungen 
haben nicht aufzutreten. Dafür hat man Sorge zu tragen. Und "kleinsten" 
möchte ich mal in Frage stellen.

mfg.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas Eckmann schrieb:
> Überspannungen haben nicht aufzutreten.
Darf ich diesen Satz in meinen Schaltplänen verwenden? Das würde mir das 
Leben unglaublich erleichtern...  ;-)

> Und "kleinsten" möchte ich mal in Frage stellen.
Leg mal an eine 5V-Relaisspule für 200ms 24V an. Und dann mach das mit 
einem uC. Was ist der Unterschied?
Zum Hintergrund: 24V sind genauso wie 5V überaus gebräuchliche 
Spannungen.

von Peter II (Gast)


Lesenswert?

Thomas Eckmann schrieb:
>> Ist zwar jetzt nicht die sichereste aller Schaltungen aber immer noch
>> sicherer als alle anderen mit Halbleitern drin.
> Was hast du eigentlich gegen Halbleiter? ICs sind immer das Letzte, was
> kaputt geht.
IC halten eventuell noch, leider gibt es noch mehr ringsrum. Wie lange 
halten denn Elkos die zur spannungstabilieserung eingesetzt werden? 
Relais gehen auch nach 50Jahren noch, bei billiger china elektronik 
bezweifleifle ich das.

von Thomas E. (thomase)


Lesenswert?

Lothar Miller schrieb:
> Leg mal an eine 5V-Relaisspule für 200ms 24V an. Und dann mach das mit
> einem uC.
Welcher Schwachkopf macht denn sowas? Nenn' mir mal einen Grund, warum 
ich das machen sollte. Um danach festzustellen, daß der Controller 
kaputt ist und das Relais nicht?
Und daraus schliesse ich dann, daß Relais besser sind?
Vergiss' solchen Unsinn.

Peter II schrieb:
> Relais gehen auch nach 50Jahren
qed

mfg.

von Helmut L. (helmi1)


Lesenswert?

Thomas Eckmann schrieb:
> Welcher Schwachkopf macht denn sowas? Nenn' mir mal einen Grund, warum
> ich das machen sollte. Um danach festzustellen, daß der Controller
> kaputt ist und das Relais nicht?
> Und daraus schliesse ich dann, daß Relais besser sind?
> Vergiss' solchen Unsinn.

Der Elektriker der das ganze in Betrieb nimmt und 2 Draehte verklemmt.
Schon mehr als einmal vorgekommen. Und schwuppdiwupp war wieder mal eine 
Karte von einigen 100 Euro ein Fall fuer die Tonne.

Lothar Miller schrieb:
> Darf ich diesen Satz in meinen Schaltplänen verwenden? Das würde mir das
> Leben unglaublich erleichtern...  ;-)

Lothar ich hoffe du meldest kein Patent drauf an moechte ich auch in 
meinen Schaltplaenen reinschreiben duerfen ;-)

Dann koennte ich viel Bauteile sparen ...

von Daniel (Gast)


Lesenswert?

Ich werfe jetzt doch nochmal bewährte Digitaltechnik ins Spiel, denn die 
Auswertung der 20 Relais kann einfach mit 20 EOR hintereinander 
geschehen. Mehr ist da nicht. Den Relais könnte man dann Buffer 
vorschalten, die sich per Disable von den 20 EOR auf Masse ziehen 
lassen. Bauteilkosten 2,50€, Programmieraufwand 0.

Das wäre jetzt meine Vergehensweise, ohne die Hardware genau zu kennen.

von Thomas E. (thomase)


Lesenswert?

Helmut Lenzen schrieb:
> Der Elektriker der das ganze in Betrieb nimmt und 2 Draehte verklemmt.
Gegen Dummheit ist leider noch kein Kraut gewachsen. Ausserdem gibt es 
Dioden, falls einer nicht rot und blau unterscheiden kann. Wie macht man 
das eigentlich mit einem Relais?

> Lothar ich hoffe du meldest kein Patent drauf an moechte ich auch in
> meinen Schaltplaenen reinschreiben duerfen ;-)

Helmut Lenzen schrieb:
> Lothar Miller schrieb:
>> Darf ich diesen Satz in meinen Schaltplänen verwenden? Das würde mir
>> das Leben unglaublich erleichtern...  ;-)
> Lothar ich hoffe du meldest kein Patent drauf an moechte ich auch in
> meinen Schaltplaenen reinschreiben duerfen ;-)

Also ich schreibe das in meine Spezifikationen rein.
Betriebsspannung 5V oder 230V oder wie auch immer. Wenn dann ein Trottel 
24V anlegt oder das Netzteil an einer Hochspannungsleitung betreibt, ist 
das NICHT mein Problem.
Und mögliche Überspannungen durch Blitzschläge auf der Netz- oder 
Telefonleitung sind auch kein Grund für mich Relais statt Halbleiter zu 
verwenden.

mfg.

von Helmut L. (helmi1)


Lesenswert?

Thomas Eckmann schrieb:
> Wie macht man
> das eigentlich mit einem Relais?

Denn meisten Relais ist die Polaritaet egal.
Und dann gibt es noch Kunden die ueber die Spule absolut keine 
Diode/Varistor etc. haben wollen und sagen deine Schaltung muss das 
aushalten.

Thomas Eckmann schrieb:
> Und mögliche Überspannungen durch Blitzschläge auf der Netz- oder
> Telefonleitung sind auch kein Grund für mich Relais statt Halbleiter zu
> verwenden.

Och das sagt der Kunde dir schon ob das dir egal sein darf.

von Michael R. (mexman) Benutzerseite


Lesenswert?

Halo Thomas,

> Was hast du eigentlich gegen Halbleiter? ICs sind immer das Letzte, was
> kaputt geht.
> In einem Relais-Forum wirst du natürlich ungeteilte Zustimmung ernten
> und alle werden die nächsten drei Tage noch nicken. Aber dieses Forum
> ist ein Mikrocontroller-Forum.

Wenn man sich im Fach auskennt, weiss man, dass das keine Glaubensfrage 
ist, sondern Helmut seine ISOs, CSAs, VDEs und andere 
Sicherheitsvorschriften kennt.

Ich bin auch ein eingefleischter Mikroprozessorier und musste 
dazulernen.
Wer sicherheitsrelevante Dinge auf die Beine stellen will, der KANN das 
auch mit Halbletern oder sogar mit Software machen (Hier ist der einzige 
Punkt in dem Helmut irrt....Beispiel: Bereichsblockierungen bei 
Industrierobotersteuerungen) aber der Aufwand ist immens (Vorhalten von 
ausreichend Redundanz etc.)
Die Elektromechanik - bei entsprechender Auslegung - ist hier wirklich 
im Vorteil.

Dennoch wuerde ich in DIESEM Fall die Loesung von Jonathan benutzen!


Gruss

Michael

von Ralf N. (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> Und dann gibt es noch Kunden die ueber die Spule absolut keine
> Diode/Varistor etc.

"Diode, Varistor oder etc." ÜBER der Spule (an Siemens Lufthaken?) zu 
montieren, ist aber auch die denkbar grobschlächtigste Methode. Etwa auf 
den Niveau: Bauer pflügt Feld mit Handgranaten.

Helmut Lenzen schrieb:
> und sagen deine Schaltung muss das
> aushalten.

Recht so! Den dort - in die Schaltung, direkt auf der Platine gehört die 
Schutzvorrichtung hin!

;-)

von Helmut L. (helmi1)


Lesenswert?

Michael Roek schrieb:
> Wer sicherheitsrelevante Dinge auf die Beine stellen will, der KANN das
> auch mit Halbletern oder sogar mit Software machen (Hier ist der einzige
> Punkt in dem Helmut irrt....Beispiel: Bereichsblockierungen bei
> Industrierobotersteuerungen) aber der Aufwand ist immens (Vorhalten von
> ausreichend Redundanz etc.)

In dem Punkt gebe ich dir Recht. Da geht es auch nicht anders zu machen.
Aber wie du schon sagst nur mit Redundanz. Das ist aber mit einer 
schnell zusammengestrikten uC Schaltung aber bei weitem nicht gegeben.


Und nicht das jemand denkt ich haette was gegen uC. Ich setzte davon 
genug ein (ARM,MSP430,AVR etc..).

Aber bei Schaltungen die sicherheitsrelevant sind b.z.w. einen 
Kurzschluss verurschen koennen hoert bei mir der Spass auf.
Selbst die einfachste Schaltung wo ein Kurzschluss passieren kann 
(Wendeschuetzschaltung) muss entweder elektrisch oder mechanisch 
gegeneinander verriegelt sein.

von Helmut L. (helmi1)


Lesenswert?

Ralf N. schrieb:
> Recht so! Den dort - in die Schaltung, direkt auf der Platine gehört die
> Schutzvorrichtung hin!

Auf der Platine waren nur Relais die andere Relais schalten. Und diese 
zu schaltenden Relais waren 220V DC Relais ohne Schutzbeschaltung. Das 
heist mehrere kV Abschaltspannung am Relaiskontakt. Und dieser 
Relaiskontakt darf nicht geschuetzt werden.

von Robert M. (lamerchen)


Lesenswert?

Zunächst mal Danke für die vielen Antworten!

Helmut Lenzen schrieb:
> Dann muss das nach VDE ueber die Oeffnerkontakte der anderen Relais
> verhindern. Also nix mit uC und Co. Die koennen abstuerzen und damit die
> Sicherheitsfunktion verhindern.

Durch schließen zweier Relais werden nur 2 Pins kurzgeschlossen, wodurch 
ein ungewolltes Ereignis eintritt. Dabei würde keine Explosion oder so 
eintreten!

Thomas Eckmann schrieb:
>> 74HC138 oder 238 sind besser geeignet, dann kann der MC immer nur einen
>> Ausgang aktivieren.
> Stimmt.
> Das ist dann richtig idiotensicher.

Stichwort idiotensicher gefällt mir! Kann mir jedoch mit den 138 und 238 
nicht genau die Verschaltung vorstellen.

bestucki schrieb:
> Leider gibt es noch keine weiteren Informationen über die Anforderungen.
> Ist es irgend ein Gebastel für Zuhause oder muss es
> professionell/kommerziell sein?

Das System soll professionell sein! Es handelt sich zwar um keine 
kommerzielle Anwendung, jedoch wird Sie täglich verwendet und sollte 
abgesichert sein!

Helmut Lenzen schrieb:
> Einfachste Verriegelung.
> Immer das Relais das links ist gewinnt die Entscheidung. Alle Relais
> rechts davon fallen ab. Braucht nur einen weiteren Oeffner pro Relais.
> Ist zwar jetzt nicht die sichereste aller Schaltungen aber immer noch
> sicherer als alle anderen mit Halbleitern drin.

Das war meine erste Idee. Dass die Signale nicht 0 werden bei mehrere 
High Pegeln, würde ich akzeptieren. Jedoch habe ich eine Befürchtung:
Was passiert wenn 2 Signale zum exakt gleichen Zeitpunkt ankommen? Dann 
sind, sei es eine geringe Zeit, doch zwei Relais geschlossen?

Daniel schrieb:
> Auswertung der 20 Relais kann einfach mit 20 EOR hintereinander
> geschehen. Mehr ist da nicht.
Bis die EOR's fertig mit der Analyse sind, und den Buffer auf Masse 
ziehen, sind jedoch 2 Relais an?

von Peter D. (peda)


Lesenswert?

Robert M. schrieb:
> Stichwort idiotensicher gefällt mir! Kann mir jedoch mit den 138 und 238
> nicht genau die Verschaltung vorstellen.

Die Eingänge A0, A1, A2 werden parallel geschaltet an 3 IO-Pins des MC.
Die Eingänge /E1, /E2, E3 werden so an 2 IO-Pins des MC geschaltet, daß 
immer nur einer der drei 74HC138 enabled ist oder garkeiner:
1
1. 74HC138: /E1 - D3, /E2 - D4, E3 - VCC
2
2. 74HC138: /E1 - D3, /E2 - GND, E3 - D4
3
3. 74HC138: /E1 - D4, /E2 - GND, E3 - D3
4
5
D3   D4
6
0    0   1. 74HC138
7
0    1   2. 74HC138
8
1    0   3. 74HC138
9
1    1   keiner     (für Totzeit zum Umschalten der Relais)


Ob 74HC138 oder 74HC238 hängt davon ab, ob der aktive Ausgang high oder 
low sein soll.


Peter

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas Eckmann schrieb:
> Also ich schreibe das in meine Spezifikationen rein.
> Betriebsspannung 5V oder 230V oder wie auch immer. Wenn dann ein Trottel
> 24V anlegt oder das Netzteil an einer Hochspannungsleitung betreibt, ist
> das NICHT mein Problem.
Du bist noch jung und stürmisch, hast aber noch nicht ausreichend viel 
erlebt...

Es mag sein, dass diese eine Schaltung dann nicht dein Problem ist, aber 
dein Problem ist, dass in der nächsten Spec die Anforderungen wesentlich 
deutlicher stehen.
> Also ich schreibe das in meine Spezifikationen rein.
Schön, wenn du deine Spec selber schreiben darfst, und wenn ausser dir 
keiner an deiner Schaltung rumbastelt. Aber mal angenommen, da kommen 
auch andere dran...

BTW: du solltest bewertende Ausdrücke wie "Trottel", "Schwachkopf", usw. 
eher aussen vor lassen.

Helmut Lenzen schrieb:
>> Darf ich diesen Satz in meinen Schaltplänen verwenden? Das würde mir das
>> Leben unglaublich erleichtern...  ;-)
> Lothar ich hoffe du meldest kein Patent drauf an moechte ich auch in
> meinen Schaltplaenen reinschreiben duerfen ;-)
Du darfst natürlich, aber leider hat sich der Nutzen dieses Satzes 
zerschlagen, weil er durch eine rigide Spec zustande kommt... :-/

von Thomas E. (thomase)


Lesenswert?

Lothar Miller schrieb:
> Du bist noch jung und stürmisch, hast aber noch nicht ausreichend viel
> erlebt...
Komm' du erstmal in mein Alter.

Lothar Miller schrieb:
> "Schwachkopf",

Thomas Eckmann schrieb:
> Welcher Schwachkopf macht denn sowas?
Das ist in diesem Zusammhang auch völlig legitim. Wenn du allerdings 
sowas machst und dir den Schuh anziehst... Von mir aus.

Thomas Eckmann schrieb:
> Wenn dann ein Trottel 24V anlegt
Auch da habe ich niemanden persönlich angesprochen. Und ja, wenn einer 
an irgendwelche blanken Klemmen 24V anlegt, ohen zu wissen, was er tut, 
ist derjenige ein Trottel. Was sonst. Vielleicht ein Depp?

Lothar Miller schrieb:
> Es mag sein, dass diese eine Schaltung dann nicht dein Problem ist, aber
> dein Problem ist, dass in der nächsten Spec die Anforderungen wesentlich
> deutlicher stehen.
Wieso soll das mein Problem sein? Wenn einer das so haben will, bekommt 
er das auch so. Wenn einer Relais haben will, versuche ich allerdings 
ihm die Dinger auszureden. Gelingt mir das nicht, kriegt er Relais. 
Beschwert er sich nachher, daß die Relais zu laut klappern...
Sind Relais vorgeschrieben oder Industriestandard, brauchen wir gar 
nicht darüber zu diskutieren.

Lothar Miller schrieb:
> und wenn ausser dir keiner an deiner Schaltung rumbastelt.
Wenn einer was davon versteht, ist das OK. Wenn er keine Ahnung hat und 
etwas kaputt macht, bekomme ich davon keine schlaflosen Nächte.

Lothar Miller schrieb:
> Du darfst natürlich, aber leider hat sich der Nutzen dieses Satzes
> zerschlagen, weil er durch eine rigide Spec zustande kommt... :-/
Interessant. Es ist also eine "rigide Spec", wenn ich bei einer 
elektronischen Baugruppe, die für 5V konzipiert ist, beschreibe, daß sie 
NUR für 5V konzipiert ist? Und ich muß mir vorhalten lassen, daß sie 
kaputt geht, wenn man da 24V, womöglich noch verpolt ranlegt?
Wenn du meinst...

Steht allerdings im Lastenheft, daß sie auch höhere Spannungen aushalten 
muß, hält sie das auch aus. Aber dann muß der Kunde das auch bezahlen.

Und wenn ich weiß, daß mein Kunde da garantiert irgendwelchen Unsinn mit 
treibt, wird sie auch das überstehen. Sofern ich mir vorstellen kann, 
was einer da so alles mit anstellen könnte. Auch wenn das nicht im 
Lastenheft steht.

mfg.

von Daniel (Gast)


Lesenswert?

Robert M. schrieb:
>> Auswertung der 20 Relais kann einfach mit 20 EOR hintereinander
>> geschehen. Mehr ist da nicht.
> Bis die EOR's fertig mit der Analyse sind, und den Buffer auf Masse
> ziehen, sind jedoch 2 Relais an?

Und du glaubst, ein Schaltung auf Relaisbasis ist schneller als ein paar 
Logikgatter? Das Problem kannst du mit Relais doch nicht umgehen, eher 
,it den ICs abschwächen. Du benötigst, wenn diese sehr kurze Zeitspanne 
stört, ein Verzögerungsglied vor den Buffern, aber nach den EOR. 
Beispielsweise Flipflop mit Takt oder ein RC-Glied, wenn es nicht so auf 
die Flanke ankommt (ansonsten nimmste Schmitt-Triger mit Enable statt 
Buffer).

von Max G. (l0wside) Benutzerseite


Lesenswert?

Helmut Lenzen schrieb:
> Robert M. schrieb:
>> Ja ganz recht. Durch Schalten zweier Relais entsteht ein Kurzschluss,
>> der sich unter Umständen nicht gesund auswirken wird!
>
> Dann muss das nach VDE ueber die Oeffnerkontakte der anderen Relais
> verhindern. Also nix mit uC und Co. Die koennen abstuerzen und damit die
> Sicherheitsfunktion verhindern.

Glaubenskriege...

Man kann auch mit Elektronik sicherheitsrelevante Funktionen 
realisieren. Wäre das nicht so, würde kein Auto fahren und kein Flugzeug 
fliegen. Und auch die geforderte Robustheit lässt sich machen, kostet 
halt Platz und Geld.

Allerdings ist der Aufwand, der dafür zu treiben ist, nicht ganz ohne. 
Kurz zusammengebastelt ist das nicht. FMEA, Fehlerbaumanalyse, 
Selbsttest, Plausibilisierung der Ergebnisse, Watchdog, 
Sicherheitsabschaltung der Ausgänge sind so ein paar Stichworte.
Wenn man das alles richtig umsetzt, ist die Elektronik sicher nicht 
schlechter als die Relaislösung. Billiger aber auch nicht.

Gruß,

Max

von Peter D. (peda)


Lesenswert?

Man muß immer Aufwand und Nutzen abschätzen.

Wenn im Fehlerfall nur die Sicherung kommt und vielleicht das Relais 
verklebt, dann rechnet es sich einfach nicht, die Anforderungen für eine 
AKW-Steuerung erfüllen zu wollen.


Das Transistoren und ICs zuverlässiger sind, als Relais, ist keine 
Frage.
Die Zuse Relaisrechner waren zu unzuverlässig für den Serieneinsatz. Und 
die Röhrenrechner ENIAK waren auch nicht viel besser.
Erst durch Transistoren und ICs konnte die Zuverlässigkeit auf 
brauchbare Werte angehoben werden.

Die Zuverlässigkeit kommt natürlich nicht von Zauberhand. Sie muß durch 
einen Aufwand an Gehirnschmalz und Sorgfalt bei der Softwareentwicklung 
erst geschaffen werden.


Peter

von Robert M. (lamerchen)


Angehängte Dateien:

Lesenswert?

Wie sieht es denn bei der Schaltung von Helmut aus, wenn zwei Signale 
gleichzeitig den High Pegel bekommen.

Ich benutze finder Relais mit 2 Wechslern.

Ist es möglich, dass für einen kurzen Moment zwei Relais anziehen, bevor 
das "rechte" abfällt?

Genau die gleiche Frage stellt sich mir bei der 
Standard-Schützverriegelung zweier Schütze. ( Öffner des jeweils anderen 
vor Spule )

Ist das auch "idiotensicher" ?

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Robert M. schrieb:
> für einen kurzen Moment zwei Relais anziehen

Ist gut möglich. Wenn zuerst ein Relais rechts anzieht und danach eins 
weiter links, hast Du eine große Chance auf einen Kurzschluss. Die 
Relais haben nämlich GROßE Schaltzeiten. Bei meiner 
Widerstands-Dioden-Komparator-Lösung kannst Du noch abschalten, bevor 
das Relais überhaupt anzieht (ist ja recht träge).


Gruß
Jonathan

von Klaus 2. (klaus2m5)


Lesenswert?

Jonathan Strobl schrieb:
> ... Bei meiner
> Widerstands-Dioden-Komparator-Lösung kannst Du noch abschalten, bevor
> das Relais überhaupt anzieht (ist ja recht träge).

Vor allem wenn die Abschaltung elektronisch erfolgt, also nicht über ein 
weiteres Relais, ist sie allemal schneller, als 2 Relais gleichzeitig 
anziehen können. Also gesamte Relaisversorgung per Komparator 
elektronisch lahmlegen und für das Restrisiko (Versagen des Komparators) 
gibt es ja noch Sicherungen.

Ich frage mich allerdings schon die ganze Zeit, warum man tatsächlich 20 
Relais gegeneinander verriegeln muss? Ein Motor hätte zwei 
Laufrichtungen, und es ist klar, das man nicht beide gleichzeitig 
einschalten kann. Aber was braucht 20?

von Robert M. (lamerchen)


Lesenswert?

Klaus 2m5 schrieb:
> Aber was braucht 20?

Es handelt sich um Pins einer Anwendung die durch den Wechsler auf eine 
(gemeinsame) Leitung gezogen werden und dann von dort durch weitere 
Relais gegen Masse oder Spannung "kurzgeschlossen" werden.
Da die Pins eine gemeinsame Leitung nach dem Zuziehen haben, kann nur 
ein Relais zuschnappen, damit es zwischen den Pins keinen Kurzschluss 
gibt.

Die Komparatorschaltung leuchtet mir ein, nur wie ziehe ich die Signale 
am besten auf LOW?

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Robert M. schrieb:
> nur wie ziehe ich die Signale
> am besten auf LOW?


Es muss ja nicht LOW sein, hochohmig reicht ja auch. Das kann dann jeder 
popelige Transistor machen.

So könnte das dann aussehen:
1
                 Steuerleitung Steuerleitung
2
                      |             |
3
                      |             |
4
                    -----         -----
5
                    |\  |         |\  |
6
                    | \ |  Relais | \ |
7
                    |  \|         |  \|      ...
8
                    -----         -----
9
                      |-------------|------
10
                      /
11
High zum            |<
12
Abschalten ---------|    PNP
13
aller Relais        |\
14
                      \
15
                      |
16
                     --- GND

Simpel, oder? ;)


Gruß
Jonathan

von Klaus 2. (klaus2m5)


Lesenswert?

Ich würde eher NPN nehmen und den Transitor umdrehen - oder gleich einen 
MOSFET nehmen. Die Kollektorschaltung hat immer den Nachteil, dass die 
0,6-1V BE Spannung dem Nutzsignal fehlen. Bei 12V kein Problem aber bei 
5V schon.

Außerdem dürfen die Steuersignale nur high getrieben werden, sonst 
schalten die Relais über die vermutlich vorhandenen Schutzdioden doch 
noch.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Robert M. schrieb:
> nur wie ziehe ich die Signale am besten auf LOW?
Da müsste man wissen, woher die Signale kommen, und wie die 
Relaisansteuerung aussieht...
Robert M. schrieb:
>>> Ich habe einige Steuersignale die im Endeffekt Relais steuern.
Woher und mit welchem Pegel kommt das Signal und was kommt zwischem dem 
Signal und dem Relais?
Kannst du die Relais so beschalten, wie es dir lieb ist?
Was von der Schaltung ist vorgegeben?

von Robert M. (lamerchen)


Lesenswert?

Lothar Miller schrieb:
> Was von der Schaltung ist vorgegeben?

Es kommen 5V Signale (direkt von Spannungsquelle) und werden über Relais 
zu oder abgeschaltet. Die sollen große Relais Schalten (10k PullDown und 
MOSFET wäre meine Idee). Die Relais an sich werden mit 12V gesteuert.
Vorgabe: Es darf maximal nur ein Relais angezogen sein, auch wenn mehr 
Signale kommen. Die Relais die die Steuersignale steuern, kann ich 
leider nicht beeinflussen und absichern, deswegen muss das hinterher 
geschehen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Robert M. schrieb:
> Die Relais die die Steuersignale steuern, kann ich leider nicht
> beeinflussen und absichern, deswegen muss das hinterher
> geschehen.
Ich komme das vor lauter (Steuer-)Signalen und (großen und kleinen) 
Relais nicht mehr mit...  :-o

Kannst du da ein Bildchen (mit den Pegeln und Signalnamen) malen und 
zeigen, worauf du Zugriff hast? Und irgendwo in der Mitte muß ja die 
Sammelschiene sitzen...

von Robert M. (lamerchen)


Angehängte Dateien:

Lesenswert?

Nunja warum hab ich das nicht gleich gemacht, so sieht der Aufbau etwa 
aus.. Natürlich mit mehr Signalen. Im linken Teil hab ich Freiheit ab 
der Anwendung. Und hier muss ich dafür Sorgen, dass K1-Kn nicht 
gleichzeitig zuschnappen können. Und vor einem Wechsel am Besten zur 
Sicherheit auf 0 gehen, damit nichtmal kurzzeitig ein Kurzer reinkommt.

Von der Anwendung links kommen Relais die 5V der Spannungsquelle 
durchlassen, oder eben nicht. Deswegen eigentlich noch PullDown-10k die 
ich im Schaltbild vergessen habe.

edit:
Der kritische Fall ist in meinen Augen jetzt wenn S0 und S1 auf 5V sind, 
oder das Umschalten: S0 von 5V auf 0V und S1 von 0V auf 5V im gleichen 
Moment.

von tip (Gast)


Lesenswert?

Die Logik umzusetzen wäre doch was für einen kleinen CPLD wie z.B. 
XC9536, XC9572.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Robert M. schrieb:
> Im linken Teil hab ich Freiheit ab der Anwendung.
Das heißt, DU machst diese "Anwendung"?
Und du hast auch Zugriff auf die 12V-Versorgung der Relais?

Dann könntest du leicht mit dem angesprochenen CPLD alle Eingänge 
abfragen und dann im Fehlerfall die 12V für die Relais abschalten. Das 
wäre eine komplett autonome Einheit. Hier der VHDL-Code dafür:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
4
entity MaxOne is
5
    Port ( Relais : in  STD_LOGIC_VECTOR (19 downto 0);
6
           Fehler : out  STD_LOGIC);
7
end MaxOne;
8
9
architecture Behavioral of MaxOne is
10
11
begin
12
   process (Relais) 
13
   variable Ones : integer;          -- Zähler für die aktiven Relais
14
   begin
15
      Ones := 0;                 
16
      for i in Relais'range loop     -- alle Relais abklappern
17
         if Relais(i)='1' then
18
            Ones := Ones+1;          -- aktive Relais mitzählen
19
         end if;
20
      end loop;
21
      if Ones>1 then Fehler <= '1';  -- wenn mehr als 1 Relais aktiv: Fehler
22
      else           Fehler <= '0';
23
      end if;
24
   end process;
25
end Behavioral;

Alternativ könntest du das CPLD ganz links zwischen deine "Anwendung" 
und die Relaistreiber schalten, und nur 1 Ausgang aktiv sein lassen:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
4
entity MaxOne is
5
    Port ( Anwendung : IN  std_logic_vector(19 downto 0);
6
           Relais    : OUT  std_logic_vector(19 downto 0)
7
          );
8
end MaxOne;
9
10
architecture Behavioral of MaxOne is
11
12
begin
13
   process (Anwendung) begin
14
      Relais <= (others=>'0');        -- erst mal alles ausschalten
15
      for i in Relais'range loop
16
         Relais(i) <= Anwendung(i);   -- dann Pin für Pin zuweisen
17
         if Anwendung(i)='1' then     -- nach der ersten '1' abbrechen
18
            exit;
19
         end if;
20
      end loop;
21
   end process;
22
end Behavioral;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.