text: PROGRAMMERING MED INSTRUKTIONSLISTE.
  Emner:
  Mål:
  Introduktion.
  Programmering med Instruktionsliste (IL) er defineret som en del af IEC 61131 standarden, og den bruger meget simple instruktioner, som ligner det originale mnemonic programmeringssprog der blev udviklet til PLC’er. (Note: nogle læsere vil lægge mærke til ligheden med programmeringssproget assembler). Det er det mest fundamentale programmeringssprog, og alle andre sprog kan konverteres til IL programmer, de fleste programmører bruger dog ikke IL programmering dagligt, med mindre de bruger håndholdte programmerings terminaler.
  IEC 61131 Versionen.
  For at lette forståelsen vil dette kapitel fokusere på at oversætte et ladder diagram til et IL program. Et simpelt eksempel er vist i figur 18.1 hvor der bruges definitioner fra IEC standarden. Linien med ladder logik indeholder fire indgange og en udgang. Den kan skrives som et Booleansk udtryk med parenteser. Udtrykket kan derefter konverteres direkte til instruktioner. Programmet begynder ved "START:" labelen, ved det punkt læses den første værdi, resten af udtrykket er delt ud i mindre dele. Den eneste større ændring er at "AND NOT" bliver til "ANDN".
   Læses som: O:001/0 = I:000/00 AND (I:000/01 OR (I:000/02 AND NOT I:000/03)) 
  Figur 18.1 "Eksempel på en instruktionsliste"
  Et vigtigt koncept ved dette programmerings sprog er stakken, du kan sammenligne den med en huske seddel. Ved ligningen i figur 18.1 er det første punkt i udtrykket "LD I:000/00", men den første udregning skal være ("I:000/02 AND NOT I:000/03"). Instruktions værdierne skubbes ind i stakken indtil den inderste parentes er fundet. Figur 18.2 illustrerer hvordan udtrykket skubbes ind i stakken. "LD" instruktionen skubber den første værdi ind i stakken. Den næste instruktion er et "AND", men den er efterfulgt af et ”(” så stakken må gå et trin ned. Den efterfølgende "OR(" funktion har samme effekt. "ANDN" instruktionen skal ikke vente så udregningen bliver udført med det samme og "resultat_1" beholdes. De næste to ’)’ instruktioner fjerner de blokerende ’(’ instruktioner fra stakken, og de ventende "OR I:000/1" og "AND I:000/0" instruktioner kan udføres. Des sidste resultat skal være et enkelt bit "resultat_3". Der er vist to eksempler med forskellige indgangs tilstande. Hvis resultatet i stakken er 0, vil udgang "ST O:001/0" blive sat, ellers vil den blive resat.
  Figur 18.2 "Brug af en stak til instruktionsliste"