PLC-programmer

PLC’er fra forskellige producenter kan programmeres på forskellige måder. Populære programmeringssprog til PLC’er er ladderdiagrammer, funktionsblokkediagrammer (FBD) og statementliste. Med få undtagelser kan et program, der er skrevet i ét format, ses i et andet.

4 mest populære PLC-programmeringssprog til implementering af styringsdiagrammer
4 mest populære PLC-programmeringssprog til implementering af styringsdiagrammer (foto credit: Green Mamba via Flickr)

Populære programmeringssprog til PLC’er

Lad os tage diskussionen om hvert af de populære programmeringssprog til PLC’er:

  1. Ladderdiagrammer
    • Eksempel
    • Videkursus (Grundlæggende om ladderdiagrammer)
  2. Funktionsblokdiagram
    • Videkursus (programmering af funktionsblokdiagrammer (FBD))
  3. Statement List
    • Videkursus (Hvordan man bruger PLCSIM S7-300 STL)
  4. Logiske funktioner
    • Vidokursus (Logiske porte vs. ladderlogiske kredsløb)

1. Ladderdiagrammer

Som en introduktion til ladderdiagrammer kan man betragte det enkle relækredsløb, der indeholder en spole og kontakter som vist i figur 1.

Når der påføres en spænding på indgangsspolen, skaber den resulterende strøm et magnetfelt. Det magnetiske felt trækker en metalafbryder (eller reed) mod sig, og kontakterne berører hinanden, hvorved afbryderen lukkes. Den kontakt, der lukker, når spolen er spændt, kaldes normalt åben (NO).

De normalt lukkede (NC) kontakter berører hinanden, når indgangsspolen ikke er spændt. Når indgangsspolen ikke er spændt, er de normalt lukkede kontakter lukkede (ledende).

Det relæ, der er vist i figuren, har to kontakter: en NO en anden NC. Når relæspolen er aktiveret, ændrer relæets kontakter deres tilstand, dvs. NO-kontakterne bliver lukket og NC-kontakterne bliver åbnet.

Relæet kan vises ved hjælp af forskellige skematiske kredsløb som vist i figur 1.

Enkle relæopstillinger og skemaer
Figur 1 – Enkle relæopstillinger og skemaer

Relæer tegnes normalt i en skematisk form ved hjælp af en cirkel til at repræsentere indgangsspolen. Udgangskontakterne er vist med to parallelle linjer. NO-kontakter er vist med to linjer og vil være åbne (ikke ledende), når indgangen ikke er spændt. NC-kontakter er vist med to linjer med en diagonal linje gennem dem.

Nu, hvis det er påkrævet at betjene NO (C)-kontakten på dette relæ, der er tilsluttet en vekselstrømskilde, gennem to indgangsrelækontakter, A (NC) og B (NO), så er det relælogikdiagram, der er vist i figur 2, det mest hensigtsmæssige for en typisk logik.

I henhold til relælogikdiagrammet i figuren svarer aktivering af indgangsrelæspolen til kontakten B, hvilket får C (udgang) til at blive lukket, og aktivering af indgangsrelæspolen svarer til kontakten A, hvilket får C (udgang) til at blive åbnet.

Denne slags arrangement anvendes normalt i konventionelle fastfortrådte relælogikkredsløb.

En simpel relæcontroller og tilsvarende ladder-logik
Figur 2 – En simpel relæcontroller og tilsvarende ladder-logik

Det samme skema kan implementeres efter ladder-logik som vist i figur 2. Ladder-logik-diagrammet er den mest almindeligt anvendte metode til programmering af PLC’er. Ladderdiagrammet består af to lodrette linjer, der repræsenterer strømskinnerne. Kredsløb, der er forbundet som vandrette linjer mellem to skinner, kaldes stigenes trin i stigen. Nogle få symboler, der anvendes til at betegne ind- og udgange i stige-logikken, er vist i henholdsvis figur 3 og 4.

I betragtning af disse stige-logik-symboler efterligner den stige-logik, der er implementeret i figur 2, den samme fastfortrådte relæ-logik.

Ladderlogikindgange
Figur 3 – Ladderlogikindgange

Ladderlogik normal udgang
Figur 4 – Ladderlogik normal udgang

Endeligt indsættes denne ladderlogik som et kontrolprogram til en PLC, hvor, indgangsenheder, og udgangsenheder er arrangeret på en måde som illustreret i Figur 5.

Så lægges ladder-logikprogrammerne ind i PLC’en, ind- og udgangsenhederne forbindes til I/O-moduler, og derefter opdateres udgangene ved udførelsen af programmet i overensstemmelse med status for indgangene.

En PLC illustreret med relæer
Figur 5 – En PLC illustreret med relæer

Mange relæer har også flere udgange, og dette gør det muligt for et udgangsrelæ også at være en indgang på samme tid.

Det kredsløb, der er vist i figur 6, er et eksempel herpå, og det kaldes et seal-in-kredsløb. I dette kredsløb kan strømmen løbe gennem hver gren af kredsløbet, gennem kontakterne mærket A eller B.

Indgangen B vil kun være tændt, når udgangen B er tændt. Hvis B er slukket, og A er aktiveret, vil B blive tændt. Hvis B er tændt, vil indgangen B være tændt og holde udgang B tændt, selv om indgangen A slukker. Når B er tændt, vil udgang B ikke slukke.
Et forseglet kredsløb
Figur 6 – Et forseglet kredsløb

Bemærk! Hvis A er lukket, vil udgang B blive tændt, og indgang B vil også blive tændt, hvilket vil holde udgang B tændt permanent – indtil strømmen fjernes.

Et andet eksempel på ladderlogik kan ses i Figur 7. For at fortolke dette diagram skal man forestille sig, at strømmen er på den lodrette linje i venstre side, kaldet hot rail. På højre side er den neutrale skinne.

I figuren er der to trin, og på hvert trin er der kombinationer af indgange (to lodrette linjer) og udgange (cirkler). Hvis indgangene åbnes eller lukkes i den rigtige kombination, kan strømmen strømme fra den varme skinne, gennem indgangene, til at forsyne udgangene og til sidst til den neutrale skinne. En indgang kan komme fra en sensor, en afbryder eller en hvilken som helst anden type sensor.

En udgang vil være en enhed uden for PLC’en, der tændes eller slukkes, f.eks. lys eller motorer. I det øverste trin er kontakterne normalt åbne og normalt lukkede, hvilket betyder, at hvis indgang A er tændt og indgang B er slukket, vil strømmen strømme gennem udgangen og aktivere den.

En hvilken som helst anden kombination af indgangsværdier vil resultere i, at udgangen X er slukket.

Et simpelt ladderlogikdiagram
Figur 7 – Et simpelt ladderlogikdiagram

Bemærk! Der skal strømme gennem en eller anden kombination af indgangene (A, B, C, D, E, E, F, G og H) for at tænde udgange (X, Y)

Gå tilbage til indholdet

Eksempel //

Forsøg at udvikle (uden at se på løsningen) en relæbaseret styring, der gør det muligt for tre afbrydere i et rum at styre et enkelt lys.

Løsning

Der er to mulige tilgange til dette problem. Den første antager, at enhver af de tændte afbrydere vil tænde lyset, men at alle tre afbrydere skal være slukkede, for at lyset er slukket. Ladderlogikken er vist i figur 8.

Ladderlogik til styring af et lys med tre afbrydere
Figur 8 – Ladderlogik til styring af et lys med tre afbrydere

Den anden løsning forudsætter, at hver afbryder kan tænde eller slukke lyset, uanset tilstanden af de andre afbrydere. Denne metode er mere kompleks og indebærer, at man skal gennemtænke alle de mulige kombinationer af afbrydernes positioner.

Du kan måske genkende dette problem som et eksklusivt eller problem. Ladderlogikken er som vist i figur 9.

Ladderlogik til styring af et lys på en anden måde med tre afbrydere
Figur 9 – Ladderlogik til styring af et lys på en anden måde med tre afbrydere

Bemærk! Det er vigtigt at få en klar forståelse af, hvordan det forventes, at styringen skal fungere. I dette eksempel blev der opnået to radikalt forskellige løsninger baseret på en simpel forskel i betjeningen.

Gå tilbage til indhold

Ledningsdiagram Grundlæggende #1

Ledningsdiagram Grundlæggende #2 (Sikkerhedsstyringskredsløb)

Ledningsdiagram Grundlæggende #3 (2 Wire & 3 Wire Motorstyringskredsløb)

Gå tilbage til indhold

2. Funktionsblokdiagram

Funktionsblokdiagram (FBD) anvendes til PLC-programmer, der er beskrevet i form af grafiske blokke. Det beskrives som værende et grafisk sprog til at skildre signal- og datastrømme gennem indgangsblokke, idet disse er genanvendelige softwareelementer.

En funktionsblok er en programinstruktionsenhed, der, når den udføres, giver en eller flere udgangsværdier. En blok er således repræsenteret på den måde, der er vist i figur 10, hvor funktionsnavnet er skrevet i blokken.

Funktionsblokke kan have standardfunktioner, som f.eks. logiske gates eller tællere eller timere, eller have funktioner, der er defineret af brugeren, f.eks. en blok til at opnå en gennemsnitsværdi af indgange.

Funktionsblok
Figur 10 – Funktionsblok

Gå tilbage til indhold

Programmering af funktionsblokdiagrammer (FBD) – Første lektion

I denne video lærer du det grundlæggende om programmering af PLC’er med sproget FBD (Function Block Diagramming). FBD er et grafisk sprog, hvor du beskæftiger dig med blokkene og forbindelsen mellem blokkene.

Sådan opretter og bruger du funktionsblokke i projektet

I denne video lærer du, hvordan du opretter tilpassede funktionsblokke i projektet og kalder dem i hovedprogrammet.

Gå tilbage til indholdet

3. Statement List

I statement-list-programmeringstilgangen anvendes et instruktionssæt, der ligner assemblagesprog til en mikroprocessor. Statement-lister, der findes på få mærker af PLC’er, er den mest fleksible form for programmering for den erfarne bruger, men er på ingen måde lige så nemme at følge som ladderdiagrammer eller logiske symboler.

Figur 11 viser en simpel operation i ladderdiagramform for en Mistsubishi PLC. Den tilsvarende liste over instruktioner ville være som vist i tabel 1.

Mitsubishi-stigerdiagram
Figur 11 – Mitsubishi-stigerdiagram
Ækvivalente udsagnsliste for figur 11
Ækvivalente udsagnsliste for figur 11

Gå tilbage til indhold

Sådan bruger du PLCSIM S7-300 STL LESSON 1 Tutorial

I denne lektion diskuterer vi om STL-program og begrebet RLO&STA. Detaljerede oplysninger om RLO og STA forklares sammen med simulation.

PLCSIM S7 300 STL LESSON 2 Tutorial…automatisering i anlæg

I denne lektion lærer vi, hvordan man skriver et PLC-program ved hjælp af en “S7 300” PLC og “STEP 7” software.

Gå tilbage til indholdet

4. Logikfunktioner

Der er mange styringssituationer, der kræver, at der skal iværksættes handlinger, når en bestemt kombination af betingelser er realiseret. For en automatisk boremaskine kan der således være en betingelse om, at boremotoren skal aktiveres, når der aktiveres grænsekontakter, der angiver, at der er et arbejdsstykke til stede, og at borets position er ved overfladen af arbejdsstykket.

En sådan situation involverer den logiske funktion AND, idet betingelse A og betingelse B begge skal være opfyldt, for at en udgang kan forekomme. På samme måde kan andre situationer kræve, at logikker som OR, NOT, NAND, NOR og XOR implementeres.

Det elektriske kredsløb, sandhedstabellen, ladderdiagrammet og det funktionelle blokdiagram for forskellige logikker er vist i tabel 2.

Karakteristika for forskellige logikker
Tabel 2 – Karakteristika for forskellige logikker

Gå tilbage til indhold

Logiske porte vs. ladderlogiske kredsløb

Gå tilbage til indhold

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.