1. RS-485 Schnittstelle am PC konfigurieren/einrichten TIPP: Ich verwende einen „Delock Adapter USB 2.0 to 4 x serial RS-422/485“ und bin sehr zufrieden damit (betreibe noch andere RS-485 Geräte auf diesem Adapter)
1.1. Wechselstromzähler einbauen und mit RS-485 Schnittstelle verbinden
|
3. In IP-Symcon einen ‚ModBus RTU TCP‘ Splitter anlegen
||Hier ‚Modebus RTU‘ und die Geräte-ID einstellen. Für ‚Übergeordnete Instanz‘ den vorher angelegten ‚Serial Port‘ auswählen.
|—|
TIPP: Die Geräte-ID ist die Modbus Adresse welche direkt am Wechselstromzähler eingestellt wird. Werden mehrere solche WSZ am selben Modebus betrieben, benötigen diese natürlich unterschiedlichen Adressen.|
| (im Screenshot ‚ALD1D5FD00A3A00 #10 – ModBus‘)|
|—|---|
||Unter der derzeit leeren Kategorie wird jetzt für jedes Modbus Register ein IP-Symcon ‚ModBus Gerät‘ angelegt|
|
|Um hier nicht für jede Instanz die InstanzID in ein Skript schreiben zu müssen legen wir unter unserer Kategorie ein neues Skipt an (im Screenshot ‚Update - ModeBus Register‘)
|—|
und befüllen es mit diesem Code …|
<?
$scriptId = $_IPS['SELF']; //ID dieses Skripts
$parendId = IPS_GetParent($scriptId); //ID der Kategorie
$childList = IPS_GetChildrenIDs($parendId);
foreach($childList as $child) {
$object = IPS_GetObject($child);
$objTyp = $object['ObjectType'];
switch($objTyp) {
case 0: // Kategorie
break;
case 1: // Instanz
$return = ModBus_RequestRead($child);
break;
default:
break;
}
}
?>
Info: Dieses Skript durchläuft alle ModBus Instanzen und ruft ‚ModBus_RequestRead(…)‘ auf
Wenn alles klappt, sollten jetzt alle Register mit den ‚Raw-Daten‘ des Wechselstromzählers befüllt sein!
Um jetzt die Raw-Daten entsprechen aufzubereiten legen wir ein neues ‚Dummy Module‘ mit den entsprechenden Variablen an -> siehe Screenshot …
Tipp: Formatierung und Einheiten für Ausgabe werden per Variablen Profile zugewiesen
[i]Info: Dieses Script liest die benötigten ModBus Register, rechnet die entsprechenden Raw-Daten um und steckt sie in die dafür vorgesehenen Variablen.
Zusatz: Wenn die Ausführung dieses Skripts erfolgreich ist, kann es mittels eines ‚Zyklischen Ereignis‘ zum Beispiel alle 60 Sekunden ausgeführt werden.[/i]
6. 1. Datenbank-Logging und Graph Visualisierung
Für die Variablen ‚PRMS - Effektive Wirkleistung‘ und ‚Total kWh‘ aktivieren wir Datenbanklogging und Graph Visualierung
Das Thema ist zwar schon uralt, aber mich hat die obenstehende Angabe in die Irre geführt.
Ich habe ganz viele dieser SAIA.Zähler und bei allen der Anschluss wie folgt:
/D entspricht plus (+) bzw. A
D entspricht minus (-) bzw. B