Autor Thema: Zeit / Datumsychronisation von EC4P und XV102  (Gelesen 9443 mal)

Offline Yves

  • Newbie
  • *
  • Beiträge: 10
Zeit / Datumsychronisation von EC4P und XV102
« am: Februar 11, 2019, 22:06:51 Nachmittag »
Hallo liebe Forenmitglieder,

als neues Mitglied möchte ich mich ich mich zunächst kurz vorstellen.

Meine Name ist Yves und ich kam zu der in diesem Forum behandelten Thematik über diverse Umwege. Im Rahmen der - privaten - Renovierung eines alten Bauernhauses sah ich mich gezwungen hier auch einiges im Bereich Gebäudesteuerung zu unternehmen. Damals - Mitte der 80'iger Jahre des letzten Jahrhunderts - zunächst rein hardwarebasierend. Später stellte ich auf PC-Steuerung, programmiert unter Turbo-Pascal bzw. C++, um. Dies funktionierte auch einige Jahre verhältnismäßig gut. "Verhältnismäßig gut" dashalb, weil es trotz aller Sorgfalt beim Programmieren mit steter Regelmäßigkeit dazu kam, dass "meine Gattin - begleitet von lauten Unmutsäußerungen" kalt duschen musste. Ursache war hier immer der gefürchtete "Blue-Screen", Bill Gates ließ grüßen. Also...Rechner reseten und danach lief alles wieder. Da die Steuerung jedoch auch kritischere Komponenten wie Solaranlage und Holzzentralheizung managte verursachten mir die windowsverursachten Systemabstürze allmählich Bauchschmerzen.
Aus diesem Grund enschied ich mich ca. 2012 den PC durch eine EC4P zu ersetzen und für die Visualisierung ein XV102 einzusetzen. Nach Überwindung der üblichen anfänglichen "Blut-, Schweiß- und Tränenphase" kam das System zum Laufen und verrichtet bis heute zuverlässig seinen Dienst.

Nun bin ich dabei das nächste Haus zu renovieren und stütze mich dabei naturgemäß auf die gleiche Gerätegrundkonstellation:
Steuerung: EC4P
Visualisierung / Parametereingabe: XV102 auf jeder Gebäudeetage
E/A-Erweiterungen: XNE ECO Gateaway, bestück mit XNE 8/16DI bzw. 8/16DO
Temperaturerfassung: Rinck MUX-U16, Rinck Messverstärker MV-NI1000 auf Analogeingang der EC4P
Programmierung: Codesys 2.3.9, Galileo 8.1.12

Mittlerweile laufen die Basisfunktionen (Wärmepumpen-, Brauchwasser-, Raumheizungssteuerung) wunschgemäß. Weitere Funktionen werden synchron zum Fortschritt der Gebäuderenovation implementiert. Hierbei wird es sich primär um Rolladen- und Beleuchtungssteuerung handeln. Über Bewässerung-, Zutritts-, Alarmfunktionen beginne ich nachzudenken.

Nach meiner - ich hoffe nicht zu langatmigen - Vorstellung nun zu meinem aktuellen Problem. Ich schaffe es gegewärtig nicht die Displays mit der EC4P-Zeit zu synchronisieren. Die Kommunikation erfolgt über CAN-Bus und wird unter Codesys durch den Funktionsblock EC4netCANopenHMI aus der gleichnamigen Bilbliothek realisiert. Gegenwärtig habe ich nun folgende konkreten Fragen / Probleme:
1.  Ist meine Vermutung richtig, dass - obwohl die Kommunikation über CAN bereits funktioniert - tatsächlich grundsätzlich unter Codesys noch die 3 Systemstrukturen
(Kontroll-, Zeit/Datum-, Statusstruktur) angelegt und mittels HMI-Transfer an die Terminals zu übertragen sind um die Zeitsnchronisierung zu ermöglichen? Für die Übertragung werden diesen Strukturen Adressen zugewiesen die denen der Systemvariablen in Galileo zugewiesenen entsprechen?

2. In Galileo versuchte ich den Systemvariablen "Control", "Date_Time" und "Status" Adressen zuzweisen. Dies gelang nur bei "Date_Time" (in meinem Fall: MW1500). Nur diese wird grün dargestellt - d. h. nach meinem Verständnis i. O.. Die beiden Anderen sind - egal welche Adresse ich auch eintrug - immer rot, d. h. nach meinem Verständnis n. i. O.. Warum bleiben diese beiden Adressen rot?

Da Frauen, die früher häufig kalt duschen mussten heute natürlich schon misstrauisch werden, wenn Rolladen um 18:57h (Display-Zeit) schließen, obwohl sie 19:00h (Ec4P-Zeit) programmiert waren würde ich mich über tatkräftige Unterstützung bei der Lösung dieses Problems sehr freuen. :D

Grüße
Yves

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #1 am: Februar 15, 2019, 21:07:51 Nachmittag »
Hallo Yves,

da steckt bestimmt ne menge Arbeit in dem Projekt. Respekt!
Ich will mal versuchen etwas Licht in's Dunkel zu bringen.
1: Ja, jede Variable die du pollst muss auch ein Gegenstück auf der Codesysseite haben.

2: Was hast du für eine Kommunikation eingestellt (CAN-Polling)? Achtung, hier ändern sich die Größen Control=2, D_T=2 und Status=8 Worte.
   Du musst hier beim aktivieren auch die korrekten Adressen eintragen: Index dez, Subindex dez .0 oder auch Index hex, Subindex hex .0 
   Mit welchem Format funktioniert denn deine restliche Kommunikation?
   Manchmal muss man bei verschiedenen Variablentypen probieren weches Format passt.


Warum nimmst du extra eine ec4p als Steuerung? Diese Arbeit kann doch auch ein XV übernehmen. HMI Kommunikation über LAN einrichten, das ist dann viel leistungsfähiger als CAN.
Den CAN nur als Feldbus entlastet das ganze System.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #2 am: Februar 15, 2019, 21:51:59 Nachmittag »
Habe gerade gesehen, du müsstest den Verbindungstyp "Moeller XControl CAN Open HMI" eingestellt haben. Hier ist es etwas leichter, da dann nur MW%d oder PLC%d,MW%d als Format ist.
Trotzdem mal die Grösse der Strukturen prüfen, manchmal steht noch eine 8 drin, muss aber 2 sein.
Weil Einfach einfach Einfach ist!

Offline Yves

  • Newbie
  • *
  • Beiträge: 10
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #3 am: Februar 16, 2019, 22:55:58 Nachmittag »
Hallo radar17892,

danke für Deine Hinweise, insgesamt erscheint mir die ganze Kommunikation zwischen den Geräten noch recht kryptisch, mir fehlen da sicherlich noch ettliche Grundlagen.

Zu Deiner letzten Nachricht: In Galileo, Menüpunkt Konfigurieren / Kommunikation auswählen...habe ich unter Hersteller / Typ "Moeller XControl CAN Open HMI" eingetragen. Im Dialog zum Setzen der Variablenadresse von D_T ist die Voreinstellung MW%d und ich trage "1500" ein, bestätige und im Registerblatt "Variablen-Eigenschaften" wird jetzt bei Date_Time die Adresse "MW1500" grün angezeigt. Bei den Variablen "System" und "Status" gelingt mir das nicht. Und solange ich in Galileo keine gültige Adresse setze brauche ich mich mit dem Anlegen der entsprechenden Strukturvariablen nicht auseinanderzusetzen. Den einzigen Spielraum den Galileo mir bei der Adressdefinition einräumt ist zwischen "MW%d" und "PLC%MW%d" zu switchen, dies führt aber ebenfalls nicht zum erhofften Farbumschlag von rot nach grün.
Ich "stehe noch immer auf dem Schlauch".

Gruß
Yves

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #4 am: Februar 17, 2019, 17:31:33 Nachmittag »
Hallo Yves,
kannst du mal einen screenshot machen. Bei mir habe ich keine Probleme mit der Adressierung.
Ich kann das Problem so nicht nachvollziehen.
Welche Adressen verwendest du genau für die Systemstrukturen??

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Yves

  • Newbie
  • *
  • Beiträge: 10
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #5 am: Februar 18, 2019, 19:34:26 Nachmittag »
Hallo Radar17892,

anbei der Screenshot. Wie oben schon erwähnt, die Adtresse für D_T (MW1500) ist grün, Control (MW1520) rot. Ich habe schon "wie wild" andere Adressen getestet, es bleibt bei rot. Die Systemvariable "Status" zeigt den gleichen Effekt. Bemerkung am Rande: der Austausch aller anderen Variablen funktioniert zwischen allen Geräten einwandfrei.

Gruß
Yves

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #6 am: Februar 22, 2019, 19:52:49 Nachmittag »
Hallo Yves,

ich habe mal zum Test ein paar Variablen angelegt. Alle drei Systemvariablen sind zwei Worte groß und haben das Format MW%d .
Bei mir funktioniert es. Habe die Eigenschaften alle mal in ein Bild gepackt.

Weil Einfach einfach Einfach ist!

Offline Yves

  • Newbie
  • *
  • Beiträge: 10
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #7 am: Februar 23, 2019, 18:28:30 Nachmittag »
Hallo Thomas,

hurra, "Farbumschlag von rot nach grün" hat geklappt! Bei Status- und Controlvariablen war die Wortgröße "3" statt "2" eingetragen. Jetzt werde ich mich noch in die Restproblematik reinknien. Ich halte Dich - und vielleicht auch die anderen Interessierten - auf dem Laufenden.

Bis hierher erstmal vielen Dank
Yves

Offline Yves

  • Newbie
  • *
  • Beiträge: 10
Antw:Zeit / Datumsychronisation von EC4P und XV102
« Antwort #8 am: Februar 28, 2019, 22:22:54 Nachmittag »
Hallo Thomas,

jetzt funktioniert die Synchronisation wie gewünscht!

Problematisch war noch zu verstehen, wie die DT-Variable aufgebaut ist. Zunächst war ich der Meinung, dass - beispielsweise beim Jahr - die zugeörigen Bits direkt binär kodiert seien. Daher ging ich davon aus das Jahr xx19 durch die Bitfolge 0010011 definiert sei, sinngemäß auch bei Monat, Tag, Stunde, Minute und Sekunde. Hier erhielt ich jedoch nur "Gammelanzeigen". Nach einigem hin und her gelang es durch die bitweise Zuordnung der als Doppelwort (32 Bit) definierten PLC-Zeit an die aus zwei Worten (16 Bit) bestehenden beiden Datenwörtern der DT-Variablen zur gewünschten Anzeige zu kommen.

Vielen Dank für Deine Unterstützung
Yves