Beckhoff M-Bus

Hanki

Level-1
Beiträge
21
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich bin neu und habe eine Frage an euch!
Ich habe eine beckhoff cx8090 und wollte damit meinen M-Bus Zähler auslesen, ich habe die KL6781 verbaut und wollte fragen wie ihr das so gelöst habt?
Und direkt noch eine Frage, wie kann ich meine Uhrzeit einstellen Bzw kann ich die Uhrzeit mit dem Internet synchronisieren?
Danke für eure Tips
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Tips, da ich aber auf twincat 2 arbeite, kann ich da leider nix machen, muss ich mal das Infosys durchsuchen, danke.
Kann Man Bzw ist es sinnvoll von twincat 2 auf 3 umzusteigen? Man kann ja irgendwie das umändern oder?
 
Danke für die Tips, da ich aber auf twincat 2 arbeite, kann ich da leider nix machen, muss ich mal das Infosys durchsuchen, danke.
Kann Man Bzw ist es sinnvoll von twincat 2 auf 3 umzusteigen? Man kann ja irgendwie das umändern oder?
Das Du mit TC2 arbeitest hast Du nicht geschrieben, wäre eine wichtige Info gewesen, allerdings hätte ich bei einer KL Klemme auch schon so eine Ahnung haben können.
Dann halt diese Bibliothek.
 
Kann Man Bzw ist es sinnvoll von twincat 2 auf 3 umzusteigen? Man kann ja irgendwie das umändern oder?
Ob das sinnvoll ist hängt von verschiedenen Faktoren ab. Ganz allgemein ist es schon sinnvoll, die Frage ist nur, ob es möglich ist. Das hängt von der SPS ab die Du einsetzt, oder im Falle von Beckhoff vom IPC/CX und von der Größe der CF-Karte oder CFast-Karte und natürlich der Ram-Größe.
Ein Umstieg kann auch notwendig sein, wenn Du Hardware nutzen möchtest, die unter TC2 nicht mehr unterstützt wird, allerdings gilt das meine ich nicht für KL-Klemmen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry habe ich wohl vergessen dabei zuschreiben das ich mit Twincat2 arbeite.
Ich habe einen cx8090 in Gebrauch und habe außer i/o Klemmen noch 2 dimmerklemmen und 1xxMBus Klemme.
Würde halt gerne vom Handy drauf zugreifen und irgendwo habe ich gelesen das man dazu noch eine Klemme braucht und dann aber Twincat 3 weiß aber nicht genau ob ich einfach umrüsten kann 3.
 
Sorry habe ich wohl vergessen dabei zuschreiben das ich mit Twincat2 arbeite.
Ich habe einen cx8090 in Gebrauch und habe außer i/o Klemmen noch 2 dimmerklemmen und 1xxMBus Klemme.
Würde halt gerne vom Handy drauf zugreifen und irgendwo habe ich gelesen das man dazu noch eine Klemme braucht und dann aber Twincat 3 weiß aber nicht genau ob ich einfach umrüsten kann 3.
Welche Klemme, die dann TC3 benötigt, soll das denn sein? Ein Zugriff kann über eine Visu (Webvisu) erfolgen, allerdings nutzte TC2 ein Java-Applet, soweit das immer noch so ist könnte der Zugriff im allgemeinen und mit einem Handy im speziellen Probleme bereiten. Dann wäre auch noch die Frage, ob der Zugriff über das Internet erfolgen soll? Einfach einen Zugriff über das Internet zulassen sollte man aus sicherheitsgründen auf jeden Fall vermeiden, aber der Zugriff per VPN mit einem Handy könnte dann auch wieder problematisch sein.
 
Webvisu kannste vergessen,weil die wie du schon schreibst Java brauchen und das hat ja keiner mehr.
Hab das irgendwo mal gelesen ich guck noch mal nach und poste es dann hier.
Eigentlich will ich von außen nicht drauf zugreifen sondern einfach nur eine vernünftige Visu haben die vom Handy oder Ipad aus steuern kann. Aber soweit bin ich noch nicht nehme aber gerne Tips entgegen 😊
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Webvisu kannste vergessen,weil die wie du schon schreibst Java brauchen und das hat ja keiner mehr.
Hab das irgendwo mal gelesen ich guck noch mal nach und poste es dann hier.
Eigentlich will ich von außen nicht drauf zugreifen sondern einfach nur eine vernünftige Visu haben die vom Handy oder Ipad aus steuern kann. Aber soweit bin ich noch nicht nehme aber gerne Tips entgegen 😊
OK, das wird vermutlich das Budget sprengen und vom Aufwand her unter dem Motto "Mit Kanonen auf Spatzen schießen" laufen, aber Du könntest auf einem PC die TF2000 (HMI Server) laufen lassen, der sich dann via ADS mit dem CX verbindet. Der unterstützt HTML 5.
 
Ich denke das lohnt sich nicht. Ein nicht Beckhoff-PC Plus TF2000 Lizenz ist vermutlich teurer wie ein neuer CX8910 mit TwinCAT3 uns TF2000 Lizenz.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke das lohnt sich nicht. Ein nicht Beckhoff-PC Plus TF2000 Lizenz ist vermutlich teurer wie ein neuer CX8910 mit TwinCAT3 uns TF2000 Lizenz.
Da sprichst Du wohl wahr. Die Lizenzkosten bei Nutzung von nicht Beckhoff Hardware sind relativ hoch.
 
Hat schon jemand mit der M-Bis Klemme programmiert? Ich habe die soweit eingerichtet und programmiert aber ich bekomme keine Werte
 
Hallo Hanki

Vor ein paar Jahren habe ich M-Bus benutzt zum auslesen eines Wärmezählers. Das hat auch Problemlos funktioniert, und tut immer noch.
M-Bus Klemmen gibt es nur für K-Bus. In der Gebäudeautomation sind immer noch K-Bus Klemmen im Einsatz.
Twincat 2 oder 3 spielt da aus meiner Sicht kein Rolle.



1. Verbindung zur Hardware
FB_MBUSKL6781

2. FB entsprechen dem Zähler, bei mir ein Amtron Wärmezähler, der ist in der Bibliothek
FB_MBUS_AMT_Amtron

3. Struktur für die Kommunikation mit dem FB_MBUSKL6781
ST_MBus_Communication
ST_KL6781InData22B
ST_KL6781OutData22B

4. Die Messwerte liegen am Ausgang des FB als String, diese umwandeln in Real

Da ich nur einen Zähler auslese, habe ich die Adresse am FB leer gelassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gleichrichter1
danke für deine Antwort, ich hab mal ein Bild geschossen wie ich es gemacht habe, so habe ich keine Fehler aber er liest den M-Bus nicht aus, er sagt das keine Daten vorhanden sind, kann es sein das ich noch was vergessen habe?
mein Zähler ist ein Zenner Wärmezähler im Anhang mal ein Bild von meinem Programm.
nicht wundern das zum starten Kind steht, aber ich hab mein Rechner dort das ich alles beobachten kann ;)
des weitern habe ich noch dieses hier gemacht, ist das Doppelt oder muss man das so machen?

(*----------------------- Communication terminal -----------------------*)

fbCom(stCom:=stCom_1,
bStart:=ixKind1TasterLichtBalkon,
bDisabled:=ixKind1TasterRolloAuf,
stComIn:=stKL6781InData22B_1,
stComOut:=stKL6781OutData22B_1,
usiRetries=>);
fbCom.bError;
fbCom.eError;
fbCom.bBusy;


(*------------------------------ZENNER-Zähler----------------------------------------------*)

fbZ06(usiAddress:=0,
stCom:=stCom_1);

fbZ06.sMan;
fbZ06.byStatus;
fbZ06.byCounter;
fbZ06.byGEN;
fbZ06.eMedium;

fbZ06.bBusy;
fbZ06.bError;
fbZ06.eError;
fbZ06.dwIdNumber;
fbZ06.eMedium;
fbZ06.sMan;
fbZ06.byStatus;
fbZ06.byGEN;


fbZ06.stEnergy.sValue;
fbZ06.stEnergy.sUnit;
fbZ06.stVolumeInput1.sValue;
fbZ06.stVolumeInput1.sUnit;
fbZ06.stVolumeInput2.sValue;
fbZ06.stVolumeInput2.sUnit;
fbZ06.stDeviceError.sValue;
fbZ06.stTimepoint.sValue;
fbZ06.stTimepoint.sUnit;
fbZ06.stEnergyTimepoint.sValue;
fbZ06.stEnergyTimepoint.sUnit;
fbZ06.stCounterInput1.sValue;
fbZ06.stCounterInput1.sUnit;
fbZ06.stCounterInput2.sValue;
fbZ06.stCounterInput2.sUnit;

FB.PNG
 

Anhänge

  • 1641377380599.png
    1641377380599.png
    12,2 KB · Aufrufe: 8
Hallo Hanki

fbCom bDisable sollte nicht TRUE sein, da sonst die Kommunikation abgebrochen wird.

Sollte Baudrate nicht eher 2400 sein?
Versuche beim fbZ06 alles auf default, also alles leer ausser stCom. Dann liest er auf der ersten Adresse alle 2s die Werte aus.
Wenn du die Adresse vom Zähler nicht kennst, kannst du mit FB_MBUS_Scan alle suchen.
Hast du die Verknüpfung im Systemmanager korrekt gemacht?
Im Infosystem ist ein Beispielprogramm, versuch es mal damit.

Im Systemmanager kontrollieren ob beim Eingang Daten ankommen: KL6781 Data In 0-22

Gruss hh
 
Hey im Systemmanager ist alles ok und auch verknüpft.
Baudrate habe ich jetzt komplett rausgenommen da sie im Baustein hinterlegt ist mit 2400 (danke)
Adresse vom Zähler ist 0 das habe ich kontrolliert, habe auch schon einen Scan und Change Baustein laufen lassen, aber er findet den Zähler nicht (Habe alles verkabelt, werde ich nachher noch mal nachgucken müssen.)
Nach dem Beispiel im Infosystem bin ich vorgegangen. die Led an der Klemme Send blinkt nur die für den Empfang nicht.
 
Z.B.
fVar := STRING_TO_LREAL(fbZ06.stEnergy.sValue);

Suche Typkonvertierungsoperatoren:
String_TO_LREAL

Es wird LREAL empfohlen, weil Energiezähler recht hohe Werte liefern können. Ev. Einheit noch umrechnen.
Hey sei mir nicht sauer aber jetzt habe ich nix verstanden, wo muss ich welchen Baustein hinmachen das ich das ändern kann? sorry das ist jetzt ein wenig zu hoch für mich :cry:😇
 
Zurück
Oben