AMNYTT Nr 5 - 2013 | Page 36

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-