Hulp bij PLC programma in Grafcet

Hallo,

Ik zit momenteel in het 6e jaar Elektrische Installatiemethoden en voor het vak automatisatie moeten we een Grafcet ontwikkelen om een kruispunt aan te sturen. De regeling om de lampen aan te sturen heb ik al getekend maar ik vindt maar niet hoe ik er voor zorg dat dit systeem vanzelf opstart en zich steeds blijft herhalen.

Weet iemand wat ik moet doen, aub?

Alvast bedankt!

blackdog

Golden Member

Hi J.D. :-)

Ik heb "Grafcet" moeten opzoeken wat het inhoud...

Je ben dus bezig met een verkeerslicht systeem en je hebt een "flow diagram" getekend met de voorwaarden, is dit correct? :-)

Maar laat eens weten wat je allemaal moet gaan doen, wij hebben geen "kristallen bol"
Gaat het b.v. alleen om jouw "Grafcet" of is het ook de bedoeling dat je iets gaat bouwen met electronica.

Even dit en zie het niet als "negatief commentaar" maar om je te helpen sneller betere antwoorden te krijgen.
Leer beter vragen te stellen, daar heb je later heel veel baat bij.

Goed uitleggen wat het onderwerp is, waar wil je naartoe en wat heb je al geregeld, en de gedachten in de trend van "dat hoeven ze niet te weten" haalt het rendament van je handeling(je vraagstelling dus) goed onderuit.

Hier op dit forum zijn we niet uitgerust zoals ik al aangaf met een kristallen bol, dat geld ook voor je sociale omgeving.
Wil je beter begrepen worden, dan zal je moeten investeren in het beter steleln van vragen en er over nadenken hoe je je vraag zo efficient mogelijk gaat steleln.
Dit houd vrijwel altijd in dat je er over nadenkt an wie je de vraag steld, en hoeveel kennis de gene ongeveer heeft waar je de vraag aan steld.

Wat betreft jouw vraag, wat heb je al gedaan, laat eens wat zien en vertel het hele verhaal. :-)

Groet,
Bram

You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.

Op 18 februari 2023 10:38:44 schreef J.D: De regeling om de lampen aan te sturen heb ik al getekend maar ik vindt maar niet hoe ik er voor zorg dat dit systeem vanzelf opstart en zich steeds blijft herhalen.

Herinner me dit nog van school, bijna een halve eeuw geleden :)

Vind die vraag zelfs vreemd omdat zoiets al duidelijk moet zijn wanneer dit aangeleerd wordt.

Dat is impliciet bij Grafcet, sequentie begint bij het begin. Volgende stap wordt gewoonweg uitgevoerd als aan de voorwaarde voldaan is. Als er geen voorwaarde is of als deze steeds logisch 1 is gaat de sequentie gewoon door. Aan het einde is er gewoon een lus terug.

Alvast bedankt voor jullie snelle antwoord!

De bedoeling van deze taak is dus gewoon een Grafcet maken, dit omzetten naar een ladderdiagram en deze dan maken en uittesten in TIAportal (V17)
Achteraf moeten we dit dan als pfd en als ZAP-bestand indienen.

Ik zal eventueel morgen proberen om de Grafcet bij te voegen voor extra duidelijkheid.

Met vriendelijke groeten,

J.D

[Bericht gewijzigd door J.D op zaterdag 18 februari 2023 14:56:05 (38%)

GJ_

Moderator

Op 18 februari 2023 10:52:12 schreef blackdog: Ik heb "Grafcet" moeten opzoeken wat het inhoud...

....en je hebt een "flow diagram" getekend met de voorwaarden, is dit correct? :-)

Niet helemaal: een flowchart is geen grafcet, hoewel het wel op elkaar lijkt.

Dat jij het niet weet is natuurlijk niet zo raar. Maar op het Summa college in Eindhoven leren ze de leerlingen een flowchart tekenen maar ze noemen het grafcet. Dat is uiteraard wel kwalijk, zeker voor een technische school.

Op 18 februari 2023 14:48:41 schreef J.D: De bedoeling van deze taak is dus gewoon een Grafcet maken, dit omzetten naar een ladderdiagram en deze dan maken en uittesten in TIAportal (V17)

Dat is natuurlijk onlogisch. Grafcet is al een PLC taal, die kun je zo inkloppen. Waarom eerst een grafcet maken en dat omzetten naar ladder?
Ook Summa zeker?
Als je een flowchart tekent en die omzet naar ladder is het al een stuk logischer.

Sine

Moderator

Ladder? ... in TIA?

Ik bedoel ... het kan ... maar waarom?

regel 1 een verkeerslicht is altijd rood tenzij niet groen of oranje.

In tia graph klop je dit zo in, aan het einde spring je weer terug naar start.

GJ_

Moderator

Op 18 februari 2023 19:35:08 schreef Sine:
Ladder? ... in TIA?

Ik bedoel ... het kan ... maar waarom?

Ik doe AWL in TIA. Vragen ze zich ook wel eens af waarom. Maar het blijft de snelste taal om in te kloppen, zeker zo'n stappenprogramma.
Als het wat spannender word is structured text ook best aardig.

Op 18 februari 2023 10:38:44 schreef J.D:
Hallo,

Ik zit momenteel in het 6e jaar Elektrische Installatiemethoden en voor het vak automatisatie moeten we een Grafcet ontwikkelen om een kruispunt aan te sturen. De regeling om de lampen aan te sturen heb ik al getekend maar ik vindt maar niet hoe ik er voor zorg dat dit systeem vanzelf opstart en zich steeds blijft herhalen.

Weet iemand wat ik moet doen, aub?

Alvast bedankt!

Als je hem aan zet is 'in den beginne' alle lampen uit. Daar test je op. Dat wordt dan zoiets: Als alle lampen uit is, dan zet je alle lampen op rood en je start je 'Alles Rood-tijd'. Is die afgelopen dan maak je een lamp groen enz.
In het echt is de inschakelprocedure: 'Alles Gedoofd' -> 'Geel Knipperen' -> 'Alles Geel' -> 'Alles Rood' -> 'Regelen'. In de toestand 'Regelen' worden beurtelings afhankelijk van het verkeersaanbod de richtingen op groen gezet.

Grafcet is toch een manier om een state-machine besturing te maken?
Begin bij toestand 'nul': alles knippert oranje. Wat (welke voorwaarde) zorgt er voor dat de stoplichten beginnen met het verkeer te regelen?
Begrijpt de TS wat een toestands-machine is?

Niet alles wat op internet staat is waar... Dat geldt ook voor CO.
GJ_

Moderator

Op 19 februari 2023 00:20:34 schreef soldeersmurf:
Grafcet is toch een manier om een state-machine besturing te maken?

Eigenlijk kan dat in iedere taal. Grafcet is vooral daarvoor bedoeld, dat wel, én het is een minder flexibele taal.

Op 18 februari 2023 10:38:44 schreef J.D:
Hallo,

Ik zit momenteel in het 6e jaar Elektrische Installatiemethoden en voor het vak automatisatie moeten we een Grafcet ontwikkelen om een kruispunt aan te sturen. De regeling om de lampen aan te sturen heb ik al getekend maar ik vindt maar niet hoe ik er voor zorg dat dit systeem vanzelf opstart en zich steeds blijft herhalen.

Weet iemand wat ik moet doen, aub?

Alvast bedankt!

Iedereen krijgt iets dergelijks op school. Een verkeerskruising of een koffieautomaat of iets soortgelijks. En op elke school moet je dat coderen of te wel omzetten in een of ander programma achtig iets. Ik hoor hier grafset, Tia portal enz. Ik ken eigenlijk geen van al deze programmeer omgevingen. Nu is het met programmeer omgevingen zo dat die nogal tijdelijk zijn. De (programmeer) generatie van nu weet ongetwijfeld alles van grafset maar over 10 jaar is er een andere generatie die absoluut noot iets heeft gehoord van grafset. En de carrière van de TS gaat veel langer duren dan die 10 jaar. Ik heb mijn verkeerskruising destijds gemaakt op een 6800 cpu in machinetaal. Mijn koffiemachine moest ik eerst met karnaugh uitpluizen en vervolgens omzetten in een statemachine voor een pld. De oude garde hier weet precies waar ik het over heb. De jongere generatie heeft hier waarschijnlijk nog nooit iets van gehoord.

Nu is dat allemaal niet erg zolang de basis er maar is. Dan kun je eigenlijk alles in in elke programmeeromgeving gooien die je wilt. En een echt ideale programmeer omgeving bestaat niet. Voor sommige doeleinden zijn sommige programmeeromgevingen echter handiger. Zoiets als een kleine auto rijdt net zo goed als een grote. Alleen is de grote een stuk handiger als je een hoop zooi moet meenemen.

Ik heb tijdens mijn opleiding een ding geleerd dat tot nog toe altijd is opgegaan. En dat is het het maken van een zeer exacte systeem beschrijving van het product dat gemaakt moet worden. In het geval van een klant moet de vraag van de klant worden omgezet in een zo'n beschrijving en laat je die beschrijving ook ondertekenen door de klant. Dit ten teken dat die het er mee eens is. Een klant komt er later altijd achter dat er nog wel een knopje of dingetje bij geprutst kan worden. Een oorzaak waardoor een project nooit helemaal gaat werken en nooit af komt en heel erg duur wordt. Iets waar volgens mij de belastingdienst over mee kan praten. Als je echter een ondertekende systeembeschrijving hebt, kun je voor dit soort zaken een meerprijs berekenen en dan denkt de klant eerst even na voordat hij met een eindeloze wensen lijst komt. Wat voor de klant een kleinigheid lijkt, kan voor de programmeur wel eens het helemaal opnieuw beginnen en anders inrichten van de software betekenen. De klant begrijpt niets van wat er onder motorkap gebeurt en kan zich de hoeveelheid werk die zoiets met zich kan meebrengen gewoon niet niet voorstellen.

Dus het eerste wat de TS zou moeten is die exacte systeembeschrijving maken, Daarin moet staan hoeveel verkeerslichten er moeten komen en exact wat die dingen in de verschillende verkeerssituaties moeten gaan doen. En ook alle mogelijke uitzonderingen moeten beschreven worden. En alles zal in een normale voor iedereen begrijpelijke taal gesteld moeten worden. In dit geval dus gewoon Nederlands. Hier zullen ook alle mogelijke fouten uit gehaald moeten worden. Na controle en goedkeuring kan pas begonnen worden met de volgende stap.

Die volgende stap is beginnen met coderen. Ik begon vroeger (en nog steeds) die systeem beschrijving om te zetten in iets dat vroeger een z.g. flowdiagram genoemd werd. Dat had maar drie symbolen. Een ovaal(het begin), een rechthoekig blokje als commando en een wiebertje(als beslissingsblok). Meer gebruik ik niet. Onze stagiaires zie ik veel meer symbolen gebruiken. Dat moeten allemaal IEC dingen zijn. Ik heb eigenlijk geen zin om dat allemaal te gebruiken omdat dit allemaal nogal tijdelijk is gebleken. Als ik in een oudere installatie of in een installatie in een aziatisch of ander deel van de wereld bezig ben zijn de schema's heel erg anders. Ook schema's van bijvoorbeeld een buizenradio uit 1930 zijn best heel erg anders dan de moderne schema's van apparatuur.

Vanwege deze tekening evolutie houd ik alles zelf zo eenvoudig mogelijk. Dan kan iedereen het nl "ook over vijftig jaar en ook in andere taal en cultuurgebieden " begrijpen. Maar ik heb die keuze vrijheid. De TS niet, die zal zich uiteraard aan alle richtlijnen van die school moeten houden.

Dus aan de TS: Maak eerst die systeembeschrijving en daarna iets als een flowdiagram. En zet dat uiteindelijk om in code. Whatever dat mag zijn. En hoe je terug gaat naar het begin dat zul je in de handboeken en manuals van je programmeertaal moeten vinden. In machinetaal was het gewoon een jump naat het begin adress. Soms was dat adres #0000. maar bij andere cpu's weer niet. In basic was dat: #regel veel# GOTO 10. In pascal was dat gewoon een end van de mainloop. Zo heeft Fortran, cobol, C, Dephi, Phython enz. dus elk zijn eigen methoden en manieren. Maar uiteidelijk komt alles wel op het zelfde neer.

Er bestaat vast wel ergens een voorbeeldprogramma van dat grafset waarin je vinden kunt hoe e.e.a. moet.

Overigens was die systeembeschrijving bij mij op school ongeveer een halszaak. Was die niet goed of afwezig dan werd je naar huis gestuurd en was het einde schoolopleiding.

@Ex_fietser

Nou bestaat dat grafset van Simatic al meer dan 20 jaar. Ik zou me daar geen zorgen over maken. Overigens voldoet deze taal ook aan de IEC 61131-3 norm SFC/Graph.

GJ_

Moderator

Grafcet bestaat al minstens 30 jaar. Ik heb het nog gebruikt in de TSX47's van Telemecanique.
De taal is niet zo praktisch maar het is wel een blijvertje.

Ik twijfel nog steeds of wat TS geleerd heeft te gebruiken wel grafcet is. Ik heb het vermoeden dat het om een flow diagram gaat en dat is toch echt anders. Er is gewoon lesmateriaal in omloop dat fout is.

Nou bestaat dat grafset van Simatic al meer dan 20 jaar. Ik zou me daar geen zorgen over maken. Overigens voldoet deze taal ook aan de IEC 61131-3 norm SFC/Graph.

Oh is het dat! Dat kan ik niet uit het verhaal van de TS halen. Dan heb ik daar gewoon mee gewerkt. Heb met zoveel dingen gewerkt. General electric, ,Fanuc, Siemens, ABB, Kunke, Eberle, enz. enz. Sommige bestaan niet meer. Andere zijn bij elkaar gekropen en allemaal hebben ze wel een of ander grafisch systeem dat best wel op elkaar lijkt. En dat is dan voor de plc's. Voor de cpu's heb je nog een andere wereld waar vergelijkbare dingen bestaan. Lijkt allemaal op elkaar maar in de details toch net weer niet. En daarvoor bestaan er databoeken enzo.

Ik begrijp alleen de vraag van de TS dan niet. Een PLC loopt toch steeds automatisch? Dat is toch de gein van een PLC? Of heeft de TS een specifiek verkeerstechnische PLC waar je zoiets wel speciaal moet initiëren? Ik kan me voorstellen dat siemens specifiek iets heeft bedacht voor verkeerstechniek. Zoals ze dat ook voor andere specifieke dingen gedaan hebben.

GJ_

Moderator

Op 19 februari 2023 12:15:53 schreef Ex-fietser:..General electric, ,Fanuc, Siemens,....

Die hebben toevallig ook allemaal PLC's van Koyo gebruikt: de DL305 serie, de meest verkochte en langstlopende PLC ooit.

Ik begrijp alleen de vraag van de TS dan niet. Een PLC loopt toch steeds automatisch? Dat is toch de gein van een PLC?

Zolang een PLC in run staat werkt een PLC zijn programma cyclisch af, dat klopt. Maar als je een grafcet maakt, of wat voor stappenprogramma dan ook, zul je toch ooit een stap moeten initialiseren. Anders loopt het programma wel maar doet het gewoon niks.