Ik heb nou een Siemens S7-200 PLC thuis staan die ik wil programmeren, maar ik heb nogal wat moeite met het programmeren. Het programmeren doe ik doormiddel van de siemens S 7-Micro/Win 32 Programmeertool.
Het doel is om een soort (als een proef) automatisch boormachientje te programmeren.
De automatische boor die geprogrammeerd gaat worden bestaat uit de volgende stukken.
· Blokjes magazijn
· Lig plaats (plaats voor 3 blokjes)
· Boor (hangt boven 2de blokje)
· Weg stoot gedeelte (bij 3de blokje)
De boor kan worden aangezet doormiddel van de start knop. Het aanzetten wordt geweigerd als er een noodstop signaal is of het magazijn is leeg. Als het magazijn leeg is gaat er een lamp branden totdat het magazijn bijgevuld is. Als het programma begint wordt er als eerste een blokje uit het magazijn geduwt door een cillinder. Als er 2 blokjes achter elkaar op de lig plaats liggen ligt het voorste blokje onder de boor, en begint deze te boren. Als het boren klaar is wordt er weer een blokje uit het magazijn geduwt en wordt het blokje dat net geboord is weg geduwt van het wegstoot gedeelte en het volgende blokje wordt geboord.
Ik heb in het eerste blok van het programma een controle gemaakt en als er geen fouten zijn wordt met behulp van de CALL opdracht het 2de blok aangeroepen.
In dit 2de blok ontstaan de problemen.
Wat ik wou was een soort van teller die bijhield hoeveel blokjes er lagen, en een geheugen bitje die bij hield of het blokje (onder de boor) al geboord was. Het bitje is me gelukt(bitje is M0.1), maar de teller niet. De teller heb ik ff voor het gemakt teller genoemt, vond ik wel duidelijk
Ik heb nou zo iets van:
Netwerk1
LD I0.1
EN teller kleiner dan 2
OF teller is 2
A M0.1
= Q0.2 <= blokje wordt uit magazijn geduwd
Teller wordt teller+1 <= Teller wordt met 1 verhoogd
Netwerk2
Als teller groter dan 1
AN M0.1 <= blokje nog niet geboord
= Q0.7Boren
S M0.1
Netwerk 3
Als teller is 3
AN Q0.2
= Q0.9 <= blokje wordt weg geduwd
Teller wordt tellet-1
Zoals ik al zei lukt de teller niet, hierboven heb ik in woorden aangegeven wat ik waar en hoe wil met de teller, wie kan me helpen?
Als je een andere manier weet om mijn programma werkend te krijgen oid. is het ook goed.
Het doel is om een soort (als een proef) automatisch boormachientje te programmeren.
De automatische boor die geprogrammeerd gaat worden bestaat uit de volgende stukken.
· Blokjes magazijn
· Lig plaats (plaats voor 3 blokjes)
· Boor (hangt boven 2de blokje)
· Weg stoot gedeelte (bij 3de blokje)
De boor kan worden aangezet doormiddel van de start knop. Het aanzetten wordt geweigerd als er een noodstop signaal is of het magazijn is leeg. Als het magazijn leeg is gaat er een lamp branden totdat het magazijn bijgevuld is. Als het programma begint wordt er als eerste een blokje uit het magazijn geduwt door een cillinder. Als er 2 blokjes achter elkaar op de lig plaats liggen ligt het voorste blokje onder de boor, en begint deze te boren. Als het boren klaar is wordt er weer een blokje uit het magazijn geduwt en wordt het blokje dat net geboord is weg geduwt van het wegstoot gedeelte en het volgende blokje wordt geboord.
Ik heb in het eerste blok van het programma een controle gemaakt en als er geen fouten zijn wordt met behulp van de CALL opdracht het 2de blok aangeroepen.
In dit 2de blok ontstaan de problemen.
Wat ik wou was een soort van teller die bijhield hoeveel blokjes er lagen, en een geheugen bitje die bij hield of het blokje (onder de boor) al geboord was. Het bitje is me gelukt(bitje is M0.1), maar de teller niet. De teller heb ik ff voor het gemakt teller genoemt, vond ik wel duidelijk
Ik heb nou zo iets van:
Netwerk1
LD I0.1
EN teller kleiner dan 2
OF teller is 2
A M0.1
= Q0.2 <= blokje wordt uit magazijn geduwd
Teller wordt teller+1 <= Teller wordt met 1 verhoogd
Netwerk2
Als teller groter dan 1
AN M0.1 <= blokje nog niet geboord
= Q0.7Boren
S M0.1
Netwerk 3
Als teller is 3
AN Q0.2
= Q0.9 <= blokje wordt weg geduwd
Teller wordt tellet-1
Zoals ik al zei lukt de teller niet, hierboven heb ik in woorden aangegeven wat ik waar en hoe wil met de teller, wie kan me helpen?
Als je een andere manier weet om mijn programma werkend te krijgen oid. is het ook goed.
[ Voor 6% gewijzigd door Verwijderd op 05-01-2003 13:24 ]