Sida 1 av 2
Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 17:30:53
av skorpion
Hej
Jag skulle behöva lite hjälp med att förstå mig på PLC-koden som finns till en maskin vi har på jobbet.
Anledningen till min nyfikenhet i detta, är att det finns en bugg som skriver över ett värde i fält_2 med värdet i fält_1 (Fälten innehåller ett tal som skall uppnås. När talet i fält_1 uppnåtts byter den till fält_2 och sen tillbaka till fält_1 osv) och vice versa. Jag tycker det borde vara enkelt att hitta buggen men tillverkaren lyckas inte göra det säger de.
Jag har tagit mig friheten med att tanka över koden till min dator och sitter nu och skummar igenom den, men förstår inte riktigt syntaxen.
Vad betyder dessa saker:
Det som är efter % är ju variabler som styrs av någon givare, men kan man tänka sig att %M är en typ av givare och %MW är en annan typ? Det finns även %MD
Vad betyder
:=?
Vad betyder
:X3?
Hur fungerar
OR här?
Jag skulle vilja säga det som; sätt M940 till M903 ELLER M913, men det blir liksom inte logiskt tycker jag. Hur skall det tolkas?
Vad betyder
FE?
Finns även
RE, vad är det?
Vore jättetacksam om någon kunde reda ut detta för mig
MVH Niclas
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 17:51:48
av Odur
Vad är det för PLC? Spontant ser det ut som en Mitsubishi, men det är ändå rätt avgörande information.
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 17:54:11
av skorpion
Tror det är Schneider
edit: Hittade denna nu
http://www.elmatik.ee/info/kasutusjuhen ... 20V2.5.pdf
Där stod typ allt förutom RE och FE
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 17:57:21
av Odur
Ta först reda på märke och modell, och återkom sedan.
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 18:12:42
av skorpion
I koden så står detta:
[HEADER]
DATE = date #2011-11-09
STANDARD = 'PLCopen v0.1 1993'
SENDER = 'Schneider Automation S.A.S. PL7 PRO V4.4'
[APPLICATION]
NAME = '2110HPM'
DATE = date_and_time#2011-10-21-10:47:58
VERSION = '1.0'
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 19:49:36
av sodjan
> > IF FE %M280 THEN
>
> Vad betyder FE?
Spontant låter det som en variabel !?
Men du får väl RTFM så kanske det löser sig...

Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 20:03:01
av spaderkung
%M903:=%MW1310:X3;
%M -variabler är booleans
%MW -variabler är word(?-bitar), där :Xn adresserar en viss bit.
Så vad OR gör nedan inses då lätt, som det heter.
%M940:=%M903 OR %M913;
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 20:23:21
av skorpion
spaderkung: bool kan ju antingen vara true eller false, så hur kan man sätta en variabel till antingen true eller false?
Min hjärna kanske gör en tankevurpa, men en variabel kan ju bara vara en av de sakerna!?
Eller är det typ något underförstått med att om den ena variabeln inte är satt till något så är det den andra variabeln som används? Fast vad händer isf om båda är true?
Typ om
%M903:=TRUE
%M913:=FALSE
vad blir
%M940:=%M903 OR %M913
Är "%M903 OR %M913" kanske en förkortad IF?
typ
IF(%M903 OR %M913)
// TRUE om båda är sanna
ELSE
// FALSE om en eller flera är FALSE
ENDIF
Känner mig lite vilsen :/
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 22:14:35
av sodjan
http://en.wikipedia.org/wiki/Boolean_algebra
Du verkar vara ganska rejält ute och segla...
%M940:=%M903 OR %M913
Skulle kunna vara t.ex :
"Stanna och luncha" = "jag är hungrig" eller "frugan är hungrig".
Om *båda* är hungriga så stannar man så klart också och lunchar !
Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 22:23:53
av Lennart Aspenryd
Nu tycker jag att sodjan kan återgår till Torsten Flink.
Låt folk få ställa frågor på sin nivå.
Lotsa fram dem genom att begära rätt och tydlig information

Re: Behöver hjälp att förstå PLC-kod
Postat: 10 mars 2012, 22:57:26
av skorpion
Hehe, ja då har man lärt sig nåt nytt iaf. Trodde jag förstod bool, men visste inte att det fanns boolean algebra.
Från wikin så kunde jag läsa att OR skrivs ∨
0∨0 = 0
0∨1 = 1
1∨0 = 1
1∨1 = 1
Så då blir Sodjans exempel fortsättningsvis:
"Stanna och luncha" = "jag är hungrig" eller "frugan är hungrig".
Om *båda* är hungriga så stannar man så klart också och lunchar !
"Stanna och luncha" = "jag är inte hungrig" eller "frugan är hungrig".
Om *en* är hungrig så stannar man så klart också och lunchar !
"Stanna och luncha" = "jag är inte hungrig" eller "frugan är inte hungrig".
Om *båda* inte är hungriga så stannar man så klart inte också och lunchar !
Think I got it

Re: Behöver hjälp att förstå PLC-kod
Postat: 11 mars 2012, 02:50:17
av sodjan
> Think I got it
Exakt, så är det. Och det är samma logik om det är tre i bilen.
Om om du gör tankeexperimentet att byta ut "eller" mot "och" så blir
det ju lite annorlunda, då blir det ett villkor att båda måste vara hungriga.
D.v.s skillnaden mellan dessa vilkor:
"Stanna och luncha" = "jag är hungrig" eller "frugan är hungrig".
"Stanna och luncha" = "jag är hungrig" och "frugan är hungrig".
"In real life" så kanske dock detta vilkor gäller :
"Stanna och luncha" = "frugan är hungrig".
> Nu tycker jag att sodjan kan återgår till Torsten Flink.
> Låt folk få ställa frågor på sin nivå.
Det var ju uppenbart att skorpion behövde en grundläggade genomgång
av boolsk algebra, det var inte klart hur en enkel OR fungerar. Och *då*
blir ju koden som visades väldigt svår att förstå...

Re: Behöver hjälp att förstå PLC-kod
Postat: 11 mars 2012, 10:38:38
av PeterH
Tycker det blev ett mycket bra (och kul) exempel som Sodjan gjorde

Jag själv brukar tycka det blir enklare och roligare om man tar exempel från den "riktiga" världen för att förklara något

Re: Behöver hjälp att förstå PLC-kod
Postat: 11 mars 2012, 11:35:28
av Icecap
Jag får hålla med här, Lasp är inte helt med här...
Re: Behöver hjälp att förstå PLC-kod
Postat: 11 mars 2012, 12:25:17
av Lennart Aspenryd
Håller med om att det blev ett bra exempel.
Det just inkassering om "Läs den förbannade manulen" som jag reggae på