Automasjonsblogg: #1 Industrielle dataprotokoller

I dette første innlegget tar vi for oss industrielle protokoller for datakommunikasjon. Man kan si at det er en relativt teknisk start, men protokoller er veldig viktig når man skal lage et styresystem.

Protokollene vi skal skrive om her er OPC-UA, EtherCAT, FINS og CIP. Her går vi ikke inn i detaljer eller de dype forklaringene for den generelle funksjonaliteten, men heller hvordan vi bruker de forskjellige protokollene og nytten vi ser med dem.

EtherCAT

EtherCAT står for Ethernet for Control Automation Technology.

EtherCat er en veldig rask protokoll, noe man i mange tilfeller kan være avhengig av i fabrikker. Ting må reagere kjapt når sensorer registrerer essensiell informasjon, enten for funksjonalitet eller sikkerhet.

Vi benytter denne datakommunikasjonen mellom PLS, frekvensomformere og I/O i et anlegg. Det avgjørende for oss når vi skal benytte oss av EtherCAT er ofte om vi ,i tillegg til PLS og frekvensomformere, har en touch-skjerm hvor vi skal kunne justere hastigheten på motorer/frekvensomformere. 

Men det mest avgjørende spørsmålet for bruk av EtherCAT er om vi har flere enn ett styreskap i et anlegg/fabrikk. EtherCAT er et såkalt fieldbus system, noe som gjør at man kan kommunisere mellom flere styreskap som står spredt rundt på en lokalitet. Dette er spesielt nyttig når man f.eks. har et skap som må stå på teknisk rom, et skap som kun har ventiler som må stå i nærhet av luftstyrte aktuatorer, et skap med kun touch-skjerm for styring i nærhet av operatør, og et skap med omformere i nærhet av motorer. På denne måten kan man i tillegg redusere bruk av signal- og motorkabler.

Når dette er sagt, så er ikke EtherCAT det eneste fieldbus systemet som finnes, men gjennom vår bruk av Omron som leverandør, så er dette vår foretrukkede fieldbus system pr. nå.

OPC-UA

OPC-UA står for Open Platform Communications – Unified Architecture.

Vi bruker denne datakommunikasjonen spesielt mellom komponenter som PLS, touch-skjermer og SCADA-systemer.

Kommunikasjonen i OPC-UA foregår fra/til en eller flere servere (f.eks. PLS) fra/til en eller flere klienter (f.eks. touch-skjerm).

OPC-UA er en enkel protokoll å sette opp i de fleste software-verktøy. Etter at oppsettene er klare trenger man kun å velge at data/variabler/tags skal publiseres på serveren. For oss er dette veldig praktisk i oppsettet av kommunikasjon, import av data fra PLS til touch-skjerm og SCADA, og ved modifisering av data som skal være (u)tilgjengelig.

Når data ligger tilgjengelig på serveren kan i prinsippet hvem som helst hente ut ønsket data, så lenge man har tilgang til serveren. I tillegg må man selvfølgelig kunne kommunisere over OPC-UA fra det eksterne systemet. Dette er uansett spesielt nyttig dersom en bedrift har et SCADA-system, og man ønsker overvåking av sensorer, motorer, etc. i en fabrikk.

For at vi skal kunne benytte OPC-UA er vi avhengig av å velge komponenter som kan kommunisere med denne protokollen. PLSer med denne datakommunikasjonen er gjerne litt dyrere, så pga. det økonomiske aspektet er det ikke alltid vi velger OPC-UA. Da kan man heller velge å bruke protokollen FINS.

FINS

FINS står for Factory Interface Network Service.

Dette er en nettverksprotokoll som brukes av Omron sine PLSer. Denne tar vi spesielt i bruk når det skal kommuniseres mellom PLS og touch-skjerm. FINS-protokollen bruker definerte minneområder, som må skrives manuelt i PLS. Touch-skjermen kommuniserer over en nettverkskabel, slik at man spesifiserer IP-adresse og de samme minneområdene som er brukt i PLS. På denne måten går informasjonen automatisk mellom PLS og touch-skjerm når verdier endrer seg.

Det er fire forskjellige minneområder man kan velge å ta i bruk. Disse er CIO (Core Inputs Outputs), WR (Work Area), HR (Holding Relay) og DM (Data Memory). I vanlige prosjekter er det stort sett WR og DM-områdene vi bruker, men av og til også CIO. WR brukes til data med av/på-tilstand, mens DM lagrer hel- og desimaltall.

CIP

CIP står for Common Industrial Protocol.

Dette er en protokoll som vi har brukt når det kommuniseres mellom to PLSer. Her definerer man timing for både mottak og sending av data i PLS-programmet. Det er også klart definert i begge PLSer hvilke IP-adresser/enheter det skal kommuniseres mellom.

Vi har benyttet oss av array, som inneholder «live» data. Da kan man f.eks. ha 100 felter i et array, hvor hver plass fylles med sin respektive informasjon. Det er viktig at man har klart definert hvilken informasjon som ligger på hver enkelt plass i arrayet. Det blir på en måte samme prinsipp som et register, men i CIP-verdenen blir registeradresser array-adresser. 

Andre protokoller

Vi har også vært innom protokoller og fieldbus-systemer som Modbus og DeviceNet. Modbus har da vært mellom enkeltkomponenter og PLS, men DeviceNet har tidligere vært brukt i stedet for EtherCAT.

Favoritter?

Pr. nå er våre favoritter EtherCAT og OPC-UA. Dette pga. at ting går kjapt, automatisk og er enkelt å sette opp.

I dette første innlegget tar vi for oss industrielle protokoller for datakommunikasjon. Man kan si at det er en relativt teknisk start, men protokoller er veldig viktig når man skal lage et styresystem.