Hoe maak ik zelf een PLC.

PCB

Back    

Op deze pagina meer informatie over de PLC in het algemeen en over DCIPLC.
Lees ook het elektuur artikel voor meer informatie: The Elektor article.
Dit programma werkt onder Windows 95, 98, 2000, XP en Me.


Concept.

De PLC:

De PLC(Programmable Logic Controller) in de Nederlandse literatuur spreekt men ook van vrij programeerbare sturingen is een automatiseringsapparaat dat gebruikt kan worden om machines en processen te automatiseren. Een PLC vervangt hiermee de conventionele relaisschakelingen. Een van de grote voordelen van een PLC is dat uitbreidingen en wijzigingen van het proces zeer gemakkelijk te realiseren zijn.

PLC voorbeeld.
De PLC bevat altijd een CPU-module en daarnaast een aantal digitale in- en uitgangsmodulen. Het aantal in- en uitgangsmodulen is afhankelijk van de grootte van het te controleren proces. In de industrie is de PLC al jaren niet meer weg te denken bij het automatiseren van processen. Thuis in de woning zijn er ook vele mogelijkheden te bedenken waarvoor we een PLC kunnen inzetten. Uitbreidingen of aanpassingen achteraf kunnen meestal op een vrij eenvoudige manier gerealiseerd worden.

Het DCIPLC ontwerp:

De bedoeling van het DCIPLC ontwerp is met een beetje hardware (print zelf te maken), een seriële kabel en software van een PC een PLC te maken.
Het is ook mogelijk om een ladderdiagramma te testen zonder de hardware!

De hardware .

De hardware van ontwerp betreft alleen het gedeelte voor het omzetten van de informatie op de seriële poort naar de in- en uitgangen. De in- en uitgangsinterface die zelf ontworpen dient te worden kan via flatkabel verbonden worden met de DCIPLC. Het is onmogelijk een universele interface te ontwerpen die aan ieders behoefte voldoet.
Dat de keuze voor de verbinding tussen hardware en de PC is gevallen op de seriële poort is te verklaren om de volgende redenen:
1 De seriële poort is niet snel stuk te krijgen (kortsluitbeveiliging).
2 De connector mag aangesloten worden wanneer de pc in werking is.

Serial connection.

Belangrijk: Plaats de 9-way sub-D connector vrouw aan de connectors zijde!

PCB

Bij het bekijken van het schema van de hardware zien we dat er eigenlijk alleen maar gebruik is gemaakt van de schuifregisters CD4094 en CD4021.
Het schuifregister 4094 is een schakeling die bestaat uit 8 flipflops die in serie zijn geschakeld en waarmee 8 uitgangen kunnen aangestuurd worden. Bij ieder kloksignaal zal de data (0 of 1) op de data-ingang een plaats opschuiven zodat na 8 kloksignalen en een strobe-impuls we beschikken over een 8 bits uitgang. Bij deze schakeling maken we gebruik door 4 schuifregisters in cascade te plaatsen. Hierdoor kunnen we beschikken over 32 uitgangen.

Het schuifregister 4021 werk idem als een 4094 met als verschil dat de toestand van ingangen kan uitgelezen worden. Na een impuls op de strobe-ingang kunnen de ingangsniveaus uitgelezen worden van de flipflops. De toestand van bit 7 staat dan al op uitgang Q7. Iedere klokpuls op de ingang CI zal er daarna voor zorgen dat de data een plaats opschuift. Door hier ook gebruik te maken van 4 schuifregisters beschikken we over 32 ingangen.

Voorbeeld van een ingangs- en uitgangsinterface.

De software:

Screendump van software in run.
De DCIPLC software is een programma dat de CPU van de PLC module vervangt en waarin we een ladderdiagram kunnen ontwerpen en aanpassen. De software bevat ook een simulatie voorziening voor het testen van een ladderdiagram zonder de hardware! Via een seriële kabel en hardware kunnen 32 ingangen op hun toestand gecontroleerd worden en kunnen 32 uitgangen aangestuurd worden. Tevens beschikt men over 32 timers, 32 tellers en 32 Flag's. Een Flag, in het Nederlands beter bekend als merker is een soort interne uitgang die gebruikt wordt voor het opslaan van tussenresultaten. Een merker kan als uitgang "geset" en "gereset" worden en is zo eigenlijk een onzichtbare uitgang. De lengte van een ladderdiagramma met DCIPLC is maximaal 99 regels. Een ladderdiagramma heeft vele overeenkomsten met een relaisschema en is een veel gebruikte manier om op een grafische wijze een programma te schrijven. Bij een ladderdiagramma dient er opgelet te worden dat de symbolen in het ladderdiagramma instructies weergeven en niet de fysische contacten. Bij het uitvoeren van de instructies in het programma worden de toestanden van de signalen bekeken. Afhankelijk van de toestanden van deze signalen wordt een uitgang hoog of laag gestuurd. De instructie set van DCIPLC bevat de volgende onderdelen:

De instructie set.

1 Onderzoek "AAN", deze instructie doet een onderzoek op aanwezigheid spanning en kan een toewijzing krijgen naar een ingang, uitgang, flag, timer of teller. De status van de instructie onderzoek op "AAN" is "WAAR" wanneer er spanning aanwezig is.

2 Onderzoek "UIT", deze instructie onderzoekt op de afwezigheid van spanning en kan een toewijzing krijgen naar een ingang, uitgang, flag, timer of teller. De status van de instructie onderzoek op "UIT" is "WAAR" wanneer er geen spanning aanwezig is.

3 Positieve flank detectie. Onderzoek op "AAN" , en is maar een programmacyclus "WAAR". Deze kan alleen een toewijzing krijgen naar een flag.

4 Negatieve flank detectie Onderzoek op"UIT", en is maar een programmacyclus "NIET WAAR". Deze kan alleen een toewijzing krijgen naar een flag.

5 Dit symbool staat voor een interne of externe uitgang en kan een toewijzing krijgen naar een flag of een uitgang. Deze uitgang zal hoog worden wanneer het logisch onderzoek voor de hele regel "WAAR" is.

6 Dit symbool staat voor een geinverteerde interne of externe uitgang en kan een toewijzing krijgen naar een flag of een uitgang. Deze uitgang zal hoog worden wanneer het logisch onderzoek voor de hele regel "NIET WAAR" is.

7 Dit symbool staat voor een SET uitgang intern of extern en kan een toewijzing krijgen naar een flag of een uitgang. Deze uitgang zal hoog worden wanneer het logisch onderzoek voor de hele regel "WAAR" is. Daarna mag het logisch onderzoek voor de hele regel "NIET WAAR" worden, de uitgang zal hoog blijven. Alleen een RESET uitgang kan de uitgang weer laag maken.

8 Dit symbool staat voor een RESET uitgang intern of extern extern en kan een toewijzing krijgen naar een flag of een uitgang. Deze uitgang zal laag worden wanneer het logisch onderzoek voor de hele regel "WAAR" is. Daarna mag het logisch onderzoek voor de hele regel "NIET WAAR" worden, de uitgang zal laag blijven. Alleen een SET uitgang kan de uitgang weer hoog maken.

9 De timer instructie moet altijd in de laatste kolom geplaatst worden. De timer is een instructie die gedurende een ingestelde tijd laag of hoog is. Afwisselend hoog en laag is ook mogelijk. De timer zal starten wanneer het logisch onderzoek voor de hele regel "WAAR" is en moet hoog blijven. Indien het logisch onderzoek voor de hele regel "NIET WAAR" wordt zal de timer gereset worden. De waarde t1 is de tijd in seconden dat de timer laag is tewijl t2 de tijd in seconden voorstelt dat de timer hoog is. De waarde van t1 en t2 kan een getal bevatten van 1 tot en met 9999. Bij het toewijzen van een timer moet t1 of t2 een waarde krijgen, anders volgt er een foutmelding. Indien t1 en t2 een waarde krijgen dan heeft men een blokgof ter beschikking. Indien men lange tijden wil gebruiken dan kan men een timer en een teller combineren waardoor een oneindig lange tijd kan ingesteld worden.

10 De teller instructie moet altijd in de laatste kolom geplaatst worden Deze instructie zet de teller na een bepaald aantal pulsen hoog. Het tellen zal starten wanneer het logisch onderzoek voor de hele regel "WAAR" is en moet hoog blijven. Indien het logisch onderzoek voor de hele regel "NIET WAAR" wordt zal de teller gereset worden. De teller kan een waarde hebben van 1 tot 9999. De teller heeft twee ingangen een voor het optellen en een voor het aftellen. Aan deze ingangen kan een merker, ingang, timer, uitgang of een andere teller toegewezen worden.Men moet minstens een van de beide ingangen toewijzen. Alleen wanneer de teller gelijk is aan de ingestelde waarde zal deze hoog zijn!.

11 Begin of einde van een "OR" instructie. Een "OR" instructie kan alleen geplaatst worden in kolom 1 tot en met 8 en moet een begin en een einde hebben. Er kan maar een "OR" instructie toegepast worden per regel en de OR mag maximaal 7 regels breed zijn. In de map /examples staan twee bestanden (or.plc en bador.plc) die een voorbeeld geven wat kan en niet kan met een OR functie.

12 Lijn instructie Deze instructie vervangt een signaaldraad in een schema. Dez instructie is altijd hoog.

Voor het maken van een programma beschikken we over de volgende hulpmiddelen.
13 Verwijder een instructie.
14 Invoegen van een regel.
15 Verwijderen van een regel.
Hoe te werk gaan bij het maken van een programma.
Een goede regel tijdens het ontwerpen van het programma is van links naar rechts te werken en als de regel af is pas aan een volgende regel te beginnen. Dit omdat in het programma er een controle is die niet toelaat van een regel leeg te laten.
Een gulden regel bij het programmeren van een PLC is van slechts een maal een uitgang met dezelfde toewijzing te gebruiken.

Elke PLC werkt namelijk op de volgende manier:

1 Bij een nieuwstart worden alle uitgangen spanningsloos.
2 De toestand van alle ingangen wordt ingelezen.
3 Het gebruikersprogramma werkt instructie per instructie af met de signaaltoestanden die in punt 1 zijn ingelezen. Dus indien tijdens de verwerking van het programma een ingangssignaal van toestand veranderd, hier geen rekening mee wordt gehouden gedurende de aangang zijnde cyclus. Tijdens de verwerking van het programma wordt er rekening gehouden met de toestand van de timers, merkers, en tellers, ingangen ...enz.
4 Na de verwerking van het gebruikersprogramma worden de uitgangen gestuurd.
5 De punten 2,3 en 4 worden cyclisch doorlopen..

Indien tweemaal dezelfde uitgang gebruikt is in een programma dan zal deze uitgang de toestand krijgen van de laatste regel waar de uitgang is geplaatst! Het DCIPLC programma doorloopt 20 tot 100 maal per seconde een programma. Dit is afhankelijk van de gebruikte PC en de lengte van het programma.
De volgende tips geven een optimale werking van het programma in de RUN mode:
1 Zorg er voor dat zo weinig mogelijk programma's actief zijn.
2 Zet de schermbeveiliging af.
3 Start geen programma op.
4 Plaats geen diskette of CD-rom in de pc.
Deze voorzorgen laten Windows toe een maximale tijd voor het DCIPLC programma te reserveren, wat de prestaties ten goede komt.
bv: Indien een CD-Rom geplaatst wordt in de pc dan zal gedurende een paar seconden het DCIPLC programma niet meer reageren. Dit komt omdat Windows de prioriteit geeft aan het CD-Rom station. Hierdoor wordt gedurende deze tijd de timers niet meer bijgehouden en worden ingangen niet gecontroleerd. Indien men de vorige voorzorgen in acht neemt dan zal het programma iedere ingang minstens 10 keer per seconde controleren en zal een timer maximaal een afwijking van 2 seconden hebben op 24 uur. Een Pentium 100 is minimaal vereist. De installatie neemt met de voorbeelden ongeveer 3 Mb in beslag. Het porgamma werkt met het besturingssysteem Windows 95, Windows 98 en Windows Millenium.. Op WIN NT werkt het programma maar kan men de hardware niet aansluiten. Dit omdat NT niet toelaat de hardware rechtstreeks aan te spreken.

Nieuw vanaf versie 2.0:
1. Na het maken van een ladderdiagram kan dit getest worden door middel van een simulatie mode. Klik op simulation mode in het menu status en er verschijnt een venster waarin de toestand van de ingangen hoog of laag kan gezet worden. De toestanden van de uitgangen zijn ook zichtbaar in dit venster. Al de toestanden van de ingangen, uitgangen, flags, timers en tellers is ook zichtbaar in het ladderdiagram.

2. Installatie gebeurt nu via een installatie wizard.
Nieuw vanaf versie 2.2
De klok instructie.
Deze instructie is te vergelijken met een schakelklok. Wanneer in run aan de voorwaarden van de hele regel is voldaan en de insgestelde tijd is gelijk aan de tijd van de interne klok van de pc, dan zal deze instructie gedurende 1 minuut hoog zijn. Hierdoor is het mogelijk een flag of een uitgang te setten of te resetten. Deze instructie moet altijd in de laatste kolom geplaatst worden en er zijn in totaal 32 klokken beschikbaar.
Zie het voorbeeld: \examples\clock.plc
Uitgebreide documentatiemogelijkheden.
Het is nu mogelijk een tekst toe te voegen aan een ladderdiagramma. Klik op Show edit comment in het menu tools en onderaan in het venster verschijnt een editor. Je kan ook klikken op de knop met het potlood symbool. Je moet het venster wel maximaliseren wil je de editor zien. Je kan nu tekst invoegen zoveel je wil en je kan deze printen. Door de rechterdrukknop van de muis te gebruiken kan je de mogelijkheden van het popupmenu benutten. Bij het opslaan van het ladderdiagramma wordt deze tekst automatisch opgeslagen als een *.plt bestand.
Zie het voorbeeld: \examples\clock.plc

Nieuw! Move instructie:
1. Copiëren van ingangsbyte naar een flagbyte of uitgangsbyte.
2. Copiëren van actuele timerwaarde naar een flagbyte of uitgangsbyte.
3. Copiëren van actuele tellerwaarde naar een flagbyte of uitgangsbyte.
4. Copiëren van decimaal getal(0..255) naar een flagbyte of uitgangsbyte.
5. NOP instructie (no operation functie) te gebruiken bij MOVE.
6. Extra 6 flagbytes maken nu een totaal van 10.
7. Tonen van actuele waarde van de 10 flagbytes in het simulatie venster.
Zie het voorbeeld: \examples\move.plc



Dank u voor het bezoeken van deze website.

To top