Department of Science and Technology
Institutionen för teknik och naturvetenskap
Linköping University
Linköpings universitet
g
n
i
p
ö
k
r
r
o
N
4
7
1
0
6
n
e
d
e
w
S
,
g
n
i
p
ö
k
r
r
o
N
4
7
1
0
6
-E
S
LiU-ITN-TEK-G--11/048--SE
Prestandatest utav olika
styrsystem
Christoffer Aringstam
Henrik Hägglund
LiU-ITN-TEK-G--11/048--SE
Prestandatest utav olika
styrsystem
Examensarbete utfört i elektroteknik
vid Tekniska högskolan vid
Linköpings universitet
Christoffer Aringstam
Henrik Hägglund
Examinator Kjell Karlsson
Upphovsrätt
Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –
under en längre tid från publiceringsdatum under förutsättning att inga
extra-ordinära omständigheter uppstår.
Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,
skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för
ickekommersiell forskning och för undervisning. Överföring av upphovsrätten
vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av
dokumentet kräver upphovsmannens medgivande. För att garantera äktheten,
säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ
art.
Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i
den omfattning som god sed kräver vid användning av dokumentet på ovan
beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan
form eller i sådant sammanhang som är kränkande för upphovsmannens litterära
eller konstnärliga anseende eller egenart.
För ytterligare information om Linköping University Electronic Press se
förlagets hemsida
http://www.ep.liu.se/
Copyright
The publishers will keep this document online on the Internet - or its possible
replacement - for a considerable time from the date of publication barring
exceptional circumstances.
The online availability of the document implies a permanent permission for
anyone to read, to download, to print out single copies for your own use and to
use it unchanged for any non-commercial research and educational purpose.
Subsequent transfers of copyright cannot revoke this permission. All other uses
of the document are conditional on the consent of the copyright owner. The
publisher has taken technical and administrative measures to assure authenticity,
security and accessibility.
According to intellectual property law the author has the right to be
mentioned when his/her work is accessed as described above and to be protected
against infringement.
For additional information about the Linköping University Electronic Press
and its procedures for publication and for assurance of document integrity,
please refer to its WWW home page:
http://www.ep.liu.se/
Prestandatest utav olika styrsystem
Examensarbete vid Tekniska högskolan vid
Linköpings universitet, Campus Norrköping
Christoffer Aringstam
Henrik Hägglund
Handledare Mats Johansson
Examinator Lars Backström
Sammanfattning
Examensarbetet är utfört åt Automationcenter & Bråvalla Elteknik AB som är ett företag
vil-ket erbjuder kvalificerade ingenjörstjänster inom el och automation till energi-, tillverknings-
och processindustriföretag.
Rapporten inleds med en beskrivning utav företaget. Sedan beskrivs syftet med
examensarbe-tet som är att ta fram en jämförelse mellan olika PLC-system, samt en komponentlista utöver
de olika PLC:er respektive mjukvara som använts under examensarbetet. Efter detta redogörs
en beskrivning utav de tester som utförts.
Resultatet visar sedan att de billigare PLC:erna egentligen inte är mycket sämre än de dyrare.
Utan att den stora skillnaden enbart är hur mycket arbetsminne som finns i PLC:n, där ABB
AC800 har stora fördelar.
Programkoden till alla PLC:er finns med i rapporten som bilagor, vilka även innehåller
korta-re kommentakorta-rer för lättakorta-re förståelse.
Abstract
The thesis is performed at Automationcenter & Bråvalla Elteknik AB which is a company that
provides advanced engineering services within electrical and automation to energy-,
manufac-turing- and process companies.
The report begins with a description of the company. It then describes the purpose of the
the-sis that is to develop a comparison between the various PLC systems, and also a list of
com-ponents in addition to the various PLC's and software that have been used in the thesis. After
this presents a description of the tests that have been performed.
The result then shows that the cheaper PLC's isn't that much worse than the more expensive
ones. The big difference is really just how much working memory that is available in the
PLC, where ABB AC800 has a big advantage.
Program code for all PLC's are included in the report as appendices, which also contains short
comments for easier understanding.
Förord
Examensarbetet är utfört hos Automationscenter & Bråvalla Elteknik AB i Norrköping under
vårterminen 2011.
Arbetet omfattar 12 högskolepoäng och är utfört som del av högskoleprogrammet Elteknik
och automation (120 hp) vid Linköpings universitet, Campus Norrköping.
Ett stort tack till vår handledare Mats Johansson samt Rickard Haglund, Simon Arvestrand
och Adam Gardelin på Automationscenter för den hjälp och stöd vi fått under arbetets gång.
Linköpings universitet, Campus Norrköping, 2011-06-17
Christoffer Aringstam
Henrik Hägglund
Innehållsförteckning
1.
Inledning ... 1
1.1 Bakgrund ... 1
1.2 Syfte ... 1
1.3 Metod och källor ... 1
2.
Genomförande ... 2
2.1 Test av snabbhet ... 2
2.2 Test av parallella operationer ... 3
3.
Resultat ... 4
3.1 Test av snabbhet ... 4
3.2 Test av parallella operationer ... 5
4.
Slutsats och diskussion ... 7
Referenser ... 8
Bilaga 1 – ABB AC500 eCo
Bilaga 2 – ABB AC800M
Bilaga 3 – Mitsubishi FX3U
Bilaga 4 – Siemens S7-315
Bilaga 5 – Siemens S7-1200
1
1. Inledning
1.1 Bakgrund
Automationcenter & Bråvalla Elteknik AB är ett företag som erbjuder kvalificerade
ingenjörs-tjänster inom el och automation till energi-, tillverknings- och processindustriföretag.
Företaget använder sig idag utav ett flertalet olika PLC-system, som är ett programmerbart
styrsystem som används till styrning utav motorer och turbiner mm. På grund av att PLC:er
kan användas till så många olika applikationer, kan det ibland vara svårt att välja rätt
PLC-system för rätt applikation. Då osäkerhet finns väljs gärna ett kraftfullare PLC-system för att vara
säker på att det klarar av att utföra de krav som beställaren har.
1.2 Syfte
Syftet med examensarbetet är att ta fram en jämförelse mellan de olika PLC-systemen. Hur
bra är Siemens S7-315 i jämförelse mot Siemens S7-1200, och hur ställer sig de mot andra
PLC-systemen, så som ABB AC500, ABB AC800 och Mitsubishi FX3U?
Jämförelse utav PLC:ern ska görs för att man inte ska överdimensionera när det gäller val av
PLC-system, vilket resulterar i att man använder rätt PLC för rätt uppgift.
1.3 Metod och källor
Första steget är att komma fram till hur man ska prestandatesta en PLC och vad det är man
ska mäta. Vi valde att skapa ett eget program för att kontrollera hur många varv den kan gå
runt i en uträkning på 10 sekunder samt 1 sekund, där vi har använt oss av både flyt- och
hel-tal. Vi skapade även ett program som kontrollerade hur många uträkningar den kan utföra
samtidigt innan en viss cykeltid uppnåtts.
Följande PLC-system och dess programvara fanns till vårt förfogande:
ABB AC500-Eco (CPU PM554-T)Listpris: 2275 kr
Mjukvara: AC500 Control Builder based on CoDeSys by 3S Version 2.3.9.11
ABB AC800M (CPU PM856) Listpris: 20170 kr
Mjukvara: Compact Controller Builder AC-800M Version 5.0.2/3
Mitsubishi FX3U (CPU FX3u-16M/ES) Listpris: 3553kr
Mjukvara: GX IEC Developer Version 7.04
Siemens S7-315 (CPU315-2DP) Listpris:15124 kr
Mjukvara: Simatic Manager Step 7 Version 5.4+SP5+HF1
Siemens S7-1200 (CPU1212C) Listpris:2394 kr
Mjukvara: Totally Integrated Automation Portal Version 10.5 SP1
De källor vi haft tillgång till är manualer för de olika mjukvaruprogrammen och uppgifter från
anställda på Automationscenter & Bråvalla Elteknik AB.
2
2. Genomförande
2.1 Test av snabbhet
För att se hur snabbt de olika PLC:erna arbetar utfördes ett test. Det fungerar på så sätt att
PLC:n går igenom ett program, och för varje gång PLC:n går igenom programmet, ökar en
variabel som gör att den hamnar i en loop i programmet som blir längre och längre, ju fler
varv den kör.
Exempel på detta kan ses i tabell nr 1, där X1 är antal varv genom hela programmet och X2 är
antal varv genom loopen i programmet. När X1 och X2 är lika så ökas X1 med ett och X2
nollställs.
Tabell nr 1 – Exempel på snabbhetstest.
Varv 1
Varv 2
Varv 3
Varv 4
Varv 5
X1= 1
X1= 2
X1= 3
X1= 4
X1= 5
X2= 1
X2= 1,2
X2= 1,2,3
X2= 1,2,3,4
X2= 1,2…5
X1= +1
X1= +1
X1= +1
X1= +1
X1= +1
Detta test utfördes i tre delar:
Tomberäkning – Här körde vi ett tomt program, för att se hur många varv den hinner
med på 1 respektive 10 sekunder.
Heltalsberäkning – Samma som ”Tomberäkning”, inklusive en heltalsberäkning,
be-nämns integer i figurer.
Flyttalsberäkning – Samma som ”Tomberäkning”, inklusive en flyttalsberäkning,
be-nämns real i figurer.
Skillnaden mellan hel- och flyttal, är att heltal använder sig enbart av heltal. Medan flyttal
använder sig även utav decimaler, vilket innebär att flyttal är mer krävande att hantera för en
PLC.
Figur 1 – Heltalsberäkning
3
2.2 Test av parallella operationer
För att se hur mycket de olika PLC:erna klarar av, utfördes ett test där man kör antingen
flyt-tals- eller heltalsberäkningar parallellt. Testet går ut på att se hur många parallella beräkningar
den klarar av att köra innan en viss cykeltid uppnåtts, vald cykeltid är max 150 ms. Exempel
på det se figur 3.
4
3. Resultat
3.1 Test av snabbhet
Vid testet kontrollerades snabbheten på varje PLC, genom att se hur många varv den klarade
av på 1 och 10 sekunder. Resultat går att beskåda i figur 4 och 5.
Detta test visade att det var Mitsubishi som var snabbast både på 1 och 10 sekunder när det
gäller tomberäkning, heltalsberäkning och flyttalsberäkning. Den lyckades med 52,4
ve 172,5varv på tomberäkning, 47 respektive 154 varv på heltalsberäkning och 44,4
respekti-ve 147,5 varv på flyttalsberäkningen.
För hela programkoden se bilaga 1-5.
Figur 4 – De olika testerna på en sekund.
Figur 5 – De olika testerna på tio sekunder
0
10
20
30
40
50
60
Tom
Integer
Real
A
n
talet
b
e
räkn
in
gar
En sekund
Siemens S7-315 315-2DP
Siemens S7-1200 1212C
ABB AC500 PM554 (Eco)
ABB AC800M PM856
Mitsubishi FX3U-16MES
0
20
40
60
80
100
120
140
160
180
200
Tom
Integer
Real
A
n
talet
b
e
räkn
in
gar
Tio sekunder
Siemens S7-315 315-2DP
Siemens S7-1200 1212C
ABB AC500 PM554 (Eco)
ABB AC800M PM856
Mitsubishi FX3U-16MES
5
3.2 Test av parallella operationer
När det kommer till test av parallella operationer, kontrollerades hur många beräkningar en
PLC kunde köra parallellt innan en cykeltid på 150 ms uppnåtts. Resultatet visar att ABB
AC800M var den PLC som var kraftfullast, vilket även kan ses i figur 6 och 7.
Vid flyttalsberäkningen var det endast två PLC:er som lyckades uppnå den angivna
cykelti-den. Det var Siemens S7-315 och ABB AC800M, där Siemens S7-315 lyckades med 300
be-räkningar parallellt och ABB AC800 lyckades med 1400 bebe-räkningar parallellt. När det gäller
de andra PLC:erna, var det minnet som tog slut innan cykeltiden uppnåtts.
Vid heltalsberäkningen var ABB AC800M den enda som skulle kunna klara testet. Testet
utfördes dock inte ända ut. Efter 2000 beräkningar parallellt uppnåddes en cykeltid på endast
64 ms, vilket gjorde det onödigt att fortsätta då de övriga PLC:erna inte ens var i närheten av
att uppnå 2000 beräkningar. Även här var det minnet som tog slut på de övriga PLC:erna
in-nan cykeltiden uppnåtts.
För hela programkoden se bilaga 1-5.
Figur 6 – Vilken cykeltid de olika PLC:erna visade vid olika många parallella operationer
0
20
40
60
80
100
120
140
160
1
5
10
20
30
40
50
100
150
200
300
350
400
500
750
1000
1250
1400
Cy
ke
ltid
(m
s)
Antal parallella opertioner
Flyttalsberäkning
Siemens S7-315 315-2DP
Siemens S7-1200 1212C
ABB AC500 PM554 (Eco)
ABB AC800M PM856
Mitsubishi FX3U-16MES
6
Figur 7 - Vilken cykeltid de olika PLC:erna visade vid olika många parallella operationer
Testerna säger egentligen att de billiga PLC:erna inte är så mycket sämre än de dyra, utan den
stora skillnaden är egentligen bara hur mycket arbetsminne som finns i PLC:n. Vilket innebär
att ABB AC800M som har det största arbetsminnet är helt klart den bästa PLC:n, men även
det dyraste.
Värt att nämna är även:
Att ABB AC800M gick det inte att ställa ner cykeltiden till mindre än 1 ms, vilket innebär att
den enbart kallar på programkoden en gång varje ms. Den skulle troligen kunna klara av att
arbeta ännu snabbare.
ABB AC500-programmet inte är identiskt med de andra programmen. Detta på grund av att
det blev problem med in- och utgångar. Detta innebar att programmet fick göras om lite, som
kan ses i bilaga 1.
0
20
40
60
80
100
120
1
10
30
50 150 300 450 750 1250 1500 1700 2000
Cy
ke
l t
id
(
m
s)
Antal parallella operationer
Heltalsberäkning
Siemens S7-315 315-2DP
Siemens S7-1200 1212C
ABB AC500 PM554 (Eco)
ABB AC800M PM856
Mitsubishi FX3U-16MES
7
4. Slutsats och diskussion
Problem som fanns var att jämföra PLC:er utav olika tillverkare med varandra. Där t.ex. en
del PLC:er använder sig utav så kallade Networks
1
medans andra gör det inte. Men de olika
testerna, har dock försökts att göras så identiska som möjligt.
Daniel Jernberg från Siemens, har även givit lite feedback som ansåg att de utförda testen inte
är något man normalt brukar jämföra. Det som brukar testas är användarvänligheten hos
PLC:erna, även det som utförts i detta examensarbete var lite intressant.
Vi är nöjda med det resultat vi kommit fram till, det har varit ett roligt och väldigt givande
examensarbete. Detta med tanke på att vi har fått arbeta med ett flertalet olika PLC:er och
dess mjukvara. Visserligen har vi antagligen bara skrapat lite på ytan men det är fortfarande
en bra merit, i sökande utav jobb.
Vi hoppas att även Automationscenter är nöjda med vårt arbete och det resultat vi har kommit
fram till.
1
Networks används för programkoden ska veta vilken ordning de olika programdelarna
kommer i.
8
Referenser
Elektroniska källor
Manualer
AC500 System Technology
http://www05.abb.com/global/scot/scot209.nsf/veritydisplay/d72f2f6d2a7a4415c125739f002
b032c/$file/2cdc125022m0202.pdf
(besökt från och med 2011-03-29)
AC 800M Systemhårdvara Hårdvara och drift Version 1.1
http://www.abbsatt.com/pk/pdf/3bse019193.pdf
(besökt från och med 2011-03-29)
Melsec FX FamilyProgrammableLogic Controllers Beginner´s Manual
https://my.mitsubishi-automation.com/downloads_manager.php?id=2340
(besökt från och med 2011-03-29)
SIMATIC S7-300 CPU 31xC and CPU 31x: Specifications
https://support.automation.siemens.com/WW/llisapi.dll?func=cslib.cssearch&siteid=csius&la
ng=en&aktprim=100&content=adsearch%252fadsearch%252Easpx%253FSearchArea%253D
hb%2526HitPos%253D0%2526DefOpt%253Dfalse%2526Cookie%253Dfalse%2526u%253
D%2526DateFrom%253D%2526DateTo%253D%2526F1Preview%253Dtrue%2526F3ProdS
up-port%253Dtrue%2526F31hb%253Dtrue%2526BranchID%253D%2526Branch%253D%252
D%2526query%253D%2526HitsPerSite%253D10%2526objaction%253Dcssearch%2526sho
woptions%253Dfalse%2526firstload%253Dno
(besökt från och med 2011-03-29)
SIMATIC S7-1200 Programmable controller
https://support.automation.siemens.com/WW/llisapi.dll?func=cslib.cssearch&siteid=csius&la
ng=en&aktprim=100&content=adsearch%252fadsearch%252Easpx%253FSearchArea%253D
hb%2526HitPos%253D0%2526DefOpt%253Dfalse%2526Cookie%253Dfalse%2526u%253
D%2526DateFrom%253D%2526DateTo%253D%2526F1Preview%253Dtrue%2526F3ProdS
up-port%253Dtrue%2526F31hb%253Dtrue%2526BranchID%253D%2526Branch%253D%252
D%2526query%253D%2526HitsPerSite%253D10%2526objaction%253Dcssearch%2526sho
woptions%253Dfalse%2526firstload%253Dno
9
Siemens, Service and Support
http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=19860749&
node-id0=37432850&load=content&lang=en&siteid=cseus&aktprim=0&objaction=csview&extran
et=standard&viewreg=WW
(besökt från och med 2011-03-29)
http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=35354298&
node-id0=10805159&load=content&lang=en&siteid=cseus&aktprim=0&objaction=csview&extran
et=standard&viewreg=WW
(besökt från och med 2011-03-29)
http://www.ad.siemens.com.cn/products/as/simaticplc/s7-300/download/s7300_cpu_31xc_and_cpu_31x_manual_en-US_en-US.pdf
(besökt från och med 2011-03-29)
Personlig kommunikation
Arvestrand, Simon, automationsingenjör på Automationscenter & Bråvalla Elteknik AB,
Norrköping. 2011-03-29
Haglund, Rickard, automationsingenjör på Automationscenter & Bråvalla Elteknik AB,
Norr-köping. 2011-03-29
Johansson, Mats, företagsledare på Automationscenter & Bråvalla Elteknik AB,
Norrköping. 2011-03-29
Gardelin, Adam, automationsingenjör på Automationscenter & Bråvalla Elteknik AB,
Norr-köping. 2011-03-29
Jernberg, Daniel, försäljningsingenjör på Siemens AB Industry Automation and Derive
Tech-nologies, Upplands Väsby. 2011-05-19
AC500 eCo
13.05.2011
AC500 eCo
1-1
Int_berakning (FB-CFC)
0001 FUNCTION_BLOCK Int_berakning
0002 VAR_INPUT
0003
Start:BOOL;
0004
T1: INT;
0005
T2: INT;
0006
T3: INT;
0007 END_VAR
0008 VAR_OUTPUT
0009 END_VAR
0010 VAR
0011
Sum: INT;
0012 END_VAR
Sum
En beräkning av integer tal där summan varierar.
Start
0
+
EN
ENO
T1
1
*
EN
ENO
T2
2
/
EN
ENO
6
3
*
EN
ENO
4
4
*
EN
ENO
T3
5
-EN
ENO
8
6
+
EN
ENO
7
12
AC500 eCo
13.05.2011
AC500 eCo
1-2
Int_berakning (FB-CFC)
7
*
EN
ENO
3
8
/
EN
ENO
Sum
9
4
AC500 eCo
13.05.2011
AC500 eCo
2-1
Int_berakning_1 (FB-CFC)
0001 FUNCTION_BLOCK Int_berakning_1
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Int1: Int_berakning;
0009 END_VAR
Integer beräkning * 1.
Hog
0
AND
1
Int1
Int_berakning
Start
T1
T2
T3
7
5
6
AC500 eCo
13.05.2011
AC500 eCo
3-1
Int_berakning_10 (FB-CFC)
0001 FUNCTION_BLOCK Int_berakning_10
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog:BOOL:=TRUE;
0008
Int1: Int_berakning;
0009
Int2: Int_berakning;
0010
Int3: Int_berakning;
0011
Int4: Int_berakning;
0012
Int5: Int_berakning;
0013
Int6: Int_berakning;
0014
Int7: Int_berakning;
0015
Int8: Int_berakning;
0016
Int9: Int_berakning;
0017
Int10: Int_berakning;
0018 END_VAR
Hog
0
AND
1
Int1
Int_berakning
Start
T1
T2
T3
7
5
6
2
Int2
Int_berakning
Start
T1
T2
T3
7
5
6
3
Int3
Int_berakning
Start
T1
T2
T3
7
5
6
4
Int4
Int_berakning
Start
T1
T2
T3
7
5
6
5
Int5
Int_berakning
Start
T1
T2
T3
7
5
6
6
Int6
Int_berakning
Start
T1
T2
T3
7
5
6
Int7
Integer beräkning * 10.
AC500 eCo
13.05.2011
AC500 eCo
3-2
Int_berakning_10 (FB-CFC)
T3
7
Int7
Int_berakning
Start
T1
T2
T3
7
5
6
8
Int8
Int_berakning
Start
T1
T2
T3
7
5
6
9
Int9
Int_berakning
Start
T1
T2
T3
7
5
6
10
Int10
Int_berakning
Start
T1
T2
T3
7
5
6
AC500 eCo
13.05.2011
AC500 eCo
4-1
Int_berakning_20 (FB-CFC)
0001 FUNCTION_BLOCK Int_berakning_20
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Int1: Int_berakning;
0009
Int2: Int_berakning;
0010
Int3: Int_berakning;
0011
Int4: Int_berakning;
0012
Int5: Int_berakning;
0013
Int6: Int_berakning;
0014
Int7: Int_berakning;
0015
Int8: Int_berakning;
0016
Int9: Int_berakning;
0017
Int10: Int_berakning;
0018
Int11: Int_berakning;
0019
Int12: Int_berakning;
0020
Int13: Int_berakning;
0021
Int14: Int_berakning;
0022
Int15: Int_berakning;
0023
Int16: Int_berakning;
0024
Int17: Int_berakning;
0025
Int18: Int_berakning;
0026
Int19: Int_berakning;
0027
Int20: Int_berakning;
0028 END_VAR
Hog
0
AND
1
Int1
Int_berakning
Start
T1
T2
T3
7
5
6
2
Int2
Int_berakning
Start
T1
T2
T3
7
5
6
3
Int3
Int_berakning
Start
T1
T2
T3
7
5
6
4
Int4
Int_berakning
Start
T1
T2
T3
7
5
6
5
Int5
Int_berakning
Start
T1
7
Integer beräkning * 20.
AC500 eCo
13.05.2011
AC500 eCo
4-2
Int_berakning_20 (FB-CFC)
T1
T2
T3
7
5
6
6
Int6
Int_berakning
Start
T1
T2
T3
7
5
6
7
Int7
Int_berakning
Start
T1
T2
T3
7
5
6
8
Int8
Int_berakning
Start
T1
T2
T3
7
5
6
9
Int9
Int_berakning
Start
T1
T2
T3
7
5
6
10
Int10
Int_berakning
Start
T1
T2
T3
7
5
6
11
Int11
Int_berakning
Start
T1
T2
T3
7
5
6
12
Int12
Int_berakning
Start
T1
T2
T3
7
5
6
13
Int13
Int_berakning
Start
T1
T2
T3
7
5
6
14
Int14
Int_berakning
Start
T1
T2
T3
7
5
6
15
Int15
Int_berakning
Start
T1
7
AC500 eCo
13.05.2011
AC500 eCo
4-3
Int_berakning_20 (FB-CFC)
T1
T2
T3
5
6
16
Int16
Int_berakning
Start
T1
T2
T3
7
5
6
17
Int17
Int_berakning
Start
T1
T2
T3
7
5
6
18
Int18
Int_berakning
Start
T1
T2
T3
7
5
6
19
Int19
Int_berakning
Start
T1
T2
T3
7
5
6
20
Int20
Int_berakning
Start
T1
T2
T3
7
5
6
AC500 eCo
13.05.2011
AC500 eCo
5-1
Int_berakning_5 (FB-CFC)
0001 FUNCTION_BLOCK Int_berakning_5
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Int1: Int_berakning;
0009
Int2: Int_berakning;
0010
Int3: Int_berakning;
0011
Int4: Int_berakning;
0012
Int5: Int_berakning;
0013 END_VAR
Hog
0
AND
1
Int1
Int_berakning
Start
T1
T2
T3
7
5
6
2
Int2
Int_berakning
Start
T1
T2
T3
7
5
6
3
Int3
Int_berakning
Start
T1
T2
T3
7
5
6
4
Int4
Int_berakning
Start
T1
T2
T3
7
5
6
5
Int5
Int_berakning
Start
T1
T2
T3
7
5
6
Integer beräkning * 5.
AC500 eCo
13.05.2011
AC500 eCo
6-1
Int_berakning_50 (FB-CFC)
0001 FUNCTION_BLOCK Int_berakning_50
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Int1: Int_berakning;
0009
Int2: Int_berakning;
0010
Int3: Int_berakning;
0011
Int4: Int_berakning;
0012
Int5: Int_berakning;
0013
Int6: Int_berakning;
0014
Int7: Int_berakning;
0015
Int8: Int_berakning;
0016
Int9: Int_berakning;
0017
Int10: Int_berakning;
0018
Int11: Int_berakning;
0019
Int12: Int_berakning;
0020
Int13: Int_berakning;
0021
Int14: Int_berakning;
0022
Int15: Int_berakning;
0023
Int16: Int_berakning;
0024
Int17: Int_berakning;
0025
Int18: Int_berakning;
0026
Int19: Int_berakning;
0027
Int20: Int_berakning;
0028
Int21: Int_berakning;
0029
Int22: Int_berakning;
0030
Int23: Int_berakning;
0031
Int24: Int_berakning;
0032
Int25: Int_berakning;
0033
Int26: Int_berakning;
0034
Int27: Int_berakning;
0035
Int28: Int_berakning;
0036
Int29: Int_berakning;
0037
Int30: Int_berakning;
0038
Int31: Int_berakning;
0039
Int32: Int_berakning;
0040
Int33: Int_berakning;
0041
Int34: Int_berakning;
0042
Int35: Int_berakning;
0043
Int36: Int_berakning;
0044
Int37: Int_berakning;
0045
Int38: Int_berakning;
0046
Int39: Int_berakning;
0047
Int40: Int_berakning;
0048
Int41: Int_berakning;
0049
Int42: Int_berakning;
0050
Int43: Int_berakning;
0051
Int44: Int_berakning;
0052
Int45: Int_berakning;
0053
Int46: Int_berakning;
0054
Int47: Int_berakning;
0055
Int48: Int_berakning;
0056
Int49: Int_berakning;
0057
Int50: Int_berakning;
0058 END_VAR
Hog
0
AND
1
Int1
Int_berakning
Start
Integer beräkning * 50.
AC500 eCo
13.05.2011
AC500 eCo
6-2
Int_berakning_50 (FB-CFC)
Hog
Start
T1
T2
T3
7
5
6
2
Int2
Int_berakning
Start
T1
T2
T3
7
5
6
3
Int3
Int_berakning
Start
T1
T2
T3
7
5
6
4
Int4
Int_berakning
Start
T1
T2
T3
7
5
6
5
Int5
Int_berakning
Start
T1
T2
T3
7
5
6
6
Int6
Int_berakning
Start
T1
T2
T3
7
5
6
7
Int7
Int_berakning
Start
T1
T2
T3
7
5
6
8
Int8
Int_berakning
Start
T1
T2
T3
7
5
6
9
Int9
Int_berakning
Start
T1
T2
T3
7
5
6
10
Int10
Int_berakning
Start
T1
T2
T3
7
5
6
11
Int11
Int_berakning
Start
T1
T2
T3
7
5
6
12
Int12
Int_berakning
Start
T1
T2
T3
7
5
6
13
Int13
Int_berakning
Start
AC500 eCo
13.05.2011
AC500 eCo
6-3
Int_berakning_50 (FB-CFC)
Start
T1
T2
T3
7
5
6
14
Int14
Int_berakning
Start
T1
T2
T3
7
5
6
15
Int15
Int_berakning
Start
T1
T2
T3
7
5
6
16
Int16
Int_berakning
Start
T1
T2
T3
7
5
6
17
Int17
Int_berakning
Start
T1
T2
T3
7
5
6
18
Int18
Int_berakning
Start
T1
T2
T3
7
5
6
19
Int19
Int_berakning
Start
T1
T2
T3
7
5
6
20
Int20
Int_berakning
Start
T1
T2
T3
7
5
6
21
Int21
Int_berakning
Start
T1
T2
T3
7
5
6
22
Int22
Int_berakning
Start
T1
T2
T3
7
5
6
23
Int23
Int_berakning
Start
T1
T2
T3
7
5
6
24
Int24
Int_berakning
Start
T1
T2
T3
7
5
6
25
Int25
Int_berakning
Start
AC500 eCo
13.05.2011
AC500 eCo
6-4
Int_berakning_50 (FB-CFC)
Start
T1
T2
T3
7
5
6
26
Int26
Int_berakning
Start
T1
T2
T3
7
5
6
27
Int27
Int_berakning
Start
T1
T2
T3
7
5
6
28
Int28
Int_berakning
Start
T1
T2
T3
7
5
6
29
Int29
Int_berakning
Start
T1
T2
T3
7
5
6
30
Int30
Int_berakning
Start
T1
T2
T3
7
5
6
31
Int31
Int_berakning
Start
T1
T2
T3
7
5
6
32
Int32
Int_berakning
Start
T1
T2
T3
7
5
6
33
Int33
Int_berakning
Start
T1
T2
T3
7
5
6
34
Int34
Int_berakning
Start
T1
T2
T3
7
5
6
35
Int35
Int_berakning
Start
T1
T2
T3
7
5
6
36
Int36
Int_berakning
Start
T1
T2
T3
7
5
6
37
Int37
Int_berakning
Start
AC500 eCo
13.05.2011
AC500 eCo
6-5
Int_berakning_50 (FB-CFC)
Start
T1
T2
T3
7
5
6
38
Int38
Int_berakning
Start
T1
T2
T3
7
5
6
39
Int39
Int_berakning
Start
T1
T2
T3
7
5
6
40
Int40
Int_berakning
Start
T1
T2
T3
7
5
6
41
Int41
Int_berakning
Start
T1
T2
T3
7
5
6
42
Int42
Int_berakning
Start
T1
T2
T3
7
5
6
43
Int43
Int_berakning
Start
T1
T2
T3
7
5
6
44
Int44
Int_berakning
Start
T1
T2
T3
7
5
6
45
Int45
Int_berakning
Start
T1
T2
T3
7
5
6
46
Int46
Int_berakning
Start
T1
T2
T3
7
5
6
47
Int47
Int_berakning
Start
T1
T2
T3
7
5
6
48
Int48
Int_berakning
Start
T1
T2
T3
7
5
6
49
Int49
Int_berakning
Start
AC500 eCo
13.05.2011
AC500 eCo
6-6
Int_berakning_50 (FB-CFC)
Start
T1
T2
T3
7
5
6
50
Int50
Int_berakning
Start
T1
T2
T3
7
5
6
AC500 eCo
13.05.2011
AC500 eCo
7-1
Integer_10s (FB-CFC)
0001 FUNCTION_BLOCK Integer_10s
0002 VAR_INPUT
0003
Tal1: INT;
0004
Tal2: INT;
0005
Tal3: INT;
0006 END_VAR
0007 VAR
0008
Timer: TP;
0009
Tmr: BOOL;
0010
Tmp: BOOL;
0011
Tmp2: BOOL;
0012
Varv: BOOL;
0013
Hog:BOOL:= TRUE;
0014
IB: Int_berakning;
0015
Tid: TIME:= T#10S;
0016 END_VAR
0017 VAR_OUTPUT
0018
C1:REAL;
0019
C2:REAL;
0020 END_VAR
Här aktiverar vi en timer, som skickar en aktiverings
signal i antingen 1 eller 10 sekunder.
Adderar räknare1 (C1) med 1.
Aktivering av beräkning.
Jämför räknare2 (C2) med räknare1 (C1).
Om räknare2 (C2) inte är större än räknare1
(C1), kommer räknare2 (C2) adderas med 1.
Om räknare2 (C2) inte är större än räknare1
Hog
Tid
0
Timer
TP
IN
PT
Q
ET
Tmr
1
Tmr
C1
1
2
+
EN
ENO
C1
3
Tmp
4
tmp
Tal1
Tal2
Tal3
5
IB
Int_berakning
Start
T1
T2
T3
Tmp
C2
C1
6
>
EN
ENO
Tmp2
7
Tmp2
C2
1
8
+
EN
ENO
C2
9
Tmp2
10
*
EN
ENO
AC500 eCo
13.05.2011
AC500 eCo
7-2
Integer_10s (FB-CFC)
Om räknare2 (C2) inte är större än räknare1
(C1), kommer räknare1 (C1) multipliceras med
0 (Nollställning).
Här kollar man om programmet ska fortsättas att
köra eller inte.
Tmp2
C1
0
EN
ENO
C1
11
Tmp
Tmr
12
AND
Varv
13
AC500 eCo
13.05.2011
AC500 eCo
8-1
PLC_PRG (PRG-FBD)
0001 PROGRAM PLC_PRG
0002 VAR
0003 END_VAR
0004 VAR CONSTANT
0005 END_VAR
0001
???
AC500 eCo
13.05.2011
AC500 eCo
9-1
Real_10s (FB-CFC)
0001 FUNCTION_BLOCK Real_10s
0002 VAR_INPUT
0003
Tal1: REAL;
0004
Tal2: REAL;
0005
Tal3: REAL;
0006 END_VAR
0007 VAR
0008
Timer: TP;
0009
Tmr: BOOL;
0010
Tmp: BOOL;
0011
Tmp2: BOOL;
0012
Varv: BOOL;
0013
Hog:BOOL:= TRUE;
0014
RB: Real_berakning;
0015
Tid: TIME:= T#1S;
0016 END_VAR
0017 VAR_OUTPUT
0018
C1:REAL;
0019
C2:REAL;
0020 END_VAR
Hog
0
Timer
TP
IN
PT
Q
ET
Tmr
1
Tid
Tmr
2
+
EN
ENO
Tmp
3
C1
C1
4
1
Tal1
Tmp
Tmp
5
>
EN
ENO
6
RB
Real_berakning
Start
T1
T2
T3
Tal2
Tal3
C2
Tmp2
7
C1
Tmp2
8
+
EN
ENO
C2
C2
9
1
Tmp2
10
*
EN
ENO
C1
C1
11
Här aktiverar vi en timer, som skickar en
aktiverings signal i antingen 1 eller 10 sekunder.
Adderar räknare1 (C1) med 1.
Aktivering av beräkning.
Jämför räknare2 (C2) med räknare1 (C1).
Om räknare2 (C2) inte är större än räknare1
(C1), kommer räknare2 (C2) adderas med 1.
Om räknare2 (C2) inte är större än räknare1
AC500 eCo
13.05.2011
AC500 eCo
9-2
Real_10s (FB-CFC)
C1
C1
11
0
Tmp
12
AND
Varv
13
Tmr
(C1), kommer räknare1 (C1) multipliceras med 0 (Nollställning).
AC500 eCo
13.05.2011
AC500 eCo
10-1
Real_berakning (FB-CFC)
0001 FUNCTION_BLOCK Real_berakning
0002 VAR_INPUT
0003
Start: BOOL;
0004
T1: REAL;
0005
T2: REAL;
0006
T3: REAL;
0007 END_VAR
0008 VAR_OUTPUT
0009 END_VAR
0010 VAR
0011
Sum: REAL;
0012 END_VAR
Sum
Start
0
+
EN
ENO
T1
1
*
EN
ENO
T2
2
/
EN
ENO
6.28
3
SQRT
EN
ENO
4
*
EN
ENO
Sum
5
T3
AC500 eCo
13.05.2011
AC500 eCo
11-1
Real_berakning_1 (FB-CFC)
0001 FUNCTION_BLOCK Real_berakning_1
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Rea1: Real_berakning;
0009 END_VAR
5.9
Hog
0
AND
1
Rea1
Real_berakning
Start
T1
T2
T3
6.3
6.7
Real beräkning * 1.
AC500 eCo
13.05.2011
AC500 eCo
12-1
Real_berakning_10 (FB-CFC)
0001 FUNCTION_BLOCK Real_berakning_10
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Rea1: Real_berakning;
0009
Rea2: Real_berakning;
0010
Rea3: Real_berakning;
0011
Rea4: Real_berakning;
0012
Rea5: Real_berakning;
0013
Rea6: Real_berakning;
0014
Rea7: Real_berakning;
0015
Rea8: Real_berakning;
0016
Rea9: Real_berakning;
0017
Rea10: Real_berakning;
0018 END_VAR
5.9
Hog
0
AND
1
Rea1
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
2
Rea2
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
3
Rea3
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
4
Rea4
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
5
Rea5
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
6
Rea6
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
7
Rea7
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
8
Rea8
Real_berakning
Start
T1
T2
T3
6.3
6.7
9
Rea9
Real beräkning * 10.
AC500 eCo
13.05.2011
AC500 eCo
12-2
Real_berakning_10 (FB-CFC)
T3
5.9
9
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
10
Rea10
Real_berakning
Start
T1
T2
T3
6.3
6.7
AC500 eCo
13.05.2011
AC500 eCo
13-1
Real_berakning_20 (FB-CFC)
0001 FUNCTION_BLOCK Real_berakning_20
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Rea1: Real_berakning;
0009
Rea2: Real_berakning;
0010
Rea3: Real_berakning;
0011
Rea4: Real_berakning;
0012
Rea5: Real_berakning;
0013
Rea6: Real_berakning;
0014
Rea7: Real_berakning;
0015
Rea8: Real_berakning;
0016
Rea9: Real_berakning;
0017
Rea10: Real_berakning;
0018
Rea11: Real_berakning;
0019
Rea12: Real_berakning;
0020
Rea13: Real_berakning;
0021
Rea14: Real_berakning;
0022
Rea15: Real_berakning;
0023
Rea16: Real_berakning;
0024
Rea17: Real_berakning;
0025
Rea18: Real_berakning;
0026
Rea19: Real_berakning;
0027
Rea20: Real_berakning;
0028 END_VAR
5.9
Hog
0
AND
1
Rea1
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
2
Rea2
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
3
Rea3
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
4
Rea4
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
5
Rea5
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
6
Rea6
Real_berakning
Start
T1
T2
T3
6.3
6.7
7
Rea7
Real beräkning * 20.
AC500 eCo
13.05.2011
AC500 eCo
13-2
Real_berakning_20 (FB-CFC)
T3
6.7
5.9
7
Rea7
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
8
Rea8
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
9
Rea9
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
10
Rea10
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
11
Rea11
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
12
Rea12
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
13
Rea13
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
14
Rea14
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
15
Rea15
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
16
Rea16
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
17
Rea17
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
18
Rea18
Real_berakning
Start
T1
T2
T3
6.3
6.7
19
Rea19
AC500 eCo
13.05.2011
AC500 eCo
13-3
Real_berakning_20 (FB-CFC)
T3
5.9
19
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
20
Rea20
Real_berakning
Start
T1
T2
T3
6.3
6.7
AC500 eCo
13.05.2011
AC500 eCo
14-1
Real_berakning_5 (FB-CFC)
0001 FUNCTION_BLOCK Real_berakning_5
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Rea1: Real_berakning;
0009
Rea2: Real_berakning;
0010
Rea3: Real_berakning;
0011
Rea4: Real_berakning;
0012
Rea5: Real_berakning;
0013 END_VAR
5.9
Hog
0
AND
1
Rea1
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
2
Rea2
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
3
Rea3
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
4
Rea4
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
5
Rea5
Real_berakning
Start
T1
T2
T3
6.3
6.7
Real beräkning * 5.
AC500 eCo
13.05.2011
AC500 eCo
15-1
Real_berakning_50 (FB-CFC)
0001 FUNCTION_BLOCK Real_berakning_50
0002 VAR_INPUT
0003 END_VAR
0004 VAR_OUTPUT
0005 END_VAR
0006 VAR
0007
Hog: BOOL:=TRUE;
0008
Rea1: Real_berakning;
0009
Rea2: Real_berakning;
0010
Rea3: Real_berakning;
0011
Rea4: Real_berakning;
0012
Rea5: Real_berakning;
0013
Rea6: Real_berakning;
0014
Rea7: Real_berakning;
0015
Rea8: Real_berakning;
0016
Rea9: Real_berakning;
0017
Rea10: Real_berakning;
0018
Rea11: Real_berakning;
0019
Rea12: Real_berakning;
0020
Rea13: Real_berakning;
0021
Rea14: Real_berakning;
0022
Rea15: Real_berakning;
0023
Rea16: Real_berakning;
0024
Rea17: Real_berakning;
0025
Rea18: Real_berakning;
0026
Rea19: Real_berakning;
0027
Rea20: Real_berakning;
0028
Rea21: Real_berakning;
0029
Rea22: Real_berakning;
0030
Rea23: Real_berakning;
0031
Rea24: Real_berakning;
0032
Rea25: Real_berakning;
0033
Rea26: Real_berakning;
0034
Rea27: Real_berakning;
0035
Rea28: Real_berakning;
0036
Rea29: Real_berakning;
0037
Rea30: Real_berakning;
0038
Rea31: Real_berakning;
0039
Rea32: Real_berakning;
0040
Rea33: Real_berakning;
0041
Rea34: Real_berakning;
0042
Rea35: Real_berakning;
0043
Rea36: Real_berakning;
0044
Rea37: Real_berakning;
0045
Rea38: Real_berakning;
0046
Rea39: Real_berakning;
0047
Rea40: Real_berakning;
0048
Rea41: Real_berakning;
0049
Rea42: Real_berakning;
0050
Rea43: Real_berakning;
0051
Rea44: Real_berakning;
0052
Rea45: Real_berakning;
0053
Rea46: Real_berakning;
0054
Rea47: Real_berakning;
0055
Rea48: Real_berakning;
0056
Rea49: Real_berakning;
0057
Rea50: Real_berakning;
0058 END_VAR
Hog
0
AND
1
Rea1
Real_berakning
Start
Real beräkning * 50.
AC500 eCo
13.05.2011
AC500 eCo
15-2
Real_berakning_50 (FB-CFC)
5.9
Hog
Start
T1
T2
T3
6.3
6.7
5.9
2
Rea2
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
3
Rea3
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
4
Rea4
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
5
Rea5
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
6
Rea6
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
7
Rea7
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
8
Rea8
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
9
Rea9
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
10
Rea10
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
11
Rea11
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
12
Rea12
Real_berakning
Start
T1
T2
T3
6.3
6.7
13
Rea13
Real_berakning
Start
AC500 eCo
13.05.2011
AC500 eCo
15-3
Real_berakning_50 (FB-CFC)
5.9
Start
T1
T2
T3
6.3
6.7
5.9
14
Rea14
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
15
Rea15
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
16
Rea16
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
17
Rea17
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
18
Rea18
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
19
Rea19
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
20
Rea20
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
21
Rea21
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
22
Rea22
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
23
Rea23
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
24
Rea24
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
25
Rea25
Real_berakning
Start
T1
AC500 eCo
13.05.2011
AC500 eCo
15-4
Real_berakning_50 (FB-CFC)
5.9
T1
T2
T3
6.3
6.7
5.9
26
Rea26
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
27
Rea27
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
28
Rea28
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
29
Rea29
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
30
Rea30
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
31
Rea31
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
32
Rea32
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
33
Rea33
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
34
Rea34
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
35
Rea35
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
36
Rea36
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
37
Rea37
Real_berakning
Start
T1
AC500 eCo
13.05.2011
AC500 eCo
15-5
Real_berakning_50 (FB-CFC)
5.9
T1
T2
T3
6.3
6.7
5.9
38
Rea38
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
39
Rea39
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
40
Rea40
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
41
Rea41
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
42
Rea42
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
43
Rea43
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
44
Rea44
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
45
Rea45
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
46
Rea46
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
47
Rea47
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
48
Rea48
Real_berakning
Start
T1
T2
T3
6.3
6.7
5.9
49
Rea49
Real_berakning
Start
T1
AC500 eCo
13.05.2011
AC500 eCo
15-6
Real_berakning_50 (FB-CFC)
T1
T2
T3
6.3
6.7
5.9
50
Rea50
Real_berakning
Start
T1
T2
T3
6.3
6.7
AC500 eCo
13.05.2011
AC500 eCo
16-1
Tom_10s (FB-CFC)
0001 FUNCTION_BLOCK Tom_10s
0002 VAR_INPUT
0003 END_VAR
0004 VAR
0005
Timer: TP;
0006
Tmr: BOOL;
0007
Tmp: BOOL;
0008
Tmp2: BOOL;
0009
Varv: BOOL;
0010
Hog:BOOL:= TRUE;
0011
Tid: TIME:= T#10S;
0012 END_VAR
0013 VAR_OUTPUT
0014
C1:REAL;
0015
C2:REAL;
0016 END_VAR
Hog
Tid
0
Timer
TP
IN
PT
Q
ET
Tmr
1
Tmr
C1
1
2
+
EN
ENO
C1
3
Tmp
4
Tmp
C2
C1
5
>
EN
ENO
Tmp2
6
Tmp2
C2
1
7
+
EN
ENO
C2
8
Tmp2
C1
0
9
*
EN
ENO
C1
10
Tmp
Tmr
11
AND
Varv
12
Här aktiverar vi en timer, som skickar en
aktiverings signal i antingen 1 eller 10 sekunder.
Adderar räknare1 (C1) med 1.
Jämför räknare2 (C2) med räknare1 (C1).
Om räknare2 (C2) inte är större än räknare1
(C1), kommer räknare2 (C2) adderas med 1.
Om räknare2 (C2) inte är större än räknare1
(C1), kommer räknare1 (C1) multipliceras med 0 (Nollställning).
Rev: Date: Name: Issue:
ABB AB Industrial IT/Control IT/Control Builder
Comments (Drawing Description): Title (Document No): Sheet: 1 Check:
1 2011-05-24 ABB Rel: - -
Lang: FILENAME: ABB AC800M; CREATEDATE: 2011-05-24 11:41