Zähler einbinden

Hallo zusammen,

ich würde gerne meinen Zähler der das IEC62056-21 Protokoll benutzt in Symcon einbinden. Das Auslesen des Zähler habe ich schon mit eine kleine Java Programm getestet. Ich habe ein Script für das auslesen schon in Forum gefunden aber so wirklich wie ich das einbinden soll verstehe ich nicht. Wäre toll wenn mir hier ein weiterhelfen könnte.

Was ich generell nicht verstehe ist wie das Script die Daten der seriellen Schnittstelle bekommt. Außerdem habe ich in der SDK unter dem Punkt Serial Port keine Möglichkeit gefunden die Bandwidth zu verändern, da aber der Zähler im Modus C läuft muss ich das.

mfg
almdandi

Hallo und herzlich Willkommen Almdandi,

Für Deine Frage, wie kommen die Daten von der seriellen Schnittstelle in IPS, schaue mal hier:

Serial Port — IP-Symcon :: Automatisierungssoftware

Was das gefundene Script angeht, wäre es sicherlich hilfreich, wenn Du es in Deiner Anfrage verlinkst, damit man sich dass mal anschauen kann.
Eventuell kannst Du das gefundene Script an ein Dummy-Modul koppeln und dann die Werte visualisieren. Siehe:

Dummy Modul — IP-Symcon :: Automatisierungssoftware

Ansonsten empfehle ich, sich intensiv mit der Doku zu Symcon zu beschäftigen. Da gehen einem viele Lichter auf :wink:

Viele Grüße,

Burkhard

Hallo Burkhard,

danke für deine schnell Antwort. Script habe ich das gemeint. Was mir nicht aufgeht ist wie die Daten von dem COM-Port in die $IPS_VALUE Variable kommen.

mfg
almdandi

Hättest auch in dem Thema schreiben können, dann wäre der Zusammenhang klar gewesen :slight_smile:

Dort steht im ersten Beitrag:
Registervariable, Cutter und Comport anlegen, diese entsprechen verbinden. Das Script der Registervariable zuweisen.

Die Daten kommen dann über den Comport zum Cutter in die RegisterVariable und diese triggert das Script.
Siehe hier :RegisterVariable — IP-Symcon :: Automatisierungssoftware
Michael

Hallo almdandi,

steht doch im Text:

1.) Registervariable, Cutter und Comport anlegen. Diese entsprechend verbinden. Schaust Du hier:

RegisterVariable — IP-Symcon :: Automatisierungssoftware
Cutter — IP-Symcon :: Automatisierungssoftware
Serial Port — IP-Symcon :: Automatisierungssoftware

Wenn die angelegt sind, musst Du sie miteinander „reden“ lassen. Dazu gibt es den Punkt „übergeordnete Instanz“.

Instanzen — IP-Symcon :: Automatisierungssoftware

An die Registervariable bindest Du dann das gefundene Script.

Wie gesagt, ohne dem Studium von dem hier:

Einführung — IP-Symcon :: Automatisierungssoftware :wink:

Wird es schwierig, dass ohne Probleme umzusetzen.

@Nall chan: Warst eindeutig Schneller. :smiley:

Viele Grüße,

Burkhard

Hallo,

vielen Dank Euch zwei. Echt schnelle Hilfe. Ich werde mich mal in euren verlinkten Themen einlesen.
Jetzt habe ich noch eine Frage.

Die IR-Leseköpfe die ich einsetzt werden über USB ganz normal an den PI angeschlossen. Jetzt ist es ja so das sich die Durchnummerierung (ttyUSB0, ttyUSB1) bei jeden Neustart verändert. Deshalb habe ich udev Regeln angelegt aber leider erscheinen die Alies Namen nicht in IP-Symcon. Gibt es für diesen Problem eine Abhilfe?

mfg
almdandi

Hallo almdandi,

da muss ich passen. Im Moment kämpfe ich gerade selber mit dem USB Anschluss ein wenig, da ich versuche, meinen SDM630 Modbus Zähler per USB-RS485 Wandler einzubinden. Das hat auf der Windoof Maschine immer funktioniert. Bei dem Raspi scheint da aber beim USB einiges anders zu laufen. Der ttyUSB0 wird erkannt und eingebunden, aber ich kriege keine Daten.

Wie Du siehst, geht vieles auch nur durch probieren :wink:

Viele Grüße,

Burkhard

Hallo,

@Burkhard
Schade. Hatte auch einen SDM630 in in betrieb allerdings nicht mit IP-Symcon. Funktionierte anfangs auch nicht bis ich a/b umdrehte.

Ich habe mich jetzt eingelesen es funktioniert auch soweit, bis ich die Bandbreite des COM-Ports ändern muss, weil mein Zähler in Mode C arbeite. Lieder fand ich auch keine Methode unter Serial Port in der Dokumentation um die Bandbreite zuändern. Was mir noch aufgefallen ist, gibt es anscheinend interne COM Port Funktionen (COMPort_SendText) gibt es da irgendeine Dokumentation.

Mit der Funktion RegVar_SendText(integer $InstanzID, string $Text) lassen sich Datenstrings über die Kommunikationsschnittstelle senden. Intern wird hierbei die passende Sendefunktion, wie z.B. COMPort_SendText, ausgeführt.

mfg
almdandi

Hallo almdandi,

wenn Du das Alles über einen Raspi laufen läßt und den Serial Port bearbeiten willst, dann schau mal hier:

Raspberry Pi: Serielle Schnittstelle

Viele Grüße,

Burkhard