Schlagwort-Archive: Konverter

SML to S0 Konverter mit OLED-Display und MQQT

Technische Beschreibung SML to S0 Konverter
Technische Beschreibung SML to S0 Konverter

Der Source Code zu diesem Projekt kann in meinem Web Shop erworben werden.

Allgemeines

Die Aufgabe für dieses Projekt bestand darin, die Überschussleistung einer Solaranlage für den Betrieb diverser Verbraucher mit S0-Schnittstelle bereit zu stellen.
In diesem speziellen Fall handelte es sich um eine Wärmepumpe, die über eine S0 – Schnittstelle die Überschussleistung auswerten kann und bei einer definierten Überschussleistung diese Energie nutzt um Wärme zu erzeugen.
So entstand dieses Projekt, dass SML – Zählerdaten über die Infrarotschnittstelle der Messstelle einlesen und diese Werte über einen Optokoppler als S0 – Pulssignal ausgegeben kann. Im weiteren erlauf des Projekts, wurde eine MQTT- Kommunikation sowie eine OLED-Displayanzeige hinzugefügt, um die ausgelesenen Werte anzuzeigen.

Im Webinterface des Moduls werden die Werte angezeugt und können dort auch konfiguriert werden. Es ist ebenfalls möglich den Zähler Pin Code zu speichern und bei bedarf zum Zähler zu übertragen, vorrausgesetzt der vorhandene Zähler und der verwendete IR-Schreib- Lesekopf unterstützen dies. Es ist auch möglich ein Relais auf einen Schwellwert zu konfigurieren um beim erreichen einen Schaltvorgang durchzuführen.

Als Mikrokontroller wurde ein Wemos D1 mini Modul mit einem ESP8266 verwendet. Hierüber werden die Daten der IR-Schnittstelle eingelesen und das als S0-Signal ausgegeben.

Der Zugriff auf das integrierte Webinterface erfolgt Passwortgeschützt über das lokale WIFI-Netzwerk, kann aber auch autark über einen lokalen Access Point des Moduls erfolgen.

Wichtiger Hinweis:
Beim modernen Smartmetern werden die Daten über ein standardisiertes SML-Protokoll übertragen. Leider werden von verschiedenen Herstellern zuweilen unterschiedliche Übertragung Einstellungen verwendet. Auch die SML Protokolle können unterschiedliche Dateninhalte aufweisen. Deshalb kann es notwendig sein, dass die Daten mit der vorliegenden Programmierung nicht ausgelesen werden können und Anpassungen in der Firmware notwendig sind.
Hierfür sind verschieden Debug Optionen in die Firmware integriert, die über entsprechende Include Anweisungen aktiviert werden. Somit ist leicht möglich das Protokoll über den seriellen Monitor auszugeben, zu analysieren und das Programm entsprechend anzupassen!

Key Features

  • TTL IR-Lesekopf zur Erfassung von SML-Zählerdaten
  • Übertragung der Zähler PIN mit IR- Schreib- Lesekopf
  • Auswahl des über S0 zu übertragenden Wertes
  • S0 – Pulsausgang potentialfrei über Optokoppler
  • OLED-Display I2C
  • MQTT Anbindung
  • Freie Skalierung der erfassten Zählerwerte
  • Innovativer Mikrokontroller ESP8266 mit 4 MB Flash
  • Kompakte Bauform und leichte Montage
  • WIFI-Manager, Landing Portal
  • Stand Alone Betrieb über lokalen WIFI-Access Point
  • Integrierter Web-Server
  • OTA-Firmware Update

Schaltplan

Mitsubishi Profibus POE Konverter für konsistente Datenübertragung

Mitsubishi Profibus POE Konverter Software
Mitsubishi Profibus POE Konverter Software

Ihre persönliche Softwarelizenz erhalten Sie über diesen Link in unserem Shop

Allgemeines:

Wird für eine Mitsubishi SPS ein Profibus Projekt mit dem GX-Developer oder GX-Works erstellt und werden die Optionen:

  • Slave-Spezifischer Transfer
  • Kopieranweisung
  • Nur Datenaustausch

benutzt, kann die Profibus Konfiguration auch ohne einen RESET an der SPS geändert oder erweitert werden.

Manchen Slaves verlangen Daten Konsistenz, die mit der automatisch generierten POE aus dem GX Developer oder aus GX-Works und den darin enthaltenen Kopieranweisungen FROM_M und TO_M jedoch nicht sichergestellt werden können.

Um dies sicher zu stellen müssen, die FROM_M und TO_M Anweisungen durch sogenannte BMOV Anweisungen ersetzt werden.

Um dies schnell und vor allem fehlerfrei zu gewährleisten, wurde dieses Tool entwickelt. Neben dem Austauschen dieser Befehle, wir der Syntax und die Schreibweise der Kopfadresse sowie die BMOV Anweisung Hexadezimal angegeben und angepasst.

 Kurzbeschreibung:

Erfordert an einem Profibusstrang mindestens ein Teilnehmer Datenkonsistenz, sollte die gesamte POE von FROM_M und TO_M Anweisungen auf BMOV Anweisungen umgestellt werden.

Es gibt zwei Möglichkeiten eine Konvertierung vor zu nehmen:

Im einfachsten Fall kann man aus der zu konvertierenden Profibus POE direkt die entsprechenden Netzwerke markieren und anschließend mit CTRL-C oder CTRL-X in die Zwischenablage kopieren bzw. ausschneiden.

Der Inhalt der Zwischenablage wird nun in die leere TextBox Quelldatei mit CTRL-V eingefügt. Um eine leere TextBox zu erhalten, wählen sie in der Menüleiste den Eintrag Datei und Neu aus. Nach dem einfügen der Zwichenablage kann mit der Konvertierung begonnen werden, wählen sie hierfür in der Menüleiste den Eintrag Bearbeiten und Konvertieren aus.

Das Ergebnis der Konvertierung wird in der Rechten TextBox dargestellt, überprüfen sie in der Statusbar am unteren Rand der Anwendung ob hierbei Fehler aufgetreten sind. In Fehlerfall wird ein Hinweis auf die Art des Fehlers und die Position angezeigt, der Cursor wird automatisch in der entsprechenden Zeile der linken TextBox platziert.

Wurde die Konvertierung erfolgreich abgeschlossen, kann der Inhalt der rechten TextBox markiert und in die Zwischenablage kopiert werden und anschließen wieder in die POE eingefügt werden.

Das aktive Fenster wird durch anklicken aktivier, dies wird durch eine andre Hintergrundfarbe dargestellt (üblicherweise mit der Farbe Weiß).

In der Toolbar der Applikation sind neben den üblichen Schaltern Datei Neu, Speichern und öffne, noch weitere vorhanden. Sie dienen zum kopieren und einfügen der Daten in der Zwischenablage. Die Besonderheit dieser Schalter, sie wirken immer im aktiven Fenster. wird der Taster kopieren betätigt, wird der gesamte Inhalt der aktiven TextBox zuerst markiert und dann in die Zwichenablage kopiert. So das mit einem Tastendruck die Daten aus der TextBox Zieldatei in die Zwischenablage übernommen werden können. Beim Einfügen über den Toolbutton wird der vorhandene Inhalt der aktiven TextBox gelöscht und durch den in der Zwischenablage ersetzt.

Die zweite Möglichkeit Daten in die Applikation zu laden, erfolgt über das Menü Datei öffnen. Hier können exportierte *.asc Dateien eingelesen und anschließend konvertieren werden. Die Vorgehensweise ist derselben wie bereits weiter oben beschrieben.

Mit dem Laden einer *.asc Datei werden die beiden Textboxen wie bei Datei neu erst einmal gelöscht, bevor die neuen Daten geladen werden.

Nach einer erfolgreichen Konvertierung können die erzeugten Zieldaten mit Datei speichern wieder als *.asc Datei gespeichert werden. Zum Speichern wird an den ursprünglichen Dateinamen ein _new.asc angehängt um eine Unterscheidung gewährleisten zu können.