Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
hohe Anzahl an Relaiskarten mit VEE steuern
01.03.2016, 16:26
Beitrag: #16
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Literatur brauchst du keine. Es genügt das Handbuch (PDF) zum Interface und die entsprechenden Datenblätter zu deinen verwendeten I2C-Bausteinen.

Das ganze ist wirklich sehr einfach zu handhaben.

-Interface installieren
- in der Systemsteuerung sollte es dann bei den COM-Schnittstellen auftauchen
- diese COM Schnittstelle auf 115200 baud 8N1 stellen (Screenshot)
- Im Connection Expert ebenso Baud und Bits einstellen und einen Alias vergeben (z.B. ELV_I2C) (Screenshot)

Und schon kannst du das Interface aus VEE ansteuern. Kleines Beispielprogramm als Scrennshot im Anhang.
Evtl. in VEE noch Instrument Properties einstellen, aber normal sollte es gleich klappen.

Gruß Peter


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.03.2016, 16:21
Beitrag: #17
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Peter,

verdammt: ich habe das gerade erst gesehen !!! - ganz vielen Dank - ich werde berichten !!
LG Reinhold
Diese Nachricht in einer Antwort zitieren
08.03.2016, 11:39
Beitrag: #18
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Peter,

mit der Steilvorlage von Dir musste das funktionieren, ich habe Kontakt zum Interface - erst mal ganze vielen Dank - ich würde gerne einige nun entstandene Fragen diskutieren - melde mich kurzfristig -
LG Reinhold
Diese Nachricht in einer Antwort zitieren
14.03.2016, 08:27
Beitrag: #19
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Guten Morgen Peter,

bin am Wochenende ein bisschen zu probieren gekommen. Folgende Anmerkungen/Fragen:

1) der Baustein (als Slave gedacht) NXP PCA9698 hat zwar 40 Kanäle, es sieht aber so aus, als ob die Kanäle in 5 Gruppen zu je 8 I/O´s eingeteilt wären - das würde bedeuten, dass ich pro Slave für meine Anwendung nur 5 I/O´s schalten kann - und dies würde wiederum bedeuten, dass ich für 1920 frei schaltbare Relais 384 Slaves bräuchte - (was mich jetzt nicht wirklich schreckt) - kennst Du einen anderen Baustein, der ein bessere "Ausbeute" hat - oder liege ich falsch ?
2) Die Bit-Arie: liege ich mit folgender Überlegung richtig: bei 7-Bit hätte ich die Möglichkeit, 128 I/O´s anzusprechen - die 10 Bit-Version kann 1024 I/O´s erreichen - um auf meine Zielzahl 1920 zu kommen, müsste ich einen zweiten Bus eröffnen - oder die Multimaster-Version wählen - die Multimasterversion hat aber vermutlich ein Adressierungsproblem ?? Ist das mit einem zweiten separaten Bus auch so ?
3) Ich konnte aus den technischen Beschreibungen des NXP PCA9698 Bausteins nicht ableiten, ob der Baustein (Slave) nach der Ansprache durch den Master die Programmierung hält (wie eine monostabile Kippstufe), bis der Befehl kommt, wieder loszulassen - liege ich da richtig ?

Wie immer dankbar für alle Hinweise - eine harmonische Woche - LG Reinhold
Diese Nachricht in einer Antwort zitieren
14.03.2016, 13:57
Beitrag: #20
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Reinhold,
deinen Punkt 1 verstehe ich nicht ganz. Wie ich in Beitrag #6 schon geschrieben habe hat jeder PCA9698 40 IOs. Jeden dieser 40 IOs kannst du wahlweise als Ein- oder Ausgang programmieren. In deinem Fall sind ja nur Ausgänge von Nöten, also hast du pro Baustein 40 Ausgäng und kannst somit 40 Relais unabhängig ansteuern. Insgesamt könntest du 64 Bausteine (PCA9698) an einem Bus betreiben ! Beim Bus ist das Interface (ELV) der Master, alle Bausteine sind Slaves ! Die Bausteine werden am Bus durch verschieden Adressen angesprochen. Die Adressen werden hardwaremäßig eingestellt indem die Adresspins AD0-AD0 (Pin 27-29) entsprechend "verkabelt" werden. (Tabelle "address map"). Es ist schon richtig das die 40 IOs (bei dir Ausgänge) in 5 "Bänke" eingeteilt sind, aber das macht ja nur was bei der Programmierung aus. Je nachdem in welcher "Bank" der Ausgang liegt, mußt du den "Schaltbefehl" halt an das entsprechende Ausgangsregister (OP0-OP4) senden.Mit einem "Schaltbehl" sprichts du immer alle 8 Ausgäng (einer Bank) gleichzeitig an, indem du halt ein komplettes Byte sendest. Willst du nur einen Ausgang schalten mußt du für die anderen 7 eben den gleichen "Zustand" senden, den sie eh schon haben. (dazu kannst du z.B. das Ausgangsregister auch vorher wieder zurücklesen)
2.) Zweiter Bus wäre erst ab 64(Adressen) * 40(Ausgänge) = 2560 Ausgäng nütig !
3.) Solange der PCA9698 Betriebsspannung hat behält er immer den letzten programmierten Zustand. Um einen Ausgang wieder Auszuschalten muß ein erneuter Befehl gesendet werden, da liegst du richtig. Wird die Betriebsspannung weggenommen geht der Baustein wieder in seinen "Grundzustand". Alle IOs sind dann z.B. als Eingänge definiert und müssen erst wieder durch Programmierung der "I/O Configuration Register" als Ausgänge gesetzt werden.
Angenommen ein PCA9698 hätte die Adresse 20(hex) dan sendest du übers Interface die Text:
"S20 18 00 P" (die Leerzeichen können auch wegbleiben, aber ich finde sie gut da man dann besser unterscheiden kann was was ist)
"S20 19 00 P" (Bank1)
"S20 1A 00 P" (Bank2)
"S20 1B 00 P" (Bank3)
"S20 1C 00 P" (Bank4)

Beispiel "S20 18 00 P" => "S" = Startbedingung, also Start des Befehls; "20" = Slaveadresse; "18" = Registeradresse des I/O Conf Register für Bank 0; "00" = ein Byte als Hex-Wert geschrieben "00000000", also alle 8 IOs als Ausgang definiert. "0" = Ausgang "1" = Eingang; "P" =Stoppbedingung

Würdest du "S20 18 F0 P" senden, würdest du IO 0-3 der ersten Bank als Ausgang definieren IO4-7 als Eingang definieren da "F0" => "11110000" entspricht.

Ist alles wirklich nicht kompliziert, wenn man's einmal verstanden hat.

Gruß Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.03.2016, 08:53
Beitrag: #21
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Guten Morgen Peter,

mein lieber Schieber ! das ist eine Breitseite - vielen Dank ! Ich baue das jetzt physisch auf und popel mich durch. Der nächste Schritt ist das Layout für das "Slavegrab" - ich werde berichten - Wenn ich durch bin, bitte ich um einen Telefonnummer o.ä. von Dir, - das hat dann seine Gründe.
Sicherlich wird noch die eine oder andere Frage oder Anmerkung kommen - erst mal Danke !!!
LG Reinhold
Diese Nachricht in einer Antwort zitieren
15.03.2016, 10:20
Beitrag: #22
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Es gäbe auch käufliche Evaluation Boards zum PCA9698 (z.B. Conrad 1124691 - 62 oder halt mal nach "PCA9698 Evaluation" suchen ), das könnte dir vielleicht die "Angst" nehmen das mit der Programmierung nicht zu schaffen.
Aber sei beruhigt, vom Datenblatt (PCA) mußt du das wenigste wissen/verstehen.
Es reicht den Baustein richtig zu initialisieren (IO-Control Register+OUTCONF (Register 28h))
danach nur die OUT-Register beschreiben um die entsprechenden "Schaltbefehle" zu senden.

Wenn du gleich in die Hardware gehst solltest du die Beschaltung der diversen "anderen Pins" beachten (Output Enable;RESET usw.)
Anbei ein kleiner Screenshot von einer "funktionierenden" Beschaltung.
Die Adresspins sind hier mit "Lot-Jumpern" so ausgelegt, das jede Slave-Adresse "(Löt-)programmiert" werden kann.

Fragen sollten wir vielleicht hier beantworten, dann hat vielleicht irgendwann jemand anderes noch was davon. Wenn's dann um die Programmierung geht, geht's ja wieder um "VEE". Im Moment ist es halt "Hardware", aber wir sind ja auch im Hardware-Forum.

Gruß Peter


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.03.2016, 16:28
Beitrag: #23
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Peter,

soeben sofort zwei von den Evaluation-Boards beim Conny geordert (Natürlich zwei, falls ich auf ein´s versehentlich beim Löten draufsteige !) - ich werde berichten -

LG Reinhold
Diese Nachricht in einer Antwort zitieren
17.03.2016, 10:14
Beitrag: #24
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Peter,

gibt´s einen Grund, warum Du nur von 64 möglichen Slaves beim I2C-Bus sprichst ? (laut den Unterlagen sind immer 128 im Monomaster-Betrieb - und anscheinend n-mal mehr Slaves im Multimaster-Betrieb möglich) - LG Reinhold
Diese Nachricht in einer Antwort zitieren
17.03.2016, 13:24
Beitrag: #25
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Reinhold,

habe nur gesagt das du maximal 64 Stück vom PCA9698 an einem Bus betreiben kannst. Das liegt daran das sich beim PCA9698 eben "nur" maximal 64 verschiedene Adressen einstellen lassen.
Und jeder Baustein braucht halt eine eigene Adresse, wenn er am gleichen Bus betrieben wird.
Wenn du andere Bausteine mit am gleichen Bus betreibst, müssen die eben andere Adressen haben.

Die "möglichen" Adressen findest du in den entsprechenden Datenblätter der Bausteine.

Das letzte Bit (LSB) der Adresse wird normalerweise dazu verwendet eine Lese- (Bit=1) oder Schreiboperation (Bit=0) zu unterscheiden, deshalb sind die möglichen Slaveadressen auch immer "im Zweierschritt" also quasi "geradzahlig"
z.B. 40h ... 42h. Weil dann an den einsprechenden "ungeraden" Adresse 41h....43h gelesen werden kann.

Das ELV-Interface macht diese "Adresserhöhung" teils automatisch.
Nehmen wir an ein PCA9698 hat Adresse 40h dann kannst du mit:
"S40 08 F0 P" => "11110000" an die Bank1 ("08") des Baustein schicken
mit
"S40 08 R01 P" => "R01" ein Byte lesen von Deviceadresse 40h Register "08" (Bank1) . In Wirklichkeit wird von Adresse 41h gelesen, aber das macht das Interface automatisch.

Gruß Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2016, 07:45
Beitrag: #26
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Guten Morgen Peter,

wie gewohnt extrem nahrhafte Antwort !
Vielen Dank - ich werde berichten, sobald die Testboards da sind.

ein sonniges Wochenende für Dich -

Gruss Reinhold
Diese Nachricht in einer Antwort zitieren
01.07.2016, 08:18
Beitrag: #27
RE: hohe Anzahl an Relaiskarten mit VEE steuern
Hallo Reinhold,

gibt's was neues zu dem Thema ?

Gruß Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:




Partnerforen: LabVIEWForum.de| DIAdem-Forum.de| Machine-Vision-Forum.de| goMatlab.de| VEEforum.de