Kompilér et kontrolprogram til en programmerbar controller

Kompilér et kontrolprogram til en programmerbar controllerProgrammerbare controllere er designet til cyklisk programmeret styring af metalskærende maskiner og forskelligt teknologisk udstyr, udstyret med sensorer og aktuatorer, der arbejder efter to-positions "on-off" princippet. I artiklen betragtes processen med at kompilere et kontrolprogram på eksemplet med en controller af MKP-1-modellen.

Afhængigt af versionen giver denne controller dig mulighed for at styre 16, 32 eller 48 enheder. Antallet af indgangskredsløb til tilslutning af sensorer svarer til antallet af udgange. Hver indgang og udgang har sin egen adresse.

Controlleren giver kontrol over drev, modtager information fra sensorer om udstyrets tilstand, genererer forsinkelser, organiserer betingede og ubetingede overgange i henhold til kontrolprogrammet og udfører også andre funktioner.

Udformningen af ​​kontrolenheden er reduceret til to trin: 1 — udarbejdelse af et diagram for tilslutning af sensorer og aktuatorer til controlleren, 2 — udarbejdelse af et kontrolprogram i henhold til algoritmisk skema.

Tilslutning af sensorer

DIP-knapper og sensorer er forbundet til controllerens indgangsstik i henhold til tabel 1. Hver indgang har sin egen adresse.

For at forsyne indgangskredsløbene kræves en strømforsyning med udgangsspænding Un = 20 … 30 V. Udløsning af sensoren svarer til lukningen af ​​indgangskredsløbet (binært niveau 1), kredsløbets åbne tilstand svarer til binært niveau 0 .

Et eksempel på tilslutning af sensorkontakten til controllerindgangen er vist i fig. 1

Tilslutningsdiagram af sensorkontakten

Fig. 1. Tilslutningsdiagram for følerkontakten

Tabel 1. Controller-indgangskredsløb

Controller input kredsløb

Tilslutning af udøvende enheder

Aktuatorer (relæspoler, indgangskredsløb for berøringsfrie enheder) er forbundet til kontrolenhedens udgangsstik i overensstemmelse med tabel 2.

Tabel 2. Udgangskredsløb for controlleren

Controller udgangskredsløb

Et eksempel på tilslutning af relæspolerne til regulatorens udgange er vist i fig. 2.

Ledningsdiagram over relæspoler

Fig. 2. Ledningsdiagram over relæspoler


Et eksempel på et komplet skema til tilslutning af eksterne enheder til controlleren

Et eksempel på et komplet skema til tilslutning af eksterne enheder til controlleren

Digital System Controller

Controlleren arbejder med tal udtrykt i hexadecimal notation. Grundlaget for systemet er decimaltallet 16, alfabetet består af ti cifre (0 ... 9) og seks latinske bogstaver (A, B, C, D, E, F). Bogstaverne svarer til decimaltal 10, 11, 12, 13, 14, 15.

Lær mere om det hexadecimale talsystem: Talsystemer

Under programmering er alle numeriske værdier angivet i hexadecimal. Tabel 3 viser en række tal i hexadecimal N16 og deres decimalækvivalenter Nl0.

Tabel 3. Tal i hexadecimal notation

Hexadecimale tal

Et sæt controller-kommandoer

Den programmerbare controller er udstyret med et kontrolsystem designet til at løse softwarekontrolproblemer. Tabel 4 viser en lille del af styreenhedens kommandoer.

Kommandoen består af to dele: koden for den operation, der skal udføres (CPC) og operanden, som angiver adressen på det objekt, som operationen udføres på. I dette tilfælde fungerer både sensorerne og aktuatorerne og kommandoerne for selve programmet som et sådant objekt. Når du angiver tidsintervaller, er operanden varigheden af ​​disse intervaller.

Tabel 4. Controller-kommandosæt

Et sæt controller-kommandoer

Diagrammer af algoritmer

Funktionsrækkefølgen af ​​hver enhed kan beskrives ved hjælp af grafiske symboler, der danner et algoritmediagram. Fire typer symboler kaldet toppunkter kan bruges, når man konstruerer et diagram (fig. 3).

Algoritmiske diagrammer, toppunkter

Ris. 3. Toppunkter i algoritmeskemaet

«Start»-spidsen svarer til betjeningsenhedens begyndelsestilstand, før betjeningsorganerne støder på den, f.eks. «Start»-knappen.

"End"-spidsen svarer til slutningen af ​​kontrolprocessen, for eksempel efter tryk på "Stop"-knappen.

Driftspunktet svarer til udførelsen af ​​en vis elementær drift af de enheder, der udgør styreenheden, for eksempel at tænde eller slukke et relæ. Den udførte handling registreres på kortet inde i det øverste ikon.

Et betinget toppunkt definerer betingelsen for at bevæge sig fra et operationelt toppunkt til et andet. Tilstanden indstilles af sensoren, kontrolknap eller anden enhed. Sensorens eller knappens tilstand og udgangene af hjørnerne er angivet med tallene 1 eller 0.

For eksempel: bevægelseskontakt «til» — 1; "Fra" - 0.

Kompilering af et algoritmediagram reduceres til at forbinde knudepunkter i overensstemmelse med den krævede rækkefølge for driften af ​​den automatiserede enhed. Et fragment af diagrammet af algoritmen er vist i fig. 4. I diagrammet står symbolet X1 for kontakten, Δt er tidsintervallet.

Udarbejdelse af et kontrolprogram

Hver kommando i programmet er skrevet under sit eget serienummer, som er dens adresse. Programmet er kompileret i henhold til skemaet for algoritmen og skal indeholde et sæt kommandoer, der udfører alle de operationer, der er specificeret i skemaet.

Inden programmet udvikles, er det nødvendigt at udarbejde et tilslutningsdiagram af sensorer og drev. Afhængigt af hvor disse enheder er tilsluttet, får de deres eget nummer, som er deres adresse i programmet.

Oprettelsen af ​​programmet skal starte fra toppen af ​​«Start»-diagrammet og derefter programmere operationerne sekventielt til toppen «End».

Hvis en operation udføres efter at en knap, endestopkontakt eller en anden sensor er aktiveret, indstilles kommando 02, og nummeret på denne sensor skrives som operanden. I dette tilfælde vil controlleren kun udføre kommandoen om at tænde eller slukke for executive-enhederne efter at have modtaget et triggersignal fra denne sensor.

Enhederne tændes eller slukkes med kommandoerne henholdsvis 05 eller 06. Nummeret på den tændte enhed skrives til operanden

Tidsintervaller indstilles ved hjælp af kommando 07. Koefficienten skrives i operanden, der ganges med 0,1 sek. giver den nødvendige forsinkelsestid.

For eksempel, når du indstiller t = 2,6 sek.operanden indeholder tallet 1A (26 i decimalnotation). Den maksimale tidsforsinkelse indstillet af en enkelt 07-kommando er 25,5 sek (07 FF-kommando). Hvis det er nødvendigt at opnå en forsinkelse på mere end 25,5 sekunder, skal flere 07-kommandoer successivt inkluderes i kontrolprogrammet, der tilsammen giver det nødvendige tidsinterval.

For at implementere betingede spring i programmet (i algoritmediagrammet et betinget toppunkt med både «1» og «0» operationer), skal du først indstille check-kommandoen til dette toppunkt 04.

Hvis sensoren svarende til dette toppunkt er i tilstanden «1», genereres betingelsesbitten BU = 1. Hvis sensoren er i tilstanden «0», genereres BU = 0.

Derefter udsendes OA-kommandoen, som, hvis BU = 1 blev indstillet i den forrige kommando, vil skifte controlleren til at udføre kommandoen specificeret i operanden af ​​den kommando.

Med BU = 0, vil controlleren udføre kommandoen efter OA-kommandoen.

Når du kompilerer et program, anbefales det først at skrive en sekvens af kommandoer, som controlleren skal udføre, når BU = 0, uden at specificere operanden i OA-kommandoen. Efter at alle kommandoer udført af controlleren i henhold til «0»-tilstanden er skrevet, indtastes kommandoen , opfyldt i henhold til betingelse «1», i programmet. Adressen på denne kommando er angivet i operanden af ​​OA-kommandoen.

BEMÆRK: For betingelsesbitten er starttilstanden BU = 1, som indstilles efter at controlleren er tændt, og efter at de betingede springkommandoer er udført.

Et eksempel på at skrive et program til et fragment af algoritmediagrammet i fig. 4 er vist i tabel 5.

Et fragment af algoritmediagrammet  

Ris. 4. Fragment af diagrammet af algoritmen

Fragment af kontrolprogrammet

Tabel 5. Fragment af ledelsesprogrammet

Vi råder dig til at læse:

Hvorfor er elektrisk strøm farlig?