Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Vielen Dank André, > > der Hinweis nur solange abzufragen, wie die INT-Leitung den Status "low" hat war es, für den ich den > "Hilfe-Schubs" brauchte. > > Eigentlich hätte ich selber drauf kommen müssen, da ja heute bereits die 10x Eingangsmodule bei mir > schon auf 3 INT-Leitungen aufgeteilt sind. Hier wird auch bei der Abfrage des Verursachers die > weitere Suche beendet. Allerdings ist hier das Kriterium ein Zwischenspeicher der Portzustände > in einer globalen Variablen, welche gegengeprüft wird, und nicht, ob sich der Zustand der > INT-Leitung geändert (auf "high") gegangen ist. > > Danke für den "Hilfe-Schubs". > > mfg > Dirk > > > > Hallo Dirk, > > > > > Zum Zwecke der PV-Anlagen-Überwachung würde ich nun gerne die diversen S0-Impulse der neuen > > > Smart-Zähler (PV-Erzeugungszähler und Zweiweg-Zähler) als auch der zusätzlich installierten > > > elektronischen 230V-Wechselstromzähler auswerten wollen. > > > Insgesamt sind es dann mittlerweile 10x S0-Impulse, welche ich per CC2-Station auswerten möchte. > > > > > > <b>Wie würdet Ihr vorgehen unter Nutzung welcher Hardware, um die besagten 10 S0-Impuls-Geber > > > auszuwerten, so dass die Belastung für den I2C-Bus als auch der CC2-Station so gering wie möglich > > > ist.</b> > > > > Es ist auszugehen, daß die Impulse eher selten eintreffen. Bei hher Laste evtl. jede Sekunde. > > Ansonsten kann es schon, je nach Zähler, bis zu einer Minute dauern, bis ein Impuls erzeugt wird. > > Der I²C-Bus pakt dis auch bei 10 Zählern ohne Probleme. > > > > > > > Bei den I2C-CNT2-Modulen existiert ein INT-Ausgang, welcher widerum theoretisch > > > auf der CC2-Station an den 8 digitalen Ports P0 ... P7 abgefragt werden könnte, das ist bekannt. > > > Allerdings habe ich die Herausforderung, dass die Impulsintervalle bei den versch. S0-Gebern > > > extrem auseinander liegen können => jedesmal, wenn einer der 10 CNT-Eingang über INT einen > > > Zählimpuls anzeigen würde, werden alle 10x CNT-Zähler abgefragt, halte ich nicht gerade > > > für besonders effektiv. > > > > Wenn Du alle INT-Ausgänge an einen Eingang der CC2 legst, mußt Du nicht unbedingt > > alle Zählermodule abfragen. Du frägst nur solange ab, wie der Interrupt besteht. D.h. Du prüfst > > nach jedem Abfragen eines Zählermoduls, ob die INT-Leitung noch low ist. Ist sie es nicht, brichst > > Du das Abragen der weiteren Counter ab. > > Es ist hier hilfreich, die Zähler zuerst abzufragen, bei denen es wahrscheinlich ist, daß öfter > > Impulse eintreffen. Der Zähler, bei dem am seltensten ein Impuls eintrifft, wird beim Interrupt > > zum Schluß abgefragt. So bleibt die Buslast relativ gering. > > > > > Klar würde das funktionieren, allerdings hätte ich hier von Hause aus eine Effektivität > > > von gerade 10%. Jedes einzelne I2C-CNT2-Modul per INT-Signal einzeln auszuwerten funktioniert > > > aufgrund der zukünftigen Doppelbelegung (swcom an P1 und P2) und der bereits > > > etablierten Auswertung der I2C-Eingangsmodule für die diversen Taster auf P4 bis P7 > > > rein technisch nicht. > > > > Man kann natürlich auch mit mehreren Interruptleitungen arbeiten. Aber bei der geringen Buslast > > ist das nicht notwendig. > > Übrigens kann man die AD-Ports auch als digitale Eingänge nutzen. Das wäre dann P5. > > <code>inline function get_P5() returns byte > > { > > inline vmcodes.VM_LOAD_ABSOLUTE_BYTE; > > inline 0xFFA2; > > }</code> > > > > Diese Funktion gibt das Bitmuster der 8 AD-Ports als Digitalports wieder. > > Es muß aber u.U. erst über as P5DIDIS-Register der Portpin mit dem Digital-Input-Stage > > verbunden werden. Dies ginge mit folgender Funktion: > > <code>inline function set_P5DIDIS(int data) > > { > > inline vmcodes.VM_STORE_ABSOLUTE_INT; > > inline 0xFFA4; > > }</code> > > > > Nähere Infos dazu im User-Manual zum C164CI-Controller Kapitel 7.8. > > > > MfG André H.