Stel een besturingsprogramma samen voor een programmeerbare controller

Stel een besturingsprogramma samen voor een programmeerbare controllerProgrammeerbare controllers zijn ontworpen voor cyclisch geprogrammeerde besturing van metaalsnijmachines en verschillende technologische apparatuur, uitgerust met sensoren en actuatoren die werken volgens het "aan-uit"-principe met twee standen. In het artikel wordt het proces van het samenstellen van een besturingsprogramma beschouwd aan de hand van het voorbeeld van een controller van het MKP-1-model.

Afhankelijk van de uitvoering kunt u met deze controller 16, 32 of 48 apparaten aansturen. Het aantal ingangscircuits voor het aansluiten van sensoren komt overeen met het aantal uitgangen. Elke in- en uitgang heeft zijn eigen adres.

De controller zorgt voor de besturing van aandrijvingen, ontvangt informatie van sensoren over de toestand van de apparatuur, genereert vertragingen, organiseert voorwaardelijke en onvoorwaardelijke overgangen volgens het besturingsprogramma en voert ook andere functies uit.

Het ontwerp van het besturingsapparaat is teruggebracht tot twee fasen: 1 — het opstellen van een diagram voor het aansluiten van sensoren en actuatoren op de controller, 2 — het opstellen van een besturingsprogramma volgens het algoritmische schema.

Sensoren aansluiten

DIP-knoppen en sensoren worden aangesloten op de ingangsconnectoren van de controller volgens tabel 1. Elke ingang heeft zijn eigen adres.

Om de ingangscircuits van stroom te voorzien, is een voeding nodig met een uitgangsspanning Un = 20 … 30 V. Het activeren van de sensor komt overeen met het sluiten van het ingangscircuit (binair niveau 1), de open toestand van het circuit komt overeen met binair niveau 0 .

Een voorbeeld van het aansluiten van het sensorcontact op de controlleringang wordt getoond in afb. 1

Aansluitschema van het sensorcontact

Afb. 1. Aansluitschema van het sensorcontact

Tabel 1. Controller-ingangscircuits

Controller-ingangscircuits

Aansluiting van uitvoerende apparaten

Actoren (relaisspoelen, ingangscircuits van contactloze apparaten) worden aangesloten op de uitgangsconnectoren van de controller in overeenstemming met tabel 2.

Tabel 2. Uitgangscircuits van de controller

Controller uitgangscircuits

Een voorbeeld van het aansluiten van de relaisspoelen op de controlleruitgangen wordt getoond in afb. 2.

Bedradingsschema van relaisspoelen

Afb. 2. Bedradingsschema van relaisspoelen


Een voorbeeld van een compleet schema voor het aansluiten van externe apparaten op de controller

Een voorbeeld van een compleet schema voor het aansluiten van externe apparaten op de controller

Digitale systeemcontroller

De controller werkt met getallen uitgedrukt in hexadecimale notatie. De basis van het systeem is het decimale getal 16, het alfabet bestaat uit tien cijfers (0 ... 9) en zes Latijnse letters (A, B, C, D, E, F). De letters komen overeen met decimale getallen 10, 11, 12, 13, 14, 15.

Meer informatie over het hexadecimale getallenstelsel: Nummer systemen

Tijdens het programmeren worden alle numerieke waarden opgegeven in hexadecimaal. Tabel 3 toont een bereik van getallen in hexadecimaal N16 en hun decimale equivalenten Nl0.

Tabel 3. Getallen in hexadecimale notatie

Hexadecimale getallen

Een set controller-commando's

De programmeerbare controller is uitgerust met een besturingssysteem dat is ontworpen om softwarebesturingsproblemen op te lossen. Tabel 4 toont een klein deel van de controllercommando's.

Het commando bestaat uit twee delen: de code van de uit te voeren bewerking (CPC) en de operand, die het adres aangeeft van het object waarop de bewerking wordt uitgevoerd. In dit geval fungeren zowel de sensoren als de actuatoren en commando's van het programma zelf als zo'n object. Bij het specificeren van tijdsintervallen is de operand de duur van die intervallen.

Tabel 4. Commandoset controller

Een set controller-commando's

Diagrammen van algoritmen

De werkingsvolgorde van elk apparaat kan worden beschreven met behulp van grafische symbolen die een algoritmediagram vormen. Vier soorten symbolen, hoekpunten genaamd, kunnen worden gebruikt bij het construeren van een diagram (Fig. 3).

Algoritmische diagrammen, hoekpunten

Rijst. 3. Hoekpunten van het algoritmische schema

Het hoekpunt «Start» komt overeen met de begintoestand van het besturingsapparaat vóór de impact erop door de bedieningselementen, bijvoorbeeld de «Start»-knop.

Het hoekpunt "Einde" komt overeen met het einde van het regelproces, bijvoorbeeld na het indrukken van de knop "Stop".

Het werkpunt komt overeen met de uitvoering van een bepaalde elementaire werking van de apparaten waaruit het besturingsapparaat bestaat, bijvoorbeeld het in- of uitschakelen van een relais. De uitgevoerde bewerking wordt vastgelegd op de kaart in het bovenste pictogram.

Een voorwaardelijk hoekpunt definieert de voorwaarde om van het ene operationele hoekpunt naar het andere te gaan. De conditie wordt ingesteld door de sensor, bedieningsknop of ander apparaat. De status van de sensor of knop en de uitgangen van de hoekpunten worden respectievelijk aangegeven met de cijfers 1 of 0.

Bijvoorbeeld: bewegingsschakelaar «aan» — 1; "Uit" - 0.

Het samenstellen van een algoritmediagram wordt gereduceerd tot het verbinden van hoekpunten in overeenstemming met de vereiste werkingsvolgorde van het geautomatiseerde apparaat. Een fragment van het diagram van het algoritme wordt getoond in Fig. 4. In het diagram staat het symbool X1 voor de schakelaar, Δt is het tijdsinterval.

Samenstellen van een besturingsprogramma

Elke opdracht in het programma wordt geschreven onder zijn eigen serienummer, dat zijn adres is. Het programma is gecompileerd volgens het schema van het algoritme en moet een reeks opdrachten bevatten die alle bewerkingen uitvoeren die in het schema zijn gespecificeerd.

Voordat het programma wordt ontwikkeld, is het noodzakelijk om een ​​aansluitschema van sensoren en aandrijvingen op te stellen. Afhankelijk van waar deze apparaten zijn aangesloten, krijgen ze een eigen nummer, dat is hun adres in het programma.

Het maken van het programma moet beginnen vanaf de bovenkant van het «Start»-diagram en vervolgens achtereenvolgens de bewerkingen programmeren tot aan de bovenkant «Einde».

Als een bewerking wordt uitgevoerd nadat een knop, eindschakelaar of andere sensor is geactiveerd, wordt commando 02 ingesteld en wordt het nummer van die sensor geschreven als de operand. In dit geval voert de controller het commando om de uitvoerende apparaten in of uit te schakelen pas uit na ontvangst van een triggersignaal van deze sensor.

De apparaten worden in- of uitgeschakeld met respectievelijk de commando's 05 of 06. Het nummer van het ingeschakelde apparaat wordt naar de operand geschreven

Tijdsintervallen worden ingesteld met commando 07. De coëfficiënt wordt geschreven in de operand, die bij vermenigvuldiging met 0,1 sec. geeft de nodige vertragingstijd.

Bijvoorbeeld bij instelling t = 2,6 sec.de operand bevat het getal 1A (26 in decimale notatie). De maximale tijdvertraging ingesteld door een enkele 07-opdracht is 25,5 sec (07 FF-opdracht). Als het nodig is om een ​​vertraging van meer dan 25,5 seconden te verkrijgen, moeten achtereenvolgens meerdere 07-commando's in het besturingsprogramma worden opgenomen, die samen het vereiste tijdsinterval opleveren.

Om voorwaardelijke sprongen in het programma te implementeren (in het algoritmediagram een ​​voorwaardelijk hoekpunt met zowel «1»- als «0»-bewerkingen), moet u eerst het controlecommando instellen op dit hoekpunt 04.

Als de sensor die overeenkomt met dit hoekpunt zich in de toestand «1» bevindt, wordt de voorwaardebit BU = 1 gegenereerd.Als de sensor zich in de toestand «0» bevindt, wordt BU = 0 gegenereerd.

Vervolgens wordt het OA-commando gegeven dat, als BU = 1 was ingesteld in het vorige commando, de controller zal schakelen om het commando uit te voeren dat is gespecificeerd in de operand van dat commando.

Met BU = 0 voert de controller het commando uit na het OA-commando.

Bij het samenstellen van een programma wordt aanbevolen om eerst een reeks opdrachten te schrijven die de controller moet uitvoeren wanneer BU = 0, zonder de operand in de OA-opdracht te specificeren.Nadat alle opdrachten die door de controller worden uitgevoerd volgens de voorwaarde «0» zijn geschreven, wordt het commando , vervuld volgens voorwaarde «1», in het programma ingevoerd. Het adres van deze opdracht wordt gespecificeerd in de operand van de OA-opdracht.

OPMERKING: Voor de conditiebit is de beginstatus BU = 1, die wordt ingesteld nadat de controller is ingeschakeld en nadat de voorwaardelijke sprongopdrachten zijn uitgevoerd.

Een voorbeeld van het schrijven van een programma voor een fragment van het algoritmediagram in Fig. 4 wordt weergegeven in tabel 5.

Een fragment van het algoritmediagram  

Rijst. 4. Fragment van het diagram van het algoritme

Fragment van het controleprogramma

Tabel 5. Fragment van het beheerprogramma

We raden u aan om te lezen:

Waarom is elektrische stroom gevaarlijk?