Wat is PackML?

PackML (Packaging Machine Language) is een industriestandaard, vastgelegd in ISA-TR88.00.02, die voor verpakkings- en andere discrete machines één gemeenschappelijk toestandsmodel, een set bedrijfsmodi en gestandaardiseerde datatags (PackTags) definieert. Daardoor gedraagt elke machine in een lijn zich voor operator, MES en naburige machines op dezelfde manier, ongeacht de machinebouwer of het merk PLC. PackML is ontwikkeld door OMAC samen met ISA en is gebaseerd op de toestands- en procedureconcepten uit ISA-88.


🕰️ Hoe is PackML ontstaan?

Begin jaren 2000 richtte de Packaging Workgroup van OMAC (Organization for Machine Automation and Control) drie subcommissies op: PackSoft (programmeertalen), PackConnect (veldbussen) en PackML als integratiemethode daartussen. Parallel werkte de WBF vanaf 2004 in de Make2Pack-werkgroep aan het toepassen van ISA-88 op machines. In 2005 sloot OMAC zich aan bij ISA, waarna de werkstromen samenkwamen.

Jaar Mijlpaal
begin jaren 2000 OMAC-richtlijnen PackML v1 t/m v3, met aparte PackTags-documenten
2008 ANSI/ISA-TR88.00.02-2008: PackML en PackTags geharmoniseerd met ISA-88-terminologie
2015 ANSI/ISA-TR88.00.02-2015: herziene editie, jarenlang de referentie voor libraries
2020 OPC Foundation publiceert OPC 30050 PackML – Packaging Control (v1.01)
2022 ANSI/ISA-TR88.00.02-2022: vereenvoudigd, met een minimale set toestanden en tags

De officiële titel luidt Machine and Unit States: An implementation example of ANSI/ISA-88.00.01. Het is dus een technisch rapport (TR) en geen formele norm, maar in de verpakkingswereld fungeert het als de facto standaard.


🧠 Hoe werkt het PackML-toestandsmodel?

Het hart van PackML is een toestandsmachine met maximaal 17 toestanden. Een machine staat altijd in precies één toestand; overgangen worden gestart door een commando (Reset, Start, Stop, Hold, Unhold, Suspend, Unsuspend, Abort, Clear) of door State Complete, het signaal dat een tussenfase klaar is. Er zijn twee soorten toestanden:

  • Acting states (actieve toestanden) — de machine voert een handeling uit en gaat na afloop vanzelf naar de volgende toestand (bijvoorbeeld Starting → Execute)
  • Wait states (wachttoestanden) — de machine staat stabiel en wacht op een commando of gebeurtenis
Toestand Nr. Type Betekenis
Clearing 1 acting Fouten na een abort wegwerken
Stopped 2 wait Machine staat stil, gereed voor reset
Starting 3 acting Opstartvolgorde
Idle 4 wait Gereed om te starten
Suspended 5 wait Gepauzeerd door externe oorzaak (blocked/starved)
Execute 6 acting Productief: de machine doet waarvoor de modus bedoeld is
Stopping 7 acting Gecontroleerd stoppen
Aborting 8 acting Snel stoppen, bijvoorbeeld na een noodstop
Aborted 9 wait Gestopt na abort, wacht op Clear
Holding 10 acting Naar pauze door interne oorzaak
Held 11 wait Gepauzeerd door interne oorzaak (storing, materiaal bijvullen)
Unholding 12 acting Hervatten na hold
Suspending 13 acting Naar pauze door upstream/downstream
Unsuspending 14 acting Hervatten na suspend
Resetting 15 acting Terug naar Idle
Completing 16 acting Order of batch afronden
Complete 17 wait Order klaar, wacht op Reset

Het onderscheid tussen Held (oorzaak in de machine zelf) en Suspended (oorzaak buiten de machine, zoals een volle afvoerband) is precies wat stilstandanalyse op lijnniveau mogelijk maakt. Een machine hoeft niet alle toestanden te gebruiken: per bedrijfsmodus legt u vast welke toestanden actief zijn, en de overgangen naar uitgeschakelde toestanden vervallen dan.


🔧 Welke bedrijfsmodi kent PackML?

Naast toestanden definieert PackML unit modes. Elke modus gebruikt (een deel van) hetzelfde toestandsmodel, maar met een andere betekenis:

  • Production (1) — normale productie; tijd in Execute telt als productietijd
  • Maintenance (2) — onderhoud en testcycli, eventueel met beperkte snelheid; telt niet mee als productie
  • Manual (3) — handbediening van afzonderlijke assen of onderdelen

Machinebouwers mogen eigen modi toevoegen, bijvoorbeeld Cleaning of Changeover. Een moduswissel vindt doorgaans plaats in een stabiele wait state, zoals Stopped of Idle, die de machinebouwer daarvoor aanwijst.


📚 Hoe zijn PackTags opgebouwd?

PackTags zijn vaste namen voor de tags waarmee een machine communiceert. Ze zijn verdeeld in drie groepen:

Groep Doel Voorbeelden
Command Opdrachten van buitenaf aan de machine Command.CntrlCmd, Command.UnitMode, Command.MachSpeed, Command.Parameter[]
Status Actuele toestand van de machine Status.StateCurrent, Status.UnitModeCurrent, Status.CurMachSpeed, Status.EquipmentInterlock
Admin Productie-, alarm- en tijdgegevens Admin.ProdProcessedCount, Admin.ProdDefectiveCount, Admin.StopReason, Admin.StateCurrentTime

Omdat een Status.StateCurrent van 6 bij elke PackML-machine “Execute” betekent, kunnen SCADA, MES en HMI een lijn met machines van verschillende leveranciers zonder maatwerk koppelen. De editie van 2022 wijst bovendien een minimale verplichte set aan en voegt tags toe die de machineconfiguratie beschrijven aan een bovenliggend systeem.


🎯 Wat levert PackML op?

  • Snellere lijnintegratie — machines van verschillende OEM’s spreken dezelfde taal; blocked/starved-signalen via EquipmentInterlock maken lijncoördinatie eenvoudiger
  • Betrouwbare OEE — OEE volgt rechtstreeks uit toestandstijden en tellers: beschikbaarheid uit tijd in Execute binnen Production-modus, kwaliteit uit ProdProcessedCount en ProdDefectiveCount
  • Uniforme bediening — operators zien op elke HMI dezelfde toestanden en knoppen, wat opleidingstijd en bedieningsfouten verkleint
  • Herbruikbare code — machinebouwers gebruiken één softwareskelet voor hun hele portfolio

🏭 Welke leveranciers ondersteunen PackML?

Alle grote PLC-platforms bieden kant-en-klare bouwstenen:

  • Rockwell Automation — Machine Builder Libraries in Studio 5000 Application Code Manager, die ISA-TR88.00.02-logica genereren
  • Siemens — de bibliotheek LPMLV30 (OMAC PackML V3.0) voor S7-1200 en S7-1500 in TIA Portal
  • Beckhoff — TwinCAT-bibliotheken Tc3_PackML_V2 (editie 2015) en Tc3_PackML_V3 (editie 2022)
  • B&R — de mapp-component voor OMAC PackML in Automation Studio
  • Schneider Electric, Mitsubishi en IEC 61131-3-omgevingen zoals CODESYS — eigen PackML-libraries en voorbeeldprojecten

🔄 Hoe verhoudt PackML zich tot OPC UA en Weihenstephan?

PackML zegt wat een machine meldt; een protocol bepaalt hoe. De companion specification OPC 30050 PackML – Packaging Control, ontwikkeld door OPC Foundation en OMAC, brengt het toestandsmodel, de commando’s als methodes en alle PackTags onder in een OPC UA-informatiemodel. Zo kan een MES de toestand uitlezen en commando’s geven zonder kennis van de PLC-interne structuur. In een Unified Namespace worden PackML-toestanden en -tellers regelmatig gebruikt om de machinestatus uniform te structureren.

De Weihenstephan Standards (WS) zijn ontwikkeld door een werkgroep van machinebouwers, IT-leveranciers en technologen onder leiding van de TU München in Weihenstephan, oorspronkelijk voor afvullijnen in de drankenindustrie. Inmiddels bestaan varianten als WS Pack (afvul- en verpakkingslijnen), WS Food, WS Bake en WS Brew. Waar PackML de machinebesturing en het toestandsmodel standaardiseert, richt WS zich op de data-interface naar MES en productiedataregistratie. Het OPC UA-model OPC 40600 voor Weihenstephan bouwt expliciet voort op OPC 30050, dus beide sluiten op elkaar aan. Voor procesmodules is Module Type Package de verwante aanpak.


🛠️ Hoe implementeert u PackML op een nieuwe verpakkingsmachine?

  1. Leg het vast in de URS — eis ISA-TR88.00.02 (bij voorkeur editie 2022) en OPC 30050 in het programma van eisen aan de machinebouwer
  2. Kies de modi en toestanden — bepaal per modus welke van de 17 toestanden de machine echt nodig heeft en schakel de rest uit
  3. Gebruik een leveranciersbibliotheek — start met de PackML-template van het PLC-platform in plaats van een zelfgebouwde toestandsmachine
  4. Koppel de machinelogica — laat de bestaande volgordes (opstarten, leegdraaien) in de acting states draaien en definieer per toestand wat State Complete betekent
  5. Definieer stopredenen — vul Admin.StopReason en de alarmlijst met een lijnbrede codetabel, anders blijft stilstandanalyse oppervlakkig
  6. Ontsluit de PackTags — via OPC UA naar SCADA en MES; beperk schrijfrechten op Command-tags tot geautoriseerde systemen
  7. Test in de FAT — doorloop elke toestandsovergang, controleer tellers en tijden en vergelijk de berekende OEE met een handmatige meting

❓ Veelgestelde vragen

Is PackML alleen bedoeld voor verpakkingsmachines?

Nee. PackML is ontstaan in de verpakkingsindustrie, maar het toestandsmodel en de PackTags zijn bruikbaar voor vrijwel elke discrete machine, zoals assemblagecellen, converting-lijnen en robotcellen. Ook in de voedings- en farmaceutische industrie wordt PackML breed toegepast.

Wat is het verschil tussen PackML en ISA-88?

ISA-88 is de norm voor batchbesturing met algemene concepten voor modi, toestanden en procedures. PackML, vastgelegd in ISA-TR88.00.02, is een concreet implementatievoorbeeld daarvan voor machines, met een vast toestandsmodel en gestandaardiseerde PackTags.

Hoeveel toestanden heeft PackML?

Het PackML-toestandsmodel kent 17 toestanden, waarvan zes wait states (zoals Idle, Held en Stopped) en de rest acting states, met Execute als de productieve toestand. Een machine hoeft niet alle 17 toestanden te gebruiken; ongebruikte toestanden worden uitgeschakeld.

Wat zijn PackTags?

PackTags zijn de gestandaardiseerde datatags van PackML, verdeeld in Command, Status en Admin. Ze bevatten onder meer de actuele toestand, de machinesnelheid, productietellers en stopredenen, zodat bovenliggende systemen elke PackML-machine op dezelfde manier kunnen uitlezen.

Hoe helpt PackML bij het berekenen van OEE?

PackML levert de bouwstenen voor OEE direct uit de machine: tijd per toestand en modus voor de beschikbaarheid, actuele en ontwerpsnelheid voor de prestatie en tellers voor goede en afgekeurde producten voor de kwaliteit. Omdat elke machine dezelfde definities gebruikt, zijn OEE-cijfers tussen lijnen en fabrieken vergelijkbaar.

Heb ik OPC UA nodig om PackML te gebruiken?

Nee, PackML werkt binnen de PLC en kan via elk protocol worden ontsloten. OPC UA met de companion specification OPC 30050 is wel de gestandaardiseerde manier om PackML-toestanden en PackTags leveranciersonafhankelijk en beveiligd aan SCADA en MES aan te bieden.


📌 Samengevat

PackML (ISA-TR88.00.02) geeft elke machine hetzelfde toestandsmodel van 17 toestanden, vaste bedrijfsmodi en gestandaardiseerde PackTags, zodat lijnen van verschillende leveranciers zich als één geheel laten integreren, bedienen en meten. Met OPC UA en het informatiemodel OPC 30050 wordt PackML de gemeenschappelijke taal tussen machine, SCADA en MES.