Kompiler et kontrollprogram for en programmerbar kontroller
Programmerbare kontrollere er designet for syklisk programmert styring av metallskjæremaskiner og diverse teknologisk utstyr, utstyrt med sensorer og aktuatorer som fungerer etter to-posisjons "på-av"-prinsippet. I artikkelen vurderes prosessen med å kompilere et kontrollprogram på eksemplet med en kontroller av MKP-1-modellen.
Avhengig av versjonen lar denne kontrolleren deg kontrollere 16, 32 eller 48 enheter. Antall inngangskretser for tilkobling av sensorer tilsvarer antall utganger. Hver inngang og utgang har sin egen adresse.
Kontrolleren gir kontroll over stasjoner, mottar informasjon fra sensorer om tilstanden til utstyret, genererer forsinkelser, organiserer betingede og ubetingede overganger i henhold til kontrollprogrammet, og utfører også andre funksjoner.
Utformingen av kontrollenheten er redusert til to trinn: 1 — utarbeide et diagram for tilkobling av sensorer og aktuatorer til kontrolleren, 2 — utarbeide et kontrollprogram i henhold til algoritmen.
Koble til sensorer
DIP-knapper og sensorer kobles til inngangskontaktene til kontrolleren i henhold til Tabell 1. Hver inngang har sin egen adresse.
For å drive inngangskretsene kreves en strømforsyning med utgangsspenning Un = 20 … 30 V. Utløsning av sensoren tilsvarer lukking av inngangskretsen (binært nivå 1), den åpne tilstanden til kretsen tilsvarer binært nivå 0 .
Et eksempel på tilkobling av sensorkontakten til regulatorinngangen er vist i fig. 1
Fig. 1. Koblingsskjema for sensorkontakten
Tabell 1. Kontrollerinngangskretser
Tilkobling av utøvende enheter
Aktuatorer (reléspoler, inngangskretser til berøringsfrie enheter) er koblet til utgangskontaktene til kontrolleren i samsvar med tabell 2.
Tabell 2. Utgangskretser til kontrolleren
Et eksempel på tilkobling av reléspolene til kontrollerens utganger er vist i fig. 2.
Fig. 2. Koblingsskjema over reléspoler
Et eksempel på et komplett opplegg for tilkobling av eksterne enheter til kontrolleren
Digital systemkontroller
Kontrolleren arbeider med tall uttrykt i heksadesimal notasjon. Grunnlaget for systemet er desimaltallet 16, alfabetet består av ti sifre (0 ... 9) og seks latinske bokstaver (A, B, C, D, E, F). Bokstavene tilsvarer desimaltall 10, 11, 12, 13, 14, 15.
Lær mer om det heksadesimale tallsystemet: Tallsystemer
Under programmering er alle numeriske verdier spesifisert i heksadesimal. Tabell 3 viser et tallområde i heksadesimal N16 og deres desimalekvivalenter Nl0.
Tabell 3. Tall i heksadesimal notasjon
Et sett med kontrollkommandoer
Den programmerbare kontrolleren er utstyrt med et kontrollsystem designet for å løse programvarekontrollproblemer. Tabell 4 viser en liten del av kontrollkommandoene.
Kommandoen består av to deler: koden til operasjonen som skal utføres (CPC) og operanden, som indikerer adressen til objektet som operasjonen utføres på. I dette tilfellet fungerer både sensorene og aktuatorene og kommandoene til selve programmet som et slikt objekt. Når du spesifiserer tidsintervaller, er operanden varigheten av disse intervallene.
Tabell 4. Kontrollerkommandosett
Diagrammer av algoritmer
Driftsrekkefølgen til hver enhet kan beskrives ved hjelp av grafiske symboler som danner et algoritmediagram. Fire typer symboler kalt toppunkter kan brukes når man konstruerer et diagram (fig. 3).
Ris. 3. Topppunkter av algoritmeskjemaet
«Start»-toppunktet tilsvarer den opprinnelige tilstanden til kontrollenheten før innvirkningen på den av kontrollene, for eksempel «Start»-knappen.
"End" toppunktet tilsvarer slutten av kontrollprosessen, for eksempel etter å ha trykket på "Stop"-knappen.
Driftspunktet tilsvarer utførelsen av en viss elementær operasjon av enhetene som utgjør kontrollenheten, for eksempel å slå på eller av et relé. Operasjonen som utføres registreres på kartet innenfor toppikonet.
Et betinget toppunkt definerer betingelsen for å bevege seg fra ett driftspunkt til et annet. Tilstanden stilles inn av sensoren, kontrollknapp eller annen enhet. Tilstanden til sensoren eller knappen og utgangene til hjørnene, henholdsvis, er indikert med tallene 1 eller 0.
For eksempel: bevegelsesbryter «på» — 1; "Av" - 0.
Å kompilere et algoritmediagram reduseres til å koble toppunkter i samsvar med den nødvendige rekkefølgen for drift av den automatiserte enheten. Et fragment av diagrammet av algoritmen er vist i fig. 4. I diagrammet står symbolet X1 for bryteren, Δt er tidsintervallet.
Sammenstilling av et kontrollprogram
Hver kommando i programmet er skrevet under sitt eget serienummer, som er adressen. Programmet er kompilert i henhold til skjemaet til algoritmen og må inneholde et sett med kommandoer som utfører alle operasjonene spesifisert i skjemaet.
Før du utvikler programmet, er det nødvendig å utarbeide et koblingsskjema over sensorer og stasjoner. Avhengig av hvor disse enhetene er tilkoblet, får de sitt eget nummer, som er adressen deres i programmet.
Opprettelsen av programmet bør starte fra toppen av «Start»-diagrammet og deretter programmere operasjonene sekvensielt til toppen «End».
Hvis en operasjon utføres etter at en knapp, grensebryter eller annen sensor er aktivert, settes kommando 02 og nummeret til den sensoren skrives som operanden. I dette tilfellet vil kontrolleren utføre kommandoen for å slå på eller av executive-enhetene bare etter å ha mottatt et triggersignal fra denne sensoren.
Enhetene slås på eller av med kommandoene henholdsvis 05 eller 06. Nummeret til den påslåtte enheten skrives til operanden
Tidsintervaller settes ved hjelp av kommando 07. Koeffisienten skrives i operanden, som multiplisert med 0,1 sek. gir nødvendig forsinkelsestid.
For eksempel, når du setter t = 2,6 sek.operanden inneholder tallet 1A (26 i desimalnotasjon). Maksimal tidsforsinkelse satt av en enkelt 07-kommando er 25,5 sek (07 FF-kommando). Hvis det er nødvendig å oppnå en forsinkelse på mer enn 25,5 sekunder, må flere 07-kommandoer inkluderes suksessivt i kontrollprogrammet, som til sammen gir det nødvendige tidsintervallet.
For å implementere betingede hopp i programmet (i algoritmediagrammet, et betinget toppunkt med både «1» og «0» operasjoner), må du først sette kontrollkommandoen til dette toppunktet 04.
Hvis sensoren som tilsvarer dette toppunktet er i tilstand «1», genereres betingelsesbiten BU = 1. Hvis sensoren er i tilstanden «0», vil BU = 0 bli generert.
OA-kommandoen utstedes så, som, hvis BU = 1 ble satt i forrige kommando, vil bytte kontrolleren til å utføre kommandoen spesifisert i operanden til den kommandoen.
Med BU = 0, vil kontrolleren utføre kommandoen etter OA-kommandoen.
Når du kompilerer et program, anbefales det først å skrive en sekvens med kommandoer som kontrolleren skal utføre når BU = 0, uten å spesifisere operanden i OA-kommandoen. Etter at alle kommandoene som utføres av kontrolleren i henhold til «0»-tilstanden er skrevet, legges kommandoen , oppfylt i henhold til betingelse «1», inn i programmet. Adressen til denne kommandoen er spesifisert i operanden til OA-kommandoen.
MERK: For betingelsesbiten er starttilstanden BU = 1, som settes etter at kontrolleren er slått på og etter at de betingede hoppkommandoene er utført.
Et eksempel på å skrive et program for et fragment av algoritmediagrammet i fig. 4 er vist i tabell 5.
Ris. 4. Fragment av diagrammet til algoritmen
Tabell 5. Fragment av forvaltningsprogrammet
