Frågor om PLC programering

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Kjelle
Inlägg: 972
Blev medlem: 25 december 2004, 23:01:46
Ort: Västsverige

Re: Frågor om PLC programering

Inlägg av Kjelle »

InFocus skrev:Rad 23 har jag endast för att kunna återställa när det har blivit fel, dvs när jag trycker på x17 så ska den tvångsköra in cylindrarna.
T1 har jag där för att borrcylindern ska vara ner i 5 sek och borra innan den går upp igen ( vilket jag inte fick till utan att lägga den på reset)
Jag lyckades faktiskt att lösa problemet, dock på ett sätt som jag inte tycker är helt korrekt, jag fick sätta en timer, så att om givare X0 (cylinder 1 är ute) så ska den efter x sekunder sätta utgången Y1, då går cylinder in igen.

När jag la till saftblandaren tillsammans på M4 så lägger utången Y1 (cylinder 1) och Y7 (saftblandaren) dragen hela tiden utan att något händer.
Du kan inte påverka Y1 från 2 olika rader, varnar inte kompileringen ?
Även om du inte använder rad 23 så måste den bort.

Kjelle
Nerre
Inlägg: 27308
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Frågor om PLC programering

Inlägg av Nerre »

InFocus skrev: Programmet är uppbyggt så hela tiden
DÄR är nog ditt tankefel. När du programmerar en PLC är det inget "program". En PLC är i princip en virtualisering av en relälösning.

Alla rader i "programmet" exekveras samtidigt (egentligen inte, men ur funktionsmässig synpunkt ska man se det så). Det är inte så att en rad som står före en annan "körs före" den raden, du måste se det som allt allt körs samtidigt.
Mindmapper
Inlägg: 7167
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Frågor om PLC programering

Inlägg av Mindmapper »

Programmet i ett PLC fungerar med en teknik som heter I/O-kopiering. Programmet löper rad för rad och varje resultat skrivs in i en virtuell bild av de utgångar och minnen som ska påverkas. När programmet når slutet så sker kopiering av de resultat som finns i processavbilden till de verkliga utgångarna och minnescellerna. Därefter sker inkopiering av insignaler och sedan börjar programmet om med sina beräkningar för att i slutet kopiera resultatet igen. Detta kallas cyklisk programexekvering. I mera avancerade PLC kan du styra denna exekvering med avbrott etc. Men normalt sett sker programexevering hela tiden från början till slut med kopiering och sedan börjar det om på nytt igen.

Påverkas en utgång (minnescell) från flera ställen i programmet är det alltid den sista förekomsten innnan kopieringen som gäller. I ditt fall skev alltså sista förekomsten alltid en nolla utom vid tvångskörning. Vad de tidigare resultaten var spelar då aldrig någon roll utan sista uttrycket som skriver till minnescellen bestämmer alltid.
Skriv svar