Meest gebruikte plc software

Ik ben me aan het orienteren om eventueel voor mezelf te beginnen als plc-programmeur. Of het makkelijk is om als zzp'er opdrachten te krijgen weet ik niet. Daarom leek het me handig om het gewoon naast m'n baan te gaan doen. Je zult dan natuurlijk wel een investering moeten doen in software en programmeer kabels. Wat heb je dan minimaal aan software nodig vraag ik me af. Wat zijn de meest gebruikte plc's en wat kosten licenties, kabels e.d.?

Beste,

In elk geval lijkt het mij belangrijk om Siemens te kunnen programmeren; dit komt erg veel voor. In bestaande installaties wordt de Siematic Manager nog veel gebruikt. In nieuwe installaties gebruik je normaliter TIA portal. Ook moet je HMI's kunnen programmeren. Daarmee kom ik op de volgende licenties:

  • Step 7 Professional combo (voor PLC's: volgens mij geldt deze voor Siematic Manager en TIA Portal)
  • WinCC Advanced combo (voor nieuwe HMI's)
  • WinCC flexible 2008 Advanced (voor oudere bestaande HMI's)
  • Een software service contract om bovenstaande actueel te houden

.
Optioneel (maar misschien ooit noodzakelijk):

  • STEP 7 Safety Advanced (om safety in PLC's te programmeren)
  • S7-HIGRAPH V5.4 (om in taal Graph te programmeren)

Prijzen weet ik helaas niet. Verder zijn er ook veel bedrijven die andere fabricaten toepassen zoals:

  • Phoenix Contact (PCWorx: niet gratis maar codes te vinden op internet)
  • Beckhoff (geen ervaring met aanschaf / installatie hiervan)
  • Allen Bradley (geen ervaring mee)

Vaak moet je als software engineer ook frequentieregelaars en servodrives parametreren / programmeren. Die software is meestal gratis. Onder andere m mijn laptop niet te vervuilen installeer ik dit in een VM machine. Daarvoor heb ik licentie:

  • VMWare Workstation 12.1.1 Pro

Software voorbereiden lijkt mij nog redelijk te doen naast een baan. Tijdens een inbedrijfstelling moet je er wel full-time bij zijn. Dat kan- afhankelijk van de installatie - enkele dagen tot een aantal maanden duren. Verder wordt je nog een aantal keer nagebeld omdat men stilstaat op een storing die je al dan niet zelf hebt veroorzaakt.

Ik heb ervaring met beckhoff;
Twincat kun je gratis downloaden en gebruiken; op de uiteindelijke CPU draait een licentie die je betaald hebt.

Ik zou me ook verdiepen in codesys. Bijna alles wat ik tegenkom is codesys of een variant op codesys.

Als je zou willen beginnen met Siemens dan zou ik is naar de S7-1200 series kijken.

Heel kort door de bocht heb je Siemens en de rest van de wereld die wel met zijn tijd meegaat en grotendeels op CodeSys draait (o.a. Beckhoff, waar ik ook goede ervaringen mee heb). Siemens wordt in west-europa nog veel gebruikt en dat zal voorlopig nog wel zo blijven, dus het is zinvol om daarmee te kunnen werken, zeker als je aanpassingen aan bestaande installaties wilt kunnen doen. Om te beginnen heb je wel relatief dure software, kabels, en een PLC nodig. Je kunt ook beginnen met een PLC van Vipa, dat is een kopie die veel goedkoper is.

Als je voor nieuwe projecten zelf mag kiezen zou ik voor Beckhoff met CodeSys gaan; de software kun je gewoon downloaden, en de hardware om mee te spelen is ook zeker niet duur.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

In de USA zie je veel Allan Bradley. En hier in de EU zie je van alles, Siemens veel maar Beckhoff is sterk groeiend. En in Azië zie je weer wat anders.

Ik raad je aan om je aan om generieke talen te leren, Codesys lijkt me passend.

Verder is voor veel PLC-programmeurs hun PLC-merk heilig. Dàt moet je leren en niets anders. Kijk daar een beetje doorheen.

Misschien niet wat je wilt horen, maar als je nog geen ervaring met PLC's programmeren hebt, is het dan niet wat vroeg om dat als ZZP'er te gaan doen?
Begin maar eens met (veel)ervaring in het programmeren/in bedrijf stellen met PLC's op te doen en denk er dan nog eens over na of je dat misschien als ZZP'er wilt/kunt doen.
Helaas al heel vaak meegemaakt, ZZP PLC programmeurs die net Step7 op hun laptop op konden starten en in een VAT tabel konden kijken, daar ga je de oorlog niet mee winnen.

High met Henk

Special Member

De ervaring hier leert:

als je de opzet van een programma goed kent en je kan in
IL (instuction List)
LD (ladder diagram)
FBD (functie block diagram)
SFC (sequential Function chart)
ST (structured text)

een programma schrijven
Bij voorkeur in allemaal (ik heb zelf nog steeds moeite met IL)

dan maakt de omgeving FEITELIJK niet meer uit....

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Op 13 juni 2017 16:29:10 schreef High met Henk:
dan maakt de omgeving FEITELIJK niet meer uit....

Om code te kunnen compileren niet inderdaad. Maar om een professioneel programma te maken, en teleurstellingen tijdens het in bedrijf stellen te voorkomen, is er toch wel wat specifieke kennis per platform nodig. De verschillen zitten hem onder andere in:

  • Hoe aanpassingen doen zonder dataverlies
  • Hoe aanpassingen doen zonder dat de PLC in stop gaat
  • Hoe wordt een hardware storing afgehandeld
  • Hoe wordt een runtime error afgehandeld
  • Wat is het bereik van variabelen in een functiebouwsteen
  • Hoe gebruik te maken van een simulator
  • Hoe wordt een HMI aan de PLC gekoppeld
  • Hoe wordt er gecommuniceerd tussen PLC's onderling
  • Van welke systeemvariabelen kan ik gebruik maken
  • Hoe steekt het task-management in elkaar
  • Welke instellingen heeft de PLC en wat moet ik daarmee
  • Hoe gebruik te maken van pointers
  • Hoe kunnen variabelen online gemanipuleerd worden voor testdoeleinden
  • Onthoud de PLC automatisch het laatst gedownloade project

Bovenstaande factoren kunnen bij gebrek aan ervaring voor heel wat verdriet zorgen. Of juist voor vreugde, indien het wel allemaal goed gaat :)

Overigens is mij nooit gevraagd welk merk PLC ik wil programmeren. De klant heeft naar mijn ervaring vrijwel altijd eisen of wensen op dit gebied.

Op 13 juni 2017 16:29:10 schreef High met Henk:ik heb zelf nog steeds moeite met IL

Echt? Ik heb een paar jaar niets anders dan IL gedaan (de S7-200 serie kende geen structured text), en als je dat kan, en begrijpt hoe die logic stack werkt, is de rest (vooral LD) triviaal te bevatten. Ik vond het heerlijk, want je kunt dingen doen die in LD onmogelijk zijn, omdat je zelf de logic stack kunt manipuleren.

Complexe conditionele statements worden simpel, en ik kon op die manier met loops en pointers door state machines lopen en zo.

[Bericht gewijzigd door SparkyGSX op dinsdag 13 juni 2017 19:01:25 (12%)

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
buckfast_beekeeper

Golden Member

Vaak wordt er gespecialiseerd in een bepaalde sector omdat er specifieke eisen zijn. Je kan niet alle standaarden gaan leren en voor elk nieuw project weer opnieuw volledig vanaf 0 starten is niet zo efficiënt.

Voor overheid zit bijvoorbeeld heel veel in een standaardbestek en de rest is specifiek voor dat project. Het standaardbestek van binnen en van buiten kennen is dan wel heel handig voor een volgend project.

Van Lambiek wordt goede geuze gemaakt.
eSe

Honourable Member

...Hoe wordt er gecommuniceerd tussen PLC's onderling...

...en tussen de besturingsonderdelen, freq drive's, regelkleppen, druk-,flow- en vele andere opnemers/actuators. Soms simpel, dikwijls verschillende protocollen.

Groetjes,
eSe

CChheecckk yyoouurr dduupplleexx sswwiittcchh..

puur het idee al dat je moet komen vragen wat iets kost, en wat er bij jou in de omtrek een beetje gebruikt wordt.
is voor mij al genoeg teken dat je eerst een aantal jaar werkervaring bij een bedrijf op moet gaan doen.

als je zo'n vragen moet gaan stellen heb je duidelijk niet de ervaring die nodig is om voor jezelf te beginnen, doe je omgeving een plezier en solliciteer gewoon binnen een team die wel weten waar ze mee bezig zijn

ook genoeg zzp'ers die ik ken hebben zelf nagenoeg geen spullen. genoeg bedrijven leveren de spullen die je nodig hebt als je daar per uur gaat zitten werken.
een krachtige laptop met VMware is in onze omtrek de enige tool die je echt nodig gaat hebben. alle virtuele machine's met de software/licenties kun je wel lenen. maar dat is onze omtrek. geen idee of er in andere delen van het land met andere virtualisatie tools gewerkt wordt.

Om terug te komen waarom ik het als ZZP'er wil proberen eventueel. Ik heb een paar keer gesolliciteerd en telkens vind men dat ik onvoldoende ervaring heb met PLC programmeren.
Mijn achtergrond is HBO elektrotechniek, daarna ben ik hardware engineer geweest en heb jarenlang in een technische dienst gewerkt waar ik zelf veel besturingen gebouwd heb. Als ik dan een besturing nodig had was een LOGO vaak voldoende. Een paar jaar geleden heb ik een cursus Siemens Step 7 gedaan, maar hier niet superveel mee gedaan. Momenteel ben ik weer hardware engineer, maar ik wil eigenlijk verder met programmeren. En aangezien dit blijkbaar niet zo makkelijk gaat overweeg ik als ZZPer te beginnen.

High met Henk

Special Member

@(nog) amateur: niet vervelend doen maar een HMI en een PLC aan elkaar koppelen hangt ook af van de HMI en de interface...

@sparky: nooit uitgelegd op school. ik snap het idee wel, maar ST kregen wij evenmin.. alleen ladder en SFC... waarbij die laatste een echte beperking is..
heb dus al 2 talen bijgeleerd.
Wij kregen VB, Java, JAL, C, en Pbasic (basic stamp) als talen...

ASM dus ook niet, wat dus ook niet echt mijn ding is...
Maar je zit wel korter op de HW.. Dus zie de voordelen wel

mijn betoog ging erover dat ik VEEL vaker iemand zie die WEL een omgeving kent en een taal, maar niet weet hoe hij dingen moet bouwen. Ook bij professionele programmeurs. een taal of omgeving is te leren een programma opzetten en een functioneel ontwerp maken is altijd gelijk en daar ligt de basis van programmeren.

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Kort samengevat:
Codesys is een universeel softwarepakket waar je veel PLCs kunt programmeren. Bovendien is het gratis. Welke plc's kun je hiermee programmeren.

Beckhof is ook interessant, want gratis rn in opmars.

Verder natuurlijk Siemens, want veel gebruikt. Step 7 of dan Tia Portal? Wat zin de prijzen voor deze software?

@HmH: daar ben ik het absoluut mee eens; begrijpen hoe je een probleem gestructureerd oplost is de belangrijkste skill, de taal is ondergeschikt, maar je moet ook verder komen dan "als deze ingang dan die uitgang" als je iets zinnigs wilt doen met een PLC.

Ik heb het ook nooit gehad op school hoor; sterker nog, ik had al machines in het veld staan voordat ik aan de HTS begon. Ik heb geleerd hoe dat werkt door de documentatie van Siemens te lezen, ermee te gaan spelen, en een state machine framework op te zetten waar ik jaren lol van heb gehad.

De grootste truc was state machines op vaste offsets in het geheugen maken, en dan met een apart output decoder netwerk de uitgangen bepalen afhankelijk van de state van alle state machines (met table lookups). Op die manier hoef je je nergens druk te maken over de uitgangen, je schrijft alleen netwerkjes voor transities naar andere states, en zo kun je dus ook nooit vergeten een uitgang te resetten of zo.

Damn, ik bedenk me nu dat dit allemaal al meer dan 10 jaar geleden is...

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Toeternietoe

Dubbelgeïsoleerd

Codesys kun je kosteloos downloaden:
https://www.codesys.com/download.html

Veel PLC fabrikanten ondersteunen codesys.
In codesys kun je met verschillende "talen""= programmere, FBD, KLadder etc.
Met deze kosteloze versie kun je wat gaan oefenen.
Als je het wilt gebruiken om een PLC van fabrikant X te willen programmeren dan moet bij deze fabrikant het officele pakket voor die PLC kopen.

Daar waar een schakeling rookt, vloeit de meeste stroom (1e hoofdwet van Toeternietoe)

De kunst is denk ik: zo makkelijk mogelijk uitleggen hoe het moet werken. Als een flinke combinatie van variabelen iets laat gebeuren (staptransitie, uitgangverandering) dan is dat niet zomaar een combinatie. Het is een bijzonder feit. Het is belangrijk om die feiten zo precies mogelijk te benoemen in een functioneel ontwerp.

Vervolgens is het de kunst om dat feit leesbaar te benoemen in een variabelenaam met niet te veel letters en speciale tekens e.d. Daar denk ik soms lang over na. Het commentaar achter de variabele moet zo overbodig mogelijk worden. (lees niet: achterwege gelaten worden :) )

Enfin, ik dwaal af..

High met Henk

Special Member

@sparky: daar zit mijn handycap: ik begon pas op de HTS!!!
mijn keuzes waren simpel: Motorvoertuigen, WTB, E of ICT
motorvoertuigen: wist ik al veel van af en zou erg saai zijn
WTB: vond TOEN constructie berekeningen saai, maar bewerken leuk (nu ook constructies)
ICT: de hele dag saai achter een scherm zitten? NEEE
E: Weet ik weinig van: laten we die maar doen...

nooit spijt gehad! Maar ben dus pas met 19 begonnen ofzo...

Terug grijpen:

je hebt grofweg 3 besturingen:
sequentiële besturingen
combinatorische besturingen
regelingen.

de eerste is goed te doen met statemachine, flow charts of andere zaken

de 2e is VEEL lastiger te doen, en moet je goed opletten op voorwaarden en vereist veel inzicht om het GOED te doen en GOED te begrijpen. Je kunt hiervoor eigenlijk alleen flowcharts gebruiken. SFC is hier eigenlijk ook meteen uitgesloten

de laatste regelingen is met PID bouwstenen goed te doen. kan ook in ST, met een FUB, maar ladder of SFC is uitgesloten

Bedenk wel dat je ook besturingsvormen kunt combineren! Je kunt in een sequentiële besturing in een bepaalde state prima een regeling toepassen.
of in een combinatorische regeling ook.

je kunt ook bepaalde stukken in een sequentiële besturing combinatorisch maken of omgekeerd....

wat je zeker NIET moet doen i.m.o. meerdere programma's maken voor 1 machine.
ik werk altijd met POU!
daarbinnen wel meerdere functies of andere zaken maar ik wil NOOIT en dan ook NOOIT afhankelijk zijn van hoe de PLC mijn prioriteiten indeelt! heb dus heel veel moeite met task schedulers in embedded omgevingen...

Als je dus een goed programma schrijft, bevat dit geen delays en loopt op maximale snelheid steeds alles af te checken... je krijgt dus steeds een state van: moet in dit deel iets veranderen? NEE? door naar volgende blok...

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

@HmH,

Acht u de Sequential Function Chart ongeschikt voor sequentiële besturingen?
Edit @hieronder, ik las de volgorde van uw opsomming verkeerd.

[Bericht gewijzigd door (nog) amateur op dinsdag 13 juni 2017 23:02:09 (29%)

High met Henk

Special Member

Op 13 juni 2017 22:49:31 schreef (nog) amateur:
@HmH,

Acht u de Sequential Function Chart ongeschikt voor sequentiële besturingen?

heb het stuk nog 3x doorgelezen en zie niet waar dat staat: dat is namelijk het enige waar hij dus juist voor geschikt is ook niet gek als het Sequential function chart heet!

De andere kant van het verhaal is als je VEEL beslissingen hebt in je sequenties dat het ding een compleet drama wordt met veel zijsprongen.. Dus bij complexe sequentiële besturingen (wil niet altijd grote programma's zeggen, maar ik gebruik in mijn lessen een sluis en dan zal het probleem ineens pijnlijk duidelijk zijn!)
als een boot 1 kant op gaat is het makkelijk, maar als je dezelfde states gebruikt voor 2 kanten is het meteen een zooitje!

[Bericht gewijzigd door High met Henk op dinsdag 13 juni 2017 22:55:19 (38%)

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
GJ_

Moderator

Op 13 juni 2017 18:59:57 schreef SparkyGSX:
[...]Echt? Ik heb een paar jaar niets anders dan IL gedaan (de S7-200 serie kende geen structured text)...

De 200 met IL? Dan ben je waarschijnlijk de enige op het oostelijk halfrond. :-)

Ik vond het heerlijk om in IL te werken; prima overzichtelijk, achter elke instructie heb je een hele regel voor commentaar (probeer maar eens zinvol commentaar in een ladderdiagram te zetten), en de instructieset is heel simpel. Met een apart documentje waarin ik had uitgelegd hoe het state machine framework werkte, en een flowchart per state machine konden andere programmeurs het ook best begrijpen, nadat ze van de eerste "what the fuck" waren bekomen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

In de S7-200 heb je helemaal geen statemachine framework nodig. Dat zit er standaard al in.
In de S7-300 zit helemaal niks in voor statemachines, dat met je zelf allemaal maken. Dat was toen ik van de 200 naar de 300 overstapte wel een teleurstelling.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.
GJ_

Moderator

Er gaat niks boven een zelfgemaakte statemachine. Persoonlijk vind ik AWL voor de 300/400 wel een stuk fijner dan die voor de 200.

Op 14 juni 2017 17:18:13 schreef SparkyGSX:...nadat ze van de eerste "what the fuck" waren bekomen.

AWL werkt gewoon fijner. Bovendien klop je het een heeeeel stuk sneller in dan LAD of FUP. Een programmeur die problemen heeft met AWL is geen programmeur.