Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht

TwinCAT PLC Lib: M-Bus

Einleitung

Die MBus-Bibliothek ist eine umfangreiche TwinCAT SPS Bibliothek für das Auslesen von M-Bus Geräten.

Der Einsatz dieser SPS Bibliothek vereinfacht das Engineering für Anwendungen in diesen Bereichen der technischen Gebäudeausrüstung erheblich.

Die Funktionsbausteine sind objektorientiert und durch eine in sich geschlossene mehr oder weniger komplexe Funktion gekennzeichnet.

Die Schnittstelle zum Anwender sind die Eingangsparameter. Durch die Parameter kann der Funktionsbaustein individuell seiner Aufgabe in der ihm zugehörigen Anlage angepasst werden.

Durch eine stark objektorientierte Kapselung von komplexen Anlagenfunktionen innerhalb der Funktionsbausteine bedarf es zur Erstellung umfangreicher Anlagenprogramme nur sehr wenige Funktionsbausteine. Die Verknüpfung dieser Bausteine untereinander geschieht nur durch wenige SPS-Variablen.

Der Status aller Objekte wird durch eine große Zahl unterschiedlicher Ausgangsvariablen an den Funktionsbausteinen signalisiert. Das erleichtert die Aufschaltung von HMI- und Visualisierungssystemen.

Aus diesen Eigenschaften heraus ergeben sich für den Anlagenprogrammierer bei der Anlagenerstellung wie auch für den Anlagenbetreiber im laufenden Betrieb die folgenden Vorteile:

  • Schnellere Erstellung der Anlagenprogramme.
  • Schnellere Parametrierung und Inbetriebnahme der Anlagen.
  • Gewährleistung eines stets sehr hohen Anlagenfunktionsumfangs.
  • Verbesserte Lesbarkeit der Programme (Voraussetzung für eine langjährige Wartbarkeit und Erweiterbarkeit der Anlagen).
  • Verbesserung der Wiederverwendbarkeit einmal erstellter Vorlagen für Anlagen oder Anlagenbaugruppen.
  • Leichtere Einarbeitung des Personals.
  • Leichtere Erweiterung bereits existierender Anlagen.
  • Bessere Dokumentierbarkeit der Programme.


Zielgruppen

Diese Softwarebibliothek ist für Gebäudeautomation-Systempartner der Beckhoff Automation GmbH. Die Systempartner sind tätig in dem Bereich Gebäudeautomation und beschäftigen sich mit Errichtung, Inbetriebsetzung, Erweiterung, Wartung und Service von mess-, steuer- und regelungstechnischen Anlagen der technischen Gebäudeausrüstung.


Anforderungsprofil des Anwenders

Für den Nutzer dieser Bibliothek werden folgende Grundkenntnisse vorausgesetzt:

  • TwinCAT PLC Control
  • TwinCAT System Manager
  • PC und Netzwerkkenntnisse
  • Aufbau und Eigenschaften der Beckhoff Embedded-PC und deren Busklemmensystem.
  • Technologie von M-Bus Geräten
  • Einschlägige Sicherheitsvorschriften der technischen Gebäudeausrüstung


Einführung

M-Bus = Meter-Bus

Der M-Bus ist ein Feldbus für die Erfassung von Verbrauchsdaten (z.B. Energiezählern). Nähere Details zum M-Bus findet man unter www.m-bus.com. Der M-Bus ist europäischer Standard und wird beschrieben in der Norm EN1434. Die Daten werden seriell von einem Slave (Messgerät) an einen Master (M-Bus-Masterklemme KL6781) gesendet. Master und Slave werden verpolungssicher über eine Zweidrahtleitung verbunden. An eine KL6781 können bis zu 40 M-Bus-Geräte in den Topologien Stern, Strang oder Baum angeschlossen werden. Ringstruktur ist nicht erlaubt. Dabei ist es möglich, Geräte verschiedener Hersteller an einem Bus zu betreiben.

Der M-Bus Master (KL6781) steuert die Kommunikation auf dem Bus, indem er Daten von den Slaves anfordert. Die Slaves können mit einer festen oder variablen Datenstruktur antworten. Die M-Bus Bibliothek wertet nur Daten mit variabler Datenstruktur, Lowbyte zuerst, aus. Die Slaves kommunizieren untereinander nicht. Die Daten können von den Slaves nur nacheinander angefordert werden.

Weiter zu Übersicht


TwinCAT PLC Lib: M-Bus

Übersicht


Topologie

Stern-, Linien- und Baumtopologie

Ringtopologie

Hinweis 		Ringtopologie wird nicht unterstützt
Ringtopologie ist beim M-Bus zwar möglich, wird jedoch nicht empfohlen und daher von Beckhoff auch nicht unterstützt.


Funktionsweise des Funktionsbausteins

Es werden 3 Arten zum Auslesen von M-Bus Zählern angeboten:

  1. Über die Variable tMinSendTime > t#0s des Zählerbausteins wird der Zähler automatisch nach Ablauf der Zeit ausgelesen. Intern ist diese Variable mit t#2s vorbelegt.
  2. Auf positiver Flanke der Variablen bStart des Zählerbausteins wird der Zähler einmal ausgelesen.
  3. Auf positiver Flanke der Variablen bStart des Bausteins FB_MBUS_KL6781() werden alle Zähler einmal ausgelesen.

Bekommen mehrere Zählerbausteine gleichzeitig einen Startbefehl, werden sie in Reihenfolge ihres Aufrufes in der SPS gestartet.

Die Variable bReady wird für einen Zyklus True, wenn der Baustein die Daten empfangen hat.

Ist ein Fehler aufgetreten, wird bError True. Dieser Fehler wir mit eError beschrieben.

Soll nach einem Start/ Neustart der SPS der Zähler ausgelesen werden, ist die Variable bReadInit auf True zu setzen; andernfalls auf False. Intern ist diese Variable mit True vorbelegt.

eBaudrate: Diese Variable ist intern mit 2400 Baud vorbelegt. Soll mit dieser Baudrate (2400 Baud) der Zähler ausgelesen werden, muss diese Variable nicht explizit belegt werden. Bei einem Wechsel der Baudrate wird die M-Bus-Masterklemme KL6781 automatisch umgestellt. Somit ist es möglich, Zähler mit verschiedenen Baudraten in einem M-Bus Netzwerk auszulesen. Die Baudrate der Zähler wird nicht umgestellt, sie müssen mit der hier vorgegeben Baudrate arbeiten können. Einige Zähler arbeiten mit einer automatischen Baudratenerkennung. Informationen dazu bitte der Bedienungsanleitung des Zählers entnehmen.

bSND_NKE: Intern ist diese Variable mit True vorbelegt. SND_NKE ist ein spezielles Telegramm an den Slave. Dieses Telegramm bewirkt eine Initialisierung des Empfängers. Wichtig ist dieses Telegramm bei Zählern, die mehrere Telegramme versenden. Nach einem SND_NKE antworten diese Zähler mit dem ersten Telegramm. Bei True wird das Telegramm vor der eigentliche Abfrage gesendet, bei False wird das SND_NKE Telegramm nicht gesendet.

Mit bDisabled = True kann die Abarbeitung des Bausteins unterbrochen werden. Eine begonnene Abfrage des Zählers wird zu Ende geführt.


Langsatz

Daten werden mit einem Langsatz an den M-Bus Teilnehmer gesendet. Der Langsatz setzt sich aus maximal 255 Bytes zusammen und wird mit dem Baustein FB_MBUS_General_Send an den Zähler übertragen.

Aufbau des Protokolls:

Byte | Langsatz | Beschreibung | Belegung im Baustein "FB_MBUS_General_Send"
1 | Startzeichen | 68hex | Wird im Baustein hinzugefügt
2 | L-Feld | Länge der Anwenderdaten plus 3 | Wird im Baustein hinzugefügt
3 | L-Feld | Länge der Anwenderdaten plus 3 | Wird im Baustein hinzugefügt
4 | Startzeichen | 68hex | Wird im Baustein hinzugefügt
5 | C-Feld | Funktionsfeld | Wird an die Inputvariable "byC_Field" übergeben
6 | A-Feld | Primäradresse der M-Bus Teilnehmers | Wird an die Inputvariable "usiAddress" übergeben
7 | CI-Feld | Kennungsfeld | Wird an die Inputvariable "byCI_Field" übergeben
8..x | Anwenderdaten (0..240) | Anwenderdaten | Werden an die Inputvariable "arrData" übergeben
x+1 | Checksumme | Checksumme | Wird im Baustein hinzugefügt
x+2 | Stoppzeichen | 16hex | Wird im Baustein hinzugefügt

Es müssen nur die fett markierten Bytes an den Baustein übergeben werden.

Die Anwenderdaten im Array arrData müssen als letztes Zeichen "16hex" enthalten. Es ist darauf zu achten, dass die nachfolgenden Bytes leer sind.

Beispiel: Änderung der Primäradresse auf Adresse 14, alte Adresse ist 0.

(*Übergabe der Anwenderdaten*)
fbSend.arrData[0] := 16#01;     (*DIF / Datenformat 8 Bit Integer*)
fbSend.arrData[1] := 16#7A;     (*VIF / Adresse ändern*)
fbSend.arrData[2] := 14;        (*neue Adresse = 14*)
fbSend.arrData[3] := 16#16;     (*Stoppzeichen/ Checksumme nicht übergeben, wird im Baustein errechnet*)

fbSend.byC_Field  := 16#53;     (*C-Feld*)
fbSend.byCI_Field := 16#51;     (*CI-Feld*)
fbSend.usiAddress := 0;         (*alte Adresse*)

fbSend(iComId := 1,             (*Aufruf des Bausteins*)
       bStart := bStart,
       bInit  := TRUE);

Das Senden wird mit der Variable bStart gestartet. Nach dem Senden wird bStart wieder zurückgesetzt.

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Download Beispielprogramm für BC Systeme:


Primäradresse

Die Adressierung der Zähler erfolgt über die Primäradresse. Diese kann am Gerät, über Software des Herstellers oder mit dem Baustein FB_MBUS_ChangeAdr oder FB_MBUS_General_Send eingestellt werden.

Alle M-Bus Geräte müssen eine eindeutige Adresse (0..250) haben.

Adresse 0-250 Adressen der Geräte

Adresse 251 wird derzeit nicht verwendet

Adresse 252 wird derzeit nicht verwendet

Adresse 253 Verwendung der Sekundäradressierung

Adresse 254 senden an alle M-Bus Geräte mit Antwort(E5 hexadezimal). Sind mehrere Geräte angeschlossen, antworten alle, was zu Datenkollision führt. Diese Adresse sollte daher nur verwendet werden, wenn nur ein Gerät angeschlossen ist.

Adresse 255 senden an alle M-Bus Geräte ohne Antwort.


Sekundäradresse

Die Sekundäradresse dient, wie auch die Primäradresse, zur Identifizierung des Endgerätes. Der Vorteil der Sekundäradressierung besteht unter anderem in einer größeren Anzahl der Adressen (Slaves). Allein mit der Identifikationsnummer lassen sich 100 Millionen unterschiedliche Werte bilden. Außerdem entfällt die Vergabe von Primäradressen.

Eine Sekundäradresse hat gemäß dem M-Bus Standard folgenden Aufbau:
Ident-Nr.: 4 Byte / 8-stellige BCD Geräteidentifikationsnummer
Herstellerkürzel : 2 Byte / Herstellerkurzzeichen
Version: 1 Byte / Generationsnummer des Herstellers
Medium: 1 Byte / Medium

Soll die Sekundäradressierung verwendet werden, ist die Primäradresse auf 253 zu stellen.

Die Sekundäradresse wird über die Struktur "stSecAdr" (ST_MBUS_SecAdr) an den Funktionsbaustein übergeben.

Herstellerkürzel, Version und Medium sind intern mit jeweils 16#FF vorbelegt, so das diese Werte nicht explizit belegt werden müssen.

Beispielaufrufe:

stSecAdr1.udiIdNumbe     := 16#12345678;
stSecAdr1.uiManufacturer := 16#FFFF;
stSecAdr1.usiMedium      := 16#FF;
stSecAdr1.usiVersion     := 16#FF;

fbmeter(usiAddress := 253,
        stSecAdr.udiIdNumber := stSecAdr1,
        stCom := stComKL6781_1);

oder auch

fbmeter.stSecAdr.udiIdNumber := 16#12345678;
fbmeter(usiAddress := 253,
        stCom := stComKL6781_1);

Download Beispielprogramm


Übersicht

Hinweis: Die herstellerspezifischen Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Allgemein | Kommunikation mit KL6781 |  | FB_MBUSKL6781
General | Elektrizitätszähler | alle Elektrizitätszähler | FB_MBUS_General_Electricity
 | Wärmezähler | alle Wärmezähler | FB_MBUS_General_Heat
 | Wasserzähler | all Wasserzähler | FB_MBUS_General_Water
 | Rohdaten vom 1.Telegramm | alle | FB_MBUS_RawData
 | max.40 Werte vom 1.Telegramm | alle | FB_MBUS_General
 | alle Telegramme alle Werte | alle | FB_MBUS_General_Ext
 | Werte parametrierbar | alle | FB_MBUS_General_Param
 | Universeller Sendebaustein | alle | FB_MBUS_General_Send
 | Scanbaustein | alle | FB_MBUS_Scan
 | Primäradresse ändern | alle | FB_MBUS_ChangeAdr
ABB | Elektrizitätszähler | DELTAplus DZ+ | FB_MBUS_ABB_DZ
Actaris | Wärmezähler | CF-Echo II | FB_MBUS_ACW_CF
 | Rechenwerk | CF-51 | FB_MBUS_ACW_CF
 | Rechenwerk | CF-55 | FB_MBUS_ACW_CF
 | Wasserzähler | MB +M | FB_MBUS_ACW_PlusM
Aquametro | Wasserzähler | SAPHIR | FB_MBUS_AMT_SAPHIR
 | Wärmezähler | CALEC MB | FB_MBUS_AMT_CALEC
 | Wärmezähler | CALEC ST, Version C4 | FB_MBUS_AMT_CALEC_STC4
 | Wärmezähler | AMTRON | FB_MBUS_AMT_AMTRON
 | Impulssammler | AMBUS | FB_MBUS_AMT_AMBUS
 | Wärmezähler | AMTRON SONIC D | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00
Berg | Elektrizitätszähler | DZ+ | FB_MBUS_BEC_DZ
 | Elektrizitätszähler | DCMi | FB_MBUS_BEC_DCMi
Brunata | Wärmezähler | HGQ / HGS | FB_MBUS_BHG_HGx
 | Wärmezähler | Optuna H (775) | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00
Carlo Gavazzi | Energiezähler | EM24 | FB_MBUS_GAV_EM24
Cynox | Impulszähler | MCount2C | FB_MBUS_CYN_MCount2C
Elster | Gaszähler | Encoder Z6 | FB_MBUS_ELS_EncoderZ6
elvaco | Temperatur- und Feuchtigkeitsfühler | CMa10 & CMa20 | FB_MBUS_ELV_CMa10_20
EMH | Elektrizitätszähler | DIZ | FB_MBUS_EMH_DIZ
 | Elektrizitätszähler | EIZ-E | FB_MBUS_EMH_EIZE
 | Elektrizitätszähler | EIZ-G | FB_MBUS_EMH_EIZG
 | Elektrizitätszähler | MIZ | FB_MBUS_EMH_MIZ
EMU | Elektrizitätszähler | EMU32x7 | FB_MBUS_EMU_32x7
 | Elektrizitätszähler | EMU32x7 | FB_MBUS_EMU_32x7_Option8
 | Elektrizitätszähler | Allrounder 3/5 | FB_MBUS_EMU_3_5_Allrounder
 | Elektrizitätszähler | DHZ 5/63 | FB_MBUS_EMU_DHZ_5_63
Engelmann | Wärmezähler | Sensostar 2C | FB_MBUS_EFF_SensoStar2C
Gossen Metrawatt | Elektrizitätszähler | U128x | FB_MBUS_GMC_Electricity
 | Elektrizitätszähler | U138x | FB_MBUS_GMC_Electricity
GWF | Wasserzähler |  | FB_MBUS_GWF_Coder
 | Gaszähler | S1 | FB_MBUS_GWF_Coder
 | Gaszähler | Z1 | FB_MBUS_GWF_Coder
Hydrometer | 2 Pulseingänge | HYDRO-PORT Pulse | FB_MBUS_HYD_PortPulse
 | 2 Analogeingänge 1 Temperaturfühler | HYDRO-PORT Analog | FB_MBUS_HYD_PortAnalog
 | Wasserzähler | Flypper | FB_MBUS_HYD_Flypper
 | Wärmezähler | Sharky 773 | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00
 | Wärmezähler | Sharky 775 | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00
ista | Wasserzähler | domaqua® m | FB_MBUS_IST_Istameter
 | Wasserzähler | istameter® m | FB_MBUS_IST_Istameter
 | Wasserzähler | istameter III | FB_MBUS_IST_IstameterIII
 | Pulszähler | pulsonic II | FB_MBUS_IST_PulsonicII
 | Wärmezähler | sensonic II | FB_MBUS_IST_SensonicII
Janitza | Elektrizitätszähler | UMG96S | FB_MBUS_JAN_UMG96S
Kamstrup | Elektrizitätszähler | Kamstrup 162 | FB_MBUS_KAM_KamstrupE
 | Elektrizitätszähler | Kamstrup 351 | FB_MBUS_KAM_KamstrupE
 | Elektrizitätszähler | Kamstrup 382 | FB_MBUS_KAM_KamstrupE
 | Wärme / Kältezähler | Maxical III | FB_MBUS_KAM_Maxical_III
 | Wärme / Kältezähler | Multical 401 | FB_MBUS_KAM_Multical
 | Wärme / Kältezähler | Multical 402 | FB_MBUS_KAM_Multical402
 | Wasserzähler | Multical 41 | FB_MBUS_KAM_Multical41
 | Wärme / Kältezähler | Multical 601 | FB_MBUS_KAM_Multical601
KUNDO | Wärme / Kältezähler | Kompakt WMZ G20 | FB_MBUS_KST_G20
 | Wärme / Kältezähler | Kompakt WMZ G21 | FB_MBUS_KST_G20
 | externes M-Bus-Modul | him1s | FB_MBUS_KST_him1
 | externes M-Bus-Modul | him1plus | FB_MBUS_KST_him1
 | Pulseingang | him1plus | FB_MBUS_KST_him1Puls
Landis & Gyr | Wärme / Kältezähler | ULTRAHEAT 2WR5 | FB_MBUS_LUG_Heat
 | Wärme / Kältezähler | ULTRAHEAT 2WR6 | FB_MBUS_LUG_Heat
 | Wärme / Kältezähler | ULTRAHEAT UH50 | FB_MBUS_LUG_Heat
Metrima | Wärmezähler | F22 (Standardwerte) | FB_MBUS_SVM_F22
 |  | F22 (mit zusätzlichen Ausgabewerten) | FB_MBUS_SVM_F22_Ext
NZR | Elektrizitätszähler | EcoCount „S“ | FB_MBUS_TIP_SINUS85M
 | Impulsspeichermodul | IC-M2 | FB_MBUS_NZR_ICM2
 | Impulsspeichermodul | IC-M2C | FB_MBUS_NZR_ICM2
 | Wasserzähler | Modularis 2 | FB_MBUS_NZR_Modularis2
OPTEC | Elektrizitätszähler | ECS Typ 2 | FB_MBUS_OPT_ECSType2
Relay | 1-4 Analoge Eingänge | AnDi 1-4 | FB_MBUS_REL_AnDi
 | 4 Digitale Eingänge | PadIn 4 | FB_MBUS_REL_PadIn4
 | 1 fach Pulsadapter | PadPuls M1 | FB_MBUS_REL_PadPulsM1
 | 1 fach Pulsadapter | PadPuls M1C | FB_MBUS_REL_PadPulsM1
 | 2 fach Pulsadapter | PadPuls M2 | FB_MBUS_REL_PadPulsM2
 | 2 fach Pulsadapter | PadPuls M2C | FB_MBUS_REL_PadPulsM2
 | 4 fach Pulsadapter | PadPuls M4 | FB_MBUS_REL_PadPulsM4
 | 4 fach Pulsadapter | PadPuls M4L | FB_MBUS_REL_PadPulsM4
Saia-Burgess | Elektrizitätszähler | ALD1 | FB_MBUS_SBC_ALD1
 | Elektrizitätszähler | ALE3 | FB_MBUS_SBC_ALE3
 | Elektrizitätszähler | AWD3 | FB_MBUS_SBC_ALE3
Schlumberger | Wärmezähler | Integral-Mk MaXX | FB_MBUS_SLB_MK_MaXX
 | Wärmezähler | CF Echo I | FB_MBUS_SLB_CFEchoI
Sensus | Wärme / Kältezähler | PolluStat E | FB_MBUS_SEN_Pollu
 | Wärme / Kältezähler | PolluTherm | FB_MBUS_SEN_Pollu
 | Wärme / Kältezähler | PolluCom E | FB_MBUS_SEN_Pollu
 | Wasserzähler |  | FB_MBUS_SEN_Water
Sontex | Wärme / Kältezähler | Supercal 531 | FB_MBUS_SON_Supercal531
TIP | Elektrizitätszähler | SINUS 85 M | FB_MBUS_TIP_SINUS85M
Zenner | Rechenwerk | multidataWR3 | FB_MBUS_ZRM_multidataWR3
 | Wärmezähler | zelsiusZR | FB_MBUS_ZRM_zelsiusZR


TwinCAT-Bibliotheken für M-Bus

TwinCAT PLC Lib: M-Bus

Allgemeine Informationen

Hinweis 		Installation
Ab TwinCAT 2.11 Build 2229 (R3 und x64 Engineering) werden die Bibliotheken "TcMBus.lib/.lb6/.lbx" standardmäßig mitinstalliert.

Hinweis 		Name der Bibliothek
Diese Bibliothek ersetzt die "TcKL6781.lib/.lb6./.lbx".

Hardware Dokumentation im Beckhoff Information System: KL6781 - M-Bus-Masterklemme

Hinweis 		Inkompatibilität
Die TcMBus-Bibliothek ist nicht kompatibel zu den Versionen älter V2.0.0 und auch nicht im selben SPS-Programm verwendbar.
Ab Version V2.0.0 werden die Pegelwandler der Firma Relay (z.B. PW3, PW20 oder PW60) nicht mehr unterstützt.
Weitere erforderliche Bibliotheken

Für PC-Systeme (x86) und Embedded-PCs (CXxxxx):

  • Standard.lib

Für Busklemmen-Controller der Serie BCxx00:

  • Standard.lb6

Für Busklemmen-Controller der Serien BCxx50, BCxx20, BC9191 und BXxx00:

  • Standard.lbx

Hinweis 		Speicherauslastung
Durch Einbinden der Bibliothek wird bereits SPS-Programmspeicher verbraucht. Abhängig vom Applikationsprogramm kann daher der verbleibende Speicher nicht ausreichend sein.

Hinweis 		Rundungsfehler
M-Bus Geräte liefern unter Umständen sehr große Werte (Überschreitung des DWord Wertebereiches). Sie werden deshalb im String-Format ausgegeben. Bei Konvertierungen in das Real-Format können sich Ungenauigkeiten/falsche Werte ergeben. Konvertierungen in das LReal Format sind deshalb vorzuziehen. Auf Controllern der BC/BX Serie ist dies aber nicht möglich. Müssen die Werte in einem Zahlenformat vorliegen, sind die Controller der BC/BX Serie ungeeignet, wenn die Werte den DWord Wertebereich überschreiten.


KL6781 - Verknüpfung mit dem System Manager

  1. Binden Sie das SPS-Programm ein und klicken Sie mit der rechten Maustaste auf die Datenstruktur.

    Bild 1
  2. Wählen Sie "Alle Typen" und "Kontinuierlich" an (siehe Bild 2).

    Bild 2
  3. Klicken Sie mit der Maus auf die erste Variable der M-Bus-Masterklemme KL6781 "Status" an. Drücken Sie dann die >SHIFT< Taste und halten Sie diese gedrückt.
  4. Gehen Sie mit dem Mauszeiger auf die letzte Variable der KL6781 "Data In 21" und klicken Sie wiederum die linke Maustaste.
  5. Jetzt lassen Sie die >SHIFT< Taste wieder los. Alle Daten der Klemme müssen jetzt markiert sein (siehe Bild 2).
  6. Anschließend den OK Button betätigen.
  7. Kontrollieren Sie die Verknüpfungen. Gehen Sie dazu auf die KL6781 und öffnen Sie diese. Alle Daten der Klemme müssen jetzt mit einem kleinen Pfeil markiert sein (siehe Bild 3). Ist dies der Fall, fahren Sie genauso mit den Ausgängen fort.

    Bild 3


Integration in TwinCAT (CX9020)

Dieses Beispiel beschreibt, wie ein einfaches SPS-Programm für M-Bus in TwinCAT geschrieben werden kann und wie es mit der Hardware verknüpft wird. Es soll ein Zähler mit vier digitalen Eingängen ausgelesen werden.

Beispieldateien entpacken

Hardware

Einrichtung der Komponenten

Es wird folgende Hardware benötigt:

  • 1x Embedded-PC CX9020
  • 1x M-Bus-Masterklemme KL6781
  • 1x Endklemme KL9010

Richten Sie die Hardware sowie die M-Bus-Komponenten wie in den entsprechenden Dokumentationen beschrieben ein.

Dieses Beispiel geht davon aus, dass die Adresse vom Zähler bekannt ist.

Software

Erstellung des SPS-Programms

Erstellen Sie ein neues SPS-Projekt für PC-basierte Systeme (ARM) und fügen die Bibliothek TcMBus.lib hinzu.

Erzeugen Sie als Nächstes die folgenden globalen Variablen:

VAR_GLOBAL
    stComIn     AT%I* : ST_KL6781inData22B;
    stComOut    AT%Q* : ST_KL6781outData22B;
    stCom             : ST_MBUS_Communication;
END_VAR

stComIn: Eingangsvariable für die M-Bus-Klemme.

stComOut: Ausgangsvariable für die M-Bus-Klemme.

stCom: Wird für die Kommunikation mit M-Bus benötigt.

Legen Sie anschließend ein Programm (CFC) für die Hintergrundkommunikation mit M-Bus an. In diesem wird der Baustein FB_MBUSKL6781() aufgerufen. Achten Sie beim Kommunikationsbaustein darauf, mit stComIn, stComOut und stCom zu verknüpfen.

Legen Sie ein MAIN-Programm (CFC) an in dem der Baustein FB_MBUS_REL_PadIn4 aufgerufen wird. Der Eingang usiAddress des Zählerbausteins wird mit der lokalen Variable usiAddress verknüpft und stCom mit der globalen Variable stCom.

Gehen Sie in die Taskkonfiguration und geben Sie der Task eine niedrigere Intervall-Zeit. Genauere Informationen dazu finden Sie in der Beschreibung des Bausteins FB_MBUSKL6781().

Laden Sie das Projekt als Bootprojekt auf den CX und speichern Sie es ab.

Konfiguration im System Manager

Legen Sie ein neues System-Manager-Projekt an, wählen Sie als Zielsystem den CX und lassen Sie nach dessen Hardware suchen.

Fügen Sie das oben angelegte SPS-Programm unter SPS-Konfiguration hinzu. Beim Aufklappen des SPS-Projekts in der Baumansicht werden die beiden Tasks aufgelistet. Da die Variablen stComIn und stComOut jedoch schneller abgearbeitet werden sollen, müssen diese mit Drag&Drop auf die Hintergrund-Kommunikations-Task verschoben werden.

Verknüpfen Sie die globalen Variablen des SPS-Programms nun mit den Ein- und Ausgängen der Busklemmen, erzeugen Sie die Zuordnungen und aktivieren Sie die Konfiguration. Starten Sie dann das Gerät im Run-Modus.
Ihr CX ist jetzt einsatzbereit.

Nach Starten der SPS werden vom Zähler regelmäßig die aktuellen Werte gelesen.


Integration in TwinCAT (BC9191)

Dieses Beispiel beschreibt, wie ein einfaches SPS-Programm für M-Bus in TwinCAT geschrieben werden kann und wie es mit der Hardware verknüpft wird. Es soll ein Zähler mit vier digitalen Eingängen ausgelesen werden.

Beispieldateien entpacken

Hardware

Einrichtung der Komponenten

Es wird folgende Hardware benötigt:

  • 1x Busklemmen Controller BC9191
  • 1x Potenzialeinspeiseklemme 24V DC
  • 1x M-Bus-Masterklemme KL6781
  • 1x Endklemme KL9010

Richten Sie die Hardware sowie die M-Bus-Komponenten wie in den entsprechenden Dokumentationen beschrieben ein.

Dieses Beispiel geht davon aus, dass die Adresse vom Zähler bekannt ist.

Software

Erstellung des SPS-Programms

Erstellen Sie ein neues SPS-Projekt für BC-basierte Systeme (BCxx50 über AMS) und fügen die Bibliothek TcMBus.lbx hinzu. Gehen Sie danach im Menü auf Projekt → Optionen... → Übersetzungsoptionen und wählen LREAL als REAL übersetzen an.

Erzeugen Sie als Nächstes die folgenden globalen Variablen:

VAR_GLOBAL
    stComIn     AT%I* : ST_KL6781inData22B;
    stComOut    AT%Q* : ST_KL6781outData22B;
    stCom             : ST_MBUS_Communication;
END_VAR

stComIn: Eingangsvariable für die M-Bus-Klemme.

stComOut: Ausgangsvariable für die M-Bus-Klemme.

stCom: Wird für die Kommunikation mit M-Bus benötigt.

Da BC-Geräte nur über eine Task verfügen, kann die Kommunikation mit M-Bus nicht separat ausgeführt werden.

Legen Sie daher ein MAIN-Programm (CFC) an in dem die Bausteine FB_MBUSKL6781() und FB_MBUS_REL_PadIn4 aufgerufen werden. Achten Sie beim Kommunikationsbaustein darauf, mit stComIn, stComOut und stCom zu verknüpfen.

Der Eingang usiAddress des Zählerbausteins wird mit der lokalen Variable usiAddress verknüpft und stCom mit der globalen Variable stCom.

Gehen Sie in die Taskkonfiguration und geben Sie der Task eine niedrigere Intervall-Zeit. Genauere Informationen dazu finden Sie in der Beschreibung des Bausteins FB_MBUSKL6781().

Laden Sie das Projekt als Bootprojekt auf den BC und speichern Sie es ab.

Konfiguration im System Manager

Legen Sie ein neues System-Manager-Projekt an, wählen Sie als Zielsystem den BC und lassen Sie nach dessen Hardware suchen.

Fügen Sie das oben angelegte SPS-Programm unter SPS-Konfiguration hinzu.

Verknüpfen Sie die globalen Variablen des SPS-Programms nun mit den Ein- und Ausgängen der Busklemmen, erzeugen Sie die Zuordnungen und aktivieren Sie die Konfiguration. Starten Sie dann das Gerät im Run-Modus.
Ihr BC ist jetzt einsatzbereit.

Nach Starten der SPS werden vom Zähler regelmäßig die aktuellen Werte gelesen.


FB_MBUSKL6781

Anwendung

Dieser Funktionsbaustein dient zum Auslesen von M-Bus Geräten über die Busklemme KL6781.

Der Baustein kann nur zusammen mit mindestens einem Zählerbaustein ausgeführt werden.

Für jede Klemme KL6781 wird eine Instanz dieses Bausteins benötigt.

Dieser Baustein benötigt bei 2400 Baud eine Taskzeit von maximal 10ms. Werden höhere Taskzeiten benötigt, muss dieser Baustein in eine schnelle Task ausgegliedert werden.

VAR_INPUT

usiRetries      : USINT;
bStart          : BOOL;
bDisabled       : BOOL := FALSE;

usiRetries: Anzahl der Wiederholungen bei Fehlern.

bStart: Auf positive Flanke dieses Eingangs werden alle Zähler einmal ausgelesen.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy           : BOOL;
bReady          : BOOL;
bError          : BOOL;
eError          : E_MBUS_ERROR;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

VAR_IN_OUT

stComIn         : ST_KL6781inData22B;
stComOut        : ST_KL6781outData22B;
stCom           : ST_MBUS_Communication;

stComIn: Wird im System Manager mit der Klemmen verknüpft.

stComOut: Wird im System Manager mit der Klemmen verknüpft.

stCom: Über diese Struktur wird der Baustein mit den Zählerbausteinen verbunden.


Übersicht ABB

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
ABB | Elektrizitätszähler | DELTAplus DZ+ | FB_MBUS_ABB_DZ


FB_MBUS_ABB_DZ

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma ABB:

-DELTAplus DZ+

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress            : USINT;
stSecAdr              : ST_MBUS_SecAdr;
eBaudrate             : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                : BOOL;
bSND_NKE              : BOOL := TRUE;
bReadInit             : BOOL := TRUE;
tMinSendTime          : TIME := t#2s;
usiUnit               : USINT;
bDisabled             : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                 : BOOL;
bReady                : BOOL;
bError                : BOOL;
eError                : E_MBUS_ERROR;
dwIdNumber            : DWORD;
byStatus              : BYTE;
byGEN                 : BYTE;
byCounter             : BYTE;
usiRecivedAdr         : USINT;
eMedium               : E_MBUS_Medium;
sMan                  : STRING(3);
stActiveEnergy        : ST_MBus_Info;
stReactiveEnergy      : ST_MBus_Info;
stActivePower         : ST_MBus_Info;
stReactivePower       : ST_MBus_Info;
stCurrentL1           : ST_MBus_Info;
stCurrentL2           : ST_MBus_Info;
stCurrentL3           : ST_MBus_Info;
stPowerFactor         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stActiveEnergy: Zählerstand, Gesamt-Wirkenergie (siehe ST_MBus_Info).

stReactiveEnergy: Zählerstand, Gesamt-Blindenergie (siehe ST_MBus_Info).

stActivePower: Momentaner Verbrauch, Gesamt-Wirkleistung (siehe ST_MBus_Info).

stReactivePower: Momentaner Verbrauch, Gesamt-Blindleistung (siehe ST_MBus_Info).

stCurrentL1: Strom L1 (siehe ST_MBus_Info).

stCurrentL2: Strom L2 (siehe ST_MBus_Info).

stCurrentL3: Strom L3 (siehe ST_MBus_Info).

stPowerFactor: Gesamt-Leistungsfaktor (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                 : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Actaris

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Actaris | Wärmezähler | CF-Echo II | FB_MBUS_ACW_CF
 | Rechenwerk | CF-51 | FB_MBUS_ACW_CF
 | Rechenwerk | CF-55 | FB_MBUS_ACW_CF
 | Wasserzähler | MB +M | FB_MBUS_ACW_PlusM


FB_MBUS_ACW_CF

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Actaris:

-CF-Echo II

-CF-51

-CF-55

-CF-800

An dieses Gerät können bis zu zwei zusätzliche Wasserzähler angeschlossen werden (optional).

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 1200, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;
stVolume1          : ST_MBus_Info;
stVolume2          : ST_MBus_Info;
stColdEnergy       : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stVolume1: Zählerstand vom zusätzlichen Wasserzähler 1 (Option) (siehe ST_MBus_Info).

stVolume2: Zählerstand vom zusätzlichen Wasserzähler 2 (Option) (siehe ST_MBus_Info).

stColdEnergy: Zählerstand, verbrauchte Kälteenergie (Option) (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_ACW_PlusM

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Actaris:

-BM +M

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Aquametro

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Aquametro | Wasserzähler | SAPHIR | FB_MBUS_AMT_SAPHIR
 | Wärmezähler | CALEC | FB_MBUS_AMT_CALEC
 | Wärmezähler | CALEC ST, Version C4 | FB_MBUS_AMT_CALEC_STC4
 | Wärmezähler | AMTRON | FB_MBUS_AMT_AMTRON
 | Impulssammler | AMBUS | FB_MBUS_AMT_AMBUS
 | Wärmezähler | AMTRON SONIC D | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00


FB_MBUS_AMT_AMBUS

Anwendung

Dieser Baustein dient zum Auslesen von Impulssammlern der Firma Aquametro:

-AMBUS IS

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue            : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_AMT_AMTRON

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Aquametro:

-AMTRON

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_AMT_CALEC

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Aquametro:

-CALEC

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_AMT_CALEC_STC4

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Aquametro:

-CALEC ST, Version C4

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress           : USINT;
stSecAdr             : ST_MBUS_SecAdr;
eBaudrate            : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart               : BOOL;
bSND_NKE             : BOOL := TRUE;
bReadInit            : BOOL := TRUE;
tMinSendTime         : TIME := t#2s;
usiUnit              : USINT;
bDisabled            : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                : BOOL;
bReady               : BOOL;
bError               : BOOL;
eError               : E_MBUS_ERROR;
dwIdNumber           : DWORD;
byStatus             : BYTE;
byGEN                : BYTE;
byCounter            : BYTE;
usiRecivedAdr        : USINT;
eMedium              : E_MBUS_Medium;
sMan                 : STRING(3);
stEnergyPos          : ST_MBus_Info;
stVolumePos          : ST_MBus_Info;
stEnergyNeg          : ST_MBus_Info;
stVolumeNeg          : ST_MBus_Info;
stPower              : ST_MBus_Info;
stFlow               : ST_MBus_Info;
stForwardTemp        : ST_MBus_Info;
stReturnTemp         : ST_MBus_Info;
stDiffTemp           : ST_MBus_Info;
stPulsecounter1      : ST_MBus_Info;
stPulsecounter2      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergyPos: Zaehlerstand verbrauchte Energie (positiv) (siehe ST_MBus_Info).

stVolumePos: Zaehlerstand Wasserverbrauch (positiv) (siehe ST_MBus_Info).

stEnergyNeg: Zaehlerstand verbrauchte Energie (negativ) (siehe ST_MBus_Info).

stVolumeNeg: Zaehlerstand Wasserverbrauch (negativ) (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stPulsecounter1: Pulse counter 1 (siehe ST_MBus_Info).

stPulsecounter2: Pulse counter 2 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_AMT_SAPHIR

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Aquametro.

-Saphir

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Berg

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Berg | Elektrizitätszähler | DZ+ | FB_MBUS_BEC_DZ
 | Elektrizitätszähler | DCMi | FB_MBUS_BEC_DCMi


FB_MBUS_BEC_DCMi

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Berg:

-DCMi

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_BEC_DZ

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Berg:

-DZ+

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress            : USINT;
stSecAdr              : ST_MBUS_SecAdr;
eBaudrate             : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                : BOOL;
bSND_NKE              : BOOL := TRUE;
bReadInit             : BOOL := TRUE;
tMinSendTime          : TIME := t#2s;
usiUnit               : USINT;
bDisabled             : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                 : BOOL;
bReady                : BOOL;
bError                : BOOL;
eError                : E_MBUS_ERROR;
dwIdNumber            : DWORD;
byStatus              : BYTE;
byGEN                 : BYTE;
byCounter             : BYTE;
usiRecivedAdr         : USINT;
eMedium               : E_MBUS_Medium;
sMan                  : STRING(3);
stActiveEnergy        : ST_MBus_Info;
stReactiveEnergy      : ST_MBus_Info;
stActivePower         : ST_MBus_Info;
stReactivePower       : ST_MBus_Info;
stCurrentL1           : ST_MBus_Info;
stCurrentL2           : ST_MBus_Info;
stCurrentL3           : ST_MBus_Info;
stPowerFactor         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stActiveEnergy: Zählerstand, Gesamt-Wirkenergie (siehe ST_MBus_Info).

stReactiveEnergy: Zählerstand, Gesamt-Blindenergie (siehe ST_MBus_Info).

stActivePower: Momentaner Verbrauch, Gesamt-Wirkleistung (siehe ST_MBus_Info).

stReactivePower: Momentaner Verbrauch, Gesamt-Blindleistung (siehe ST_MBus_Info).

stCurrentL1: Strom L1 (siehe ST_MBus_Info).

stCurrentL2: Strom L2 (siehe ST_MBus_Info).

stCurrentL3: Strom L3 (siehe ST_MBus_Info).

stPowerFactor: Gesamt-Leistungsfaktor (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                 : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Brunata

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Brunata | Wärmezähler | HGQ / HGS | FB_MBUS_BHG_HGx
 | Wärmezähler | Optuna H (775) | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00


FB_MBUS_BHG_HGx

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Brunata:

-HGQ

-HGS

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress           : USINT;
stSecAdr             : ST_MBUS_SecAdr;
eBaudrate            : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart               : BOOL;
bSND_NKE             : BOOL := TRUE;
bReadInit            : BOOL := TRUE;
tMinSendTime         : TIME := t#2s;
usiUnit              : USINT;
bDisabled            : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                : BOOL;
bReady               : BOOL;
bError               : BOOL;
eError               : E_MBUS_ERROR;
dwIdNumber           : DWORD;
byStatus             : BYTE;
byGEN                : BYTE;
byCounter            : BYTE;
usiRecivedAdr        : USINT;
eMedium              : E_MBUS_Medium;
sMan                 : STRING(3);
stEnergy             : ST_MBus_Info;
stVolume             : ST_MBus_Info;
stVolume2            : ST_MBus_Info;
stForwardTemp        : ST_MBus_Info;
stReturnTemp         : ST_MBus_Info;
stDiffTemp           : ST_MBus_Info;
stFlow               : ST_MBus_Info;
stPower              : ST_MBus_Info;
stPulsecounter1      : ST_MBus_Info;
stPulsecounter2      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stVolume2: Volume from Flowsensor (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stPulsecounter1: Pulszähler 1 (siehe ST_MBus_Info).

stPulsecounter2: Pulszähler 2 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Carlo Gavazzi

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Carlo Gavazzi | Energiezähler | EM24 | FB_MBUS_GAV_EM24


FB_MBUS_GAV_EM24

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern der Firma Carlo Gavazzi.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stKWh_TOT               : ST_MBus_Info;
stKWh_L1                : ST_MBus_Info;
stKWh_L2                : ST_MBus_Info;
stKWh_L3                : ST_MBus_Info;
stW_Sum                 : ST_MBus_Info;
stV_L_N_Sum             : ST_MBus_Info;
stV_L_L_Sum             : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stKWh_TOT: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stKWh_L1: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stKWh_L2: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stKWh_L3: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stW_Sum: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stV_L_N_Sum: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stV_L_L_Sum: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.1.0


Übersicht Cynox

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Cynox | Impulszähler | MCount2C | FB_MBUS_CYN_MCount2C


FB_MBUS_CYN_MCount2C

Anwendung

Dieser Baustein dient zum Auslesen von Impulszählern der Firma Cynox.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stCurrent1              : ST_MBus_Info;
stCurrent2              : ST_MBus_Info;
stCurrent3              : ST_MBus_Info;
stCurrent4              : ST_MBus_Info;
stHistorical1           : ST_MBus_Info;
stHistorical2           : ST_MBus_Info;
stHistorical3           : ST_MBus_Info;
stHistorical4           : ST_MBus_Info;
stNextDeadline          : ST_MBus_Info;
stLastDeadline          : ST_MBus_Info;
stCurrentTime           : ST_MBus_Info;
stOperatingTime         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stCurrent1: Aktueller Wert 1 (siehe ST_MBus_Info).

stCurrent2: Aktueller Wert 2 (siehe ST_MBus_Info).

stCurrent3: Aktueller Wert 3 (siehe ST_MBus_Info).

stCurrent4: Aktueller Wert 4 (siehe ST_MBus_Info).

stHistorical1: Historischer Wert 1 (siehe ST_MBus_Info).

stHistorical2: Historischer Wert 2 (siehe ST_MBus_Info).

stHistorical3: Historischer Wert 3 (siehe ST_MBus_Info).

stHistorical4: Historischer Wert 4 (siehe ST_MBus_Info).

stNextDeadline: Nächster Stichtag (siehe ST_MBus_Info).

stLastDeadline: Letzter Stichtag (siehe ST_MBus_Info).

stCurrentTime: Aktuelle Zeit (siehe ST_MBus_Info).

stOperatingTime: Betriebszeit (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2250 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.5.0


Übersicht Elster

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Elster | Gaszähler | Encoder Z6 | FB_MBUS_ELS_EncoderZ6


FB_MBUS_ELS_EncoderZ6

Anwendung

Dieser Baustein dient zum Auslesen von Zählern der Firma Elster:

-Encoder Z6

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht elvaco

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
elvaco | Temperatur- und Feuchtigkeitsfühler | CMa10 / CMa20 | FB_MBUS_ELV_CMa10_20


FB_MBUS_ELV_CMa10_20

Anwendung

Dieser Baustein dient zum Auslesen von Temperatur- und Feuchtigkeitsfühler der Firma elvaco.

Verwendbar mit den Sensoren CMa10 und CMa20.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
strRelHumi              : ST_MBus_Info;
strRelHumiMin           : ST_MBus_Info;
strRelHumiMax           : ST_MBus_Info;
strTemp                 : ST_MBus_Info;
strTempMin              : ST_MBus_Info;
strTempMax              : ST_MBus_Info;
strTempAvg1h            : ST_MBus_Info;
strTempAvg24h           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

strRelHumi: Momentane relative Luftfeuchtigkeit (siehe ST_MBus_Info).

strRelHumiMin: Niedrigste relative Luftfeuchtigkeit seit dem letzten Min/Max Rücksetzkommando (siehe ST_MBus_Info).

strRelHumiMax: Höchste relative Luftfeuchtigkeit seit dem letzten Min/Max Rücksetzkommando (siehe ST_MBus_Info).

strTemp: Momentane Temperatur (siehe ST_MBus_Info).

strTempMin: Niedrigste Temperatur seit dem letzten Min/Max Rücksetzkommando (siehe ST_MBus_Info).

strTempMax: Höchste Temperatur seit dem letzten Min/Max Rücksetzkommando (siehe ST_MBus_Info).

strTempAvg1h: 1 Stunde Durchschnittswert für Temperatur (siehe ST_MBus_Info).

strTempAvg24h: 24 Stunden Durchschnittswert für Temperatur (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.2.0


Übersicht EMH

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
EMH | Elektrizitätszähler | DIZ | FB_MBUS_EMH_DIZ
 | Elektrizitätszähler | EIZ-E | FB_MBUS_EMH_EIZE
 | Elektrizitätszähler | EIZ-G | FB_MBUS_EMH_EIZG
 | Elektrizitätszähler | MIZ | FB_MBUS_EMH_MIZ


FB_MBUS_EMH_DIZ

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMH:

-DIZ

Nur ein Tarif-Einrichtungszähler.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_EMH_EIZE

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMH:

-EIZ-E

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_EMH_EIZG

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMH:

-EIZ-G

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_EMH_MIZ

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMH:

-MIZ

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVoltage          : ST_MBus_Info;
stCurrent          : ST_MBus_Info;
stFrequency        : ST_MBus_Info;
stPowerfactor      : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVoltage: Aktuelle Spannung (siehe ST_MBus_Info).

stCurrent: Aktueller Strom (siehe ST_MBus_Info).

stFrequency: Aktuelle Frequenz (siehe ST_MBus_Info).

stPowerfactor: Leistungsfaktor (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht EMU

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
EMU | Elektrizitätszähler | EMU32x7 | FB_MBUS_EMU_32x7
 | Elektrizitätszähler | EMU32x7 | FB_MBUS_EMU_32x7_Option8
 | Elektrizitätszähler | Allrounder 3/5 | FB_MBUS_EMU_3_5_Allrounder
 | Elektrizitätszähler | DHZ 5/63 | FB_MBUS_EMU_DHZ_5_63


FB_MBUS_EMU_32x7

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMU:

-EMU32.x7

Es werden nur die Standarddaten des Zählers ausgelesen. Diese Daten sendet der Zähler in der Standardparametrierung von EMU, oder wenn das Parameterset auf 00000 hexadezimal am Gerät eingestellt wird. Nähere Informationen dazu entnehmen Sie bitte der Dokumentation des Zählers.

Hinweis: Die Stromaufnahme der M-Bus Schnittstelle in der Normalausführung entspricht 3 Standardlasten. Wenn ein M-BUS-Masterinterface verwendet wird, das z.B. bis zu 120 Standartlasten ausgelegt ist, können im Maximum 40 EMU M-BUS Zähler angeschlossen werden. Optional kann der Zähler zusätzlich mit 230V versorgt werden. Die Stromaufnahme der M-Bus Schnittstelle entspricht dann einer Standardlast.

Die Datenübertragung vom EMU Zähler in den M-BUS Protokollrechner funktioniert nur, wenn der EMU Zähler mindestens zweiphasig am Spannungsnetz angeschlossen ist.

Der EMU Zähler sendet alle 40 Sekunden aktuelle Daten an die M-Bus Schnittstelle des Gerätes, so dass die ausgelesenen Daten ca. 40-45 Sekunden alt sind.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress            : USINT;
stSecAdr              : ST_MBUS_SecAdr;
eBaudrate             : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                : BOOL;
bSND_NKE              : BOOL := TRUE;
bReadInit             : BOOL := TRUE;
tMinSendTime          : TIME := t#2s;
usiUnit               : USINT;
bDisabled             : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                 : BOOL;
bReady                : BOOL;
bError                : BOOL;
eError                : E_MBUS_ERROR;
dwIdNumber            : DWORD;
byStatus              : BYTE;
byGEN                 : BYTE;
byCounter             : BYTE;
usiRecivedAdr         : USINT;
eMedium               : E_MBUS_Medium;
sMan                  : STRING(3);
stOperatingHours      : ST_MBus_Info;
stEnergy              : ST_MBus_Info;
stPower               : ST_MBus_Info;
stInitCounter         : ST_MBus_Info;
stDeviceError         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stOperatingHours: Betriebsstunden des EMU Zählers (siehe ST_MBus_Info).

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stInitCounter: Anzahl Spannungsausfälle am EMU Zähler (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                 : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_EMU_32x7_Option8

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMU:

-EMU32.x7

Zum Auslesen dieser Daten muss das Parameterset auf 70000 hexadezimal (Variante 8) am Gerät eingestellt werden. Nähere Informationen dazu entnehmen Sie bitte der Dokumentation des Zählers.

Hinweis: Die Stromaufnahme der M-Bus Schnittstelle in der Normalausführung entspricht 3 Standardlasten. Wenn ein M-BUS-Masterinterface verwendet, das z.B. bis zu 120 Standartlasten ausgelegt ist, können im Maximum 40 EMU M-BUS Zähler angeschlossen werden. Optional kann der der Zähler zusätzlich mit 230V versorgt werden. Die Stromaufnahme der M-Bus Schnittstelle entspricht dann einer Standardlast.

Die Datenübertragung vom EMU Zähler in den M-BUS Protokollrechner funktioniert nur, wenn der EMU Zähler mindestens zweiphasig am Spannungsnetz angeschlossen ist.

Der EMU Zähler sendet alle 40 Sekunden aktuelle Daten an die M-Bus Schnittstelle des Gerätes, so dass die ausgelesenen Daten ca.40-45 Sekunden alt sind.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
usiUnit                 : USINT;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stOperatingHours        : ST_MBus_Info;
stActiveEnergyT1        : ST_MBus_Info;
stActiveEnergyT2        : ST_MBus_Info;
stReactiveEnergyT1      : ST_MBus_Info;
stReactiveEnergyT2      : ST_MBus_Info;
stTariff                : ST_MBus_Info;
stActivePowerL1         : ST_MBus_Info;
stActivePowerL2         : ST_MBus_Info;
stActivePowerL3         : ST_MBus_Info;
stReactivePowerL1       : ST_MBus_Info;
stReactivePowerL2       : ST_MBus_Info;
stReactivePowerL3       : ST_MBus_Info;
stActivePowerMaxT1      : ST_MBus_Info;
stActivePowerMaxT2      : ST_MBus_Info;
stVoltageL1             : ST_MBus_Info;
stVoltageL2             : ST_MBus_Info;
stVoltageL3             : ST_MBus_Info;
stCurrentL1             : ST_MBus_Info;
stCurrentL2             : ST_MBus_Info;
stCurrentL3             : ST_MBus_Info;
stFrequency             : ST_MBus_Info;
stPowerFactorL1         : ST_MBus_Info;
stPowerFactorL2         : ST_MBus_Info;
stPowerFactorL3         : ST_MBus_Info;
stInitCounter           : ST_MBus_Info;
stDeviceError           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stOperatingHours: Betriebsstunden des EMU Zählers (siehe ST_MBus_Info).

stActiveEnergyT1: Zählerstand, Wirkenergie Tarif 1 (siehe ST_MBus_Info).

stActiveEnergyT2: Zählerstand, Wirkenergie Tarif 2 (siehe ST_MBus_Info).

stReactiveEnergyT1: Zählerstand, Blindenergie Tarif 1 (siehe ST_MBus_Info).

stReactiveEnergyT2: Zählerstand, Blindenergie Tarif 2 (siehe ST_MBus_Info).

stTariff: Aktueller Tarif (siehe ST_MBus_Info).

stActivePowerL1: Momentaner Verbrauch, Wirkleistung L1 (siehe ST_MBus_Info).

stActivePowerL2: Momentaner Verbrauch, Wirkleistung L2 (siehe ST_MBus_Info).

stActivePowerL3: Momentaner Verbrauch, Wirkleistung L3 (siehe ST_MBus_Info).

stReactivePowerL1: Momentaner Verbrauch, Blindleistung L1 (siehe ST_MBus_Info).

stReactivePowerL2: Momentaner Verbrauch, Blindleistung L2 (siehe ST_MBus_Info).

stReactivePowerL3: Momentaner Verbrauch, Blindleistung L3 (siehe ST_MBus_Info).

stActivePowerMaxT1: Maximale Wirkleistung Tarif 1 (siehe ST_MBus_Info).

stActivePowerMaxT2: Maximale Wirkleistung Tarif 2 (siehe ST_MBus_Info).

stVoltageL1: Aktuelle Spannung L1 (siehe ST_MBus_Info).

stVoltageL2: Aktuelle Spannung L2 (siehe ST_MBus_Info).

stVoltageL3: Aktuelle Spannung L3 (siehe ST_MBus_Info).

stCurrentL1: Aktueller Strom L1 (siehe ST_MBus_Info).

stCurrentL2: Aktueller Strom L2 (siehe ST_MBus_Info).

stCurrentL3: Aktueller Strom L3 (siehe ST_MBus_Info).

stFrequency: Aktuelle Netzfrequenz (siehe ST_MBus_Info).

stPowerFactorL1: Aktueller Formfaktor Phase L1 (cos Phi) (siehe ST_MBus_Info).

stPowerFactorL2: Aktueller Formfaktor Phase L2 (cos Phi) (siehe ST_MBus_Info).

stPowerFactorL3: Aktueller Formfaktor Phase L3 (cos Phi) (siehe ST_MBus_Info).

stInitCounter: Anzahl Spannungsausfälle am EMU Zähler (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_EMU_3_5_Allrounder

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMU.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300..9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stActiveEnergyTariff1   : ST_MBus_Info;
stActiveEnergyTariff2   : ST_MBus_Info;
stActivePowerL1         : ST_MBus_Info;
stActivePowerL2         : ST_MBus_Info;
stActivePowerL3         : ST_MBus_Info;
stActivePowerTotal      : ST_MBus_Info;
stVoltageL1             : ST_MBus_Info;
stVoltageL2             : ST_MBus_Info;
stVoltageL3             : ST_MBus_Info;
stCurrentL1             : ST_MBus_Info;
stCurrentL2             : ST_MBus_Info;
stCurrentL3             : ST_MBus_Info;
stCurrentTotal          : ST_MBus_Info;
stDeviceError           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stActiveEnergyTariff1: Wirkenergie Tarif 1 (siehe ST_MBus_Info).

stActiveEnergyTariff2: Wirkenergie Tarif 2 (siehe ST_MBus_Info).

stActivePowerL1: Wirkleistung L1 (siehe ST_MBus_Info).

stActivePowerL2: Wirkleistung L2 (siehe ST_MBus_Info).

stActivePowerL3: Wirkleistung L3 (siehe ST_MBus_Info).

stActivePowerTotal: Wirkleistung gesamt (siehe ST_MBus_Info).

stVoltageL1: Spannung L1 (siehe ST_MBus_Info).

stVoltageL2: Spannung L2 (siehe ST_MBus_Info).

stVoltageL3: Spannung L3 (siehe ST_MBus_Info).

stCurrentL1: Stromstärke L1 (siehe ST_MBus_Info).

stCurrentL2: Stromstärke L2 (siehe ST_MBus_Info).

stCurrentL3: Stromstärke L3 (siehe ST_MBus_Info).

stCurrentTotal: Stromstärke gesamt (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.3.0


FB_MBUS_EMU_DHZ_5_63

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma EMU.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300..9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stEnergy1               : ST_MBus_Info;
stEnergy2               : ST_MBus_Info;
stVoltage               : ST_MBus_Info;
stCurrent               : ST_MBus_Info;
stPower                 : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy1: Effektive Energie 1 (siehe ST_MBus_Info).

stEnergy2: Effektive Energie 2 (siehe ST_MBus_Info).

stVoltage: Netzspannung (siehe ST_MBus_Info).

stCurrent: Momentane Stromstärke (siehe ST_MBus_Info).

stPower: Momentane Wirkleistung (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.3.0


Übersicht Engelmann

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Engelmann | Wärmezähler | Sensostar 2C | FB_MBUS_EFF_SensoStar2C


FB_MBUS_EFE_SensoStar2C

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Engelmann:

-SENSOSTAR 2C

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress           : USINT;
stSecAdr             : ST_MBUS_SecAdr;
eBaudrate            : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart               : BOOL;
bSND_NKE             : BOOL := TRUE;
bReadInit            : BOOL := TRUE;
tMinSendTime         : TIME := t#2s;
usiUnit              : USINT;
bDisabled            : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                : BOOL;
bReady               : BOOL;
bError               : BOOL;
eError               : E_MBUS_ERROR;
dwIdNumber           : DWORD;
byStatus             : BYTE;
byGEN                : BYTE;
byCounter            : BYTE;
usiRecivedAdr        : USINT;
eMedium              : E_MBUS_Medium;
sMan                 : STRING(3);
stEnergy             : ST_MBus_Info;
stColdEnergy         : ST_MBus_Info;
stPower              : ST_MBus_Info;
stVolume             : ST_MBus_Info;
stFlow               : ST_MBus_Info;
stForwardTemp        : ST_MBus_Info;
stReturnTemp         : ST_MBus_Info;
stDiffTemp           : ST_MBus_Info;
stTariff1            : ST_MBus_Info;
stTariff2            : ST_MBus_Info;
stPulsecounter1      : ST_MBus_Info;
stPulsecounter2      : ST_MBus_Info;
stDeviceError        : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stColdEnergy: Zaehlerstand verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stTariff1: Tarifregister 1 (siehe ST_MBus_Info).

stTariff2: Tarifregister 2 (siehe ST_MBus_Info).

stPulsecounter1: Pulszähler 1 (siehe ST_MBus_Info).

stPulsecounter2: Pulszähler 2 (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht allgemeine Gerätebausteine

Hersteller | Typ | Gerät | Baustein
General | Elektrizitätszähler | alle Elektrizitätszähler | FB_MBUS_General_Electricity
 | Wärmezähler | alle Wärmezähler | FB_MBUS_General_Heat
 | Wasserzähler | all Wasserzähler | FB_MBUS_General_Water
 | Rohdaten vom 1.Telegramm | alle | FB_MBUS_RawData
 | max.40 Werte vom 1.Telegramm | alle | FB_MBUS_General
 | alle Telegramme, alle Werte | alle | FB_MBUS_General_Ext
 | Werte parametrierbar | alle | FB_MBUS_General_Param
 | Universeller Sendebaustein | alle | FB_MBUS_General_Send
 | Scannbaustein | alle | FB_MBUS_Scan
 | Adresse ändern | alle | FB_MBUS_ChangeAdr


FB_MBUS_ChangeAdr

Anwendung

Mit diesem Baustein kann die Primäradresse geändert werden.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

VAR_INPUT

usiAdrOld      : USINT;
usiAdrNew      : USINT;
eBaudrate      : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart         : BOOL;
bDisabled      : BOOL := FALSE;

usiAdrOld: Alte Primäradresse des Zählers.

usiAdrNew: Neue Primäradresse des Zählers.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird die Primäradresse des Zählers geändert.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy          : BOOL;
bReady         : BOOL;
bError         : BOOL;
eError         : E_MBUS_ERROR;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

VAR_IN_OUT

stCom          : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_General

Anwendung

Dieser Baustein dient zum Auslesen von beliebigen M-Bus Geräten. Die Variable arrData liefert maximal cMBUS_MaxData Werte des 1.Telegramms. String-Werte und herstellerspezifische Informationen werden nicht korrekt dargestellt.

Hinweis:

Dieser Baustein ist nicht für BC / BX geeignet.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
arrData            : ARRAY [1..cMBUS_MaxData] OF ST_MBus_Data;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

arrData: Maximal cMBUS_MaxData Werte des 1.Telgramms. Die Bedeutung der Werte muss dem M-Bus Protokoll des Gerätes entnommen werden.

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Beispielansicht:

Download Beispielprogramm für PC/CX Systeme:


FB_MBUS_General_Electricity

Anwendung

Dieser Baustein dient zum Auslesen von Stromzählern.

Hinweis: Die Leistung wird nicht von allen Stromzählern gesendet. Die entsprechende Struktur bleibt dann leer.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:


FB_MBUS_General_Ext

Anwendung

Es gibt M-Bus Geräte, die Werte auf mehrere Telegramme verteilt schicken. Mit diesem Baustein können alle Telegramme von beliebigen M-Bus Geräten ausgelesen werden.

Die Variable arrTelegram[1..cMBUS_MaxTelegrams].arrData[1..cMBUS_MaxData] liefert von maximal cMBUS_MaxTelegrams Telegrammen maximal cMBUS_MaxData Daten. String-Werte und herstellerspezifische Informationen werden nicht korrekt dargestellt.

Die Anzahl der auszulesenden Telegramme kann mit der Konstanten cMBUS_MaxTelegrams verändert werden.

Die Anzahl der auszulesenden Daten pro Telegramm kann mit der Konstanten cMBUS_MaxData verändert werden.

Hinweis:

Dieser Baustein ist nicht für BC / BX geeignet.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
arrTelegram        : ARRAY [1..cMBUS_MaxTelegrams] OF ST_MBus_Data2;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

arrTelegram: Maximal cMBUS_MaxTelegrams Telegramme (siehe ST_MBus_Data2). Die Bedeutung der Werte muss dem M-Bus Protokoll des Gerätes entnommen werden.

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Beispielansicht der Werte des 2.Telegramms:

Download Beispielprogramm für PC/CX Systeme:


FB_MBUS_General_Heat

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern.

Hinweis: Von vielen Wärmezählern werde nicht alle Werte gesendet. Die entsprechenden Strukturen bleiben dann leer.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_General_Param

Anwendung

Dieser Baustein dient zum Auslesen von beliebigen M-Bus Geräten. Die Variable arrData liefert cMBUS_MaxDataParam Werte.

Diese Werte können in dem Input Array arrConfigData parametriert werden. String-Werte und herstellerspezifische Informationen werden nicht korrekt dargestellt.

Hinweis:

Dieser Baustein ist nicht für BC / BX geeignet.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;
arrConfigData      : ARRAY [1..cMBUS_MaxDataParam] OF WORD;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

arrConfigData: Maximal cMBUS_MaxDataParam Eingangsparameter zum Festlegen, welche Werte in dem Output Array arrData angezeigt werden sollen. Beispiel siehe unten.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
arrData            : ARRAY [1..cMBUS_MaxDataParam] OF ST_MBus_Data;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

arrData: Maximal cMBUS_MaxDataParam Werte. Die Werte können über die Input Variable arrConfigData konfiguriert werden. Die Bedeutung der Werte muss dem M-Bus Protokoll des Gerätes entnommen werden.

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Beispiel Eingangsvariable arrConfigData

arrConfigData[x]:=T T V V; T T=Telegramm 2 Ziffern (<=99), V V = Wert 2 Ziffern (maximal cMBUS_MaxData <=99)

Beispiel arrConfigData:

MBUS.arrConfigData[1]:=0101; (Telegramm 1, Wert 1)

MBUS.arrConfigData[2]:=0102; (Telegramm 1, Wert 2)

MBUS.arrConfigData[3]:=0309; (Telegramm 3, Wert 9)

MBUS.arrConfigData[3]:=1510; (Telegramm 15, Wert 10)

MBUS.arrConfigData[4]:=511; (Telegramm 5, Wert 11)

MBUS.arrConfigData[x]:=10; falsch, zu wenig Ziffern (minimal 3 Ziffern)

MBUS.arrConfigData[x]:=12345; falsch, zu viele Ziffern (maximal 4 Ziffern)

Bei falscher Zuweisung bleibt das entsprechende Feld im Output Array (arrData) leer, es gibt keine Fehlermeldung.

Download Beispielprogramm für PC/CX Systeme:


FB_MBUS_General_Send

Anwendung

Dieser Baustein dient zum Senden von Daten an beliebige M-Bus Geräte. (z.B. kann mit diesem Baustein die Primäradresse des Zählers geändert werden)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress      : USINT;
stSecAdr        : ST_MBUS_SecAdr;
eBaudrate       : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart          : BOOL;
bSND_NKE        : BOOL := TRUE;
bDisabled       : BOOL := FALSE;
byC_Field       : USINT:=16#53;
byCI_Field      : USINT:=16#51;
arrData         : ARRAY [0..240] OF BYTE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bDisabled: TRUE = Abwahl des Bausteins.

byC_Field: C-Feld / Funktionsfeld.

byCI_Field: CI-Feld / Kennungsfeld.

arrData: Die zu sendenden Daten müssen in diese Variable geschrieben werden.

VAR_OUTPUT

bBusy           : BOOL;
bReady          : BOOL;
bError          : BOOL;
eError          : E_MBUS_ERROR;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

VAR_IN_OUT

stCom           : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_General_Water

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern.

Hinweis: Der Durchfluss wird nicht von allen Wasserzähler gesendet. Die entsprechende Struktur bleibt dann leer.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_RawData

Anwendung

Dieser Baustein dient zum Auslesen von beliebigen M-Bus Geräten. Die Variable arrData liefert die Rohdaten des M-Bus Gerätes. Es wird nur das erste Telegramm ausgewertet.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
iLen               : INT;
arrData            : ARRAY [0..259] OF BYTE;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

iLen: Anzahl der übertragenen Bytes.

arrData: Rohdaten des 1. Telegramms.

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_Scan

Anwendung

Mit diesem Baustein kann der M-Bus Bus gescannt werden. Es werden nacheinander alle Primäradressen(0..250) angefragt. Im Array arrDevice werden einige Informationen von dem Gerät angezeigt.

Es wird nur mit der Primäradresse gescannt.

Die Primäradresse aller Geräte muss eingestellt sein.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

VAR_INPUT

bStart          : BOOL;
bStop           : BOOL;
eBaudrate       : E_MBUS_Baudrate := eMBUS_Baud2400;
bDisabled       : BOOL := FALSE;

bStart: Auf positive Flanke dieses Eingangs wird der Suchvorgang gestartet.

bStop: Auf positive Flanke dieses Eingangs wird der Suchvorgang gestoppt.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy           : BOOL;
bReady          : BOOL;
bError          : BOOL;
eError          : E_MBUS_ERROR;
usiAddress      : USINT;
usiCount        : USINT;
arrDevice       : ARRAY [0..250] OF ST_MBus_Scan;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

usiCount: Anzahl der gültig erkannten Geräte.

arrDevice: Informationen über die erkannten Geräte.

VAR_IN_OUT

stCom           : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Gossen Metrawatt

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Gossen Metrawatt | Elektrizitätszähler | U128x | FB_MBUS_GMC_Electricity
 | Elektrizitätszähler | U138x | FB_MBUS_GMC_Electricity


FB_MBUS_GMC_Electricity

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Gossen Metrawatt:

-U128x

-U138x

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht GWF

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
GWF | Wasserzähler |  | FB_MBUS_GWF_Coder
 | Gaszähler | S1 | FB_MBUS_GWF_Coder
 | Gaszähler | Z1 | FB_MBUS_GWF_Coder


FB_MBUS_GWF_Coder

Anwendung

Dieser Baustein dient zum Auslesen von Zählern der Firma GWF:

-Wasserzähler

-Gaszähler S1

-Gaszähler Z1

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Hydrometer

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Hydrometer | 2 Pulseingänge | HYDRO-PORT Pulse | FB_MBUS_HYD_PortPulse
 | 2 Analogeingänge+1 Temperaturfühler | HYDRO-PORT Analog | FB_MBUS_HYD_PortAnalog
 | Wasserzähler | Flypper | FB_MBUS_HYD_Flypper
 | Wärmezähler | Sharky 773 | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00
 | Wärmezähler | Sharky 775 | FB_MBUS_HYD_Sharky, FB_MBUS_HYD_Sharky_00


FB_MBUS_HYD_Flypper

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Hydrometer:

-Flypper

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_HYD_PortAnalog

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Analogausgang der Firma Hydrometer:

-HYDRO-PORT Analog (2x0/4-20mA / 1xPT Temperaturfühler)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue1           : ST_MBus_Info;
stValue2           : ST_MBus_Info;
stTemperatur       : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue1: Zählerstand 1 (siehe ST_MBus_Info).

stValue2: Zählerstand 2 (siehe ST_MBus_Info).

stTemperatur: Temperatur (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_HYD_PortPulse

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Impulsausgang der Firma Hydrometer:

-HYDRO-PORT Pulse

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue1           : ST_MBus_Info;
stValue2           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue1: Zählerstand 1 (siehe ST_MBus_Info).

stValue2: Zählerstand 2 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_HYD_Sharky

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern der Firmen:

Hydrometer:

-Sharky 773

-Sharky 775

-ENERGY INT 6

Brunata:

-Brunata Optuna H (775)

Aquametro:

-AMNTRONIC SONIC D

Es werden nur die gängigsten Werte (siehe VAR_OUTPUT) der Telegramme:

00 ( Application Reset-Subcode 00 / All )

10 ( Application Reset-Subcode 10 / User data)

20 ( Application Reset-Subcode 20 / Simple billing)

30 ( Application Reset-Subcode 30 / Enhanced billing)

40 ( Application Reset-Subcode 40 / Multi tariff billing)

oder 50 ( Application Reset-Subcode 50 / Instant values)

ausgelesen. Das Gerät wird nicht auf diese Telegramme umgeschaltet, es muss auf eines dieser Telgramme eingestellt sein.

Werden weitere Daten benötigt, kann der Baustein FB_MBUS_HYD_Sharky_00() benutzt werden oder mit dem Baustein FB_MBUS_General_Send() das gewünschte Telegramm angewählt und mit dem Baustein FB_MBUS_General() alle Daten des jeweiligen Telegrammes ausgelesen werden.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stTariff1          : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stTariff1: Verbrauchte Energie Tarif 1 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_HYD_Sharky_00

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern der Firmen:

Hydrometer:

-Sharky 773

-Sharky 775

-ENERGY INT 6

Brunata:

-Brunata Optuna H (775)

Aquametro:

-AMNTRONIC SONIC D

Es werden alle Werte des Telegramms 00 ( Application Reset-Subcode 00 / All ) ausgelesen. Das Gerät schaltet selbständig in den entsprechenden Modus um.

stPulsecounter1 und stPulsecounter2 werden nur bei gestecktem Impulsmodul ausgegeben.

Werden weitere Telgramme benötigt, kann mit dem Baustein FB_MBUS_General_Send() das gewünschte Telegramm angewählt und mit dem Baustein FB_MBUS_General() alle Daten des jeweiligen Telegrammes ausgelesen werden.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress            : USINT;
stSecAdr              : ST_MBUS_SecAdr;
eBaudrate             : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                : BOOL;
bSND_NKE              : BOOL := TRUE;
bReadInit             : BOOL := TRUE;
tMinSendTime          : TIME := t#2s;
usiUnit               : USINT;
bDisabled             : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                 : BOOL;
bReady                : BOOL;
bError                : BOOL;
eError                : E_MBUS_ERROR;
dwIdNumber            : DWORD;
byStatus              : BYTE;
byGEN                 : BYTE;
byCounter             : BYTE;
usiRecivedAdr         : USINT;
eMedium               : E_MBUS_Medium;
sMan                  : STRING(3);
stEnergy              : ST_MBus_Info;
stTariff1             : ST_MBus_Info;
stTariff2             : ST_MBus_Info;
stVolume              : ST_MBus_Info;
stPower               : ST_MBus_Info;
stFlow                : ST_MBus_Info;
stForwardTemp         : ST_MBus_Info;
stReturnTemp          : ST_MBus_Info;
stDiffTemp            : ST_MBus_Info;
stOperatingHours      : ST_MBus_Info;
stDateTime            : ST_MBus_Info;
stDueDay1             : ST_MBUS_DueDayHYD1;
stDueDay2             : ST_MBUS_DueDayHYD1;
stPulsecounter1       : ST_MBus_Info;
stPulsecounter2       : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stTariff1: Zählerstand Tarif 1 (siehe ST_MBus_Info).

stTariff2: Zählerstand Tarif 2 (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stOperatingHours: Aktuelle Betriebsstunden (siehe ST_MBus_Info).

stDateTime: Aktuelles Datum, Uhrzeit (siehe ST_MBus_Info).

stDueDay1: Werte Stichtag 1 (siehe ST_MBUS_DueDayHYD1).

stDueDay2: Werte Stichtag 2 (siehe ST_MBUS_DueDayHYD1).

stPulsecounter1: Zählerstand Impulszähler 1 (siehe ST_MBus_Info).

stPulsecounter2: Zählerstand Impulszähler 2 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                 : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Gossen Metrawatt

TwinCAT PLC Lib: M-Bus

Übersicht ista

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
ista | Wasserzähler | domaqua® m | FB_MBUS_IST_Istameter
 | Wasserzähler | istameter® m | FB_MBUS_IST_Istameter
 | Wasserzähler | istameter III | FB_MBUS_IST_IstameterIII
 | Pulszähler | pulsonic II | FB_MBUS_IST_PulsonicII
 | Wärmezähler | sensonic II | FB_MBUS_IST_SensonicII


FB_MBUS_IST_Istameter

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Ista:

-istameter® m

-domaqua® m

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Hinweis: Die Geräte werden von einer Batterie versorgt, daher ist die Anzahl der Auslesungen auf ein Maximum beschränkt. Ein interner Zähler verhindert eine häufigere Kommunikation als im Durchschnitt 96 mal täglich. Der Anwender muss dafür sorgen, das die Abfrage nicht häufiger stattfindet.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_IST_IstameterIII

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Ista:

-istameter III

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Hinweis: Die Geräte werden von einer Batterie versorgt, daher ist die Anzahl der Auslesungen auf ein Maximum beschränkt. Ein interner Zähler verhindert eine häufigere Kommunikation als im Durchschnitt 96 mal täglich. Der Anwender muss dafür sorgen, das die Abfrage nicht häufiger stattfindet.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_IST_PulsonicII

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Impulsausgang der Firma Ista:

-Pulsonic II

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Hinweis: Die Geräte werden von einer Batterie versorgt, daher ist die Anzahl der Auslesungen auf ein Maximum beschränkt. Ein interner Zähler verhindert eine häufigere Kommunikation als im Durchschnitt 96 mal täglich. Der Anwender muss dafür sorgen, das die Abfrage nicht häufiger stattfindet.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress          : USINT;
stSecAdr            : ST_MBUS_SecAdr;
eBaudrate           : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart              : BOOL;
bSND_NKE            : BOOL := TRUE;
bReadInit           : BOOL := TRUE;
tMinSendTime        : TIME := t#2s;
usiUnit             : USINT;
bDisabled           : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy               : BOOL;
bReady              : BOOL;
bError              : BOOL;
eError              : E_MBUS_ERROR;
dwIdNumber          : DWORD;
byStatus            : BYTE;
byGEN               : BYTE;
byCounter           : BYTE;
usiRecivedAdr       : USINT;
eMedium             : E_MBUS_Medium;
sMan                : STRING(3);
stValue             : ST_MBus_Info;
stCurrentValue      : ST_MBus_Info;
stDeviceError       : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Aktueller Verbrauchswert (siehe ST_MBus_Info).

stCurrentValue: Aktueller Durchfluss / Leistung (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom               : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_IST_SensonicII

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Ista:

-Sensonic II

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Hinweis: Die Geräte werden von einer Batterie versorgt, daher ist die Anzahl der Auslesungen auf ein Maximum beschränkt. Ein interner Zähler verhindert eine häufigere Kommunikation als im Durchschnitt 96 mal täglich. Der Anwender muss dafür sorgen, das die Abfrage nicht häufiger stattfindet.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stColdEnergy       : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;
stDeviceError      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stColdEnergy: Zählerstand, verbrauchte Kälteenergie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Janitza

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Janitza | Elektrizitätszähler | UMG96S | FB_MBUS_JAN_UMG96S


FB_MBUS_JAN_UMG96S

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Janitza:

-UMG96S

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress                   : USINT;
stSecAdr                     : ST_MBUS_SecAdr;
eBaudrate                    : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                       : BOOL;
bSND_NKE                     : BOOL := TRUE;
bReadInit                    : BOOL := TRUE;
tMinSendTime                 : TIME := t#2s;
usiUnit                      : USINT;
bDisabled                    : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                        : BOOL;
bReady                       : BOOL;
bError                       : BOOL;
eError                       : E_MBUS_ERROR;
dwIdNumber                   : DWORD;
byStatus                     : BYTE;
byGEN                        : BYTE;
byCounter                    : BYTE;
usiRecivedAdr                : USINT;
eMedium                      : E_MBUS_Medium;
sMan                         : STRING(3);
stActiveEnergy               : ST_MBus_Info;
stActiveEnergyTariff1        : ST_MBus_Info;
stActiveEnergyTariff2        : ST_MBus_Info;
stReactiveEnergy             : ST_MBus_Info;
stReactiveEnergyTariff1      : ST_MBus_Info;
stReactiveEnergyTariff2      : ST_MBus_Info;
stApparentEnergy             : ST_MBus_Info;
stActivePower                : ST_MBus_Info;
stActivePowerL1              : ST_MBus_Info;
stActivePowerL2              : ST_MBus_Info;
stActivePowerL3              : ST_MBus_Info;
stReactivePower              : ST_MBus_Info;
stApparentPower              : ST_MBus_Info;
stCurrent                    : ST_MBus_Info;
stCurrentL1                  : ST_MBus_Info;
stCurrentL2                  : ST_MBus_Info;
stCurrentL3                  : ST_MBus_Info;
stVoltageL1                  : ST_MBus_Info;
stVoltageL2                  : ST_MBus_Info;
stVoltageL3                  : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stActiveEnergy: Wirkarbeit ohne Rücklaufsperre (Telegramm2, Datenpunkt 14) (siehe ST_MBus_Info).

stActiveEnergyTariff1: Wirkarbeit, bezogen (Telegramm2, Datenpunkt 15) (siehe ST_MBus_Info).

stActiveEnergyTariff2: Wirkarbeit, geliefert (Telegramm2, Datenpunkt 16) (siehe ST_MBus_Info).

stReactiveEnergy: Blindarbeit, induktiv (Telegramm2, Datenpunkt 17) (siehe ST_MBus_Info).

stReactiveEnergyTariff1: Blindarbeit, kapazitiv (Telegramm2, Datenpunkt 18) (siehe ST_MBus_Info).

stReactiveEnergyTariff2: Blindarbeit, ohne Rücklaufsperre (Telegramm2, Datenpunkt 19) (siehe ST_MBus_Info).

stApparentEnergy: Scheinarbeit (Telegramm2, Datenpunkt 20) (siehe ST_MBus_Info).

stActivePower: Momentaner Verbrauch, Leistung, gesamt (Telegramm2, Datenpunkt 29) (siehe ST_MBus_Info).

stActivePowerL1: Momentaner Verbrauch, Leistung, Phase L1 (Telegramm2, Datenpunkt 38) (siehe ST_MBus_Info).

stActivePowerL2: Momentaner Verbrauch, Leistung, Phase L2 (Telegramm2, Datenpunkt 39) (siehe ST_MBus_Info).

stActivePowerL3: Momentaner Verbrauch, Leistung, Phase L3 (Telegramm2, Datenpunkt 40) (siehe ST_MBus_Info).

stReactivePower: Blindleistung (Telegramm2, Datenpunkt 30) (siehe ST_MBus_Info).

stApparentPower: Scheinleistung (Telegramm2, Datenpunkt 31) (siehe ST_MBus_Info).

stCurrent: Strom (Telegramm2, Datenpunkt 28) (siehe ST_MBus_Info).

stCurrentL1: Strom L1 (Telegramm2, Datenpunkt 35) (siehe ST_MBus_Info).

stCurrentL2: Strom L2 (Telegramm2, Datenpunkt 36) (siehe ST_MBus_Info).

stCurrentL3: Strom L3 (Telegramm2, Datenpunkt 37) (siehe ST_MBus_Info).

stVoltageL1: Spannung L1 (Telegramm2, Datenpunkt 32) (siehe ST_MBus_Info).

stVoltageL2: Spannung L2 (Telegramm2, Datenpunkt 33) (siehe ST_MBus_Info).

stVoltageL3: Spannung L3 (Telegramm2, Datenpunkt 34) (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                        : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Kamstrup

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Kamstrup | Elektrizitätszähler | Kamstrup 162 | FB_MBUS_KAM_KamstrupE
 | Elektrizitätszähler | Kamstrup 351 | FB_MBUS_KAM_KamstrupE
 | Elektrizitätszähler | Kamstrup 382 | FB_MBUS_KAM_KamstrupE
 | Wärme / Kältezähler | Maxical III | FB_MBUS_KAM_Maxical_III
 | Wärme / Kältezähler | Multical 401 | FB_MBUS_KAM_Multical
 | Wärme / Kältezähler | Multical 402 | FB_MBUS_KAM_Multical402
 | Wasserzähler | Multical 41 | FB_MBUS_KAM_Multical41
 | Wärme / Kältezähler | Multical 601 | FB_MBUS_KAM_Multical601


FB_MBUS_KAM_KamstrupE

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Kamstrup:

-Kamstrup 162

-Kamstrup 351

-Kamstrup 382

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_KAM_Maxical_III

Anwendung

Dieser Baustein dient zum Auslesen von Wärme- / Kältezählern der Firma Kamstrup:

-Maxical III

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_KAM_Multical

Anwendung

Dieser Baustein dient zum Auslesen von Wärme- / Kältezählern der Firma Kamstrup:

-Multical 401

-Multical 601

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_KAM_Multical402

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern der Firma Kamstrup.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stEnergyHeating         : ST_MBus_Info;
stVolume                : ST_MBus_Info;
stOnTime                : ST_MBus_Info;
stTempFlow              : ST_MBus_Info;
stTempReturn            : ST_MBus_Info;
stTempDiff              : ST_MBus_Info;
stPowerActual           : ST_MBus_Info;
stPowerMax              : ST_MBus_Info;
stFlowActual            : ST_MBus_Info;
stFlowMax               : ST_MBus_Info;
stTariff2               : ST_MBus_Info;
stTariff3               : ST_MBus_Info;
stPulseInputA           : ST_MBus_Info;
stPulseInputB           : ST_MBus_Info;
stEnergyCooling         : ST_MBus_Info;
stDateTime              : ST_MBus_Info;
stEnergyHeatingTarget   : ST_MBus_Info;
stVolumeTarget          : ST_MBus_Info;
stPowerMaxTarget        : ST_MBus_Info;
stFlowMaxTarget         : ST_MBus_Info;
stTariff2Target         : ST_MBus_Info;
stTariff3Target         : ST_MBus_Info;
stPulseInputATarget     : ST_MBus_Info;
stPulseInputBTarget     : ST_MBus_Info;
stEnergyCoolingTarget   : ST_MBus_Info;
stDateTarget            : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergyHeating: Wärmeenergie (siehe ST_MBus_Info).

stVolume: Verbrauchtes Fernwärmewasser (siehe ST_MBus_Info).

stOnTime: Betriebsstunden (siehe ST_MBus_Info).

stTempFlow: Aktuelle Vorlauftemperatur (siehe ST_MBus_Info).

stTempReturn: Aktuelle Rücklauftemperatur (siehe ST_MBus_Info).

stTempDiff: Aktuelle Temperaturdifferenz (siehe ST_MBus_Info).

stPowerActual: Aktuelle Wirkleistung (siehe ST_MBus_Info).

stPowerMax: Wirkleistung (maximal) (siehe ST_MBus_Info).

stFlowActual: Aktueller Durchfluss (siehe ST_MBus_Info).

stFlowMax: Durchfluss (maximal) (siehe ST_MBus_Info).

stTariff2: Tarif 2 (siehe ST_MBus_Info).

stTariff3: Tarif 3 (siehe ST_MBus_Info).

stPulseInputA: Impulseingang A (siehe ST_MBus_Info).

stPulseInputB: Impulseingang B (siehe ST_MBus_Info).

stEnergyCooling: Kühlenergie (siehe ST_MBus_Info).

stDateTime: Datum und Uhrzeit (siehe ST_MBus_Info).

stEnergyHeatingTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stVolumeTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stPowerMaxTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stFlowMaxTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stTariff2Target: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stTariff3Target: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stPulseInputATarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stPulseInputBTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stEnergyCoolingTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

stDateTarget: Siehe Angaben des Herstellers (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.3.0


FB_MBUS_KAM_Multical41

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Kamstrup:

-Multical 41

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_KAM_Multical601

Anwendung

Dieser Baustein dient zum Auslesen von Wärme- / Kältezählern der Firma Kamstrup:

-Multical 601

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress           : USINT;
stSecAdr             : ST_MBUS_SecAdr;
eBaudrate            : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart               : BOOL;
bSND_NKE             : BOOL := TRUE;
bReadInit            : BOOL := TRUE;
tMinSendTime         : TIME := t#2s;
usiUnit              : USINT;
bDisabled            : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                : BOOL;
bReady               : BOOL;
bError               : BOOL;
eError               : E_MBUS_ERROR;
dwIdNumber           : DWORD;
byStatus             : BYTE;
byGEN                : BYTE;
byCounter            : BYTE;
usiRecivedAdr        : USINT;
eMedium              : E_MBUS_Medium;
sMan                 : STRING(3);
stEnergy             : ST_MBus_Info;
stPower              : ST_MBus_Info;
stVolume             : ST_MBus_Info;
stFlow               : ST_MBus_Info;
stForwardTemp        : ST_MBus_Info;
stReturnTemp         : ST_MBus_Info;
stDiffTemp           : ST_MBus_Info;
stCoolingEnergy      : ST_MBus_Info;
stEnergyT2           : ST_MBus_Info;
stEnergyT3           : ST_MBus_Info;
stPulsecounter1      : ST_MBus_Info;
stPulsecounter2      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stCoolingEnergy: Zählerstand, verbrauchte Kälteenergie (siehe ST_MBus_Info).

stEnergyT2: Zählerstand, verbrauchte Energie, Tarif 2 (siehe ST_MBus_Info).

stEnergyT3: Zählerstand, verbrauchte Energie, Tarif 3 (siehe ST_MBus_Info).

stPulsecounter1: Pulszähler 1 (siehe ST_MBus_Info).

stPulsecounter2: Pulszähler 2 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Kundo

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
KUNDO | Wärme- / Kältezähler | Kompakt WMZ G20 | FB_MBUS_KST_G20
 | Wärme- / Kältezähler | Kompakt WMZ G21 | FB_MBUS_KST_G20
 | externes M-Bus-Modul | him1s | FB_MBUS_KST_him1
 | externes M-Bus-Modul | him1plus | FB_MBUS_KST_him1
 | Pulseingang | him1plus | FB_MBUS_KST_him1Puls


FB_MBUS_KST_G20

Anwendung

Dieser Baustein dient zum Auslesen von Wärme / Kältezählern der Firma KUNDO System Technik:

-Kompakt WZM G20 (mit internem M-Bus Modul)

-Kompakt WZM G21 (mit internem M-Bus Modul)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_KST_him1

Anwendung

Dieser Baustein dient zum Auslesen von M-Bus-Modulen der Firma KUNDO System Technik:

-him1s

-him1plus

Mit diesen Modulen können Verbrauchsdaten aus einem KUNDO Rechenwerk ausgelesen werden.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_KST_him1Puls

Anwendung

Dieser Baustein dient zum Auslesen von M-Bus-Modulen der Firma KUNDO System Technik:

-him1plus (Pulseingang)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue            : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Landis & Gyr

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Landis & Gyr | Wärme- / Kältezähler | ULTRAHEAT 2WR5 | FB_MBUS_LUG_Heat
 | Wärme- / Kältezähler | ULTRAHEAT 2WR6 | FB_MBUS_LUG_Heat
 | Wärme- / Kältezähler | ULTRAHEAT UH50 | FB_MBUS_LUG_Heat


FB_MBUS_LUG_Heat

Anwendung

Dieser Baustein dient zum Auslesen von Wärme- / Kältezählern der Firma Landis & Gyr:

-2WR5

-2WR6

-UH50

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 1200, 2400, 4800 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Metrima

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Metrima | Wärmezähler | F22 (Standardwerte) | FB_MBUS_SVM_F22
 | Wärmezähler | F22 (mit zusätzlichen Ausgabewerten) | FB_MBUS_SVM_F22_Ext


FB_MBUS_SVM_F22

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Metrima:

-F22

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress           : USINT;
stSecAdr             : ST_MBUS_SecAdr;
eBaudrate            : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart               : BOOL;
bSND_NKE             : BOOL := TRUE;
bReadInit            : BOOL := TRUE;
tMinSendTime         : TIME := t#2s;
usiUnit              : USINT;
bDisabled            : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                : BOOL;
bReady               : BOOL;
bError               : BOOL;
eError               : E_MBUS_ERROR;
dwIdNumber           : DWORD;
byStatus             : BYTE;
byGEN                : BYTE;
byCounter            : BYTE;
usiRecivedAdr        : USINT;
eMedium              : E_MBUS_Medium;
sMan                 : STRING(3);
stEnergy             : ST_MBus_Info;
stVolume             : ST_MBus_Info;
stVolume2            : ST_MBus_Info;
stForwardTemp        : ST_MBus_Info;
stReturnTemp         : ST_MBus_Info;
stDiffTemp           : ST_MBus_Info;
stFlow               : ST_MBus_Info;
stPower              : ST_MBus_Info;
stPulsecounter1      : ST_MBus_Info;
stPulsecounter2      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stVolume2: Akkumuliertes Volumen. Energieberechnung (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stPulsecounter1: Pulszähler 1 (siehe ST_MBus_Info).

stPulsecounter2: Pulszähler 2 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_SVM_F22_Ext

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Metrima:

-F22

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Hinweis: Dieser Baustein ist nicht für BC / BX geeignet.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress            : USINT;
stSecAdr              : ST_MBUS_SecAdr;
eBaudrate             : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                : BOOL;
bSND_NKE              : BOOL := TRUE;
bReadInit             : BOOL := TRUE;
tMinSendTime          : TIME := t#2s;
usiUnit               : USINT;
bDisabled             : BOOL := FALSE;
bMonthstorages        : BOOL;
byMonthstorages       : BYTE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

bMonthstorages: =False, Stichtage und monatliche Werte werden nicht ausgelesen (arrAccountAccums und arrMonthlyAccums) / =True, Stichtage und monatliche Werte werden ausgelesen (arrAccountAccums und arrMonthlyAccums). Anzahl der monatlichen Werte (arrMonthlyAccums) ist veränderbar und richtet sich nach der Variable byMonthstorages.

byMonthstorages: Anzahl der monatlichen Werte (arrMonthlyAccums), maximal 37 Werte. Gilt nur, wenn byMonthstorages =TRUE.

VAR_OUTPUT

bBusy                 : BOOL;
bReady                : BOOL;
bError                : BOOL;
eError                : E_MBUS_ERROR;
dwIdNumber            : DWORD;
byStatus              : BYTE;
byGEN                 : BYTE;
byCounter             : BYTE;
usiRecivedAdr         : USINT;
eMedium               : E_MBUS_Medium;
sMan                  : STRING(3);
stEnergy              : ST_MBus_Info;
stVolume              : ST_MBus_Info;
stVolume2             : ST_MBus_Info;
stForwardTemp         : ST_MBus_Info;
stReturnTemp          : ST_MBus_Info;
stDiffTemp            : ST_MBus_Info;
stFlow                : ST_MBus_Info;
stPower               : ST_MBus_Info;
stPulsecounter1       : ST_MBus_Info;
stPulsecounter2       : ST_MBus_Info;
arrAccountAccums      : ARRAY [1..2] OF ST_MBus_F22;
arrMonthlyAccums      : ARRAY [1..37] OF ST_MBus_F22;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stVolume2: Akkumuliertes Volumen. Energieberechnung (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stPulsecounter1: Pulszähler 1 (siehe ST_MBus_Info).

stPulsecounter2: Pulszähler 2 (siehe ST_MBus_Info).

arrAccountAccums: 2 Stichtagswerte (Energie, Volumen 1, Volumen 2, Pulszähler 1,Pulszähler 2, Datum). Werte werden nur ausgelesen, wenn bMonthstorages = True.

arrMonthlyAccums: maximal 37 monatliche Werte (Energie, Volumen 1, Volumen 2, Pulszähler 1,Pulszähler 2, Datum). Werte werden nur ausgelesen, wenn bMonthstorages = True. Die Anzahl der Werte richtet sich nach der Variable byMonthstorages.

VAR_IN_OUT

stCom                 : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:


Übersicht NZR

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
NZR | Elektrizitätszähler | EcoCount „S“ | FB_MBUS_TIP_SINUS85M
 | 2 fach Pulsadapter | IC-M2 | FB_MBUS_NZR_ICM2
 | 2 fach Pulsadapter | IC-M2C | FB_MBUS_NZR_ICM2
 | Wasserzähler | Modularis 2 | FB_MBUS_NZR_Modularis2


FB_MBUS_NZR_ICM2

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Impulsausgang der Firma NZR:

-IC-M2

-IC-M2C

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

An einen IC-M2 / IC-M2C können bis zu 2 Impulsgeber gleichzeitig angeschlossen werden. Das PadPuls IC-M2 / IC-M2C verhält sich wie 2 eigenständige Slaves.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue            : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_NZR_Modularis2

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma NZR:

-Modularis 2

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht NZR

TwinCAT PLC Lib: M-Bus

Übersicht OPTEC

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
OPTEC | Elektrizitätszähler | ECS Typ 2 | FB_MBUS_OPT_ECSType2


FB_MBUS_OPT_ECSType2

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma OPTEC:

-ECS (Default Auslesedaten Typ 2)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress            : USINT;
stSecAdr              : ST_MBUS_SecAdr;
eBaudrate             : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                : BOOL;
bSND_NKE              : BOOL := TRUE;
bReadInit             : BOOL := TRUE;
tMinSendTime          : TIME := t#2s;
usiUnit               : USINT;
bDisabled             : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                 : BOOL;
bReady                : BOOL;
bError                : BOOL;
eError                : E_MBUS_ERROR;
dwIdNumber            : DWORD;
byStatus              : BYTE;
byGEN                 : BYTE;
byCounter             : BYTE;
usiRecivedAdr         : USINT;
eMedium               : E_MBUS_Medium;
sMan                  : STRING(3);
stEnergyT1_L1         : ST_MBus_Info;
stEnergyT1_L2         : ST_MBus_Info;
stEnergyT1_L3         : ST_MBus_Info;
stEnergyT1_Total      : ST_MBus_Info;
stEnergyT2_L1         : ST_MBus_Info;
stEnergyT2_L2         : ST_MBus_Info;
stEnergyT2_L3         : ST_MBus_Info;
stEnergyT2_Total      : ST_MBus_Info;
stPowerL1             : ST_MBus_Info;
stPowerL2             : ST_MBus_Info;
stPowerL3             : ST_MBus_Info;
stPowerTotal          : ST_MBus_Info;
stActiveTariff        : ST_MBus_Info;
stStatusByte4         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergyT1_L1: Zählerstand, verbrauchte Wirkenergie, Tarif 1, Phase L1 (siehe ST_MBus_Info).

stEnergyT1_L2: Zählerstand, verbrauchte Wirkenergie, Tarif 1, Phase L2 (siehe ST_MBus_Info).

stEnergyT1_L3: Zählerstand, verbrauchte Wirkenergie, Tarif 1, Phase L3 (siehe ST_MBus_Info).

stEnergyT1_Total: Zählerstand, verbrauchte Wirkenergie, Tarif 1, gesamt (siehe ST_MBus_Info).

stEnergyT2_L1: Zählerstand, verbrauchte Wirkenergie, Tarif 2, Phase L1 (siehe ST_MBus_Info).

stEnergyT2_L2: Zählerstand, verbrauchte Wirkenergie, Tarif 2, Phase L2 (siehe ST_MBus_Info).

stEnergyT2_L3: Zählerstand, verbrauchte Wirkenergie, Tarif 2, Phase L3 (siehe ST_MBus_Info).

stEnergyT2_Total: Zählerstand, verbrauchte Wirkenergie, Tarif 2, gesamt (siehe ST_MBus_Info).

stPowerL1: Momentaner Verbrauch, Leistung, Phase L1 (siehe ST_MBus_Info).

stPowerL2: Momentaner Verbrauch, Leistung, Phase L2 (siehe ST_MBus_Info).

stPowerL3: Momentaner Verbrauch, Leistung, Phase L3 (siehe ST_MBus_Info).

stPowerTotal: Momentaner Verbrauch, Leistung, gesamt (siehe ST_MBus_Info).

stActiveTariff: Aktueller Tarif (siehe ST_MBus_Info).

stStatusByte4: Alarme für Bereichsüberschreitung (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                 : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Relay

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Relay | 1-4 Analoge Eingänge | AnDi 1-4 | FB_MBUS_REL_AnDi
 | 4 Digitale Eingänge | PadIn 4 | FB_MBUS_REL_PadIn4
 | 1 fach Pulsadapter | PadPuls M1 | FB_MBUS_REL_PadPulsM1
 | 1 fach Pulsadapter | PadPuls M1C | FB_MBUS_REL_PadPulsM1
 | 2 fach Pulsadapter | PadPuls M2 | FB_MBUS_REL_PadPulsM2
 | 2 fach Pulsadapter | PadPuls M2C | FB_MBUS_REL_PadPulsM2
 | 4 fach Pulsadapter | PadPuls M4 | FB_MBUS_REL_PadPulsM4
 | 4 fach Pulsadapter | PadPuls M4L | FB_MBUS_REL_PadPulsM4


FB_MBUS_REL_AnDi

Anwendung

Dieser Baustein dient zum Auslesen von Analog Umsetzern der Firma Relay:

-AnDi 1 (1x 0/4-20mA oder 0-10V)

-AnDi 2 (2x 0/4-20mA oder 0-10V)

-AnDi 3 (3x 0/4-20mA oder 0-10V)

-AnDi 4 (4x 0/4-20mA oder 0-10V)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

An einen AnDi 1/2/3/4 können bis zu 4 Sensoren gleichzeitig angeschlossen werden. Das AnDi 1/2/3/4 verhält sich wie 4 eigenständige Slaves.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue            : ST_MBus_Info;
stMax              : ST_MBus_Info;
stOffset           : ST_MBus_Info;
byInfo             : BYTE;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

stMax: Maximalwert (siehe ST_MBus_Info).

stOffset: Offset (siehe ST_MBus_Info).

byInfo: Informationsbyte
nBit7-4: Information über die im AnDi4 eingebauten A/D-Module
nBit3: Protection-Bit (1: Schutz aktiviert)
nBit2-1: Nr. des aktuellen Meßeingangs (0: Port1 ... 3: Port4)
nBit0: I/U-Messung (1: Strommessung)

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_REL_PadIn4

Anwendung

Dieser Baustein dient zum Auslesen von Digitalen Eingängen der Firma Relay:

-PadIn 4 (4 digitale Eingänge)

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
bDataIn1           : BOOL;
bDataIn2           : BOOL;
bDataIn3           : BOOL;
bDataIn4           : BOOL;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

bDataIn1: Digitaler Eingang 1.

bDataIn2: Digitaler Eingang 2.

bDataIn3: Digitaler Eingang 3.

bDataIn4: Digitaler Eingang 4.

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_REL_PadPulsM1

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Impulsausgang der Firma Relay:

-PadPuls M1

-PadPuls M1C

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stValue            : ST_MBus_Info;
byNumerator        : BYTE;
byDenominator      : BYTE;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

byNumerator: Zähler Pulswertigkeit (Bereich jeweils 1..255).

byDenominator: Nenner Pulswertigkeit (Bereich jeweils 1..255).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_REL_PadPulsM2

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Impulsausgang der Firma Relay:

-PadPuls M2

-PadPuls M2C

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

An einen PadPuls M2 / PadPuls M2C können bis zu 2 Impulsgeber gleichzeitig angeschlossen werden. Das PadPuls M2 / PadPuls M2C verhält sich wie 2 eigenständige Slaves.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
usiUnit                 : USINT;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stValue                 : ST_MBus_Info;
stDateTime              : ST_MBus_Info;
stValueDueDay           : ST_MBus_Info;
stDateDueDay            : ST_MBus_Info;
stDateFutureDueDay      : ST_MBus_Info;
byInfo                  : BYTE;
byNumerator             : BYTE;
byDenominator           : BYTE;
byPStat                 : BYTE;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

stDateTime: Aktuelles Datum (siehe ST_MBus_Info).

stValueDueDay: Stichtagszählerstand (siehe ST_MBus_Info).

stDateDueDay: Letztes Stichdatum (siehe ST_MBus_Info).

stDateFutureDueDay: Zukünftiges Stichtagsdatum (siehe ST_MBus_Info).

byInfo: Informationsbyte (Tarif und Abtastmethode).

byNumerator: Zähler der Pulswertigkeit (1..99).

byDenominator: Nenner der Pulswertigkeit (1..255, 0 -> 256).

byPStat: Portstatus (aktueller Kontaktzustand an den Porteingängen).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_REL_PadPulsM4

Anwendung

Dieser Baustein dient zum Auslesen von Energiezählern mit Impulsausgang der Firma Relay:

-PadPuls M4

-PadPuls M4L

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

An einen PadPuls M4 / PadPuls M4L können bis zu 4 Impulsgeber gleichzeitig angeschlossen werden. Das PadPuls M4 / PadPuls M4L verhält sich wie 4 eigenständige Slaves.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
usiUnit                 : USINT;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stValue                 : ST_MBus_Info;
stDateTime              : ST_MBus_Info;
stValueDueDay           : ST_MBus_Info;
stDateDueDay            : ST_MBus_Info;
stDateFutureDueDay      : ST_MBus_Info;
byInfo                  : BYTE;
byNumerator             : BYTE;
byDenominator           : BYTE;
byPStat                 : BYTE;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stValue: Zählerstand (siehe ST_MBus_Info).

stDateTime: Aktuelles Datum (siehe ST_MBus_Info).

stValueDueDay: Stichtagszählerstand (siehe ST_MBus_Info).

stDateDueDay: Letztes Stichdatum (siehe ST_MBus_Info).

stDateFutureDueDay: Zukünftiges Stichtagsdatum (siehe ST_MBus_Info).

byInfo: Informationsbyte (Tarif und Abtastmethode).

byNumerator: Zähler der Pulswertigkeit (1..99).

byDenominator: Nenner der Pulswertigkeit (1..255, 0 -> 256).

byPStat: Portstatus (aktueller Kontaktzustand an den Porteingängen).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Saia-Burgess

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Saia-Burgess | Elektrizitätszähler | ALD1 | FB_MBUS_SBC_ALD1
 | Elektrizitätszähler | ALE3 | FB_MBUS_SBC_ALE3
 | Elektrizitätszähler | AWD3 | FB_MBUS_SBC_ALE3


FB_MBUS_SBC_ALD1

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Saia-Burgess:

-ALD1

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktinsweise des Bausteins

VAR_INPUT

usiAddress           : USINT;
stSecAdr             : ST_MBUS_SecAdr;
eBaudrate            : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart               : BOOL;
bSND_NKE             : BOOL := TRUE;
bReadInit            : BOOL := TRUE;
tMinSendTime         : TIME := t#2s;
usiUnit              : USINT;
bDisabled            : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                : BOOL;
bReady               : BOOL;
bError               : BOOL;
eError               : E_MBUS_ERROR;
dwIdNumber           : DWORD;
byStatus             : BYTE;
byGEN                : BYTE;
byCounter            : BYTE;
usiRecivedAdr        : USINT;
eMedium              : E_MBUS_Medium;
sMan                 : STRING(3);
stEnergyTotal        : ST_MBus_Info;
stEnergyPartial      : ST_MBus_Info;
stVoltage            : ST_MBus_Info;
stCurrent            : ST_MBus_Info;
stPower              : ST_MBus_Info;
stReactivPower       : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergyTotal: Zählerstand, Energie gesamt (siehe ST_MBus_Info).

stEnergyPartial: Zählerstand, partieller Energieverbrauch (siehe ST_MBus_Info).

stVoltage: Spannung (siehe ST_MBus_Info).

stCurrent: Strom (siehe ST_MBus_Info).

stPower: Leistung (siehe ST_MBus_Info).

stReactivPower: Blindleistung (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_SBC_ALE3

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Saia-Burgess:

-ALE3

-AWD3

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktinsweise des Bausteins

VAR_INPUT

usiAddress                : USINT;
stSecAdr                  : ST_MBUS_SecAdr;
eBaudrate                 : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                    : BOOL;
bSND_NKE                  : BOOL := TRUE;
bReadInit                 : BOOL := TRUE;
tMinSendTime              : TIME := t#2s;
usiUnit                   : USINT;
bDisabled                 : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                     : BOOL;
bReady                    : BOOL;
bError                    : BOOL;
eError                    : E_MBUS_ERROR;
dwIdNumber                : DWORD;
byStatus                  : BYTE;
byGEN                     : BYTE;
byCounter                 : BYTE;
usiRecivedAdr             : USINT;
eMedium                   : E_MBUS_Medium;
sMan                      : STRING(3);
stEnergyT1total           : ST_MBus_Info;
stEnergyT1partial         : ST_MBus_Info;
stEnergyT2total           : ST_MBus_Info;
stEnergyT2partial         : ST_MBus_Info;
stVoltageL1               : ST_MBus_Info;
stCurrentL1               : ST_MBus_Info;
stPowerL1                 : ST_MBus_Info;
stReactivPowerL1          : ST_MBus_Info;
stVoltageL2               : ST_MBus_Info;
stCurrentL2               : ST_MBus_Info;
stPowerL2                 : ST_MBus_Info;
stReactivPowerL2          : ST_MBus_Info;
stVoltageL3               : ST_MBus_Info;
stCurrentL3               : ST_MBus_Info;
stPowerL3                 : ST_MBus_Info;
stReactivPowerL3          : ST_MBus_Info;
stCurrTransFactor         : ST_MBus_Info;
stPowerTotal              : ST_MBus_Info;
stReactivePowerTotal      : ST_MBus_Info;
stTariff                  : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergyT1total: Zählerstand, Energie gesamt Tarif 1 (siehe ST_MBus_Info).

stEnergyT1partial: Zählerstand, partieller Energieverbrauch Tarif 1 (siehe ST_MBus_Info).

stEnergyT2total: Zählerstand, Energie gesamt Tarif 2 (siehe ST_MBus_Info).

stEnergyT2partial: Zählerstand, partieller Energieverbrauch Tarif 2 (siehe ST_MBus_Info).

stVoltageL1: Spannung Phase L1 (siehe ST_MBus_Info).

stCurrentL1: Strom Phase L1 (siehe ST_MBus_Info).

stPowerL1: Leistung Phase L1 (siehe ST_MBus_Info).

stReactivPowerL1: Blindleistung Phase L1 (siehe ST_MBus_Info).

stVoltageL2: Spannung Phase L2 (siehe ST_MBus_Info).

stCurrentL2: Strom Phase L2 (siehe ST_MBus_Info).

stPowerL2: Leistung Phase L2 (siehe ST_MBus_Info).

stReactivPowerL2: Blindleistung Phase L2 (siehe ST_MBus_Info).

stVoltageL3: Spannung Phase L3 (siehe ST_MBus_Info).

stCurrentL3: Strom Phase L3 (siehe ST_MBus_Info).

stPowerL3: Leistung Phase L3 (siehe ST_MBus_Info).

stReactivPowerL3: Blindleistung Phase L3 (siehe ST_MBus_Info).

stCurrTransFactor: Wandlerverhältnis (=0 für ALE3 Geräte) (siehe ST_MBus_Info).

stPowerTotal: Leistung gesamt (siehe ST_MBus_Info).

stReactivePowerTotal: Blindleistung gesamt (siehe ST_MBus_Info).

stTariff: Aktueller Tarif (=0 für AWD3 Geräte) (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                     : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Schlumberger

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Schlumberger | Wärmezähler | Integral-Mk MaXX | FB_MBUS_SLB_MK_MaXX
 | Wärmezähler | CF Echo I | FB_MBUS_SLB_CFEchoI


FB_MBUS_SLB_CFEchoI

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Schlumberger:

-CF Echo I

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_SLB_MK_MaXX

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Schlumberger:

-Integral-MK Maxx / An dieses Gerät können bis zu 4 zusätzliche Wasserzähler angeschlossen werden.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;
stVolume1          : ST_MBus_Info;
stVolume2          : ST_MBus_Info;
stVolume3          : ST_MBus_Info;
stVolume4          : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

stVolume1: Zählerstand vom zusätzlichen Wasserzähler 1 (siehe ST_MBus_Info).

stVolume2: Zählerstand vom zusätzlichen Wasserzähler 2 (siehe ST_MBus_Info).

stVolume3: Zählerstand vom zusätzlichen Wasserzähler 3 (siehe ST_MBus_Info).

stVolume4: Zählerstand vom zusätzlichen Wasserzähler 4 (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Sensus

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Sensus | Wärme / Kältezähler | PolluStat E | FB_MBUS_SEN_Pollu
 | Wärme / Kältezähler | PolluTherm | FB_MBUS_SEN_Pollu
 | Wärme / Kältezähler | PolluCom E | FB_MBUS_SEN_Pollu
 | Wasserzähler |  | FB_MBUS_SEN_Water


FB_MBUS_SEN_Pollu

Anwendung

Dieser Baustein dient zum Auslesen von Wärme / Kältezählern der Firma Sensus:

-PolluStat E

-PolluCom E

-PolluTherm

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
usiUnit            : USINT;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stEnergy           : ST_MBus_Info;
stPower            : ST_MBus_Info;
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;
stForwardTemp      : ST_MBus_Info;
stReturnTemp       : ST_MBus_Info;
stDiffTemp         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDiffTemp: Temperaturdifferenz (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


FB_MBUS_SEN_Water

Anwendung

Dieser Baustein dient zum Auslesen von Wasserzählern der Firma Sensus.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress         : USINT;
stSecAdr           : ST_MBUS_SecAdr;
eBaudrate          : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart             : BOOL;
bSND_NKE           : BOOL := TRUE;
bReadInit          : BOOL := TRUE;
tMinSendTime       : TIME := t#2s;
bDisabled          : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy              : BOOL;
bReady             : BOOL;
bError             : BOOL;
eError             : E_MBUS_ERROR;
dwIdNumber         : DWORD;
byStatus           : BYTE;
byGEN              : BYTE;
byCounter          : BYTE;
usiRecivedAdr      : USINT;
eMedium            : E_MBUS_Medium;
sMan               : STRING(3);
stVolume           : ST_MBus_Info;
stFlow             : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

VAR_IN_OUT

stCom              : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht Sontex

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Sontex | Wärme / Kältezähler | Supercal 531 (Standardwerte) | FB_MBUS_SON_Supercal531


FB_MBUS_SON_Supercal531

Anwendung

Dieser Baustein dient zum Auslesen von Wärme / Kältezählern der Firma Sontex:

-Supercal 531

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
usiUnit                 : USINT;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

usiUnit: Einheit der Energiewerte, die der Baustein ausgeben soll. 0=W(h) / 1=KW(h) / 2=MW(h) / 3=GW(h).

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stEnergy                : ST_MBus_Info;
stPower                 : ST_MBus_Info;
stVolume                : ST_MBus_Info;
stFlow                  : ST_MBus_Info;
stForwardTemp           : ST_MBus_Info;
stReturnTemp            : ST_MBus_Info;
stEnergyTariff1         : ST_MBus_Info;
stVolumeTariff1         : ST_MBus_Info;
stEnergyTariff2         : ST_MBus_Info;
stVolumeTariff2         : ST_MBus_Info;
stTypTariff1            : ST_MBus_Info;
stLimitLowTariff1       : ST_MBus_Info;
stLimitHighTariff1      : ST_MBus_Info;
stTypTariff2            : ST_MBus_Info;
stLimitLowTariff2       : ST_MBus_Info;
stLimitHighTariff2      : ST_MBus_Info;
stDeviceError           : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Zählerstand, verbrauchte Energie (siehe ST_MBus_Info).

stPower: Aktueller Energieverbrauch, Leistung (siehe ST_MBus_Info).

stVolume: Zählerstand, verbrauchtes Wasser (siehe ST_MBus_Info).

stFlow: Aktueller Wasserverbrauch (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stEnergyTariff1: Zählerstand, verbrauchte Energie Tarif 1 (siehe ST_MBus_Info).

stVolumeTariff1: Zählerstand, verbrauchtes Wasser Tarif 1 (siehe ST_MBus_Info).

stEnergyTariff2: Zählerstand, verbrauchte Energie Tarif 2 (siehe ST_MBus_Info).

stVolumeTariff2: Zählerstand, verbrauchtes Wasser Tarif 2 (siehe ST_MBus_Info).

stTypTariff1: Typ Tarif 1 (siehe ST_MBus_Info).

stLimitLowTariff1: Unterer Grenzwert Tarif 1 (siehe ST_MBus_Info).

stLimitHighTariff1: Oberer Grenzwert Tarif 1 (siehe ST_MBus_Info).

stTypTariff2: Typ Tarif 2 (siehe ST_MBus_Info).

stLimitLowTariff2: Unterer Grenzwert Tarif 2 (siehe ST_MBus_Info).

stLimitHighTariff2: Oberer Grenzwert Tarif 2 (siehe ST_MBus_Info).

stDeviceError: Fehlermeldung vom Gerät (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für PC/CX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"


Übersicht TIP

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
TIP | Elektrizitätszähler | SINUS 85 M | FB_MBUS_TIP_SINUS85M


FB_MBUS_TIP_SINUS85M

Anwendung

Dieser Baustein dient zum Auslesen von Elektrizitätszählern der Firma Thüringer Industrie Produkte GmbH.

Kompatibel zum EcoCount „S“ der Firma NZR.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 600, 1200, 2400, 4800, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stActivePowerTariff1    : ST_MBus_Info;
stActivePowerTariff2    : ST_MBus_Info;
stApparentPowerL1       : ST_MBus_Info;
stApparentPowerL2       : ST_MBus_Info;
stApparentPowerL3       : ST_MBus_Info;
stApparentPowerTotal    : ST_MBus_Info;
stActivePowerL1         : ST_MBus_Info;
stActivePowerL2         : ST_MBus_Info;
stActivePowerL3         : ST_MBus_Info;
stActivePowerTotal      : ST_MBus_Info;
stReactivePowerL1       : ST_MBus_Info;
stReactivePowerL2       : ST_MBus_Info;
stReactivePowerL3       : ST_MBus_Info;
stReactivePowerTotal    : ST_MBus_Info;
stVoltageL1             : ST_MBus_Info;
stVoltageL2             : ST_MBus_Info;
stVoltageL3             : ST_MBus_Info;
stPowerLineFrequency    : ST_MBus_Info;
stCurrentTariff         : ST_MBus_Info;
stCurrentL1             : ST_MBus_Info;
stCurrentL2             : ST_MBus_Info;
stCurrentL3             : ST_MBus_Info;
stCurrentTotal          : ST_MBus_Info;
stPowerFactorL1         : ST_MBus_Info;
stPowerFactorL2         : ST_MBus_Info;
stPowerFactorL3         : ST_MBus_Info;
stPowerFactorTotal      : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stActivePowerTariff1: Wirkenergie Import Tarif 1 (siehe ST_MBus_Info).

stActivePowerTariff2: Wirkenergie Import Tarif 2 (siehe ST_MBus_Info).

stApparentPowerL1: Aktuelle Scheinleistung L1 (siehe ST_MBus_Info).

stApparentPowerL2: Aktuelle Scheinleistung L2 (siehe ST_MBus_Info).

stApparentPowerL3: Aktuelle Scheinleistung L3 (siehe ST_MBus_Info).

stApparentPowerTotal: Aktuelle Scheinleistung Total (siehe ST_MBus_Info).

stActivePowerL1: Aktuelle Wirkleistung Phase L1 (siehe ST_MBus_Info).

stActivePowerL2: Aktuelle Wirkleistung Phase L2 (siehe ST_MBus_Info).

stActivePowerL3: Aktuelle Wirkleistung Phase L3 (siehe ST_MBus_Info).

stActivePowerTotal: Aktuelle Wirkleistung Total (siehe ST_MBus_Info).

stReactivePowerL1: Aktuelle Blindleistung Phase L1 (siehe ST_MBus_Info).

stReactivePowerL2: Aktuelle Blindleistung Phase L2 (siehe ST_MBus_Info).

stReactivePowerL3: Aktuelle Blindleistung Phase L3 (siehe ST_MBus_Info).

stReactivePowerTotal: Aktuelle Blindleistung Total (siehe ST_MBus_Info).

stVoltageL1: Aktuelle Spannung Phase L1 (siehe ST_MBus_Info).

stVoltageL2: Aktuelle Spannung Phase L2 (siehe ST_MBus_Info).

stVoltageL3: Aktuelle Spannung Phase L3 (siehe ST_MBus_Info).

stPowerLineFrequency: Aktuelle Netzfrequenz (siehe ST_MBus_Info).

stCurrentTariff: Momentan aktueller Tarif (siehe ST_MBus_Info).

stCurrentL1: Aktuelle Strom Phase L1 (siehe ST_MBus_Info).

stCurrentL2: Aktuelle Strom Phase L2 (siehe ST_MBus_Info).

stCurrentL3: Aktuelle Strom Phase L3 (siehe ST_MBus_Info).

stCurrentTotal: Aktuelle Strom Total (siehe ST_MBus_Info).

stPowerFactorL1: Aktuelle Formfaktor Phase L1 (cos Phi) (siehe ST_MBus_Info).

stPowerFactorL2: Aktuelle Formfaktor Phase L2 (cos Phi) (siehe ST_MBus_Info).

stPowerFactorL3: Aktuelle Formfaktor Phase L3 (cos Phi) (siehe ST_MBus_Info).

stPowerFactorTotal: Aktuelle Formfaktor Total (cos Phi) (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2242 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.4.0


Übersicht Zenner

Hinweis: Diese Bausteine geben nur eine Auswahl der gängigsten Daten aus. Diese Daten sind auf den jeweiligen Seiten unter "VAR_OUT" beschrieben. Werden mehr oder alle Daten benötig, sollten die Bausteine FB_MBUS_General, FB_MBUS_General_Ext oder FB_MBUS_General_Param aus dem Ordner General benutzt werden. Es ist dabei zu beachten, das diese Bausteine nicht auf BC, BX Systemen lauffähig sind. Müssen Daten an das Gerät gesendet werden (z.B. Einstellung der Primäradresse), kann der Baustein FB_MBUS_General_Send verwendet werden.

Hersteller | Typ | Gerät | Baustein
Zenner | Rechenwerk | multidataWR3 | FB_MBUS_ZRM_multidataWR3
 | Wärmezähler | zelsiusZR | FB_MBUS_ZRM_zelsiusZR


FB_MBUS_ZRM_multidataWR3

Anwendung

Dieser Baustein dient zum Auslesen von Rechenwerken der Firma Zenner.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stEnergy                : ST_MBus_Info;
stVolumeInput1          : ST_MBus_Info;
stVolumeInput2          : ST_MBus_Info;
stDeviceError           : ST_MBus_Info;
stTimepoint             : ST_MBus_Info;
stEnergyTimepoint       : ST_MBus_Info;
stCounterInput1         : ST_MBus_Info;
stCounterInput2         : ST_MBus_Info;
stVolume                : ST_MBus_Info;
stFlow                  : ST_MBus_Info;
stPower                 : ST_MBus_Info;
stForwardTemp           : ST_MBus_Info;
stReturnTemp            : ST_MBus_Info;
stDeviceClock           : ST_MBus_Info;
stBatteryEndDate        : ST_MBus_Info;
stFlowMaxTimepoint      : ST_MBus_Info;
stFlowMax               : ST_MBus_Info;
stPowerMaxTimepoint     : ST_MBus_Info;
stPowerMax              : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Aktuelle Wärmeenergie (siehe ST_MBus_Info).

stVolumeInput1: Volumen Eingang 1 (siehe ST_MBus_Info).

stVolumeInput2: Volumen Eingang 2 (siehe ST_MBus_Info).

stDeviceError: Fehlerstatus M-Bus Ausgabe (siehe ST_MBus_Info).

stTimepoint: Stichtag (Datum und Zeit des nächsten Stichtags) (siehe ST_MBus_Info).

stEnergyTimepoint: Wärmeenergie am Stichtag (siehe ST_MBus_Info).

stCounterInput1: Zählwert Eingang 1 am Stichtag (siehe ST_MBus_Info).

stCounterInput2: Zählwert Eingang 2 am Stichtag (siehe ST_MBus_Info).

stVolume: Volumen (siehe ST_MBus_Info).

stFlow: Momentaner Durchfluss (siehe ST_MBus_Info).

stPower: Leistung (siehe ST_MBus_Info).

stForwardTemp: Vorlauftemperatur (siehe ST_MBus_Info).

stReturnTemp: Rücklauftemperatur (siehe ST_MBus_Info).

stDeviceClock: Aktuelle Zeit des Zählers (siehe ST_MBus_Info).

stBatteryEndDate: Vermutliche Haltbarkeit der Batterie (siehe ST_MBus_Info).

stFlowMaxTimepoint: Speicherzeitpunkt Maximalwert Durchfluss (absolut) (siehe ST_MBus_Info).

stFlowMax: Maximalwert Durchfluss (absolut) (siehe ST_MBus_Info).

stPowerMaxTimepoint: Speicherzeitpunkt Maximalwert Leistung (absolut) (siehe ST_MBus_Info).

stPowerMax: Maximalwert Leistung (absolut) (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.1.0


FB_MBUS_ZRM_zelsiusZR

Anwendung

Dieser Baustein dient zum Auslesen von Wärmezählern der Firma Zenner.

Der Baustein kann nur zusammen mit dem Baustein FB_MBUSKL6781() ausgeführt werden.

Funktionsweise des Bausteins

VAR_INPUT

usiAddress              : USINT;
stSecAdr                : ST_MBUS_SecAdr;
eBaudrate               : E_MBUS_Baudrate := eMBUS_Baud2400;
bStart                  : BOOL;
bSND_NKE                : BOOL := TRUE;
bReadInit               : BOOL := TRUE;
tMinSendTime            : TIME := t#2s;
bDisabled               : BOOL := FALSE;

usiAddress: Primäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

stSecAdr: Sekundäradresse der Zählers, der mit diesem Baustein ausgelesen werden soll.

eBaudrate: 300, 2400, 9600 Baud.

bStart: Auf positive Flanke dieses Eingangs wird der Zähler einmal ausgelesen.

bSND_NKE: TRUE initialisiert den Zähler bei jedem Auslesen, und stellt den Zähler auf das erste Telegramm (SND_NKE).

bReadInit: Bei Neustart der SPS wird der Zähler 1-mal ausgelesen.

tMinSendTime: Standard t#2s. Nach Ablauf der hier eingestellen Zeit wird ein Zähler erneut ausgelesen. Bei t#0s wird der Zähler nicht ausgelesen und kann mit bStart manuell ausgelesen werden.

bDisabled: TRUE = Abwahl des Bausteins.

VAR_OUTPUT

bBusy                   : BOOL;
bReady                  : BOOL;
bError                  : BOOL;
eError                  : E_MBUS_ERROR;
dwIdNumber              : DWORD;
byStatus                : BYTE;
byGEN                   : BYTE;
byCounter               : BYTE;
usiRecivedAdr           : USINT;
eMedium                 : E_MBUS_Medium;
sMan                    : STRING(3);
stEnergy                : ST_MBus_Info;
stVolumeInput1          : ST_MBus_Info;
stVolumeInput2          : ST_MBus_Info;
stDeviceError           : ST_MBus_Info;
stTimepoint             : ST_MBus_Info;
stEnergyTimepoint       : ST_MBus_Info;
stCounterInput1         : ST_MBus_Info;
stCounterInput2         : ST_MBus_Info;

bBusy: Der bBusy Ausgang ist TRUE solange das Auslesen des Zählers läuft.

bReady: Der bReady Ausgang ist für einen Zyklus TRUE, wenn das Auslesen des Zählers beendet wurde.

bError: Der Ausgang wird TRUE sobald ein Fehler auftritt. Dieser Fehler wird über die Variable eError beschrieben.

eError: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe E_MBUS_ERROR). Gleichzeitig wird bError TRUE.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status des Gerätes.

byGEN: Software Version des Gerätes.

byCounter: Anzahl der Zugriffe des Masters auf Daten des jeweiligen Slaves.

usiRecivedAdr: Empfangene Primäradresse (0-250).

eMedium: Medium (siehe E_MBUS_Medium).

sMan: Herstellerkurzzeichen.

stEnergy: Aktuelle Wärmeenergie (siehe ST_MBus_Info).

stVolumeInput1: Volumen Eingang 1 (siehe ST_MBus_Info).

stVolumeInput2: Volumen Eingang 2 (siehe ST_MBus_Info).

stDeviceError: Fehlerstatus M-Bus Ausgabe (siehe ST_MBus_Info).

stTimepoint: Stichtag (Datum und Zeit des nächsten Stichtags) (siehe ST_MBus_Info).

stEnergyTimepoint: Wärmeenergie am Stichtag (siehe ST_MBus_Info).

stCounterInput1: Zählwert Eingang 1 am Stichtag (siehe ST_MBus_Info).

stCounterInput2: Zählwert Eingang 2 am Stichtag (siehe ST_MBus_Info).

VAR_IN_OUT

stCom                   : ST_MBUS_Communication;

stCom: Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden (siehe ST_MBUS_Communication).

Download Beispielprogramm für PC/CX Systeme:

Download Beispielprogramm für BX Systeme:

Einstellung Steuerungskonfiguration: "BCxx50 oder BX seriell"

Download Beispielprogramm für BC Systeme:

BCxx00 müssen in der PLC unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Einstellung Steuerungskonfiguration: "BC seriell"

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2234 | PC/CX, BX oder BC | TcMBus-Bibliothek ab V2.1.0


Datentypen

TwinCAT PLC Lib: M-Bus

General

Datentypen | Beschreibung
ST_MBus_Data | Werteinformation
ST_MBus_Data2 | Struktur der Ausgangswerte im Baustein FB_MBUS_General_Ext
ST_MBus_Scan | Informationen beim Scannen

Hardware Types

Datentypen | Beschreibung
ST_KL6781inData22B | Prozessabbild der Eingänge
ST_KL6781outData22B | Prozessabbild der Ausgänge

Hydrometer

Datentypen | Beschreibung
ST_MBus_DueDayHYD1 | Struktur der Stichtagswerte im Baustein FB_MBUS_HYD_Sharky_00

Metrima

Datentypen | Beschreibung
ST_MBus_F22 | Struktur der monatlichen Werte im Baustein FB_MBUS_SVM_F22_Ext

Datentypen | Beschreibung
E_MBus_Baudrate | Einstellbare Baudraten
E_MBus_Error | Fehlermeldungen
E_MBus_Fct | Funktion des Wertes
E_MBus_Medium | Medium
ST_MBus_Communication | Interne Struktur
ST_MBus_Info | Werteinformation
ST_MBus_SecAdr | Sekundäradresse


General

Datentypen | Beschreibung
ST_MBus_Data | Werteinformation
ST_MBus_Data2 | Struktur der Ausgangswerte im Baustein FB_MBUS_General_Ext
ST_MBus_Scan | Informationen beim Scannen


ST_MBus_Data

Werteinformation.

TYPE ST_MBus_Data :
STRUCT
  sValue   : STRING(25);
  sUnit    : STRING(20);
  sInfo    : STRING;
  eFct     : E_MBus_Fct;
  iTariff  : INT;
  iStorNo  : INT;
  iUnit    : INT;
  byVIFE   : BYTE;
END_STRUCT
END_TYPE

sValue: Wert.

sUnit: Einheit.

sInfo: Information.

eFct: Funktion.

iTariff: Tarif.

iStorNo: Speichernummer.

iUnit: Einheit (integer).

byVIFE: VIFE.


ST_MBus_Data2

Struktur der Ausgangswerte im Baustein FB_MBUS_General_Ext.

TYPE ST_MBus_Data2 :
STRUCT
  arrData  : ARRAY[1..cMBUS_MaxData] OF ST_MBus_Data;
END_STRUCT
END_TYPE

arrData: Werte.


ST_MBus_Scan

Informationen beim Scannen.

TYPE ST_MBus_Scan :
STRUCT
  usiAddress  : USINT;
  dwIdNumber  : DWORD;
  byStatus    : BYTE;
  eMedium     : E_MBUS_Medium;
  sMan        : STRING(3);
  byGEN       : BYTE;
END_STRUCT
END_TYPE

usiAddress: Primäradresse der Zählers.

dwIdNumber: Seriennummer des Zählers (Sekundäradresse).

byStatus: Status.

eMedium: Medium.

sMan: Herstellerkurzzeichen.

byGEN: Software Version des Gerätes.


Hardware Types

Datentypen | Beschreibung
ST_KL6781inData22B | Prozessabbild der Eingänge
ST_KL6781outData22B | Prozessabbild der Ausgänge


ST_KL6781inData22B

Prozessabbild der Eingänge.

Wird im System Manager mit der Klemme verknüpft.

TYPE ST_KL6781inData22B :
STRUCT
  Status  : WORD;
  D       : ARRAY[0..21] OF BYTE;
END_STRUCT
END_TYPE

Status: Status Wort

D: 22 Bytes für die Eingangsdaten des M-Bus


ST_KL6781outData22B

Prozessabbild der Ausgänge.

Wird im System Manager mit der Klemme verknüpft.

TYPE ST_KL6781outData22B :
STRUCT
  Ctrl  : WORD;
  D     : ARRAY[0..21] OF BYTE;
END_STRUCT
END_TYPE

Ctrl: Control Wort

D: 22 Bytes für die Ausgangsdaten des M-Bus


Hydrometer

Datentypen | Beschreibung
ST_MBus_DueDayHYD1 | Struktur der Stichtagswerte im Baustein FB_MBUS_HYD_Sharky_00


ST_MBus_DueDayHYD1

Struktur der Stichtagswerte im Baustein FB_MBUS_HYD_Sharky_00.

TYPE ST_MBus_DueDayHYD1 :
STRUCT
  stEnergy            : ST_MBus_Info;
  stVolume            : ST_MBus_Info;
  stTariff1           : ST_MBus_Info;
  stTariff2           : ST_MBus_Info;
  stDate              : ST_MBus_Info;
  stDateFutureDueDay  : ST_MBus_Info;
END_STRUCT
END_TYPE

stEnergy: Zählerstand Energie.

stEnergy. sValue: Wert als String.

stEnergy. sUnit: Einheit des Wertes als String.

stEnergy. eFct: E_MBus_Fct / Funktion.

stVolume: Zählerstand Volumen.

stVolume. sValue: Wert als String.

stVolume. sUnit: Einheit des Wertes als String.

stVolume. eFct: E_MBus_Fct / Funktion.

stTariff1: Zählerstand Tarif 1.

stTariff1. sValue: Wert als String.

stTariff1. sUnit: Einheit des Wertes als String.

stTariff1. eFct: E_MBus_Fct / Funktion.

stTariff2: Zählerstand Tarif 2.

stTariff2. sValue: Wert als String.

stTariff2. sUnit: Einheit des Wertes als String.

stTariff2. eFct E_MBus_Fct / Funktion.

stDate: Datum des Stichtages.

stDate. sValue Wert als String.

stDate. sUnit: Einheit des Wertes als String.

stDate. eFct: E_MBus_Fct / Funktion.

stDateFutureDueDay: Datum des zukünftigen Stichtages.

stDateFutureDueDay. sValue: Wert als String.

stDateFutureDueDay. sUnit: Einheit des Wertes als String.

stDateFutureDueDay. eFct E_MBus_Fct / Funktion.


Metrima

Datentypen | Beschreibung
ST_MBus_F22 | Struktur der monatlichen Werte im Baustein FB_MBUS_SVM_F22_Ext


ST_MBus_F22

Struktur der monatlichen Werte im Baustein FB_MBUS_SVM_F22_Ext.

TYPE ST_MBus_F22 :
STRUCT
  stEnergy         : ST_MBus_Info;
  stVolume         : ST_MBus_Info;
  stVolume2        : ST_MBus_Info;
  stPulsecounter1  : ST_MBus_Info;
  stPulsecounter2  : ST_MBus_Info;
  stDate           : ST_MBus_Info;
END_STRUCT
END_TYPE

stEnergy: Zählerstand Energie.

stEnergy. sValue: Wert als String.

stEnergy. sUnit: Einheit des Wertes als String.

stEnergy. eFct: E_MBus_Fct / Funktion.

stVolume: Zählerstand Volumen.

stVolume. sValue: Wert als String.

stVolume. sUnit: Einheit des Wertes als String.

stVolume. eFct: E_MBus_Fct / Funktion.

stVolume2: Zählerstand Volumen.

stVolume2. sValue: Wert als String.

stVolume2. sUnit: Einheit des Wertes als String.

stVolume2. eFct: E_MBus_Fct / Funktion.

stPulsecounter1: Zählerstand Impulszähler 1.

stPulsecounter1. sValue: Wert als String.

stPulsecounter1. sUnit: Einheit des Wertes als String.

stPulsecounter1. eFct: E_MBus_Fct / Funktion.

stPulsecounter2: Zählerstand Impulszähler 2.

stPulsecounter2. sValue: Wert als String.

stPulsecounter2. sUnit: Einheit des Wertes als String.

stPulsecounter2. eFct: E_MBus_Fct / Funktion.

stDate: Datum.

stDate. sValue: Wert als String.

stDate. sUnit: Einheit des Wertes als String.

stDate. eFct: E_MBus_Fct / Funktion.


E_MBus_Baudrate

Einstellbare Baudraten.

TYPE E_MBus_Baudrate :
(
  eMBUS_NoBaudrate  := 0,
  eMBUS_Baud300     := 30,
  eMBUS_Baud600     := 60,
  eMBUS_Baud1200    := 120,
  eMBUS_Baud2400    := 240,
  eMBUS_Baud4800    := 480,
  eMBUS_Baud9600    := 960,
)
END_TYPE

eMBUS_NoBaudrate: =Standard Baudrate =2400 Baud.

eMBUS_Baud300: 300 Baud.

eMBUS_Baud600: 600 Baud.

eMBUS_Baud1200: 1200 Baud.

eMBUS_Baud2400: 2400 Baud.

eMBUS_Baud4800: 4800 Baud.

eMBUS_Baud9600: 9600 Baud.

Im Allgemeinen werden M-Bus Zähler mit 2400 Baud ausgeliefert.

Die M-Bus-Masterklemme KL6781 unterstützt 300, 600, 1200, 2400, 4800, 9600 Baud.

Wenn der Eingang eBaudrate nicht zugewiesen oder 0 ist, dann wird die Busklemme auf 2400 Baud eingestellt.

Die Schnittstelle der KL6781 wird beim Start der SPS oder beim Wechsel am Eingang eBaudrate auf eBaudrate eingestellt.

Baudraten über 2400 werden nicht von allen M-Bus Geräten unterstützt.


E_MBus_Error

Fehlermeldungen.

TYPE E_MBus_Error :
(
  eMBUS_no_error                           := 0,
  eMBUS_busy                               := 1,
  eMBUS_Disabled                           := 3,
  eMBUS_FBKL6781_Disabled                  := 4,

  eMBUSERROR_CIField_wrong_72hex_expected  := 101,
  eMBUSERROR_no_data_received              := 102,
  eMBUSERROR_error_checksum                := 103,
  eMBUSERROR_error_in_head_data            := 104,
  eMBUSERROR_usiAddress_over_250           := 105,
  eMBUSERROR_send_error                    := 106,
  eMBUSERROR_received_address_wrong        := 108,
  eMBUSERROR_cMBUS_MaxCom_below_1          := 109,
  eMBUSERROR_iComId_over_cMBUS_MaxCom      := 110,
  eMBUSERROR_manufacturer_sign_wrong       := 111,
  eMBUSERROR_baudrate_wrong                := 112,
  eMBUSERROR_ReceiveBufferFull             := 113,
  eMBUSERROR_E5hex_no_received             := 114,
  eMBUSERROR_no_stop_character             := 115,
  eMBUSERROR_length_wrong                  := 116,
  eMBUSERROR_wrong_terminal                := 117,
  eMBUSERROR_Terminal_is_not_initialized   := 118,
  eMBUSERROR_stSecAdr_udiIdNumber_wrong    := 119,
  eMBUSERROR_missing_parts_telegram        := 120,
  eMBUSERROR_no_stop_character_received    := 121,
  eMBUSERROR_too_many_characters           := 122,
  eMBUSERROR_TimeOut_FB_KL6781             := 123,
  eMBUSERROR_TimeOut_MeterFB               := 124,

  eMBUSERROR_COM_PARAMETERCHANGED          := 201,
  eMBUSERROR_COM_TXBUFFOVERRUN             := 202,
  eMBUSERROR_COM_STRINGOVERRUN             := 210,
  eMBUSERROR_COM_ZEROCHARINVALID           := 211,
  eMBUSERROR_COM_INVALIDPOINTER            := 220,
  eMBUSERROR_COM_INVALIDRXPOINTER          := 221,
  eMBUSERROR_COM_INVALIDRXLENGTH           := 222,
  eMBUSERROR_COM_DATASIZEOVERRUN           := 223,
  eMBUSERROR_COM_INVALIDBAUDRATE           := 16#1001,
  eMBUSERROR_COM_INVALIDNUMDATABITS        := 16#1002,
  eMBUSERROR_COM_INVALIDNUMSTOPBITS        := 16#1003,
  eMBUSERROR_COM_INVALIDPARITY             := 16#1004,
  eMBUSERROR_COM_INVALIDHANDSHAKE          := 16#1005,
  eMBUSERROR_COM_INVALIDNUMREGISTERS       := 16#1006,
  eMBUSERROR_COM_INVALIDREGISTER           := 16#1007,
  eMBUSERROR_COM_TIMEOUT                   := 16#1008,
)
END_TYPE

eMBUS_no_error: Am Baustein liegt kein Fehler an, der Baustein fragt im Moment keinen Zähler ab.

eMBUS_busy: Der Baustein fragt einen Zähler ab.

eMBUS_Disabled: Der Baustein ist abgewählt.

eMBUS_FBKL6781_Disabled: Der Baustein FB_MBUSKL6781() ist abgewählt.

eMBUSERROR_CIField_wrong_72hex_expected: Das 7. Byte im Antworttelegramm enthält das CI-Feld. In diesem Byte wird die hexadezimale Zahl 72 erwartet. Diese steht für Variable Datenstruktur, niederwertiges Byte wird zuerst gesendet. Nur diese Datenstruktur wird unterstützt.

eMBUSERROR_no_data_received: Es wurden keine Daten empfangen.

eMBUSERROR_error_checksum: Das Antworttelegramm sendet eine Checksumme mit (Summe aller Bytes ab Byte 5). Die empfangene Checksumme passt nicht zu der errechneten Checksumme. Dies tritt auf wenn das Protokoll nicht sauber empfangen wurde (z.B. bei Störungen auf der Leitung oder Leitung zu lang).

eMBUSERROR_error_in_head_data: Bei der Checksumme werden die ersten 4 Bytes nicht mitgerechnet. Diese 4 Bytes werden separat überwacht.

eMBUSERROR_usiAddress_over_250: Adressen über 250 sind nicht erlaubt. Der Eingang usiAdress des Zählerbausteins wurde mit einem Wert über 250 belegt (Ausnahme: Adresse 254. Dies Adresse kann verwendet werden, wenn nur ein Zähler angeschlossen ist).

eMBUSERROR_send_error: Fehlermeldung, wenn beim Senden ein Fehler aufgetreten ist.

eMBUSERROR_received_address_wrong: Empfangene Adresse passt nicht zur gesendeten Adresse.

eMBUSERROR_cMBUS_MaxCom_below_1: Reserve.

eMBUSERROR_iComId_over_cMBUS_MaxCom: Reserve.

eMBUSERROR_manufacturer_sign_wrong: Das Antworttelegramm enthält ein Herstellerkurzzeichen. Dieses ist den Zählerbausteinen fest zugeordnet. Wenn das empfangene Herstellerkurzzeichen nicht zum verwendeten Baustein passt, gibt es diese Meldung.

eMBUSERROR_baudrate_wrong: Eingang eBaudrate des Bausteins wurde mit falschen Werten belegt. Nur E_MBUS_Baudrate sind erlaubt.

eMBUSERROR_ReceiveBufferFull: Der Empfangspuffer der serielle Schnittstelle ist voll. Dies kann bei langen Telegrammen und/oder großer Zykluszeit vorkommen. Die SPS bekommt die Daten nicht schnell genug aus dem Empfangspuffer ausgelesen, es gehen dann Daten verloren. Abhilfe könnte die Verringerung der Zykluszeit schaffen.

eMBUSERROR_E5hex_no_received: Nach dem Initialisieren des Zählers wurde kein Einzelzeichen E5 hexadezimal empfangen.

eMBUSERROR_no_stop_character: Kein Endzeichen im Datenarray.

eMBUSERROR_length_wrong: Anzahl der empfangenenen Zeichen <> dem Längenfeld.

eMBUSERROR_wrong_terminal: Falsche Klemme angeschlossenen.

eMBUSERROR_Terminal_is_not_initialized: Die Klemme ist nicht initialisiert. Üblicherweise gibt es bei dieser Meldung keine Verbindung zur Klemme. Klemme im System Manager mit den Variablen verknüpft? Klemme falsch gesteckt? Alles bereinigen, alles Übersetzen und im System Manager neu eingelesen?

eMBUSERROR_stSecAdr_udiIdNumber_wrong: Die Eingangsvariable stSecAdr.udiIdNumber ist nicht belegt.

eMBUSERROR_missing_parts_telegram: Es wurden nicht alle Werte des Telegramms empfangen.

eMBUSERROR_no_stop_character_received: Es wurde kein Stoppzeichen empfangen (16hex).

eMBUSERROR_too_many_characters: Es wurden zu viele Zeichen empfangen.

eMBUSERROR_TimeOut_FB_KL6781: Zeitüberschreitung FB_KL6781.

eMBUSERROR_TimeOut_MeterFB: Zeitüberschreitung Zählerbaustein.

eMBUSERROR_COM_PARAMETERCHANGED: Eingangsparameter haben sich während des Empfangs geändert.

eMBUSERROR_COM_TXBUFFOVERRUN: String > Übertragungspuffer.

eMBUSERROR_COM_STRINGOVERRUN: Ende vom String.

eMBUSERROR_COM_ZEROCHARINVALID: String darf keine Nullzeichen enthalten.

eMBUSERROR_COM_INVALIDPOINTER: Ungültiger Daten Pointer z.B. Null.

eMBUSERROR_COM_INVALIDRXPOINTER: Ungültiger Daten Pointer für ReceiveData.

eMBUSERROR_COM_INVALIDRXLENGTH: Ungültige Länge für ReceiveData z.B. Null.

eMBUSERROR_COM_DATASIZEOVERRUN: Ende vom Datenblock.

eMBUSERROR_COM_INVALIDBAUDRATE: Ungültige Baudrate.

eMBUSERROR_COM_INVALIDNUMDATABITS: Ungültige Datenbits.

eMBUSERROR_COM_INVALIDNUMSTOPBITS: Ungültige Stoppbits.

eMBUSERROR_COM_INVALIDPARITY: Ungültige Parität.

eMBUSERROR_COM_INVALIDHANDSHAKE: Ungültiger Handshake.

eMBUSERROR_COM_INVALIDNUMREGISTERS: Ungültiges Numregister.

eMBUSERROR_COM_INVALIDREGISTER: Ungültiges Register.

eMBUSERROR_COM_TIMEOUT: COM Zeitüberschreitung.


E_MBus_Fct

Funktion des Wertes.

TYPE E_MBus_Fct :
(
  eMBUS_ValueNull              := -1,
  eMBUS_InstantaneousValue     := 0,
  eMBUS_Max                    := 1,
  eMBUS_Min                    := 2,
  eMBUS_ValueDuringErrorState  := 3,

  eMBUS_ManufacturerSpecific   := 256,
)
END_TYPE

eMBUS_ValueNull: Nicht zugewiesen.

eMBUS_InstantaneousValue: Augenblicklicher Wert.

eMBUS_Max: Maximum Wert.

eMBUS_Min: Minimum Wert.

eMBUS_ValueDuringErrorState: Fehlerbehafteter Wert.

eMBUS_ManufacturerSpecific: Herstellerspezifisch.


E_MBus_Medium

Medium.

TYPE E_MBus_Medium :
(
  eMBUS_MediumNull                       := -1,
  eMBUS_MediumOther                      := 0,
  eMBUS_MediumOil                        := 1,
  eMBUS_MediumElectricity                := 2,
  eMBUS_MediumGas                        := 3,
  eMBUS_MediumHeat_Outlet                := 4,
  eMBUS_MediumSteam                      := 5,
  eMBUS_MediumHot_Water                  := 6,
  eMBUS_MediumWater                      := 7,
  eMBUS_MediumHeat_Cost_Allocator        := 8,
  eMBUS_MediumCompressed_Air             := 9,
  eMBUS_MediumCooling_load_meter_outlet  := 10,
  eMBUS_MediumCooling_load_meter_intlet  := 11,
  eMBUS_MediumHeat_inlet                 := 12,
  eMBUS_MediumHeat_cooling_load_Meter    := 13,
  eMBUS_MediumBusSystem                  := 14,
  eMBUS_MediumUnknownMedium              := 15,
  eMBUS_MediumReserved16                 := 16,
  eMBUS_MediumReserved17                 := 17,
  eMBUS_MediumReserved18                 := 18,
  eMBUS_MediumReserved19                 := 19,
  eMBUS_MediumReserved20                 := 20,
  eMBUS_MediumReserved21                 := 21,
  eMBUS_MediumColdWater                  := 22,
  eMBUS_MediumDualWater                  := 23,
  eMBUS_MediumPressure                   := 24,
  eMBUS_MediumA_D_Converter              := 25,
  eMBUS_MediumReserved26                 := 26,
  eMBUS_MediumReserved27                 := 27,
  eMBUS_MediumReserved28                 := 28,
  eMBUS_MediumReserved29                 := 29,
  eMBUS_MediumReserved30                 := 30,
)
END_TYPE

eMBUS_MediumNull: Nicht zugewiesen.

eMBUS_MediumOther: Anderes.

eMBUS_MediumOil: Öl.

eMBUS_MediumElectricity: Elektrizität.

eMBUS_MediumGas: Gas.

eMBUS_MediumHeat_Outlet: Wärme (Rücklauf).

eMBUS_MediumSteam: Dampf.

eMBUS_MediumHot_Water: Warmwasser.

eMBUS_MediumWater: Wasser.

eMBUS_MediumHeat_Cost_Allocator: Heizkostenverteiler.

eMBUS_MediumCompressed_Air: Pressluft.

eMBUS_MediumCooling_load_meter_outlet: Kühlung (Rücklauf).

eMBUS_MediumCooling_load_meter_intlet: Kühlung (Vorlauf).

eMBUS_MediumHeat_inlet: Wärme (Vorlauf).

eMBUS_MediumHeat_cooling_load_Meter: Wärme / Kühlung.

eMBUS_MediumBusSystem: Bus / System.

eMBUS_MediumUnknownMedium: Unbekannt.

eMBUS_MediumReserved16: Reserviert.

eMBUS_MediumReserved17: Reserviert.

eMBUS_MediumReserved18: Reserviert.

eMBUS_MediumReserved19: Reserviert.

eMBUS_MediumReserved20: Reserviert.

eMBUS_MediumReserved21: Reserviert.

eMBUS_MediumColdWater: Kaltwasser.

eMBUS_MediumDualWater: Mischwasser.

eMBUS_MediumPressure: Druck.

eMBUS_MediumA_D_Converter: A/D Wandler.

eMBUS_MediumReserved26: Reserviert.

eMBUS_MediumReserved27: Reserviert.

eMBUS_MediumReserved28: Reserviert.

eMBUS_MediumReserved29: Reserviert.

eMBUS_MediumReserved30: Reserviert.


ST_MBus_Communication

Interne Struktur.

Über diese Struktur wird der Baustein FB_MBUSKL6781() mit den Zählerbausteinen verbunden.

TYPE ST_MBus_Communication :
STRUCT
  bStart            : BOOL;
  bBusy             : BOOL;
  bSND_NKE          : BOOL;
  bSend             : BOOL;
  bStartManuell     : BOOL;
  bBlockadeSecAdr   : BOOL;
  usiAddress        : USINT;
  byCField          : BYTE;
  stSecAdr          : ST_MBUS_SecAdr;
  eError            : E_MBUS_ERROR;
  eBaudrate         : E_MBUS_Baudrate := eMBUS_Baud2400;
  arrMBusLongFrame  : ARRAY[1..260] OF BYTE;
  bySendByte        : BYTE;
  uiMaxCount        : UINT;
  uiCount           : UINT;
  stKomRxBuffer     : ST_KL6781ComBuffer;
  stKomTxBuffer     : ST_KL6781ComBuffer;
END_STRUCT
END_TYPE

bStart: Start.

bBusy: Dieses Bit ist gesetzt solange der Baustein aktiv ist.

bSND_NKE: SND_NKE wird gesendet.

bSend: Daten werden gesendet.

bStartManuell: Manueller Start.

bBlockadeSecAdr: Sperre bei sekundärer Adressierung.

usiAddress: Primäradresse.

byCField: C Feld.

stSecAdr: Sekundäre Adresse.

stSecAdr. udiIdNumber: Seriennummer des Zählers.

stSecAdr. uiManufacturer: Herstellerkurzzeichen.

stSecAdr. usiVersion: Software Version des Zählers.

stSecAdr. usiMedium: Medium.

eError: Fehlernummer.

eBaudrate: Baudrate.

arrMBusLongFrame: Bytes die gesendet oder empangen wurden.

bySendByte: Anzahl der Bytes, die gesendet werden.

uiMaxCount: Maximale Anzahl von Auslesebefehlen.

uiCount: Aktueller Auslesebefehl.

stKomRxBuffer: Empfangspuffer.

stKomTxBuffer: Sendepuffer.


ST_MBus_Info

Werteinformation.

TYPE ST_MBus_Info :
STRUCT
  sValue  : STRING(25);
  sUnit   : STRING(20);
  eFct    : E_MBus_Fct;
END_STRUCT
END_TYPE

sValue: Wert als String.

sUnit: Einheit des Wertes als String.

eFct: Funktion

M-Bus Geräte können sehr große Werte liefern, die als Zahl auf BC/BX Systemen nicht oder nur ungenau dargestellt werden können. Darum werden die Werte (sValue) als String geliefert.

 Bei Konvertierung in ein Zahlenformat ist LREAL vorzuziehen, da die Umwandlung in REAL (STRING_TO_REAL) bei Werten, die den DWORD Wertebereich übersteigen, ungenaue/ falsche Werte liefert. LREAL Werte sind auf BC/BX Systemen nicht möglich.

Beispielansicht der Werte eines Wärmezählers:


ST_MBus_SecAdr

Sekundäradresse eines Zählers.

TYPE ST_MBus_SecAdr :
STRUCT
  udiIdNumber     : UDINT:=16#FFFFFFFF;
  uiManufacturer  : UINT:=16#FFFF;
  usiVersion      : USINT:=16#FF;
  usiMedium       : USINT:=16#FF;
END_STRUCT
END_TYPE

udiIdNumber: Seriennummer des Zählers.

uiManufacturer: Herstellerkurzzeichen.

usiVersion: Software Version des Zählers.

usiMedium: Medium.


Ressourcen

TwinCAT PLC Lib: M-Bus

Ressourcen | Beschreibung
Globale_Variablen_MBUS | In der Bibliothek verwendete Konstanten


Globale_Variablen_MBUS

Diese Konstanten sind nur in der TcMBus.lib enthalten.

Werden sie im Programm deklariert, wird beim Übersetzen des Programms eine Warnmeldung erzeugt, da die Konstante bereits vorhanden ist. Diese Warnung kann ignoriert werden.

VAR_GLOBAL CONSTANT
  cMBUS_MaxData       := 40,
  cMBUS_MaxTelegrams  := 2,
  cMBUS_MaxDataParam  := 10,
END_VAR

cMBUS_MaxData: Diese Konstante gilt für alle Instanzen der Bausteine FB_MBUS_General(), FB_MBUS_General_Ext() und FB_MBUS_General_Param(). Sie gibt an, wie viele Daten maximal in einem Telegramm eines Zählers erwartet werden.

cMBUS_MaxTelegrams: Diese Konstante gilt für alle Instanzen des Bausteins FB_MBUS_General_Ext(). Sie gibt an, wie viele Telegramme maximal erwartet werden.

cMBUS_MaxDataParam: Diese Konstante gilt für alle Instanzen der Bausteine FB_MBUS_General_Param(). Sie gibt an, wie viele Werte die Instanzen des Bausteins FB_MBUS_General_Param() maximal anzeigen sollen.


Taskkonfiguration

Eine Task ist eine zeitliche Ablaufeinheit eines IEC-Programms. Sie ist definiert durch einen Namen, eine Priorität und einen Typ, der festlegt, welche Bedingung Ihren Start auslöst. Diese Bedingung kann nur zeitlich definiert sein (Zyklusintervall).

Jeder Task kann eine Folge von Programmen zugeordnet werden, die beim Ausführen der Task abgearbeitet werden sollen.

Durch Zusammenwirken von Priorität und Bedingung wird festgelegt, in welcher zeitlichen Abfolge die Tasks abgearbeitet werden.

Im Online Modus kann die Task-Abarbeitung in einer grafischen Darstellung verfolgt werden.

Die Taskkonfiguration befindet sich als Objekt in der Registerkarte Resourcen im Object Organizer. Der Task-Editor erscheint in einem zweigeteilten Fenster.

Im linken Fensterteil werden die Tasks in einem Konfigurationsbaum dargestellt. In der ersten Zeile steht 'Taskkonfiguration', darunter folgen die Einträge für die einzelnen Tasks. Unterhalb jedes Taskeintrags hängen die zugehörigen Programmaufrufe.

Im rechten Fensterteil wird zu dem im Konfigurationsbaum markierten Eintrag der Eigenschaftendialog geöffnet. Hier können die einzelnen Tasks und Programmaufrufe definiert werden, jeweils der Name, die Priorität und der Typ.

Hinweis
Sie sollten nicht in mehreren Tasks gleiche String-Funktionen verwenden, da in diesem Fall bei der Abarbeitung der Tasks die Gefahr des Überschreibens besteht.

Arbeiten im Taskkonfigurator

Die wichtigsten Befehle finden Sie im Kontextmenü (rechte Maustaste).

Am Kopf der Taskkonfiguration steht das Wort ”Taskkonfiguration”, wenn sich vor dem Wort ein Pluszeichen befindet, dann ist die nachfolgende Liste zugeklappt. Mit Doppelklick auf die Liste oder Drücken der <Eingabetaste> klappen Sie diese auf. Es erscheint ein Minuszeichen und mit erneutem Doppelklick, klappt die Liste wieder zu. An jede Task ist eine Liste von Programmaufrufen angehängt; diese Liste können Sie ebenfalls auf- und zuklappen.

• Mit dem Befehl ‘Einfügen’ ‘Task einfügen’ wird eine Task eingefügt.

• Mit dem Befehl 'Einfügen' 'Task anhängen' wird eine Task am Ende des Konfigurationsbaums eingefügt.

• Mit dem Befehl ‘Einfügen’ ‘Programmaufruf einfügen’ wird ein Programmaufruf zu einer Task eingefügt.

Die Konfiguration eines im Konfigurationsbaum selektierten Eintrags erfolgt im Eigenschaften-Dialog im rechten Fensterteil durch Aktivieren/Deaktivieren von Optionen bzw. Einträge in Eingabefelder. Dies ist entweder der Dialog zum Festlegen der Taskeigenschaften oder der Dialog zum Eintragen des Programmaufrufs. Die vorgenommenen Einstellungen werden sofort in den Konfigurationsbaum übernommen und dort angezeigt, sobald der Fokus wieder dorthin gesetzt wird.

Ein Task- oder Programmname kann direkt im Konfigurationsbaum editiert werden. Dazu wird mit einem Mausklick auf den Namen oder durch Drücken der <Leertaste>, wenn ein Eintrag markiert ist, ein Editierrahmen geöffnet, in dem die Bezeichnung geändert werden kann.

Mit den Pfeiltasten kann im Konfigurationsbaum der nächste bzw. vorangehende Eintrag selektiert werden.

‘Einfügen’ ‘Task einfügen’ oder ‘Einfügen’ ‘Task anhängen’

Mit diesem Befehl fügen Sie der Taskkonfiguration eine neue Task hinzu.

Ist einTaskeintrag selektiert, steht der Befehl ‘Task einfügen’ zur Verfügung. Die neue Task wird nach der selektierten eingefügt. Ist das Wort Taskkonfiguration selektiert, steht der Befehl ‘Task anhängen’ zur Verfügung und die neue Task wird ans Ende der bestehenden Liste angehängt.

Es öffnet sich der Dialog zur Festlegung von Taskeigenschaften.

Geben Sie die gewünschten Attribute ein:

  • Name: ein Name für die Task, mit der sie im Konfigurationsbaum erscheint; der Name kann auch dort editiert werden, indem durch Anklicken oder Drücken der Leertaste ein Editierfeld geöffnet wird
  • Priorität (0-3): (eine Zahl zwischen 0 und 3, wobei gilt: 0 die höchste, 3 die niedrigste Priorität darstellt),
  • Typ:
    • Zyklisch: Die Task wird entsprechend der bei Intervall eingegebenen Zeit zyklisch gestartet.

Freilaufend, Ereignisgesteuert oder Extern ereignisgesteuert: Diese Tasktypen werden nicht unterstützt!.

Eigenschaften:

  • Intervall (für Typ 'Zyklisch'): die Zeitspanne, nach der die Task erneut gestartet werden soll. Wird eine Zahl eingegeben, kann im Auswahlfeld dahinter die Einheit Millisekunden [ms] oder Mikrosekunden [µs] gewählt werden. Eingaben in Millisekunden erscheinen dann nach dem nächsten Fokuswechsel im TIME-Format (z.B. t#200ms); sie können auch direkt so in die Eingabezeile geschrieben werden. Bei Angaben in Mikrosekunden wird weiterhin nur die Zahl dargestellt (z.B. 300).

‘Einfügen’ ‘Programmaufruf anhängen’ oder ‘Einfügen’ ‘Programmaufruf einfügen’

Mit diesen Befehlen öffnen Sie den Dialog zum Eintrag eines Programmaufrufs zu einer Task in der Taskkonfiguration.

Bei ‘Programmaufruf einfügen’ wird der neue Programmaufruf vor dem Cursor eingefügt und bei ‘Programmaufruf anhängen’ ans Ende der bestehenden Liste angehängt.

Geben Sie in das Feld Programmaufruf einen gültigen Programmnamen aus Ihrem Projekt an, oder öffnen Sie mit der Schaltfläche ... oder mit <F2> die Eingabehilfe zur Auswahl gültiger Programmnamen. Der Programmname kann auch im Konfigurationsbaum noch verändert werden, wenn der Programmeintrag selektiert ist. Dazu wird entweder durch einen Mausklick auf den Namen oder durch Drücken der Leertaste ein Editierfeld geöffnet. Wenn das ausgewählte Programm Eingabevariablen erfordert, dann geben Sie diese in der üblichen Form, und vom deklarierten Typ (z.B. prg(invar:=17)) an.

‘Extras’ ‘Debug Task festlegen’

Mit diesem Befehl kann im Online Modus in der Taskkonfiguration eine Task festgelegt werden, in der das Debuggen stattfinden soll. Im Konfigurationsbaum erscheint dann hinter dem Taskeintrag der Text "[DEBUG]".

Die Debugging-Funktionalitäten beziehen sich dann nur auf diesen Task. d.h. das Programm stoppt bei einem Breakpoint nur, wenn das Programm von der eingestellten Task durchlaufen wird.

Die Festlegung der Debug Task wird im Projekt gespeichert und bei Einloggen/Download automatisch wieder gesetzt.

Debug beenden

Um den "Debug-Modus" zu beenden

  • wählen Sie "Taskkonfiguration"
  • öffnen Sie das Kontextmenü
  • wählen Sie „Debug Task festlegen“

'Extras' 'Aufrufhierarchie anzeigen'

Wenn beim Debuggen an einem Breakpoint gestoppt wird, kann über diesen Befehl die Aufrufhierarchie des betreffenden Bausteins ermittelt werden. Dazu muss die Debug-Task im Konfigurationsbaum selektiert sein. Es öffnet sich das Fenster 'Aufrufhierarchie von Task <Taskname>' mit der Anzeige des Bausteins, in dem der Breakpoint liegt (z.B. "prog_x (2)" für Zeile 2 von Baustein prog_x) . Danach folgen in rücklaufender Reihenfolge die Einträge für die aufrufenden Bausteinpositionen. Wird die Schaltfläche Gehe zu betätigt, springt der Fokus zur markierten Position.


Konfiguration mit 2 Tasks

Mit der rechten Maustaste in den Ressourcen (1.)/ Taskkonfiguration (2.)/ Taskkonfiguration (3.) anklicken und "Task anhängen" auswählen.

Die neue Task eventuell umbenennen (hier "FastTask")

Mit der rechten Maustaste auf "FastTask" klicken und "Programmaufruf anhängen" auswählen.

Nun den Button rechts neben dem Programmaufruf anklicken und den Programmbaustein auswählen, in dem der Baustein FB_MBUSKL6781() aufgerufen wird (hier "P_Zaehler").

Anschließend die Taskzeit (hier 10ms) und die Priorität (Standard 1, FastTask 0) einstellen.

Nachdem im PLC Control eine neue Task eingefügt wurde, muss das Projekt neu übersetzt und im System Manager neu eingelesen werden. Anschließend werden die Ein- und Ausgänge der seriellen Schnittstelle manuell in die schnelle Task (hier "FastTask") geschoben (in der SPS-Konfiguration des System Managers).

Abschließend die 3 gekennzeichneten Buttons betätigen.

1.Überprüfen der Konfiguration

2.Aktivieren der Konfiguration

3.TwinCAT Neustart

Weitere Informationen zur Taskkonfiguration


Download PC/CX

TwinCAT PLC Lib: M-Bus

Download Beispieldateien für PC/CX

Hersteller | Download
Allgemein |
ABB |
Actaris |
Aquametro |
Berg |
Brunata |
Elster |
EMH |
EMU |
Engelmann |
Gossen Metrawatt |
GWF |
Hydrometer |
ista |
Janitza |
Kamstrup |
KUNDO |
Landis & Gyr |
Metrima |
NZR |
OPTEC |
Relay |
Saia |
Schlumberger |
Sensus |
Sontex |


Download BX

TwinCAT PLC Lib: M-Bus

Download Beispieldateien für BX

Hersteller | Download
Allgemein |
ABB |
Actaris |
Aquametro |
Berg |
Brunata |
Elster |
EMH |
EMU |
Engelmann |
Gossen Metrawatt |
GWF |
Hydrometer |
ista |
Janitza |
Kamstrup |
KUNDO |
Landis & Gyr |
Metrima |
NZR |
OPTEC |
Relay |
Saia |
Schlumberger |
Sensus |
Sontex |


Download BC

TwinCAT PLC Lib: M-Bus

Download Beispieldateien für BC

BCxx00 müssen im TwinCAT PLC Control unter "Projekt/Optionen/Controller Settings" auf "Large Model" eingestellt werden.

Hersteller | Download
Allgemein |
ABB |
Actaris |
Aquametro |
Berg |
Brunata |
Elster |
EMH |
EMU |
Engelmann |
Gossen Metrawatt |
GWF |
Hydrometer |
ista |
Janitza |
Kamstrup |
KUNDO |
Landis & Gyr |
Metrima |
NZR |
OPTEC |
Relay |
Saia |
Schlumberger |
Sensus |
Sontex |


Download weitere Beispiele

TwinCAT PLC Lib: M-Bus

Download spezielle Anwendungen für PC/CX

Beschreibung | Download
20 Zähler mit einer Instanz eines Zählerbausteins auslesen |
20x3 Zählertypen |
Sekundäre Adressierung |


Support und Service

Beckhoff und seine weltweiten Partnerfirmen bieten einen umfassenden Support und Service, der eine schnelle und kompetente Unterstützung bei allen Fragen zu Beckhoff Produkten und Systemlösungen zur Verfügung stellt.

Beckhoff Support

Der Support bietet Ihnen einen umfangreichen technischen Support, der Sie nicht nur bei dem Einsatz einzelner Beckhoff Produkte, sondern auch bei weiteren umfassenden Dienstleistungen unterstützt:

  • Support
  • Planung, Programmierung und Inbetriebnahme komplexer Automatisierungssysteme
  • umfangreiches Schulungsprogramm für Beckhoff Systemkomponenten
Hotline: | +49(0)5246/963-157
Fax: | +49(0)5246/963-9157
E-Mail: | support@beckhoff.com

Beckhoff Service

Das Beckhoff Service-Center unterstützt Sie rund um den After-Sales-Service:

  • Vor-Ort-Service
  • Reparaturservice
  • Ersatzteilservice
  • Hotline-Service
Hotline: | +49(0)5246/963-460
Fax: | +49(0)5246/963-479
E-Mail: | service@beckhoff.com

Weitere Support- und Serviceadressen finden Sie auf unseren Internetseiten unter http://www.beckhoff.de.

Beckhoff Firmenzentrale

Beckhoff Automation GmbH & Co. KG

Hülshorstweg 20
33415 Verl
Deutschland

Telefon: | +49(0)5246/963-0
Fax: | +49(0)5246/963-198
E-Mail: | info@beckhoff.com

Die Adressen der weltweiten Beckhoff Niederlassungen und Vertretungen entnehmen Sie bitte unseren Internetseiten:
http://www.beckhoff.de

Dort finden Sie auch weitere Dokumentationen zu Beckhoff Komponenten.