CODESYS

(Doorverwezen vanaf CoDeSys)

CODESYS (voorheen CoDeSys) is een ontwikkelomgeving voor het programmeren van automatiseringsproducten volgens de internationale industriële standaard IEC 61131-3.

Introductie bewerken

CODESYS is ontwikkeld en wordt geleverd door het Duitse softwarebedrijf 3S-Smart Software Solutions gesitueerd in de Beierse stad Kempten. Versie 1.0 werd gelanceerd in 1994. De term CODESYS was voorheen een acroniem dat stond voor Controller Development System. CODESYS kan kosteloos gedownload worden via de CODESYS website. De softwaretool is te gebruiken voor meerdere takken van de industriële automatiseringstechniek.

Softwareontwikkeling bewerken

Alle vijf de programmeertalen voor applicatie-ontwikkeling zoals gedefinieerd in de IEC 61131-3 zijn beschikbaar binnen de CODESYS-ontwikkelomgeving.

  • IL (Instruction list) is een programmeertaal lijkend op Assembler en is inmiddels uitgefaseerd (standaard uitgeschakeld binnen CODESYS v3.5)
  • ST (Structured text) is een text georienteerde taal en is qua syntax gebaseerd op PASCAL.
  • LD (Ladder diagram) geeft programmeurs de mogelijkheid om virtueel relais-contacten aan spoelen te koppelen
  • FBD (Function block diagram) biedt de mogelijkheid om eenvoudig zowel booleaanse als analoge expressies te programmeren.
  • SFC (Sequential function chart) is bedoeld voor het programmeren van stappenprogramma's.

Extra grafische programmeermethode beschikbaar in CODESYS welke niet is gedefinieerd in de IEC-standaard:

  • CFC (Continuous Function Chart) is vergelijkbaar met FBD met meer vrijheid. Anders dan bij de netwerkgeoriënteerde FBD-editor, waar de verbindingen tussen ingangen, operatoren en uitgangen automatisch worden gekoppeld, moet dit door de programmeur worden gedaan. Alle “blokken” kunnen echter wel willekeurig geplaatst worden hetgeen het mogelijk maakt terugkoppelingen te maken zonder extra variabelen te hoeven definiëren.

ST en CFC zijn vaak de meest gebruikte taal om te progammeren, dit komt omdat CFC visueel georienteerd is terwijl ST uiterst krachtig is om de meest complexe problemen te tackelen. Vaak wordt ST gebruikt om individuele FB's te schrijven en dient CFC als "glue-logic", ofwel de code waar de FB's met elkaar verbonden worden. Deze wijze van software projectie (dus CFC voor "glue" & ST voor FB's) komt danook in diverse Distributed Control Systems (DCS) systemen veelvuldig voor en wordt over het algemeen als zeer prettig ervaren.

De geïntegreerde compilers zetten de applicatiecode, zoals gemaakt in CODESYS, om naar hardwarespecifieke binaire machinetaal en wordt geladen in de besturing. De meest gangbare 32- en 64-bit CPU families worden ondersteund, waaronder de C166 family, TriCore, 80x86, 80x64, ARM/Cortex, Power Architectuur, SH, MIPS, Blackfin en vele anderen. De 16 bits architecturen zijn backward compatible, maar worden niet meer actief ondersteund.

Zodra CODESYS verbinding met de besturing heeft (online is), biedt het uitgebreide debuggingfunctionaliteiten waaronder variabelen lezen/schrijven/forceren, het zetten van breakpoints waarmee door de applicatie gestapt kan worden en het opslaan van variabelen in de controller in een ringbuffer die in een grafiek kan worden weergegeven.

CODESYS V3 IDE is zelf ook gebaseerd op het zogenaamde CODESYS Automation Platform. Leveranciers van besturingen hebben de mogelijkheid dit componenten-raamwerk te gebruiken in hun eigen IDE of uit te breiden met eigen ”plug-in” modules. Alleen leveranciers en system integrators hebben toegang tot dit platform.

De CODESYS Professional Edition (PDE) biedt de mogelijkheid de programmeeromgeving, CODESYS 3.5 IDE, met moderne ontwikkelhulpmiddelen uit te breiden. Voor PDE is wel een extra licentie nodig. PDE biedt geïntegreerde UML ondersteuning, een verbinding met Apache Subversion en GIT (vanaf SP17) voor versiebeheer, of statische codeanalyse van de applicatiecode. Profiler dient om de doorlooptijd van een programma te meten en daar waar nodig te optimaliseren en een Test Manager om unit tests te schrijven waarmee de code geautomatiseerd doorgetest kan worden. Binnenkort (2e kwartaal 2024) wordt UML ondersteuning uitgefaseerd, omdat deze plugin in verhouding tot standaard aanwezige visuele programmeertools binnen CODESYS geen meerwaarde biedt. Waarschijnlijk zal UML wel voor systems integrators wel beschikbaar blijven binnen CODESYS Automation Platform.

De CODESYS Application Composer (AC) maakt het mogelijk om complete automatiseringsapplicaties te bouwen zonder te programmeren. Een deel van de composer is licentievrij te gebruiken, maar de werkelijk belangrijke componenten hieruit vereisen een licentie. Met de composer kunnen Machines of fabrieken geconfigureerd worden op basis van modules, bijvoorbeeld middels het definiëren van een mechatronische constructie of de complete softwarefunctionaliteit van een project.

Forge.Codesys.com is een open source gebaseerd platform voor gebruikers en ontwikkelaars om elkaar hulp en ondersteuning te bieden. Tevens biedt dit platform de gebruikers de mogelijkheid om open source projecten te maken.

Runtime bewerken

Het programmeren van platform onafhankelijke code gebeurt binnen de CODESYS Integrated Development Environment (IDE). Deze code kan zodanig worden geschreven dat ze zonder wijzigingen op vrijwel elk hardwareplatform kan functioneren middels CODESYS Automation Alliance (CAA) libraries. Vervolgens wordt de code gecompileerd (afhankelijk van de gekozen hardware in de IDE wordt de juiste compiler gebruikt) en kan deze worden uitgevoerd op dat desbetreffende target. Zodra de hardware wordt uitgewisseld voor een ander merk/model verandert er dus niets aan de code (behalve de eventuele compiler-keuze binnen de hardware en de mogelijkheden van de hardware zelf). Veel leveranciers leveren eigen drivers en software mee voor hun eigen hardware, dit verandert echter niets aan het platform-onafhankelijke basisprincipe van CODESYS.

Na het implementeren van het CODESYS Control Runtime Systeem kunnen intelligente apparaten geprogrammeerd worden met CODESYS. Voor vele merken en typen PLC's zijn deze runtimes te verkrijgen (via CODESYS of de leverancier van de hardware). De Runtime dient als een vertaallaag tussen de gebruikerscode en de fysieke soft- en hardware van het desbetreffende platform waarop deze Runtime draait. Door middel van een betaalde toolkit (Runtime-Toolkit) is het mogelijk om zelf Runtimes te ontwikkelen en omvat een runtimesysteem als source- en objectcode. Deze voorbeeldcode kan dan op maat gemaakt worden en is via de meegeleverde compilers voor vele hardwareplatformen te porteren.

Veldbustechnologie bewerken

Verschillende veldbussen kunnen direct gebruikt worden in het programmeersysteem. Hiervoor bevat CODESYS geïntegreerde configuratoren voor de meestgebruikte systemen waaronder MODBUS RTU, MODBUS TCP, Profibus, CANopen, EtherCAT, ProfiNet en/of Ethernet/IP. Voor sommige systemen zijn extra protocol stacks beschikbaar in de vorm van CODESYS bibliotheken die mee geladen worden met de applicatie. Door middel van een FDT Frame Plug-in kunnen extra leverancier specifieke gebruikersomgevingen worden geïntegreerd. Communicatie tussen deze omgevingen gaat middels een communicatie DTM (Dual Transfer Mode). FDT technologie is alleen beschikbaar voor system integrators binnen CODESYS Automation Platform.

Visualisatie bewerken

De geïntegreerde editor helpt de gebruiker om complexe visualisaties direct in hetzelfde programmeerpakket CODESYS te creëren en deze te animeren gebaseerd op de variabelen van de applicatie. Om dit te vereenvoudigen zijn standaard visualisatie-elementen beschikbaar. Een optionele toolkit (Visu-Toolkit) biedt de mogelijkheid tot het ontwikkelen van eigen (complexe) visualisatie-elementen. De schermen worden onder andere gebruikt voor het testen en inbedrijfstellen van de applicatie. In combinatie met optionele visualisatielicenties, zijn de schermen tevens te gebruiken om de machines of fabrieken te bedienen, bijvoorbeeld middels besturingen met geïntegreerd display, in webbrowsers of als losse runtime op een Microsoft Windows- of Linuxcomputer.

SoftMotion bewerken

Een optionele modulaire oplossing voor het aansturen van complexe bewegingen middels een, volgens de IEC 61131-3 geprogrammeerde besturing, is tevens volledig geïntegreerd in het CODESYS programmeerpakket. Deze modulaire SoftMotion oplossing bevat:

  • Editors voor bewegingsprofielen, waaronder grafische CAMs of DIN 66025 CNC beschrijvingen.
  • Bibliotheek met modules voor decoders, interpolators, aansturen van de beweging, bijvoorbeeld via PLCopen MotionControl, kinematische transformaties en visualisatietemplates.

Safety bewerken

Om het benodigde SIL niveau te behalen is een risico-analyse benodigd waarna alle systeemcomponenten moeten voldoen aan dit niveau. Gecertificeerde softwarecomponenten binnen CODESYS maken het eenvoudiger voor leveranciers om hun besturingen SIL2 of SIL3 gecertificeerd te krijgen. CODESYS Safety module bestaat uit componenten binnen het programmeersysteem en het runtimesysteen, waarbij de projectplanning volledig is geïntegreerd binnen de IEC 61131-3 programmeeromgeving.

Industrieel gebruik bewerken

Meer dan 250 besturingsfabrikanten vanuit verschillende industriële sectoren bieden automatiseringsproducten met CODESYS-programmeermogelijkheid. Hierdoor zijn er wereldwijd duizenden eindgebruikers, zoals machinebouwers en overige automatiseerders, die CODESYS dagelijks toepassen voor velerlei automatiseringstoepassingen. Momenteel is CODESYS het meest toonaangevende IEC 61131-3-ontwikkelpakket beschikbaar op de markt.

De CODESYS "Device Directory" geeft een overzicht van de bijna 400 producten van toonaangevende bedrijven die actief zijn op het gebied van besturingstechniek, automatisering en embedded systemen, die programmeerbaar zijn met CODESYS.

Zie ook bewerken

Externe link bewerken