06.11.2018 16:07 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
Hallo zusammen, heute möchte ich mein Projekt zur Haussteuerung vorstellen mit 7 Logos, darunter 2x 8er und 5x 7er Logos. Derzeit ist noch wenig Logik eingebaut und die meisten Fragen beziehen sich erstmal auf die Netzwerkkommunikation. Da ich zwischen 7er und 8er Logos nicht einfach Ein- und Ausgänge verbinden kann, habe ich einen zentralen Ansatz verfolgt gemäß logo-7-und-8-netzwerk-master-master. Leider konnte ich auf der Seite keinen Kontakt zum Author bekommen, auch nicht übers Forum, um zu klären, inwieweit der Ansatz noch aktuell ist mit Logo Soft Comfort 8.2. Hauptziel dabei ist, dass jede Logo jederzeit alle Daten der anderen kennt. Um keine Kreuzverbindungen zu schaffen wird eine der Logos zur zentralen Server-Logo bestimmt, bei mir ist das die Logo #3, weil das eine 8er Logo ist. Nachteil hierbei sind die verlängerten Laufzeiten der Signale. Ich stelle zunächst meine Pläne und Screenshots vor, im Anschluss stelle ich einige der vielen Fragen und Probleme vor. DateianhangLogo_Ins-Outs.pdf (451 Downloads) |
06.11.2018 16:16 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
Leider kann ich in jedem Beitrag nur einen Anhang mitsenden.... Ich lese die Eingänge nicht direkt von IB, sondern über Merker nach VB, da ich noch Verzögerungen einbauen musste, damit kurze Taster im Netzwerk nicht verloren gehen. Das Datenmodell sieht so aus, dass auf jeder Logo ab VB100 der Bereich der Logo#1 abgelegt wird, unter VB200 der Bereich der Logo#2 etc. Unter VBx00 bis VBx03 liegen die Merker, von VBx04 bis VBx05 liegen die Ausgänge. Der Datenaustausch läuft über die Logo #3. Jede Logo liest erstmal die Merker MB und Ausgänge QB der Logo #3 sowie die VBs der anderen Logos von der Logo #3, und schreibt die eigenen Merker und Ausgänge auf die Logo #3. DateianhangLogo_VM.pdf (414 Downloads) |
06.11.2018 16:42 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
Leider kann ich so nicht die Screenshots schön im Text integrieren. Hier ist erstmal das ZIP mit den Plänen, Screenshots und dem .mnp Projekt. Ich habe nun annähernd verstanden, wie es überhaupt mit der Netzwerkkommunikation funktioniert. Ein Problem dabei ist das Timing. Über 2 Logos transportiert kann ich am Ausgang der Logo #6 den Eltako-Dimmer kaum steuern. Er reagiert sehr verzögert, manche Tastungen kommen gar nicht an. Außerdem habe ich auf dem Netzwerk nun ziemlichen Sturm. Auch wenn ich noch keinen Router dazwischen habe, um das zu analysieren, kann ich am Switch schon regen Austausch erkennen. Werden hier wirklich die gesamten VBs permanent in jedem Zyklus übers Netzwerk transportiert? Das wäre natürlich suboptimal, ich hätte erwartet, dass nur Datenänderungen verteilt werden. Ich transportiere derzeit sehr wenige Daten, nur Bits für die Tasteraktionen, diese sollten aber zeitkritisch verteilt werden. Ich habe einmal angeschaut, wie eine Netzwerkverbindung implementiert wird, wenn man es nach dem Standard zwischen zwei 8er Logos macht, d.h. z.B. Eingang von Logo #1 auf entfernten Ausgang auf Logo #2 ziehen. Dadurch wird die Logo #2 als Client den NQ1 vom Server Logo #1 auf den eigenen NI1 schreiben. Warum geht das mit den 7er Logos nicht? Wäre das zwischen 8er Logos performanter oder am Ende vom Ablauf identisch? Was mich dabei wundert, wenn ich in so einem Minibeispiel mit 2 8er Logos den Bausteintyp des Netzwerkausgangs bearbeite, steht dort Remote-Gerät LOGO!8..., NI (Netzwerkeingang der anderen Logo). Wenn ich selbst den Bausteintyp editiere, kann ich aber nur I, Q, M, V wählen, nicht NI. Warum ist das so? DateianhangNetzwerkprojekt_Screenshots_Pläne.zip (423 Downloads) |
07.11.2018 09:55 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
Da ich schon dachte, dass die Kommunikation über Netzwerk suboptimal ist, habe ich bei der Planung natürlich versucht, alle IOs möglich auf den Logos lokal zu verteilen. Dennoch habe ich einige Signale, die ich netzwerkweit benötige, z.B. manche wenigen 230V Taster oder 230V Bewegungsmelder und Präsenzmelder, die ich auf Transistor-Ausgänge verbinden möchte. Wie analysiere ich nun die Fehler bei der Netzwerkübertragung? Ich dachte, zum einfachen Testen könnte ich schonmal den Hausgong auf so einen Remote-Taster legen und die Antwortzeiten testen. Das Dimm-Modul reagiert nämlich empfindlich auf das Timing, da Kurz-Tasten an/aus bedeutet und längere Tastung nach oben/unten dimmt, sowie initiales Lang-Tasten mit niedriger Dimmstufe hochdimmt etc. Scorp hat in einem anderen Thread geschrieben, dass er sowas lieber über Modbus trackt statt über den Datalog. Ist mit Datalog die Funktion E/A-Zustand in LSC gemeint? Dieser zeigt ja tatsächlich nur im Sekundentakt an, kurze Tastungen sieht man dort nicht immer. Warum macht Modbus das besser und gibt es spezielle Software für Modbus (Linux)? Ich finde zwar libmodbus, aber keine frontends. qmodbus werde ich mal testen. Wie läuft die Netzwerkkommunikation über Merker ab. Wird einfach in jedem Zyklus der gesamte Speicher geschrieben? Wie ist der Zyklus-Takt? Wenn das ebenfalls wie das Datalog einmal in der Sekunde nachschaut, würde es erklären, warum kurze Tastungen gar nicht übertragen werden. Würde das der Slave-Modus besser machen, auch wenn ich ungern auf Master-Master verzichten würde, um die Kapazitäten der Logos besser zu nutzen. |
07.11.2018 11:09 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
In 64143308_LOGO_Set9_Master_Slave_LOGO_7_de.pdf auf S.5 lese ich:
Das sagt mir einerseits, dass das Problem bei der Master-Slave Kommunikation ebenfalls besteht, und andererseits, dass ich mit meinen 150 oder 250ms Verzögerung evtl. zur kurz taste. Ich werde es mit 500ms versuchen, das könnte es schon lösen...Schade, dass solche wichtigen Informationen nur verteilt zu finden sind. Dateianhang64143308_LOGO_Set9_Master_Slave_LOGO_7_de.pdf (340 Downloads) |
Zuletzt bearbeitet von: massb am: 07.11.2018 11:09:52Zuletzt bearbeitet von: Jen_Moderator am: 07.11.2018 14:06:55PDF als Anhang hinzugefügt. |
|
07.11.2018 18:50 | |
Beigetreten: 18.12.2014 Letzter Bes: 20.09.2024 Beiträge: 33800 Bewertung: (4199)
|
Im Anhang mal ein Bildschirmvideo für eine Versuchsschaltung.. Ganz einfach ein Signal zwischen 2 LOGO!s hin- und zurückgeschickt. Das soll dir nur mal aufzeigen, wie du dir die Laufzeiten bei den Programm anschauen kannst. Das ist aber keine generelle Aussage. Es spielen zu viele Faktoren eine Rolle. DateianhangMessung.zip (380 Downloads) |
29.01.2019 21:17 | |
Beigetreten: 18.12.2014 Letzter Bes: 20.09.2024 Beiträge: 33800 Bewertung: (4199)
|
Dann kannst du ja auch dies Thema als erledigt markieren. |
28.03.2019 11:26 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung: (207) |
Ich wundere mich auch, warum du soviel Probleme hast mit deinem Netzwerkprojekt. Im Anhang ist ein kleines Netzwerkbeispiel für deinen Dimmer mit Rückmeldesignalen ohne das genauer ausprobiert zu haben. Einfach in der Simulation ausprobieren und dann auf ähnliche Weise in dein Projekt integrieren.. M.f.G. Scorp DateianhangNetzrückmeldung1.zip (233 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
04.12.2020 20:13 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
Mittlerweile nutze ich LSC 8.3. Die Probleme mit dem Netzwerktiming bestehen immer noch. Ich habe teilweise die Taster an der einen Logo und die Aktoren an der anderen Logo. Die Ausgänge tasten auf Eltako-Dimmer. Ich hänge mal mein Netzwerk-Projekt an. Der Taster, der das Problem hat, liegt auf Logo #03, Taster Flur OG links und auch rechts. Das sind ausnahmsweise 230V und hängen daher an der 230V Logo. Der Aktor ist auf der Logo #06. Bei Bedarf kann ich auch die Google-Tabellen teilen, wo ich mir die IOs und VM-Bereiche notiere. Beim Tasten wird nur jeder 2. oder 3. Tastvorgang erfolgreich übertragen. Auf Tasterseite habe ich extra schon einen Verzögerer (NET_DELAY) eingebaut, damit zu kurze Tastsignale auch sicher übertragen werden. Eigentlich ist das nicht wirklich zeitkritisch, eine 1s Flanke zu erkennen und über Netzwerk zu übertragen. Aktuell hängt an den "Licht an"-Ausgängen der Trigger der Eltako-Dimmer, d.h. Tasten ist ein und aus, und lang Tasten ist Dimmen. "Licht aus"-Ausgänge hängen an dem Zentral-Aus des Dimmers. Später möchte ich den "Licht an"-Ausgang an den Zentral-Ein hängen. Dafür benötige ich aber noch mehr Logik, ein Beispiel zur Ansteuerung eines solchen Dimmers gibt es hier im Forum bereits. Derzeit leite ich also mit der Logo eigentlich nur den Taster weiter auf den Eltako-Dimmer. Auf der Logo #3 habe ich angefangen, Bewegungsmelder einzubauen, die nutzen bereits bei fallender Flanke den Zentral aus, damit es einigermaßen synchron bleibt und ich noch keine Information über den Zustand der Lampe habe. DateianhangProjekt_Haus.mnp.zip (230 Downloads) |
14.12.2020 11:53 | |
Beigetreten: 29.10.2015 Letzter Bes: 19.09.2024 Beiträge: 182 Bewertung: (6) |
Dass da gar nichts läuft, stimmt nicht. Da musst du nochmal genauer hinschauen. Der Ansatz mit den Merkern ist eine Möglichkeit, über Netzwerk zu kommunizieren. Die unterschiedlichen Ansätze, wie man Netzwerkübertragung zwischen 7er und 8er Logos programmiert, hatte ich mal hier diskutiert. Das Problem mit dem Timing werde ich auch lieber dort nochmal getrennt untersuchen, indem ich mal einen Flipflop Testaufbau erstelle, um nachzuvollziehen, welche Schaltfrequenz noch sicher übertragen werden kann. Für das sichere Übertragen der Bewegungsmelder habe ich schon einen besseren Ansatz: Ich sende hier einen viel längeren Impuls, z.B. mind. 10s oder einfach das Melder-Signal selbst mit einer Rückstellzeit von 60s. Auf der Empfänger-Logo werte ich dann nur die steigende Flanke aus. Für einfache Tast-Signale kann ich das so machen, nicht aber für die derzeitige Konfiguration für die Taster mit Eltako-Dimmer. Dort muss ich ja den Eltako auch kurz (schalten) und lang (dimmen) tasten können, weshalb ich ziemlich genau im Bereich von 1s Tastsignale übertragen muss. Dass das per Netzwerk ein Problem ist, war mir zu Anfang nicht bewusst. Mein gesamtes Hausprojekt möchte ich weiterhin hier besprechen, was evtl. auch andere Hausautomatisierer mit Logo interessieren könnte. Zu deinen Fragen: Die Übertragung der Merker ist in den Netzwerkverbindungen zu sehen. Wenn du die öffnest, siehst du das Mapping von MB an der Quelle auf VB am Ziel. Meine Richtlinie dabei ist, dass ich immer nur pushe, d.h. keine Daten abgreife. Das bedeutet, ich schreibe nur aktiv auf andere Logos (->). Außerdem nehme ich als Ziel VB einen Nummernbereich, der der Logo entspricht (Logo #5: 500-599). Das Mapping der VMs habe ich als Google Tabelle gepflegt. Vorteil der Google-Dokumente ist, dass ich mit dem Handy im Keller vor den Verteilern schnell mal was aktualisieren oder nachschauen kann. I5, offener Anschluss: Bewegungsmelder im Bad, hier habe ich halt noch nichts getan. Das Projekt ist noch in der Entwicklung. Als ersten Bewegungsmelder habe ich testweise die beiden I3 und I4 auf Logo#3 in Betrieb genommen. Welche Verbindung zur Logo#6 ist doppelt? Bei den Netzwerkverbindungen wollte ich zunächst den zentralen Ansatz aus dem Thread oben verfolgen, habe das aber direkt verworfen, weil dann die Signal-Laufzeiten nochmal doppelt so lang sind. d.h. ich versuche nur die wenigen Daten zu senden, die ich brauche, also meistens nur ein Byte, und das direkt zu der Logo, wo ich die Daten brauche. Leider scheint die Netzwerkübertragung einfach permanent mit einem eigenen Zyklus die Daten zu übertragen, auch wenn hier nichts passiert. Mit den Netzwerkverbindungen habe ich jedenfalls permanenten Traffic zwischen den Logos, nur um ein paar Taster pro Tag zu erfassen (-> Thema Netzwerkverbindungen). Logo #6: Warum unfertig und kaum nachvollziehbar? Ich habe alle Ein- und Ausgänge beschriftet gemäß meiner Tabellen. Auf Logo#6 werden derzeit nur ein paar Lichtkreise geschaltet. Alle Verbindungen, die innerhalb einer Logo ohne Netzwerk passieren, funktionieren aktuell schon einwandfrei.Offene Taster, die ich noch nicht verwende, setze ich immer auf eine offene Klemme X, das habe ich vlt. noch nicht überall sauber umgesetzt. Für Vorschläge zur Übersichtlichkeit bin ich dankbar. Ich merke auch, sobald ich mehr Logik auf den Eingängen programmiere, reicht manchmal der Platz nicht mehr ganz und ich muss neu Layouten. Als langjähriger Softwareentwickler liegt mir die graphische Programmierung nicht so sehr, auch wenn ich selbst viel CAD mache. Die Linien sind nicht immer gerade, mit Layouting möchte ich mich eigentlich auch kaum beschäftigen, das automatische Layouting funkioniert nicht immer wie erwartet. Hier kann ich bestimmt noch optimieren. Wenn ich die Netzwerkverbindungen und Bewegungsmelder mal stabil habe, wird übrigens die nächste Ausbaustufe KNX sein, das CMK2000 habe ich schon. |