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 ! > 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.