Kontakta författare

Vad är en CoDeSys POU?

En POU är ett objekt av en specifik typ och språk, den innehåller kod som kallas av en uppgift eller annan POU.

Du kan skapa en POU genom att högerklicka på Application -objektet från enhetsnavigeringsfönstret och välja Lägg till objekt >> POU

Fönstret Lägg till POU öppnas, härifrån kan du skapa en ny POU som du kan lägga till i din ansökan. (Bild ovan)

Namn : Namnet på din POU

Typ : Typen av POU (detta behandlas på nästa sida)

Implementeringsspråk : språket för POU-objektet. Det finns 6 alternativ tillgängliga som täcker 5 olika språk. De olika språken har pro s och con s beroende på vad du försöker uppnå.

Vi kommer att behandla mer om implementeringsspråk senare i det här lektionspaketet.

Om du klickar på Lägg till läggs den nya POU till ditt applikationsobjekt.

CoDeSys POU-typer

Det finns tre typer av POU:

  1. Program
    1. Den viktigaste POU-typen, om du inte försöker skapa en återanvändbar kodmodul, är detta rätt POU-typ att använda. En programtyp kan kallas av en annan programtyp eller en uppgift och kan ringa andra program, funktionsblock eller funktioner.
  2. Funktionsblock
    1. Ett funktionsblock POU är den mest mångsidiga POU-typen. Det gör att du kan skriva en funktion och använda den flera gånger i en annan POU. Funktionsblock deklareras vid designtid, de ges en instans i applikationen. Detta innebär att om ett funktionsblock används mer än en gång namnges det, tilldelas minne och alla instanser av det funktionsblocket förblir separata från varandra.
    2. Ett funktionsblock kan deklareras som en variabel typ
    3. Full objektorienterad programmering stöds med funktionsblock med funktionerna Extends och Implements . Dessa omfattas inte av det här lektionspaketet, för tillfället, helt enkelt se till att de lämnas tomma. Om din CoDeSys har kryssrutor för Final och Abstrakt, bör dessa också lämnas oavkryssade.
  3. Fungera
    1. En POU som har en enda utgång, deklarerad vid skapandet. En funktion skapas INTE som en instans som ett funktionsblock är. Det kan användas många gånger i din applikation, men resultatet behålls inte i minnet när det körts. Din applikation måste använda funktionen och flytta resultatet till minnet om den ska behållas. Funktioner som tidtagare passar inte bra för funktioner eftersom deras förflutna tid förloras varje gång funktionen slutförs.

CoDeSys 3.5 språk

POU: er kan skrivas på 5 olika språk, var och en har olika styrkor och svagheter beroende på applikationen som designas.

  1. Laddars logikdiagram
    1. Laddare-logik är det mest använda språket med baslogik som ingångs- / utgångskontroll, timing och grundläggande funktioner.
    2. Stegen läser från vänster till höger, topp till botten. Varje rad (kallas ett nätverk) består av villkor för att kontrollera till vänster och utgångar för att ställa in till höger. Funktionsblock kan visas antingen till vänster eller höger beroende på vad funktionsblocket gör.
    3. Komplexa påståenden som IF, WHILE, CASE finns inte tillgängliga i Ladder Logic, även om de kan replikeras vid behov
  2. Strukturerad text
    1. Vanligtvis används för komplexa kontroller, algoritmer och upprepade funktioner.
    2. Strukturerad text är ett skriftligt språk och har inga grafiska egenskaper. Detta kan göra det svårt att läsa och följa, särskilt om inte korrekt notering följs
    3. Strukturerad text är svårare att lära sig än andra språk
    4. Komplexa uttalanden stöds alla
  3. Funktionsblockdiagram
    1. Mycket lik Ladder Logic
    2. Funktioner används bara för att bygga POU, det finns inga kontakter / spolar tillgängliga
    3. Används ofta för att bygga en sekvens av samtal till andra POU: er
  4. Instruktionslista
    1. Instruktionslistan har nyligen avskrivits men finns kvar för närvarande i CoDeSys-systemet. Anledningen till dess avskrivning är att det är svårt att skriva, läsa och följa och erbjuder mycket lite värde jämfört med andra språk.
  5. Sequential Function Chart
    1. Vanligtvis används för State Machine-arkitektur, läser Sequential Function Chart som ett flödesschema. Med hjälp av övergångar och steg flyter programmet nedåt med sekventiella och parallella kodsteg som körs tills antingen flödet avslutas eller hoppar till början igen.
    2. Det är lätt att inducera fel med SFC genom att inte säkerställa att flödet är korrekt konfigurerat
    3. SFC tillåter att varje steg tilldelas åtgärder, dessa åtgärder kan baseras på händelser som "post", "exit", "exekvering". När en åtgärd tilldelas skapas en POU och alternativet att välja språk tillhandahålls.
    4. Avancerade användare kan skapa mycket komplexa arkitekturer med relativt enkelhet
  6. Kontinuerlig funktionsdiagram
    1. Liknande till sin natur som Funktionsblockdiagram, består POU av huvudsakligen anrop till funktioner.
    2. Konstruktionen är 100% grafisk, med kablar som ansluter ingångar och utgångar mellan funktioner
    3. Används främst för små funktioner
    4. Är inte ett officiellt IEC-språk som stöds