Wat is Profibus?

Profibus (Process Field Bus) is een open, onafhankelijke veldbus standaard gedefinieerd in IEC 61158 en IEC 61784. Het werd eind jaren tachtig ontwikkeld door een consortium van Duitse fabrikanten en is uitgegroeid tot een van de meest gebruikte industriële communicatie protocollen in de wereld. Profibus ondersteunt deterministische, real-time data-uitwisseling tussen programmeerbare logische controllers (PLC's), sensoren, actuatoren, aandrijvingen en andere automatiseringsapparaten. Het protocol werkt via gedraaide koperen kabels (RS-485) of glasvezelkabels, met datasnelheden variërend van 9,6 kbit/s tot 12 Mbit/s afhankelijk van kabellengte en topologie.

Er bestaan drie hoofdvarianten:

  • Profibus-DP (Gedecentraliseerde randapparatuur)
  • Profibus-PA (Process Automation)
  • Profibus-FMS (Fieldbus Message Specification)

Het begrijpen van de datatypes die Profibus ondersteunt is van fundamenteel belang voor het configureren van apparaatprofielen, het interpreteren van proceswaarden en het garanderen van naadloze interoperabiliteit tussen multi-vendor systemen.

Fundamentelen van Profibus Data Types

In Profibus-DP volgt de gegevensuitwisseling een master . De master (meestal een PLC of DCS) leest de inputgegevens van slaven cyclisch en schrijft de outputgegevens naar hen. Elk slaaf apparaat heeft een aangegeven configuratie die bepaalt hoe de input en output gegevens worden gestructureerd . . Dat wil zeggen, het aantal bytes, de toewijzing om gegevensobjecten te verwerken, en het datatype van elk object. Het bestand General Station Description (GDD) dat door de fabrikant van het apparaat wordt verstrekt, beschrijft deze gegevensstructuren in een gestandaardiseerde indeling.

Gegevenstypen in Profibus kunnen worden ingedeeld in:

  • Cyclische I/O-gegevens
  • Acyclische parametergegevens
  • Diagnostische gegevens . . status en foutinformatie van de slaaf.

Alle gegevens worden in kaart gebracht met behulp van specifieke datatypes. De Profibus specificatie definieert een reeks elementaire datatypes die kunnen worden gecombineerd tot complexere structuren. Correcte interpretatie aan beide uiteinden van de communicatieverbinding is afhankelijk van master en slaaf die het eens zijn over het type, lengte en bytevolgorde (endianness) van elk dataveld.

Gemeenschappelijke Profibus Data Types in detail

Booleaans

Het Booleaanse datatype vertegenwoordigt een binaire waarde: TRUE (1) of FALSE (0). In Profibus neemt een Boolean doorgaans één byte in beslag, hoewel alleen de minst significante bit (LSB) betekenis heeft; de resterende zeven bits moeten worden genegeerd of op nul worden gezet. Booleaanse waarden worden uitgebreid gebruikt voor discrete signalen zoals motorstart/stop, klep open/sluiten, limiet switch status en alarmindicatoren. Omdat veel controllers meerdere Booleaanse bits in één byte of woord (bit-stripping) kunnen verpakken, is een zorgvuldige configuratie vereist om een verkeerde afstemming te voorkomen.

Integer (Getekend en niet ondertekend)

Profibus ondersteunt ondertekende en niet-gesigneerde formaten op drie standaardlengtes:

  • 8-bit (Byte): Getekend (SINT) range −128 tot +127; niet-getekend (USINT) range 0 tot 255.
  • 16-bit (Word): Getekend (INT) bereik −32,768 tot +32,767; niet-getekend (]UITT[) bereik 0 tot 65,535.
  • 32-bit (dubbele woord): Getekend (DINT) bereik −2,147,483,648 tot +2,147,483,647; niet-getekend (UDINT) bereik 0 tot 4,294,967,295.

Integer types worden vaak gebruikt voor tellers, snelheidsinstellingspunten, timers en apparaatparameters die geen fractionele component vereisen. In veel GSD-bestanden zal je de notatie INT16 of UINT32[] zien. De bytevolgorde is meestal big-endian (meest significante byte eerst) op Profibus, maar verifieer altijd de masterconfiguratie omdat sommige systemen op een kleinendian kunnen worden ingesteld.

Real (Floating Point)

Echte getallen (zwevende puntwaarden) zijn essentieel voor analoge metingen zoals temperatuur, druk, stroom en niveau. Profibus gebruikt het IEEE 754 enkel-precisie (32-bits) formaat, soms aangeduid als [REAL of FLOAT. Een 32-bits real bestaat uit een teken bit, een 8-bit exponent en een 23-bit mantissa. Dubbele precisie (64-bits) realen worden gedefinieerd in de specificatie maar zijn minder gebruikelijk vanwege het toegenomen busbelasting en geheugenverbruik.

Bij het overdragen van floating-point data, moeten de master en slave akkoord gaan met de byte order. De standaard voor Profibus is big-endian (MSB eerst). Als een apparaat weinig-endian gebruikt (vaak met sommige PC-gebaseerde controllers), moet u een byte swap in de master configureren om vervormde waarden te vermijden.

Byte, Word en Double Word

Dit zijn ruwe data containers die niet als getallen worden geïnterpreteerd. Ze worden gebruikt voor:

  • Binaire status bits (bit-byte mapping) worden verzonden.
  • Doorgeven van fabrikantspecifieke gegevens die de master niet hoeft te interpreteren.
  • Meerdere Booleaanse of kleine integer waarden in één transmissie-eenheid in kaart brengen.

Een Byte is 8 bits, een Word[ is 16 bits (2 bytes), en een [] Dubbele Word is 32 bits (4 bytes). Veel Profibus-apparaten definiëren hun I/O-gegevens als een reeks bytes, en het is aan het programma om ze om te zetten naar het juiste logische type.

Tekenreeks

String data types worden gebruikt om alfanumerieke informatie zoals apparaat identificatie, modelnummers, foutmeldingen, of operator annotaties te verzenden. Profibus definieert strings meestal als een vaste lengte reeks van tekens (bijv. 16, 32, of 64 bytes), elke byte met een ASCII-karakter. Sommige profielen ondersteunen ook ISO 8859-1 (Latijn-1) codering. Omdat strings vaste lengte zijn, kunnen trailing spaties of nul tekens worden gebruikt voor het opvullen.

String transmissie is meestal acyclisch (via parameter kanalen), omdat cyclische transmissie bandbreedte zou verspillen. Op HMI's en SCADA systemen, strings van Profibus slaves worden vaak weergegeven als platte tekst na het decoderen van de ASCII waarden.

Composiettypes: Arrays en structuren

Profibus maakt het mogelijk om elementaire datatypen te groeperen in arrays (herhalen van hetzelfde type) en structuren[ (mix van verschillende typen). Bijvoorbeeld, een 4-kanaals analoge invoermodule kan een reeks van vier 16-bits gehele getallen sturen. Een schijfprofiel kan een structuur gebruiken die een controlewoord (16-bit geheel getal), een setpoint (32-bit reëel) en een statuswoord (16‐bit geheel getal) bevat. Het GSD-bestand definieert de exacte lay-out, waardoor elk element een unieke sleuf of index krijgt.

Complexe gegevenstypen zoals Tijd (bv. duur of tijdstempel) en Date (gecodeerd als 16-bit of 32-bit waarde) worden ook gedefinieerd in de Profibus specificatie, maar worden voornamelijk weergegeven in profielspecifieke toepassingscontexten (bv. aandrijftechnologie of procesbesturing).

Praktisch gebruik in industriële toepassingen

Automatisering van de productie

Bij discrete productie . . zoals automotive assemblage lijnen of verpakkingsmachines . . Profibus-DP wordt zwaar gebruikt. Typische gegevens types zijn:

  • Booleaanse signalen voor deel-present sensoren, afstoten actuatoren, en bevestigingsbits.
  • 16-bit gehele getallen voor snelheidsopdrachten naar variabele frequentiestations.
  • 32-bit reals voor koppel- of krachtmetingen van servoaandrijvingen.

Ingenieurs configureren de data mapping in de master PLC met behulp van een hardware configuratie tool (bijvoorbeeld Siemens TIA Portal, Rockwell ControlLogix met een Profibus scanner). De keuze van het datatype heeft direct invloed op de cyclustijd: kleinere types verminderen de busbelasting, waardoor hogere updatesnelheden mogelijk zijn.

Procesbesturing

Profibus-PA is de voorkeursvariant voor continu procesindustrieën. Hier domineren analoge metingen. Een drukzender bijvoorbeeld zal een 32-bits reële waarde sturen die de procesvariabele vertegenwoordigt (bijv. 12.345 bar). Het apparaatprofiel (PA-profiel 3.0 of 4.0) definieert gestandaardiseerde blokken zoals [Analoge invoer[ of PID controller[, elk met goed gedefinieerde datatypes en status bytes. Een status byte (gewoonlijk byte-breed) gaat vooraf aan of begeleidt de analoge waarde, met kwaliteitsinformatie (goed, onzeker, slecht) en beperkt alarmen. Deze combinatie van echte en Boolse datatypen maakt het mogelijk om zowel de gemeten waarde als de conditie te bepalen.

Bewegingsbesturing en aandrijvingen

Aandrijfprofielen voor Profibus (bijvoorbeeld PROFIdrive) gebruiken een combinatie van datatypes om snelle, gecoördineerde beweging te bereiken. Een typisch cyclisch telegram bevat:

  • Een controlewoord (16-bit integer) met Booleaanse bits voor draaien, stoppen, resetten, enz.
  • Een snelheidsinstelling (32-bit real) met een schaalfactor gedefinieerd in de parameterset.
  • Een statuswoord (16-bit integer) dat de werkelijke snelheid van de aandrijving, foutvlaggen en vermogenstoestand weergeeft.
  • Werkelijke waarden (32-bit real of 16-bit integer[) voor koppel, stroom of positie.

Een correcte interpretatie van bit velden binnen controle / status woorden is cruciaal. Een enkele niet-gematchte Booleaanse bit kan onverwacht rijden gedrag veroorzaken.

Veiligheidssystemen (PROFISafe)

PROFISafe is een veiligheidscommunicatielaag die bovenop Profibus draait. Het gebruikt een speciaal dataformaat, bekend als de .F-host

Beste praktijken voor gegevenstypeselectie

  • Gebruik het kleinste gegevenstype dat voldoet aan de resolutie en het bereik. Voor discrete signalen, verpak meerdere Booleanen in een byte of woord. Voor analoge waarden, overwegen of een 16-bit geheel getal met een geschaalde resolutie is voldoende in plaats van een 32-bits echt om busbelasting te verminderen.
  • Respecteer het apparaatprofiel. Veel Profibus-apparaten voldoen aan standaardprofielen (bv. PA-profiel, PROFIdrive, Encoderprofiel). Door gebruik te maken van de profiel-gestanteerde datatypes zorgt plug-and-play-interoperabiliteit.
  • Documenteer de bytevolgorde en schalen. Sla de masterconfiguratie (GSD-bestand, I/O mapping) op met versiebesturing. Als schalen worden toegepast (bijvoorbeeld een 16-bit integer vertegenwoordigend 0.010% met 0,1% resolutie), moet de schaalfactor worden gedocumenteerd.
  • Bekijk de eindigheid vroeg. Bij het ontwerpen van een aangepast Profibus-apparaat (bijvoorbeeld een sensor met een microcontroller), definieer expliciet de bytevolgorde in het GSD-bestand. Veel configuratietools kunnen de master instellen om de bytes te wisselen indien nodig.
  • Verifiëren met kenmerkende hulpmiddelen. Gebruik een Profibus-analysator of de kenmerkende functionaliteit van de PLC om ruwe I/O-gegevens te lezen en bevestig dat bytes correct in kaart brengen naar de verwachte datatypen.

Problemen met het oplossen van gemeenschappelijke gegevenstypeproblemen

Misinterpreteren van data types is een frequente bron van veldbus problemen. De meest voorkomende symptomen en hun wortel oorzaken zijn:

  • Erfatische of verkeerde waarden: Vaak vanwege endianness mismatch. Bijvoorbeeld, een 16-bit integer gelezen als byte-swaps zal waarden als 256 in plaats van 1. Oplossing: configureren byte-swap in de master of firmware.
  • Booleaanse bits in de verkeerde positie: Een slaaf kan een Boolean aan bit 3 van een byte toewijzen, maar de master verwacht het op bit 0. Controleer het GSD-bestand of de handleiding voor het in kaart brengen van de bits.
  • Het punt van de vleugels luidt als een enorm getal of nul: Bijna altijd een byte-orde probleem. Sommige controllers interpreteren 32-bits real standaard als een klein-endiaanse. Schakel
  • Strijkgegevens verschijnen vervormd: Zorg ervoor dat de tekenreekslengte overeenkomt met de werkelijke verzonden lengte. Vaste tekenreeksen die zijn gevuld met nul bytes kunnen verkeerd worden geïnterpreteerd als de master spaties verwacht.
  • Schrijfindexverschil: Bij gebruik van structuren kan een fout in de gegevenskartering alle volgende waarden verschuiven. Gebruik de symbolische mappingfunctie van het configuratiehulpmiddel in plaats van ruwe offsets.

Toekomst van Profibus en Data Types

Hoewel Profinet door zijn hogere snelheid en flexibiliteit steeds meer wordt gebruikt voor nieuwe installaties, blijft Profibus diep verankerd in bestaande installaties. Veel faciliteiten werken met hybride netwerken waar Profibus en Profinet naast elkaar bestaan via proxy gateways. De datatypedefinities van Profibus zijn doorgesleept naar Profinet, zodat de apparaatprofielen en configuratietools consistent blijven. Het begrijpen van Profibus datatypes vormt dus een solide basis voor het verplaatsen naar Ethernet-gebaseerde industriële communicatie.

Voor ingenieurs die belast zijn met het behoud van de legacy Profibus systemen, het beheersen van de nuances van Boolean verpakking, integer schalen, en floating-point vertegenwoordiging is onmisbaar. Het maakt nauwkeurige diagnoses mogelijk, voorkomt kostbare stilstand, en vergemakkelijkt een vlotte migratie naar moderne architecturen.

Voor meer gedetailleerde specificaties, zie de officiële Profibus documentatie van Profibus International (www.profibus.com) en de relevante IEC-normen. Aanvullende praktische richtsnoeren zijn te vinden in de toepassingsnota's van Siemens (Siemens Industry Online Support) en in het Wikipedia artikel over Profibus[.