36 / 93
som en selvdrevet subrutine på hovedkontrolleren, og systemutviklere kan utvide systemet ved å kopiere/lime inn egnet subrutine
og legge til en annen I/O-modul.
Reduserer arbeidsmengde
Det er viktig å notere seg at avanserte maskiner ikke er begrenset til miljøet i silisiumskive-produksjon. Intensiv signalprosessering
og høykvalitets måle-I/O er mer utbredt i maskineri i dag, spesielt siden dette ofte relaterer
seg til prediktivt vedlikehold av tungt maskineri. I dag er det enklere og mer intuitivt å
utvikle disse systemene med hyllevarebaserte
embedded kontrollere, der det tidligere var
nødvendig med ASIC eller FPGA/DSP-design.
Når det gjelder motorer, omfatter prediktive
vedlikeholdsmålinger på roterende utstyr
RMS-beregninger og FFT-analyse. Disse algoritmene forbruker CPU-ressurser som øker
med antall kanaler, noe som igjen gir CPUen
færre “ressurser” til andre oppgaver og enten
begrenser kapasiteten eller øker kostnadene.
Ved å flytte disse prosessene til en kombinert
FPGA/DSP, elimineres noe av arbeidsmengden
på den fleksible CPUen og forbedrer gjennomstrømming av data, siden FPGAer håndterer
flere prosesser mer effektivt. Selv om plassen
i en FPGA er en tilmålt størrelse, er egenskapene likevel nesten ubegrenset når det gjelder
å legge til parallelle prosesser. Som med analogien nevnt tidligere; å bruke en vanlig hammer til riving kan fungere, men på ett eller
annet tidspunkt er det mer effektivt å bruke
en slegge.
Høynivå programeringsspråk
Når man retter fokuset mer mot softwareutvikling, er det viktig å ha programmeringsverktøy som er i stand til å utnytte tilgjengelig
prosessteknologi. Den Mest vanlige standarden for programmering av PAC/PLS er en
AMNYTT #5
2013
eller annen form av IEC 61131. 61131 er et
abstrakt språk som fokuserer på sekvensiell,
digital-tung prosess og kontroll, men som ikke
er laget for å takle avansert programmering
eller å brukes på en FPGA/DSP. Mange utviklere av avanserte kontrollsystemer ser mot
programmeringsspråk som C for embedded
design. Selv om C kan håndtere nesten alle
oppgaver og prosessorer, er det et lavnivåspråk som krever mer ekspertise og mer tid
for å implementere et subrutinedesign. Andre
utviklingsmiljøer for software finnes i området i mellom disse. Som et eksempel, gir systemdesign-softwaren NI LabVIEW en balanse
mellom disse to utviklingsmiljøene, siden den
kan forenkle utviklingsprosessen inkludert
minnehåndteringen, “threadingen” og prosessorkjerne-administrasjonen, samtidig som den
gir lavnivåtilgang til prosessor- og I/O-enheter
både i kjernen og FPGAen.
Ser man bort fra programmeringssyntaks,
er det viktig å sørge for at systemutvikleren
får tilgang til kommersiell teknologi for å
overvinne utfordringer ved økende kompleksitet som å endre standarder, og press
til å utvikle raskere til en lavere pris. Til
syvende og sist er det ingen fordeler med
prosesseringsenheter dersom det ikke finnes
en måte å programmere dem på. Mange av
prosesseringsenhetene og firmware tilgjengelig i dagens avanserte kontrollsystemer
er låst eller utilgjengelige. Jo mer åpen en
embedded kontroller er, jo enklere er det for
utvikleren av kontrolleren å slå sammen og
redusere subsystemene i disse komplekse
maskinene. Et eksempel: PAC/PLSer med
moduler som måler bølgeformer men bare
gir ut resultatet av analysen eller PID “kontrollbrikker” med hardkodet logikk. Disse
designene er billigere å implementere maskinvaremessig, men gir ikke utvikleren flek-