Professional Documents
Culture Documents
PMS Somachine Logic Builder
PMS Somachine Logic Builder
Materijal pripremio:
Josip Franjić
1
dodavanje hardvera koji će se koristiti. Klikom na ”Configuration” (označen
crvenom bojom na slici 2), otvara se prozor kao na slici 3.
2
Slika 3: Odabir PLC-a potrebnog za realizaciju projekta u SoMachine.
3
korak tj. programiranje PLC-a i HMI-a što će biti objašnjeno u sljedećem
potpoglavlju.
4
Slika 6: Kreiranje POU u SoMachine.
5
Varijable mogu biti različitog tipa. Tip varijable se mijenja klikom na ”Input
assistant” (slika 8).
6
Slika 9: Različiti tipovi varijabli u SoMachine.
Nakon klika na ”Devices tree” kofigurišu se digitalni ulazi i izlazi (DI, DO;
7
označeni zelenom bojom na slici 11). Zatim se klikne na 3 tačke (Označene
plavom bojom na slici 11). Ponekad se može desiti greška te je potrebno prije
kofiguristanja resetirati ulaze/izlaze pritiskom na dugme ”Reset mapping”
(označen crvenom bojom na slici 11). Važno je napomenuti da program se
može simulirati i bez ove konfiguracije. Ovaj korak je neophodno uraditi za
slučaj da se program piše za stvarni PLC gdje će se povezati ulazni i izlazni
moduli.
Važna stvar jeste da se POU povuče (engl. drag and drop) u master
task. Ovo je jako česta greška jer se program neće izvršavati ako nije dodi-
jeljen u master task. (označeno crvenom bojom na slici 12). Nakon toga
se kompajlira kod (označeno plavom bojom na slici 12). U slučaju da POU
nije dodijeljen u master task, bilo kakva greška u POU se neće registrirati.
Dok POU nije u master tasku on se i ne izvršava. Kao i u svakom dru-
gom programskom jeziku bitno je da nema grešaka, dok se upozorenja mogu
ignorirati.
8
Slika 12: Povlačenje POU u master task u SoMachine.
9
Slika 14: Logiranje programa na PLC u SoMachine.
10
1.3 Kreiranje korisničkog interfejsa u SoMachine
Nakon potvrde da se program izvršava u željenom maniru može se pristupiti
izradi HMI-a. U ovom poglavlju će se opisati kako dizajnirati HMI.
Prvi korak je da se u SoMachine-u odabere opcija ”Tools tree” (označen
crvenom bojom na slici 16) te se doda ”Symbol configuration”.
11
Slika 17: Kompajliranje ”Symbol configuration” u SoMachine.
12
bojom na slici 19) izvrši se kopiranje nodename (označeno plavom bojom na
slici 19).
13
Zatim se izvrši dvostruki klik na ”HMI” (označen crvenom bojom na slici
21).
Nakon što odabira ”HMI” tzv. ”Vijeo Frame” potrebno je izvršiti dvostruki
klik na HMI (označen crvenom bojom na slici 22). Nakon omogućavanja
prikaza ”Host Name” se unosi željeni nodename (označen zelenom bojom na
slici 22).
14
Slika 22: Unošenje nodename u HMI u svrhe povezivanja HMI modula s
PLC-om u SoMachine.
15
Po završetku konfiguracije potrebno je odabrati prvi panel (označen cr-
venom bojom na slici 24).
16
1.4 Programiranje u SoMachine posredstvom Struk-
tuiranog teksta
Kada se rade zadaci sa FBD-om, nakon odredenog stepena težine zadatak se
zakomplicira i postaje nepregledan. Upravo iz tog razloga se pojavljuje novi
oblik programiranja za PLC-ove a to je tekstualno programiranje. Tekstualno
programe je lakše održavati te u slučajevima kada se radi u timu lakše je
drugim članovima tima čitati program jer se mogu dodavati komentari pored
svake linije koda. Takoder, prednost SoMachine u odnosu na ZelioSoft jeste
činjenica da na PLC-ove u SoMachine se može priključiti HMI, s više opcija
nego što je to u slučaju PLC-ova iz serije Zelio te koji putem etherneta mogu
komunicirati sa PLC-om u realnom vremenu što je prednost jer se može imati
PLC na jednom kraju postrojenja dok se HMI nalazi u centralnoj prostoriji.
U ovom potpoglavlju će se objasniti kako pisati programe u ST te kako PLC
povezati sa HMI.
Struktuirani tipovi
R s F l i p F l o p (SET1:= s 1 , RESET:= r 1 ) ;
i z l a z := R s F l i p F l o p . Q1 ;
17
Gdje su:
• Brojači - Postoje tri tipa brojača CTU (engl. Counter Up), CTD
(engl. Counter Down) i CTUD (engl. Counter Up Down). Kod CTU
brojača se može brojati samo unaprijed, kod CTD brojača samo un-
azad dok kod CTUD se može brojati i unaprijed i unazad.
Gdje su:
18
Način na koji se inicijalizira CTD blok je prikazan sljedećim
dijelom koda:
Gdje su:
19
CTUD predstavlja kombinacija CTD i CTU. Posjeduje 2 brojačka sig-
nala, jedan broji prema gore dok drugi prema dole. Takoder, blok
posjeduje 2 digitalna ulaza: load i reset, čija je funkcija ista kao i load
i reset u prethodnim brojačima.
20
TP tajmer se inicijalizira na sljedeći način:
F o k i d a c (CLK:= u l a z ) ;
i z l a z := F o k i d a c .Q;
R o k id a c (CLK:= u l a z ) ;
i z l a z := R o k id a c .Q;
21
izabrati ”PID”. Jednadžba PID regulatora glasi:
1
y = KP + + TV s (1)
TN s
r e g u l a t o r .KP:= p r o p o r c i o n a l n a ;
r e g u l a t o r .TN:= i n t e g r a l n a ;
r e g u l a t o r .TV:= d e r i v a c i o n a ;
i z l a z := r e g u l a t o r .Y;
r e g u l a t o r .ACTUAL:= p o v r a t n a s p r e g a ;
r e g u l a t o r . SET POINT:= r e f e r e n t n a v r i j e d n o s t ;
Gdje su:
22
Primjer korištenja HSC u ST:
HscMainDualPhase 0 . EN Enable := o m o g u c i b r o j a c ;
HscMainDualPhase 0 . EN Preset := preset HSC ;
HscMainDualPhase 0 . F Enable := o m o g u c i e n k o d e r ;
HscMainDualPhase 0 . F P r e s e t := p r e s e t e n k o d e r ;
t r e n u t n o i z b r o j e n o := HscMainDualPhase 0 . CurrentValue ;
Gdje su:
– omoguci brojac - ako je postavljen na log 1, brojač broji (putem
eksternog ulaza ako je omogućen),
– preset HSC - ako je postavljen na log 1 izbrojena vrijednost je
postavljena na vrijednost koja je zadana HSC-u,
– omoguci enkoder - ako je postavljen na log 1 brojač broji (in-
terno postavljeno),
– preset enkoder - ako je postavljen na log 1 izbrojena vrijednost
je postavljena na vrijednost koja se nalazi u HSC (putem eksternog
ulaza ako je omogućem)(interno postavljena),
– trenutno izbrojeno - trenutna vrijednost brojača.
• PWM (engl. Pulse Width Modulation) - Način na koji se bira PWM
varijabla jeste da unutar struktuiranih tipova se odabere: SEC PTOP-
WM→PWM→PWM M241.
PWM 0. EN Enable := p w m e n a b l e e k s t e r n o ;
PWM 0. Duty:= pwm duty cycle ;
PWM 0. Frequency := f r e k v e n c i j a ;
PWM 0. H i g h P r e c i s i o n := v i s o k a p r e c i z n o s t ;
PWM 0. F Enable := p w m e n a b l e i n t e r n o ;
23
Gdje su:
1.4.2 Sintaksa
U ovom poglavlju će se pokazati korištenje uslova: ”IF”, ”SWITCH-CASE”,
”FOR”, ”WILE” i ”JMP”.
IF D<0 THEN
C:=A;
ELSIF D=0.0 THEN
C:=B ;
ELSE
C:=D;
END IF ;
24
CASE i n t e e g e r OF
1 : var1 := TRUE;
2 : var2 := TRUE;
ELSE
var1 := FALSE ;
var2 := FALSE ;
END CASE ;
J :=101;
FOR I :=1 TO 100 BY 2 DO
IF ARR[ I ] = 70 THEN
J:= I ;
’EXIT ;
END IF ;
END FOR;
J :=1;
WHILE J<= 100 AND ARR[ J ] <> 70 DO
J:=J +2;
END WHILE ;
l a b e l 1 : i := i +1;
IF i =10 THEN
25
JMP l a b e l 2 ;
END IF
JMP l a b e l 1 ;
label2 :
26