• No results found

Utveckling av FPGA-baserad lösning för PROFINET

N/A
N/A
Protected

Academic year: 2022

Share "Utveckling av FPGA-baserad lösning för PROFINET"

Copied!
108
0
0

Loading.... (view fulltext now)

Full text

(1)

Utveckling av FPGA-baserad lösning för PROFINET

SANNA ESKELINEN

TRITA-ICT-EX-2012:5

Företag: Motion Control i Västerås AB Handledare: Andreas Forsberg

Handledare: Christian Menne

Examinator: Ingo Sander

(2)

Sammanfattning

PROFINET är en öppen standard för industriellt Ethernet, som uppfyller alla behov inom automation. PROFINET gör det möjligt att koppla in det befintliga fältbussystemet, till exempel PROFIBUS utan att det behöver ändras, genom ett så kallat proxy. PROFINET finns i två utförande PROFINET IO och PROFINET CBA, där IO är en decentral lösning och CBA är en komponentbaserad lösning.

PROFINET använder sig av tre olika kommunikationskanaler för att skicka och ta emot data. Detta gör att företag successivt kan gå över till PROFINET utan större omkostnader som det skulle innebära om hela anläggningen skulle behöva byggas om. De flesta moduler som används för PROFINET-kommunikation har utöver grundfunktionaliteten även andra funktioner såsom FTP och webbserver.

Företaget Motion Control använder sig i dag av en färdig modul som inte uppfyller de krav som krävs och vad den använda modulen lovar, den har även flera funktioner som inte används i dagsläget. Därför har det funnits önskemål om att ta fram mjukvara till en egen modul som kan implementeras i en FPGA eller DSP. Detta för att få djupare kunskaper om hur PROFINET fungerar, samt vad som krävs för att ta fram en egen modul.

Detta dokument beskriver de olika undersökningar som utfördes för att få en grund

för själva utvecklingsarbetet. Därefter beskrivs de krav och den grundläggande

designspecifikationen som togs fram inför själva konstruktionen av mjukvaran. Även

beskrivning av den slutgiltiga konstruktionen tas upp, allt avslutas med resultat och

sammanfattning.

(3)

Abstract

PROFINET is an open standard for indrustial Ethernet that meets all needs in automation. PROFINET can be used together with existing fieldbus systems like PROFIBUS without changes by using a proxy. PROFINET is available in two versions:

PROFINET IO and PROFINET CBA. IO is a decentralized solution and the CBA is component based. They use three different communication channels for sending and receving data. The advantage with PROFINET is that companies gradually can transfer to PROFINET without extra costs as it would be if the entire facility was upgrated at once. A majority of the modules used for PROFINET-communication include functions such as FTP and Webserver.

Today the company Motion Control uses a module that does not meet the necessary requirements which the module promises, it also has several features that are not used today. Therefore, there is a desire to develop software for a custom module that can be implemented in an FPGA or DSP. That to gain a deeper understanding of how PROFINET works, and what it takes to develop a custom module.

This document describes the various studies that were performed to get a basis for the

development. Then it describes the requirements and the basic design specification

that was drawn up before the actual construction of the software. Also the description

of the final design is covered and everything ends with results and summary.

(4)

Förord

Först vill jag tacka Christer Gerdtman för att han har gett mig möjligheten att genomföra mitt examensarbete hos Motion Control i Västerås AB. Jag vill tacka även alla anställda vid Motion Control som har delat med sig av sina kunskaper och erfarenheter.

Ett stort tack går till min handledare Andreas Forsberg som alltid funnits tillhands under projektets gång och kommit med bra synpunkter och tips. Till sist vill jag även tacka Christian Selander som varit till stor hjälp när det gäller programmering.

Västerås 2012

Sanna Eskelinen

(5)

Innehåll

1 Inledning 1

1.1 Bakgrund . . . . 1

1.2 Syfte . . . . 2

1.3 Metod . . . . 2

1.4 Förutsättningar och avgränsningar . . . . 3

1.5 Struktur . . . . 3

I Förstudier 5 2 Ethernet 6 2.1 Standard Ethernet . . . . 6

2.2 Switched Ethernet - Fast Ethernet . . . . 8

2.3 Nätverkstopologi . . . . 9

2.4 Adresser . . . . 10

2.5 Protokoll . . . . 11

2.6 Sammanfattning . . . . 14

3 PROFINET 16 3.1 Realtidskommunikation . . . . 17

3.2 PROFINET IO . . . . 21

3.3 Integration av fältbussystem . . . . 32

3.4 Webbintegrering . . . . 34

3.5 PROFIsafe . . . . 35

3.6 Implementering av PROFINET IO . . . . 37

3.7 Sammanfattning . . . . 38

4 Seriell kommunikation 39 4.1 Synkron överföring . . . . 39

4.2 Asynkron överföring . . . . 40

4.3 UART . . . . 40

(6)

Innehåll Innehåll

4.4 SPI . . . . 43

4.5 I

2

C . . . . 45

4.6 Sammanfattning . . . . 50

5 Marknadsundersökning 51 5.1 Förutsättningar och avgränsningar . . . . 51

5.2 Viktiga parametrar . . . . 52

5.3 Beskrivning av parametrar . . . . 52

5.4 Sammanställning . . . . 54

5.5 Slutsats . . . . 57

5.6 Rekommendation . . . . 57

6 Kravspecifikation 60 6.1 Funktionskrav . . . . 60

6.2 Mjukvarukrav . . . . 61

6.3 Kapacitetskrav . . . . 62

6.4 Miljöförhållanden . . . . 62

6.5 Testning . . . . 62

II Design och Implementering 63 7 Designspecifikation 64 7.1 Funktionalitet . . . . 65

7.2 Hårdvara . . . . 66

7.3 Mjukvara . . . . 68

7.4 Initialisering . . . . 69

7.5 Huvudflödet . . . . 70

7.6 MicroC/OS-II . . . . 71

7.7 NicheStack TCP/IP stack . . . . 72

7.8 Interrrupt . . . . 73

7.9 Felhantering . . . . 74

7.10 Saker att tänka på vid programmering . . . . 74

8 Konstruktionsbeskrivning 75 8.1 Systemöversikt . . . . 75

8.2 Hårdvara . . . . 76

8.3 Mjukvara . . . . 80

8.4 Resultat . . . . 86

9 Diskussion 88

9.1 Slutsats . . . . 88

(7)

Innehåll Innehåll

9.2 Framtida förbättringar . . . . 90

A Aktivitetslista 95

(8)

Figurer

2.1 Övre: Original standarden av DIX gruppen, Nedre: Standarden enligt

IEEE 802.3 . . . . 7

2.2 Stjärn- och ringtopologi . . . . 9

2.3 Utseende på MAC-adress . . . . 10

2.4 Överföring via TCP . . . . 13

3.1 Uppdelning av bandbredd . . . . 19

3.2 PROFINET IO anläggning . . . . 22

3.3 Relationer i PROFINET . . . . 26

3.4 LLDP används för granndetektion i PROFINET IO . . . . 27

3.5 Redundans i PROFINET . . . . 31

3.6 Integration av fältbussystem i PROFINET . . . . 33

4.1 UART paket . . . . 41

4.2 SPI med en master och slav . . . . 43

4.3 Överföring av data med SPI . . . . 44

4.4 START och STOPP . . . . 46

7.1 Hårdvara kort . . . . 66

7.2 Mjukvara . . . . 68

7.3 Huvudflöde . . . . 70

8.1 Slutgiltiga kommunikationen . . . . 76

8.2 Översikt hårdvara . . . . 77

8.3 Översikt mjukvara . . . . 80

(9)

Tabeller

2.1 Subnet mask . . . . 11

3.1 Typiska värden på fördröjning i överföringslänken . . . . 20

4.1 Reserverade adresser vid 7-bitars adressering . . . . 45

5.1 Sammanställning av PROFINET-moduler . . . . 54

5.2 Sammanställning kretsar för PROFINET . . . . 55

5.3 Sammanställning PROFINET-moduler med FPGA . . . . 56

5.4 Sammanställning FPGA-kretsar . . . . 56

8.1 Sammanställning av kraven . . . . 87

(10)

Förklaringar

Förkortning

Förklarande text

API Application Programming Interface, regler och specifikationer för mjuk- varuprogram

AR Application Relation, logisk applikationsrelation mellan två deltagare ARP Address Resolution Protocol, är ett kommunikationsprotokoll som an-

vänds för att koppla samman en IP-adress med en MAC-adress ASIC Application Specifik Integreted Circuit, krets för ett specifikt ändamål BSP Board Support Package, särskilt stöd-kod som översstämmer med en

given operativsystem

CBA Component Based Automation, anpassat för komponentbaserad kom- munikation i PROFINET

CC Conformance Classes, applikationsklasser som har definierad minumum prestanda

CM Contex Management, upprättar kommunikations- och applikationsrela- tioner

CPU Central Processing Unit, central processor i enheten

CR Communication Relations, specificerar den egentliga kommunikationen mellan en konsument och en producent

CRC Cyclic Redundance Check, används för att upptäcka korrupta databitar CSMA/CD Carrier Sense Multiple Access/Collision Detection, process för access

till Ethernet samt kollisiondetektering

DCP Discovery and basic Configuration Protocol, dynamisk tilldelning av IP-adresser

DCS Distributed Control System, samlingsbegrepp för överordnad styrsystem DHCP Dynamic Host Configuration Protocol, dynamisk tilldelning av IP-

adresser

DIL Dual In Line-package, typ av kapsel för hålmonterade mikrochip DSP Digital Signal Processor, integrerad krets

Duplex Kommunikation kan ske i två riktningar

ERTEC Enhanced Real Time Ethernet Controller, ASIC från Siemens

Ethernet Arkitektur för datakommunikation

(11)

FDX Full Duplex, kommunikation kan ske i två riktningar samtidigt FIFO First in First out, först in först

Firmware Mjukvara som är inprogrammerad i hårdvara Flashminne Transistorbaserad minne

FPGA Field-programmable Gate Array, integrerad krets som består av ett antal logiska block som kan länkas ihop för att skapa önskade funktioner Gateway Utrustning som förmedlar data mellan nät med olika standarder eller

utrustningar

GSD General Station Description, innehåller en XML-baserad beskrivning av I/O-enheter egenskaper som kommunikationsparametrar och data för modulerna

GSDML General Station Desciption Markup Language, är det beskrivande språk som används för att skapa en GSD-fil för PROFINET IO-enheter HDX Half Duplex, kan ta emot och skicka data men inte samtidigt I

2

C Inter-IC, seriell buss med två aktiva ledare

I/O Input/Output, in- och utsignaler IC Integrated Circuit, integrerad krets

IDE Integrated Development Environment, C/C++ kompilator för Nios II processorer.

IEEE Institute of Electrical and Electronics Engineers, standarder inom data- och elektroteknik

INTERBUS Fältbussystem

Interrupt En icke klockcykelberoende signal som avbryter processors pågående arbete

IOCR Input Output Configuration Register, sätts upp för ingångar/utgångar vid uppstart inom det AR som skall etableras

IP Internet Protocol, kommunikationsprotokoll för överföring

IRT Isochronous Real Time, isokron realtidskanal för speciellt krävande precisionsstyrning/reglering till exempel motion control

JTAG Joint Test Action Group, för att kunna koppla sig till FPGAn för bland annat felsökning och programmering

LAN Local Area Netwok, lokal nätverk

LLDP Link Layer Discovery Protocol, används för granndetekting MAC-adress Media Access Control, används för att identifiera en Ethernet-nod MCU Micro Control Unit, komplett enhet med processor samt tillhörande

minne, interface med mera.

MISO Master In Slave Out, signal från slaven till master MOSI Master Out Slave In, signal från mastern till slaven MSB Most Significant Bit, mest signifikanta biten

OUI Organizationally Unique Identifier, företagsnummer i MAC-adressen

PLC Programmable Logic Controller, styrenhet

(12)

PROFIBUS Process Field Bus, standard för fältbusskommunikation

PROFINET Process Field Net, Ethernet-baserad nätverkslösning för automation PTCP Precision Transparent Clock Protocol, används vid klocksynkronisering R/W Read/Write, läs/skriv operationer

RPC Remote Procedure Call, protokoll i applikationslagret

RT Real Time, realtidskanal för överföring av tidskritiska processdata SCL Seriel Clock Line, klocksignal inom I

2

C

SCLK Seriel Clock, klocksignal SDA Seriel Data, data kanal för I

2

C

SGDMA Scatter-Cather DMA, används för att flytta data till exempel från minne-till-minne

SOPC Builder Programvara från Altera som används för att generera systemfiler till FPGA

SPI Serial Peripheral Interface, synkroniserad seriell datalänk

SRAM Static Read Access Memory, en typ av minne där data stannar tills det skrivs över

SS Slave Select, signal för val av slavenhet

Subslot Grupp av en eller flera kanaler. Subslots kan vara reella eller virtuella TCP Transmission Control Protocol, vanligaste transportprotokoll

UART Universal Asynchrous Receiver Transmitter, omvandlar parallell data till seriell

UDP User Datagram Protocol, förbindelselöst kommunikationsprotokoll Watchdog Elektronisk funktion som räknar och måste återställas till sitt utgångs-

läge innan den har räknat ner WiFi Teknik för trådlösa nätverk

XML Extensible Markup Language, universalt märkspråk för att definiera

och struktuera data

(13)

Kapitel 1 Inledning

1.1 Bakgrund

Företaget Motion Control i Västerås AB arbetar huvudsakligen med elektronikutveck- ling. Företaget utvecklar produkter för bland annat industrin där kommunikationen skall kunna ske mellan olika enheter i systemet. Detta för att kontrollera att enheter- na fungerar som de ska men även för att upptäcka fel som inträffar i till exempel en tillverkning process.

Idag används fältbussystem såsom PROFIBUS i stor utsträckning inom automation men användningen av PROFINET ökar och allt fler företag förväntas övergå till användning av PROFINET.

Principen för PROFINET och PROFIBUS är den samma, en modul vars uppgift är att samla data kopplas till en enhet nära processen, modulen skickar sedan data till en styrenhet/masterenheten. Största skillnaden mellan PROFINET och PROFIBUS är sättet att kommunicera med masterenheten, där PROFIBUS använder sig av seriell kommunikation för datautbyte, medan PROFINET använder sig av Ethernet.

I dag använder sig företaget Motion Control av en färdig modul för PROFINET-

kommunikation som inte uppfyller de krav som ställs på den och vad modulen lovar,

den har även flera funktioner som inte används i dagsläget. Den har visat stora

brister när det gäller framför allt överföringshastigheten via UART. Därför har det

funnits önskemål om att mer utförligt undersöka egenskaperna hos PROFINET

och vilka typer av kretsar som kan användas för att ta fram en egen modul för

PROFINET-kommunikation som sedan skulle kunna användas i deras produkter.

(14)

1.2. Syfte Kapitel 1. Inledning

1.2 Syfte

Syftet med projektet är att göra en grundlig undersökning om PROFINETs funktioner och vilka typer av moduler och kretsar som finns tillgängliga på marknaden, för att på så sätt ta reda på vad som krävs för att ta fram en egen modul som kan användas för PROFINET-kommunikation.

Följande frågor bör besvaras:

• Vad är PROFINET?

• Vilka typer av moduler och kretsar finns idag? Prestanda?

• Vilken typ av krets kan användas om en egen modul skall tas fram?

1.3 Metod

Vid utförandet av examensarbetet används företagets projektmodell som används i utvecklingsprojekt.

Projektet kan delas upp i följande delar:

• Projektplanering

• Instudering och undersökningar

• Krav och testspecificering

• Designspecificering

• Utförande

• Testning

• Konstruktionsbeskrivning

I inledningen av projektet skapades projektplanering med tidsmål, denna planering finns dokumenterad i en aktivitetslista, se Bilaga A.

När den inledande planeringen av projektet var klar påbörjades undersökningar

angående nätverkskommunikation, då undersöktes bland annat TCP-, UDP- och

IP-protokollen, därefter studerades även PROFINET. Även en undersökning om

seriell kommunikation gjordes som omfattade UART, SPI samt I

2

C. En marknadsun-

dersökning genomfördes i syfte att få reda på vilka typer av moduler och kretsar för

PROFINET som finns tillgängliga, detta för att studera prestanda och funktionalitet.

(15)

Kapitel 1. Inledning 1.4. Förutsättningar och avgränsningar

I samband med undersökningarna formades idéer om vilka funktioner som den planerade modulen skulle ha, dessa finns dokumenterade i kravspecifikationen. Utifrån kravspecifikation skrevs en testspecifikation och ett testprotokoll för att kunna testa om kraven som ställdes på modulen har uppfylls dessa finns dokumenterade i [PFB1-3111, PFB1-3131]. När kraven var fastställa påbörjades designarbetet med en designspecifikation. Slutligen gjordes en konstruktionsbeskrivning som förklarar den slutgiltiga implementationen.

1.4 Förutsättningar och avgränsningar

Då tiden för examensarbete är begränsad till 20 arbetsveckor är det viktigt att momenten i projektet inte överskrider sin tidsbudget. PROFINET är ett omfattande protokoll, det använder sig bland annat av Ethernet för kommunikation, därför kommer tid i första hand läggas på att få grundkommunikationen bestående av TCP/UDP/IP att fungera och i mån av tid kommer övriga funktioner att implemen- teras.

1.5 Struktur

Detta examensarbete har delats in i två delar, första delen består av en förstudie innehållande undersökningar och avslutas med en kravspecifikation, andra delen består av design och implementering samt diskussion.

Del I - Förstudier:

Kapitel 2 innehåller en undersökning om Ethernet, där vanligaste typerna av kommu- nikationsprotokoll tas upp, även begrepp som IP- och MAC-adress, nätverkstopologi och duplexitet behandlas.

Kapitel 3 innehåller en undersökning om PROFINET, där dess användsområden beskrivs, realtidskommunikation, integrering av fältbusssystem, granndetektering och PROFIsafe. Även en närmare titt tas på PROFINET IO. Kapitlet avslutas med beskriving hur PROFINET kan implementeras.

Kapitel 4 innehåller en undersökning om seriell kommunikation bestående av UART-,

SPI- och I

2

C-överföring.

(16)

1.5. Struktur Kapitel 1. Inledning

Kapitel 5 innehåller en marknadsundersökning där färdiga moduler och kretsar som kan används för PROFINET-kommunikation har undersökt när det gäller prestanda och funktioner. Kapitlet avslutas med rekommendation av kretsar som är lämpliga för denna typ av implementering.

Kapitel 6 innehåller en kravspecifikation som tagits fram med hjälp av informationen som hämtats under förstudierna, här beskrivs bland annat krav på funktioner och prestanda.

Del II - Design och Implementering:

Kapitel 7 innehåller den designspecifikation som tagits fram genom studier av manualer till den valda kretsen, realtidsoperativsystemet och nätverkstacken. Här beskrivs den tänkta kommunikationen mellan olika delar i systemet, hur hårdvaran skall tas fram, interrupt hantering, och utformning av mjukvaran.

Kapitel 8 innehåller konstruktionsbeskrivning som beskriver i detalj den implemen- tering som gjordes under mjukvaruutvecklingen. Den omfattar beskrivning av den slutgiltiga kommunikationen, olika delarna i den framtagna hårdvaran och imple- menteringen av mjukvaran, kapitlet avslutas med resultat.

Kapitel 9 innehåller slutsatser och framtida förbättringar.

(17)

Del I

Förstudier

(18)

Kapitel 2 Ethernet

PROFINET är baserat på Ethernet-teknologi och använder sig av standarder såsom TCP/IP-protokoll för kommunikation. För att underlätta förståelse för PROFINET beskrivs de vanligast förekommande begreppen inom Ethernet.

Detta kapitel går i genom begrepp som normalt förekommer när det gäller nätverks- kommunikation, här tas bland annat begrepp som duplexitet, IP- och MAC-adress och nätverkstopologi upp. Kapitlet avslutas med de vanligaste kommunikationspro- tokoll som används vid datautbyte över Ethernet. Hela ursprungliga undersökningen finns beskriven i dokumentet [PFB1-2601].

2.1 Standard Ethernet

Standard Ethernet arbetar efter en icke-deterministisk princip, vilket ger alla enheter samma rättigheter till överföringskanalen. Alla enheter som är kopplade till nätverket kan skicka data till en annan enhet. Nätverket är designat som ett bussystem, detta gör att alla inkopplade enheter nås av den skickade informationen. Därför filtrerar enheterna de datapaket som skickas för att se om de är avsedda för dem, annars ignoreras de.

Accessen till nätverket kontrolleras av CSMA/CD (Carrier Sense Multiple Access /

Collision Detection) proceduren. Om en enhet vill använda sig av överföringskanalen

för dataöverföring, kontrollerar enheten först om den är ledig innan överföringen

börjar, annars väntar enheten tills den blir ledig. Ibland händer det att flera börjar

sin sändning samtidigt vilket leder till kollision, då stoppas all överföring och en

slumpmässig väntetid ges till enheterna, när tiden har passerat, kan enheten göra ett

nytt försök att påbörja överföringen.

(19)

Kapitel 2. Ethernet 2.1. Standard Ethernet

CSMA/CD är en accessmetod för att flera parter ska kunna sända information samtidigt på samma fysiska medium, till exempel en kanal. Om en kanal är ledig kan sändaren börja sända direkt, annars måste den vänta tills kanalen är ledig innan överföringen kan börja. Om någon enhet upptäcker kollision i nätverket skickas en felsignal till alla berörda enheter. När en kollision upptäckts stannar all överföring och alla enheter får en slumpmässigt utvald väntetid, därefter kan överföringen börja igen.

Standard Ethernet-nätverk är olämpliga för användning till realtidskommunikation, eftersom denna typ av kommunikation kräver exakt körtid.

2.1.1 Standard Ethernet paket

Data som skall överföras över nätverket delas upp i mindre delar, så kallade paket.

Varje paket innehåller information om: mottagarens adress, sändarens adress, data och information för felkontroll. Paketen är mellan 64 och 1526 bytes långa.

Det finns två olika typer av format på paket:

• Original standarden av DIX gruppen

• Standarden enligt IEEE 802.3

Skillnaderna mellan de två paketen är att DIX Ethernet använder ’typ’ block, medan IEEE 802.3 använder sig av ’längd’ block på samma position, som visas i Figur 2.1.

Figur 2.1: Övre: Original standarden av DIX gruppen, Nedre: Standarden enligt

IEEE 802.3

(20)

2.2. Switched Ethernet - Fast Ethernet Kapitel 2. Ethernet

2.2 Switched Ethernet - Fast Ethernet

Fast Ethernet-standard är baserad på den klassiska Ethernet-standarden med en ökad hastighet från 10Mbit/s till 100Mbit/s. Fast Ethernet använder sig av full duplex (FDX) vid kommunikation, detta gör det möjligt att både ta emot och skicka data utan risk för kollision.

Likheter mellan Standard och Fast Ethernet:

• Data format: paket längd mellan 64 till 1518 bytes

• Access procedur: CSMA/CD

• Samma kablar

Adresseringen, access procedur, installation och paketformat är identiskt till den tidigare Ethernet-standarden. Den linjära topologin är utbytt till en stjärntopologi med switchar, vilket ger en punkt-till-punkt-koppling till en central nod.

Fördelar: Det är möjligt att använda gamla investeringar utan begränsningar.

2.2.1 Full duplex

Den optimala överförings proceduren för switched Ethernet är full duplex (FDX), en annan som används är halv duplex (HDX). Stjärntopologi använder sig endast av full duplex, varje komponent är kopplad till en annan via en punkt-till-punkt-koppling.

Detta gör att varje enhet alltid är kopplad till en sändarlänk och en mottagarlänk, detta gör det möjligt att både skicka och ta emot information utan kollision.

Fördelar med full duplex:

• Enkel procedur, stabil och kollisionsfri

• 100 % belastning är möjligt

• Genomströmningen ökar till det dubbla

• Gör det möjligt att öka nätverkens storlek

(21)

Kapitel 2. Ethernet 2.3. Nätverkstopologi

2.3 Nätverkstopologi

Nätverkstopologin är mönster av sammankopplade enheter i ett nätverk, dessa kan vara både fysiska eller logiska, där den fysiska topologin omfattar enheter, placeringar och kabeldragningar. Topologin kan betraktas som en virtuell form eller struktur av ett nätverk. Nätverkstopologin måste anpassas till den anläggning eller maskin som den skall användas för.

De vanligaste topologierna:

• Stjärna: Stjärnstruktur är en central signalfördelning med individuella förbin- delser till alla terminaler i nätverket. Denna topologi lämpar sig bäst i områden med hög deltagartäthet och korta avstånd (se Figur 2.2).

• Träd: Trädstrukturen består av flera kombinerade stjärnnät som kopplats samman, ofta blandat fiberoptik med partvinnade kablar. Används när man delar upp ett komplext system i systemsegment.

• Linje: Linjestruktur kan åstadkommas med en switch i direkt anslutning till enheten eller med en i enheten inbyggd switch.

• Ring: Om början och slutet av en linjestruktur kopplas samman, får man en ringstruktur (redundans), se Figur 2.2. Den kan användas i system med höga krav på tillgänglighet, som skydd mot bland annat kabelbrott eller fel på en nätverkskomponent [1].

I praktiken är nätverken en blandning av dessa strukturer, de kan implementeras och användas med PROFINET antingen med fiberoptiska- eller kopparkablar.

Figur 2.2: Stjärn- och ringtopologi

(22)

2.4. Adresser Kapitel 2. Ethernet

2.4 Adresser

2.4.1 MAC-adresser

Varje enhet adresseras med en unik MAC-adress. MAC-adressen har en fast längd på 48 bitar (6 bytes), där de första 24 bitarna är ett OUI-nummer (Organizatio- nally Unique Identifier) och resterande 24 bitar är en tillverkarspecifik del, enligt Figur 2.3. Detta gör att på samma OUI-nummer kan man ha upp till 16777214 enheter/produkter. För att garantera att det inte finns fler än en enhet med en specifik MAC-adress, ligger adressen kodad i hårdvaran.

Figur 2.3: Utseende på MAC-adress

2.4.2 IP-adress

IP-adressen är en fix komponent av IP-protokollet och är oberoende av hårdvaran som används. IP-adressen används som mottagarens adress och sändarens adress i varje paket som skickas med IP-protokoll. För att försäkra sig om att varje paket har endast en mottagare, måste alla enheter ha en egen unik adress.

Format

IP-adressen består av fyra bytes, och varje byte separeras från den föregående med en punkt. Detta ger följande struktur där ett nummer mellan 0 och 255 representerar XXX: XXX.XXX.XXX.XXX. (Till exempel 192.168.147.112)

IP-adressen består av två dolda delar: en nätverks (network) ID och en värd (host)

ID, vilka tillsammans bildar IP-adressen. Nätverks-ID används för att adressera

nätverket och värd-ID för att adressera till en enhet i nätverket.

(23)

Kapitel 2. Ethernet 2.5. Protokoll

Subnet mask

Subnet masken introducerades för att dela IP-adresser till nätverks komponenter och enhets komponenter. Den har samma struktur som en IP-adress, men markerar endast delen av IP-adress som representerar nätverksnumret. Tabell 2.1 visar de vanligaste varianterna av subnet masken. Viktigt att komma ihåg är att alla enheter som är kopplade via en switch ingår i samma subnet.

Tabell 2.1: Subnet mask

Nätverks klass IP-adress Nätverk/Värd ID Subnet mask

A 0.0.0.0 – 127.255.255.255 1 byte / 3 byte 255.0.0.0 B 128.0.0.0 – 191.255.255.255 2 byte / 2 byte 255.255.0.0 C 192.0.0.0 – 223.255.255.255 3 byte / 1 byte 255.255.255.0

DHCP – dynamiska IP-adresser

De flesta problem som uppstår i IP-baserad nätverk, är när enheter läggs till, tas bort eller ändras. För att minska problemen används DHCP-protokollet (Dynamic Host Configuration Protocol). Den delar ut dynamiska IP-adresser till enheterna, vilket gör att inga manuella konfigureringar behöver göras när enheter flyttas från ett nätverk till ett annat.

2.5 Protokoll

Ethernet använder sig av protokoll i olika nivåer för att kommunicera. Alla protokoll har sina egna huvuduppgifter. Protokollen delas in i lager, där tanken är att varje lager tillhandahåller en specifik tjänst, som är oberoende av de tekniker som används i lagret ovanför eller nedanför.

2.5.1 Internetprotokoll

Internetprotokollet som oftast kortas till IP, är ett kommunikationsprotokoll som

används för dataöverföring över nätverk. Internetprotokollet garanterar inte att

informationen når mottagaren, utan ansvaret för detta överlåts till de aktuella

protokollen i transport- eller applikationslagret.

(24)

2.5. Protokoll Kapitel 2. Ethernet

Varje enhet som vill kommunicera med en annan, identifieras med hjälp av deras IP-adress. IP-protokollet definierar sina egna paket vilka är minst 20 bytes långa.

Data kan gå förlorad på grund av olika anledningar till exempel via störningar i överföringskanalen eller för att nätet är överbelastat, den kan tas emot flera gånger, eller den kan komma i en annan ordning än den skickades. Genom en 32 bitars checksummekontroll kan Ethernetpaketet upptäcka eventuella fel, mottagaren kan då utgå från att information som tas emot är korrekt.

2.5.2 Transmission Control Protocol

Dataöverföring över nätverk med IP är en mycket opålitlig metod, data kan gå förlorad på grund av fel eller överbelastning. TCP-protokollet är ett förbindelseorienterat dataöverföringsprotokoll som används för huvuddelen av all kommunikation över Internet. Protokollet kan garantera en felfri och komplett överföring av data mellan sändare och mottagare. Detta genom att etablera en förbindelselänk mellan sändare och mottagare innan överföringen börjar, när överföringen är slutförd stängs länken ner.

Överföring via TCP

TCP består av tre olika delar, anslutning, dataöverföring och nedkoppling. Under anslutningsfasen skickar klienten ett SYN-segment till mottagaren. Om mottagaren accepterar överföringen skickas ett ACKSYN-segment tillbaka till sändaren. När sän- daren får ACKSYN-segment skickar han tillbaka ACK-segment och anslutningsfasen går över till dataöverföring.

Om mottagaren inte accepterar skickas ett RST-segment, vilket avbryter överfö- ringen. Under dataöverföringsfasen skickas data i IP-paket, när mottagaren har mottagit ett paket skickar den ACK-segment för att visa att den har fått informatio- nen. Om inte sändaren får ACK-segment inom en viss tid antar sändaren att paketet har försvunnit, och skickar det igen.

När en av ändpunkterna inte har något mer att skicka markerar den detta med att

skicka ett FIN-segment. Mottagaren bekräftar detta med en ACK-segment och då

stänger normalt mottagaren sin del av förbindelsen med ett FIN-segment men detta

är inget krav. Figur 2.4 visar hur överföringen via TCP fungerar.

(25)

Kapitel 2. Ethernet 2.5. Protokoll

Figur 2.4: Överföring via TCP

För- och nackdelar

Fördelar med TCP är att den kan garantera felfri och komplett överföring, dock saktar detta ner hanteringen av data, vilket gör att TCP inte tillämpar sig för användning i tidkritiska applikationer, då det är viktigt att informationen når mottagaren snabbt.

2.5.3 User Datagram Protocol

UDP är ett förbindelselöst transportprotokoll som skickar data över IP-nätverk,

vilket gör att alla datapaket behandlas som individuella överföringar och det sker

ingen transportkonfirmering. Den förbindelselösa överföringen betyder att ingen

session upprättas mellan sändaren och mottagaren av protokollet. Detta gör att

sändaren inte kan garantera att mottagaren får paketet. Mottagaren kan inte heller

veta att den fått alla paket, eller att de paket den mottagit har kommit i rätt

ordning. Då UDP utesluter time-out övervakning och etableringen samt stängningen

av förbindelsen blir UDP snabbare, detta gör att den lämpar sig bättre för tidskritiska

applikationer än vad TCP gör. Förbindelseövervakningen och datablockeringen som

ingår i TCP kan utföras i UDP på applikationsnivån, till exempel genom RPC

(Remote Procedure Call). UDP bidrar inte i någon större utsträckning med några

funktioner mellan nätverksskiktet och applikationsskiktet förutom portnummer och

enklare undersökning på mottagarsidan av eventuella fel på segment. Undersökningen

(26)

2.6. Sammanfattning Kapitel 2. Ethernet

görs normalt genom att beräkna en kontrollsumma. Om mottagaren upptäckt ett trasigt UDP-segment kastas den vanligtvis bort eller skickas vidare med en varning till applikationsskiktet. Mottagaren begär alltså inte sändaren att återsända segmentet såsom TCP, detta överlåts till applikationsskiktet som använder sig av UDP.

2.5.4 TCP/IP

TCP/IP är en samling av flera olika protokoll och varje dator som använder sig av TCP/IP-protokollet kommer att ha en IP-adress. Detta gör att alla datorer runt om i världen kan skicka paket mellan sig. TCP/IP är det mest använda transport- lagerprotokollet både när det gäller användning i kontorsmiljöer som industriella sammanhang, den kan även hantera de fyra mest inträffade felen. Paket kan dubble- ras, ankomma i fel ordning, försvinna eller vara korrupta. Detta gör att nästan all kommunikation på Internet använder sig av TCP/IP.

2.5.5 UDP/IP

UDP/IP kan inte garantera en felfri överföring mellan två enheter som TCP kan.

Detta kan användas när nätverket i sig är säkert, till exempel i lokala nätverk (LAN), då kan transportprotokollet konfigureras lite enklare. UDP är ett minimaliskt transportprotokoll som innehåller bara de nödvändiga funktionerna för dataöverföring.

Protokollet använder sig av enkel förbindelselös överföring, till skillnad från IP använder sig UDP endast av portnummer och checksumma. Checksumman används för att kontrollera dataöverföringen och även detta är valbart, alla andra felaktiga hanteringsmekanismer som finns i TCP finns inte i UDP utan dessa måste tas om hand av andra protokoll i applikationslagret. Största fördelen med UDP är dess hastighet, som är nästan tre gånger högre än hastigheten hos TCP.

2.6 Sammanfattning

Standard Ethernet arbetar efter en icke-deterministisk princip, vilket ger alla enheter samma rättigheter till överföringskanalen. Alla inkopplade enheter kan skicka data till en annan enhet.

Vanligaste topologierna är stjärnstruktur, trädstruktur och linjestruktur. I praktiken

är nätverken en blandning av dessa strukturer, de kan implementeras och användas

med PROFINET antingen med fiberoptiska- eller kopparkablar.

(27)

Kapitel 2. Ethernet 2.6. Sammanfattning

Varje enhet adresseras med en unik MAC-adress som har en fast längd på 48 bitar (6 bytes), där de första 24 bitarna är ett OUI-nummer och resten är ett tillverkar- specifik del. För att garantera att det inte finns fler än en enhet med ett specifik MAC-adress, ligger den kodad i hårdvaran.

Internetprotokollet används för dataöverföring över nätverk, den kan inte garantera att informationen når mottagaren utan ansvaret lämnas till de aktuella protokollen i transport- och applikationslagret.

TCP-protokollet är ett förbindelseorienterat dataöverföringsprotokoll som kan garan- tera en felfri och komplett överföring av data mellan sändare och mottagare. Detta tack vare överföring som består av tre delar, där en anslutning först skapas mellan mottagaren och sändaren därefter görs dataöverföringen, och när överföringen är klar stängs anslutningen mellan mottagaren och sändaren.

UDP-protokollet är ett förbindelselöst protokoll som behandlar alla datapaket som

inviduella överföringar, ingen anslutning skapas mellan mottagaren och sändaren.

(28)

Kapitel 3

PROFINET

Inom automation kan varje aktiv process innebära en risk som kan skada människor och miljön. Normalt är detta lätt att undvika, men det finns applikationer där risken är större, såsom vid kemiska processer, verkstadsmaskiner eller gashantering.

Ett sätt att lösa detta är att koppla in enheter nära processen vars uppgift är att samla in processdata och skicka den periodisk till en styrenhet i systemet. Styrenheten tar emot processdata och larm och bearbetar dem. Genom att skicka data periodisk kan bortfall av en enhet upptäckas snabbt.

Det finns flera lösningar för denna typ av kommunikation, ett exempel är PROFINET som är en öppen standard för industriellt Ethernet och uppfyller alla behov inom automation. PROFINET finns i två utföranden PROFINET IO och PROFINET CBA (Component Based Automation), där IO är en decentral lösning och CBA är en komponentbaserad lösning. PROFINET IO och PROFINET CBA kan arbeta var och en för sig eller tillsammans. PROFINET är en automationsstandard som är Ethernet-kompatibel till hundra procent enligt IEEE-standarder [1].

Detta kapitel beskriver PROFINETs användningsområden, och hur realtidkommu- nikation fungerar. Stor vikt läggs på PROFINET IO där bland annat cykliskt och acykliskt datautbyte tas upp, men även begrepp som granndetektering och larm.

Kapitlet avslutas med en beskrivning om PROFIsafe och hur PROFINET kan im-

plementeras. Hela den ursprungliga undersökningen finns beskriven i dokumentet

[PFB1-2601].

(29)

Kapitel 3. PROFINET 3.1. Realtidskommunikation

3.1 Realtidskommunikation

PROFINET använder sig av Ethernet och TCP/UDP med IP, som bas för all kommunikation. TCP/UDP/IP är bara grunden i kommunikation via Ethernet därför behövs ytterligare protokoll och specifikation, så kallade applikationsprotokoll. De olika applikationsområdena inom industrin kräver olika mycket av kommunikationen, inom PROFINET används tre olika kommunikationskanaler, som var och en har olika egenskaper. PROFINET använder sig av TCP/IP samt UDP/IP för icke tidskritiska processer. Då datautbytet kräver högre prestanda används realtidskommunikation (RT) och då processen kräver synkronisering används Isokron realtid (IRT).

System måste uppfylla följande fyra kriterier:

• Körtid, cykeltid, svarstid: det högsta tillåtna värdet får aldrig överskridas.

• Jitter: då hastighet och precision ökar måste tidvariationerna bli mindre.

• Synkronisering: den högsta möjliga noggrannheten är ett krav.

• Genomströmning: måste kunna garanteras att data skall kunna skickas inom en bestämd tid.

Generella krav för realtidskommunikation är deterministisk och definierad svarstid, normalt ≤ 5ms för standard applikationer [1].

3.1.1 Realtidskommunikation RT

Vid dataöverföring över TCP/IP och UDP/IP skickas en viss mängd administrativ- och styrinformation för adressering bland annat, detta slöar ner datatrafiken[2] Detta gör att TCP/IP och UDP/IP inte kan användas vid realtidskommunikation, för att åstadkomma möjligheten för realtidskommunikation väljer man bort delar av IP-adresseringen och flödeskontroll med TCP och UDP för realtidskommunikation.

Realtidskommunikation kan alltid löpa parallellt med icke tidskritisk kommunikation.

Olika typer av realtidskommunikation:

• Inom nätverket – då behövs ingen adressinformation om mottagarnätverket.

Genom användning av RT-kanalen kan man nå en busscykeltid på några få millisekunder[1].

• Mellan nätverk – då behövs adressinformation till mottagarens nätverk då används RT över UDP

• Multicast dataöverföring med RT – då används RT över UDP

(30)

3.1. Realtidskommunikation Kapitel 3. PROFINET

Realtidsöverföring i PROFINET använder sig av Producent/Konsument - modellen.

Cyklisk data såsom processvärden överförs i ett fixt intervall från sändaren till mottagaren oskyddat och utan bekräftelse.

Följande gäller för kommunikation mellan mottagare och sändare:

• Cykliskt utbyte av data som är utförs anslutningsorienterat. Etableringen och anslutningen görs med högnivå protokoll

• Endast data som tillsammans med ’protokollhuvud’ inte överskrider längden av ett Ethernetpaket, kan överföras mellan mottagare och sändare. Realtid tillåter inte segmentering av datapaket

• Mottagaren sänder ingen bekräftelse att den har mottagit datapaket

• Konsumenten använder en intern timer för att övervaka sändarens överfö- ringscykel

3.1.2 Isokron Realtidskommunikation IRT

Förutom realtidskapacitet kräver vissa processer isokron I/O-överföring med maximal exakthet. Vid isokron kommunikation måste busscykeln klockas exakt, med en bestämd maximal avvikelse och konstant klocksynkronisering. Endast på detta sätt kan tidsintervallen för överföringen av I/O-data säkras med högsta möjliga precision.

På så sätt uppnås IRT busscykeltider på under 1ms och med maximal avvikelse på 1µs.

För att IRT-kommunikation skall fungera måste alla fältenheter som ingår i IRT- kommunikationen, synkroniseras från samma klockmaster.

Krav för IRT-styrning:

• På grund av realtidskravet sker kommunikationen endast inom ett subnät, eftersom det inte finns några adresser tillgängliga via TCP/IP. Adressmetoden är begränsad så att det räcker med endast MAC-adresser.

• Busscykeln delas in i en IRT-fas och en icke isokron fas, enligt Figur 3.1.

• Under IRT-fasen sker en synkronisering, till detta används PTCP-protokoll (Precision Transparent Clock Protocol). Noggrannheten i synkroniseringen

beror på applikationen men är i de flesta fall under 1µs

IRT-kommunikation behöver ett speciellt hårdvarustöd i form av en ASIC med

integrerad switch-funktionalitet och cykelsynkronisering [2]. Uppgiften är att övervaka

övergångarna mellan de olika faserna. I övergången mellan en IRT-fas och en icke

(31)

Kapitel 3. PROFINET 3.1. Realtidskommunikation

Figur 3.1: Uppdelning av bandbredd

isokron fas skall ASICen avgöra om man hinner skicka ett icke isokron telegram utan att IRT-fasen fördröjs [1].

Om IRT-kommunikation används i en installation måste man redan vid konfigure- ringen dela upp bandbredden i en del för IRT och en del som inkluderar TCP/IP, UDP/IP och RT. Endast tidskritisk I/O-data sänds i det reserverade intervallet, medan resterande data sänds inom den öppna fasen [3].

3.1.3 Synkronisering

I ett nätverk med applikationer med hög precision måste alla noder, med en konfi- gurerad IRT-port vara synkroniserade med yttersta precision. För att synkronisera noderna till en gemensam klocka måste kabelfördröjningen mellan närliggande noder och den aktuella synkroniseringen bestämmas. PROFINET använder en automatisk funktion för att exakt beräkna alla tidsparametrar från överföringslänken. Till detta används PTCP som är en basfunktion i PROFINET ASICs.

PTCP-protokollet används för att synkronisera tiden mellan klockmaster och klock- slavarna. Noggrannheten för detta beror till viss mån på applikationen men är i allmänhet under 1µs, om de befinner sig i samma subdomän. PTCP stödjer en mastermodell med upp till 32 olika klockor [2].

De viktigaste fördelarna med PTCP:

• Noggrannhet på <1µs

• Låg användning av resurser

• Inga krav på prestanda hos minne och CPU

• Minimal användning av bandbredd

• Låga administrationskrav

(32)

3.1. Realtidskommunikation Kapitel 3. PROFINET

Tidsynkronisering

Vanligast är att använda sig av nätverksnoden som har den mest exakta klockan, även kallad klockmaster. Används för att synkronisera de lokala klockorna i de andra nätverksnoderna (klockslavar). Synkroniseringen görs genom att cykliskt byta se- kvenser av synkroniseringsmeddelanden mellan två nätverksnoder. Alla meddelanden har ett sekvensnummer som ökar för varje meddelande. Synkroniseringsproceduren är delad i två delar, mätning av fördröjningen i överföringslänken mellan enheter- na, och synkronisering av klockorna, genomförd av klockmaster och klockslaven.

Tidssynkroniseringen med PTCP börjar med att klockmasten skickar synkronise- ringsmeddelande till definierade multicast-adresser. Meddelandet innehåller värdet på klockmasterns klocka och lokala fördröjningen hos klockmastern [2]. Med hjälp av denna information kan slavarna synkronisera sina lokala klockor.

Varje PTCP nätverksnod i överföringslänken (för typiska värden se Tabell 3.1) mellan klockmaster och klockslav genererar ytterligare en fördröjning, detta måste tas hänsyn till vid synkroniseringen [2].

Tabell 3.1: Typiska värden på fördröjning i överföringslänken

Komponent Fördröjning

Kabel 5ns/m

Sändare/mottagare 100-300ns

Switch 10µs

(33)

Kapitel 3. PROFINET 3.2. PROFINET IO

3.2 PROFINET IO

PROFINET IO-fältenheter ansluts alltid via switchar, detta skapar en stjärntopologi eller en linjetopologi. PROFINET IO adresseras med sin enhets MAC-adress då den kopplas in i ett nätverk. Vissa telegram skickas via MAC-adresserna för respektive port och inte till enhetens MAC-adress(till exempel vid synkronisering). Detta gör att en switch med 2-portar har 3 MAC- adresser, en för varje port och en för själva enheten.

Port MAC-adresserna är dock inte synliga för användaren. Eftersom fältenheterna är anslutna med switchar ser PROFINET bara punkt-till-punkt-förbindelser, detta leder till att om en förbindelse mellan två fältenheter bryts, så är enheterna inte tillgängliga efter avbrottet.

PROFINET IO:s viktigaste delar:

• Kapacitet, automation i realtid

• Felsäkerhet, felsäker med PROFIsafe

• Diagnostik, snabb driftsättning och effektiv felsökning

• Successiv integration av fältbussystem PROFINET IO enheter delas in i tre olika typer:

• IO – Styrenhet (Controller) styr en process fördelad på en eller flera fältenheter.

Den samlar processdata och larm och bearbetar dem i ett användarprogram. I automationsinstallationer är en IO-styrenhet normalt en PLC (Programmable Logic Controller), ett DCS-system (Distributed Control System) eller en PC.

Den ansvarar för etableringen av kommunikationskanalerna under uppstart.

• IO – Övervakning (Supervisor) kan vara en ingenjörsstation i en anläggning, som har tillfällig access till fältenheterna under konfigureringsfasen.

• IO – Enhet (Device) är en decentralt ansluten fältenhet nära processen. Den konfigureras av en IO-Supervisor eller en IO-styrenhet och skickar processdata periodiskt till IO-styrenheten. En IO-enhet kan ha kommunikationsförbindelser till multipla IO-styrenheter och IO-övervakare samtidigt.

PROFINET IO tillämpar Producent/Konsument – modellen under datautbytet.

Producenten tillhandahåller data och konsumenten bearbetar detta. En anläggning

har minst en IO-styrenhet och en eller flera IO-enheter. IO-enheten kan utbyta data

med flera IO-styrenheter. IO-övervakaren är normalt bara tillfälligt ansluten under

felsökning och drifttagning. (enligt Figur 3.2)

(34)

3.2. PROFINET IO Kapitel 3. PROFINET

Figur 3.2: PROFINET IO anläggning

3.2.1 Styrenhet

Styrenheten innehåller styrprogrammet för ett automationssystem. Den begär pro- cessdata från IO-enheterna som konfigurerades under uppstart, därefter kör den sitt styrprogram och skickar data till IO-enheten.

Följande data definieras under systemkonfigurationen:

• IO-enhetens utbyggnadsgrad

• Specifika parametrar

• Överföringsfrekvensen

• Utbyggnadsgraden för automationssystemet

• Information om larm och diagnostik

I ett PROFINET-system är det möjligt att använda flera styrenheter, om de ska ha tillgång till samma data i en IO-enhet måste detta specificeras vid konfigureringen.

IO-styrenheten får konfigurationsdata för automationssystemet och etablerar på egen hand applikation- och kommunikationsrelationer med IO-enheterna.

IO-styrenheter kan etablera en AR (Application Relation) vardera till multipla IO-

enheter. AR tillåter användning av flera IOCR (Input Output Configuration Register)

och API (Application Programming Interface) vid datautbyte, detta är användbart

om flera användarprofiler är inblandade i kommunikationen och olika subslots behövs.

(35)

Kapitel 3. PROFINET 3.2. PROFINET IO

En IO-styrenhet måste stödja:

• Larmhantering

• Processdatautbyte

• Acykliska tjänster

• Parametrisering

• Diagnostik av konfigurerade IO-enheter

• Adresstilldelning med DCP-protokoll (Discovery and basic Configuration Pro- tocol)

• API

• Initiera context uppbyggnad för en IO-enhet

Parameterserverfunktion

Parameterserverfunktionen finns för att backa upp och ladda ner dynamiska pa- rametrar för en fältenhet. Parametriseringen av en fältenhet görs med hjälp av parametrarna i GSD-filen (General Station Description). Dessa lagras som statiska parametrar och kan laddas ner från IO-styrenhet till en IO-enhet under systemupp- start. Det är för många fältenheter antingen omöjligt eller olämpligt att initiera parametrar med hjälp av GSD-filen på grund av dess storlek.

3.2.2 Fältenheter

Deras uppgift är att samla in och skicka processignalerna i ett automationssystem.

För att detta ska vara möjligt behövs det en viss form av funktionalitet integrerad i antingen fastställd form eller så att det kan konfigureras.

Fältenheter kan delas in i kompakta enheter som har fast och icke ändringsbar kapacitet för utbyte av processdata, och modulära enheter vars egenskaper kan anpassas till applikationen. Applikationslagret i PROFINET beskriver både kompakta och modulära enheter. Modulerna representerar fysiska platser, så kallade slots. En

’slot’ kan innehålla minst en, ibland flera subslots, som är ett extra adresseringslager.

Subslots kan i sin tur ha 1 till n kanaler, detta gör det möjligt att gruppera kanaler

som hör ihop. Index används för att koppla ihop data med en specifik subslot, index

anger även de data som kan läsas eller skrivas acykliskt.

(36)

3.2. PROFINET IO Kapitel 3. PROFINET

För att kunna utbyta cyklisk och acyklisk data mellan en IO-enhet och IO-styrenhet/IO- övervakare, måste de kommunikationskanaler som behövs skapas vid systemets upp- start av IO-styrenhet. AR som hör till de olika förbindelser innehåller all data som behövs för datautbyten. AR kan innehålla multipla kommunikationsrelationer, CR (Communication Relations), därför är CR möjlig för varje AR.

Context Management CM

En IO-enhet levererar ingångsdata från en automationsprocess till en IO-styrenhet, och får utgångsdata för att kontrollera processen. En IO-övervakare kan också kommunicera på samma sätt med en IO-enhet. För att kunna göra detta datautbyte måste applikations- och kommunikationsrelationen finnas. För detta används context management, vars uppgift är att hantera applikations- och kommunikationsrelationer.

CM gör bland annat detta:

• Initialisera applikationsrelationer och kommunikationsrelationer

• Sätter relevanta kommunikationsparametrar för kommunikationsrelationen, till

exempel time-out och operations läge.

(37)

Kapitel 3. PROFINET 3.2. PROFINET IO

Applikationsrelationer AR

För att starta kommunikationen mellan överordnade styrsystem och en IO-enhet måste kommunikationsvägarna etableras. Detta görs under systemuppstart av IO- styrenheten, baserat på den konfigurationsdata den har fått från ingenjörsverktyget, denna specificerar otvetydigt hur datautbytet skall ske.

Varje datautbyte har en inbyggd applikationsrelation, som etablerar en klar specifice- rad förbindelse, exempelvis en AR mellan överordnat styrsystem och IO-enheten. En IO-enhet kan ha multipla applikationsrelationer etablerat med olika IO-styrenheter.

Följande applikationsrelationer finns i PROFINET IO:

IO AR Cyklisk datautbyte av I/O-data mellan två enheter eller mellan en sändare och flera mottagare

Acyklisk datautbyte genom läs/skriv funktion Skicka larm

Supervisor Datautbyte mellan IO-övervakare och IO-enhet

Ta kontroll över en eller flera submoduler av IO-enheten Implicit AR Läsning av cyklisk eller acyklisk data av IO-övervakare

från IO-enhet eller IO-styrenhet

Applikationsrelationer är logiska, virtuella element som möjliggör datautbyte mellan två enheter i en kommunikationskanal. IO-enheten har en passiv roll, vilket gör att det alltid är antingen IO-styrenheten eller IO-övervakaren som etablerar kom- munikationen i PROFINET IO system. Redan vid uppstart etableras den första kommunikationsrelationen mellan IO-styrenhet/IO-övervakare och IO-enhet.

Under etableringen överförs följande information till IO-enheten.

• Generella kommunikationsparametrar av AR

• Modelering av enheten

• IO Data CR för etablering samt dess parametrar

• Event CR för etablering samt dess parametrar

Överförd information kontrolleras av enheten och de begärda kommunikationsre-

lationerna initialiseras. Om något inte stämmer skickas en felsignal tillbaka till

styrenheten som begärde relationen.

(38)

3.2. PROFINET IO Kapitel 3. PROFINET

Kommunikationsrelationer CR

Flera kommunikationsrelationer kan sättas upp inom AR, dessa specificerar den egentliga kommunikationen mellan en konsument och en producent (se Figur 3.3).

Nedan beskrivs de tre CR som existerar.

Record Data CR - standardkanal

Record Data CR etableras alltid först, eftersom alla efterföljande parameterinställ- ningar hanteras via CR. Etableras normalt från IO-styrenhet till IO-enhet

IO Data CR - cykliska data

IO Data CRs uppgift är att överföra I/O-data, utbytet sker med konsument/producent modellen. Överföringen av I/O-data har en bestämd längd, den maximala möjliga längden är 240 bytes.

Alarm CR - realtidskanal

IO-enheten överför larm till IO-styrenheten via Alarm CR. Larmen är acyklisk data som måste bekräftas inom en definierad tid både på protokoll- och användarnivå.

Det är möjligt att bestämma hur många larm som kan sändas innan de måste bekräftas. Eftersom acyklisk dataöverföring inte tillåter segmentering måste all larmdata rymmas i ett standard datapaket. IO-styrenheten definierar prioriteten på de inkommande larmen. Om det finns två larm ett med låg prioritet och ett med hög, väljs larmet med högst prioritet. Eftersom högnivå larm alltid måste behandlas så snabbt som möjligt, får inte ett lågnivå larm fördröja ett larm som har högre prioritet.

Figur 3.3: Relationer i PROFINET

(39)

Kapitel 3. PROFINET 3.2. PROFINET IO

3.2.3 LLDP

LLDP (Link Layer Discovery Protocol) används inom PROFINET IO för granndetek- tion, enligt Figur 3.4. Fältenheterna i PROFINET utbyter aktuell adressinformation med anslutna grannenheter via deras switchportar. Grannenheterna blir därmed identifierade och deras fysiska placering kan bestämmas. LLDP-protokollet är imple- menterat i mjukvaran så den behöver ingen speciell hårdvarusupport, den är även oberoende av nätverksstruktur.

Figur 3.4: LLDP används för granndetektion i PROFINET IO

3.2.4 Acykliskt datautbyte

Acykliskt datautbyte kan användas för att läsa statusinformation eller parametrisera och konfigurera IO-enheter. Detta görs med läs-/skrivtelegram via standard UDP/IP.

• Diagnostikinformation – kan göras när som helst

• Data i felloggen (fel- och larmmeddelande) – kan användas för att ta fram detaljerad tidsinformation om händelser i en IO-enhet

• Identifikationsinformation

• Informationsfunktioner

• Återrapportering av I/O-data

Vid adresseringen av index kan man bestämma vilken information/data som kan

läsas acykliskt. Några av tjänsterna är standardiserade, andra måste implementeras.

(40)

3.2. PROFINET IO Kapitel 3. PROFINET

3.2.5 Cykliskt datautbyte

Cykliskt I/O-data överförs utan kvittering som realtidsdata mellan sändare och mottagare, för att övervaka förbindelsen används en watchdog. PROFINET IO använder RT-kanalen för cykliskt utbyte av processignaler och högprioriterade larm.

• RT-kommunikation inom nätverket: Använder endast den snabba RT-kanalen

• RT-kommunikation mellan nätverk: För denna kommunikation används en kombination av den snabba RT-kanalen och protokollet UDP/IP

• IRT-kommunikation: För klocksynkron och deterministisk dataöverföring

• Multicast datatrafik baserat på RT- eller IRT-kommunikation och består av en producent som lägger ut data på bussen och en eller flera konsumenter som konsumerar data

Datautbytet mellan IO-enheten och IO-styrenheten sker enligt en pollningscykel som specificeras under konfigurering av IO-styrenheten, med hjälp av ett ingenjörsverktyg.

Överföringen i PROFINET IO optimeras med avseende på frekvens, detta gör att data kan sändas i olika faser. För detta definieras en reduktionsfaktor, som bestämmer hur ofta specifik data skall sändas.

3.2.6 Larm

PROFINET IO överför högprioriterade händelser inom automationsprocessen såsom larm, dessa måste kvitteras av en applikationsprocess. Larmen kan omfatta både systemhändelser (som borttagande eller insättning av en modul) och användarde- finierade händelser (som spänningsbortfall), men kan även vara händelser under processen (som för hög temperatur eller tryck). Det är viktigt att skilja på olika typer av händelser och larm.

• Processlarm används om meddelandet kommer från den anslutna processen, det kan vara till exempel att gränsvärdet för temperatur eller tryck har överskridits.

Meddelandet skickas sen till styrenheten

• Diagnoslarm indikerar fel hos en fältenhet

• Underhållslarm överför information om att haveri kan undvikas med underhåll

• Tillverkarspecifik diagnostik

Process – och Diagnostiklarmet kan prioriteras olika av användaren. Diagnoslarmet

noteras som kommande eller gående, det gör inte processlarmet. Viktigt är att om

ett fel är allvarligt ska det alltid aviseras som ett larm.

(41)

Kapitel 3. PROFINET 3.2. PROFINET IO

Standarduppsättning av larmorsaker i PROFINET:

• Pull and plug larm uppstår när en modul tas ut (pull) eller sätts in (plug)

• Larm för återkommande submodul uppstår när en modul börjar förmedla data igen

Larmen är unikt knutna till en slot/subslot för att man ska veta exakt vilken enhet som larmar.

3.2.7 GSD filen

Alla fältenheter måste beskrivas i en GSD-fil, avseende deras tekniska och funktio- nella egenskaper. Filen är XML-baserad (Extensible Markup Language) och skriven med GSDML (General Station Description Markup Language), och grundar sig på internationella standarder. Filen innehåller all data som IO-styrenheten behöver för konfigurering, parametrisering och datautbyte. Varje tillverkare av en PROFINET IO-enhet måste tillhandahålla en tillhörande GSD-fil enligt GSDML-specifikation.

GSD-filen innehåller bland annat:

• Beskrivning av ingångs- och utgångsuppsättningar

• Förteckning över vilka I/O-moduler som kan användas i slot

• Parametrar som fältenheterna behöver för att de skall fungera korrekt

3.2.8 Tilldelning av adresser

När man använder TCP/UDP och IP i PROFINET behöver PROFINET-enheterna

precis som nätverksnoder, en IP-adress. Eftersom det inte alltid finns ett system

för nätverksadministration så använder PROFINET DCP-protokollet som gör att

IP-parametrar kan anges med ett tillverkarspecifikt konfigureringsverktyg vid den

systemövergripande konfigureringen. DCP kan garantera ett enhetligt uppträdande

hos alla PROFINET-enheter. Om nätverket har ett system för nätverksadministra-

tion, används för adressering. Implementeringen av DHCP i PROFINET-enheter

är frivilligt. Vid fabrikskonfigurering får varje fältenhet en MAC-adress och ett

symboliskt namn. Denna information är tillräcklig för att ge enheten ett unikt namn

vid inkoppling till ett nätverk.

(42)

3.2. PROFINET IO Kapitel 3. PROFINET

Tilldelningen av adress sker i två steg:

1. Tilldelning av ett unikt anläggningsspecifikt namn till fältenheten

2. Tilldelning av IP-adress, detta görs av IO-styrenhet innan systemuppstart, tilldelningen baseras på det anläggningsspecifika namnet.

Båda stegen görs av DCP-protokollet. Efter adresseringen startar systemet upp och parametrar överförs till fältenheterna. Därefter är systemet klart för datatrafik.

3.2.9 Redundans

Inom automation är det viktigt med redundanta kommunikationsvägar, i vissa fall ökar den systemets tillgänglighet. Genom att koppla in en redundanshanterare och flera klienter bidrar till en säkrare drift i ett automationssystem. När man kopplar multiportsswitchar i en kedja skapar man inte bara en stjärntopologi som är mycket användbar i Ethernet, utan även en linjestruktur. Kombinationen mellan dessa system är lämplig i styrskåpsanslutningar, linjekoppling mellan styrskåpen och stjärnkoppling till fältenheterna.

Redundanshanterarens

Redundanshanterarens uppgift är att kontrollera funktionen i den konfigurerade ringstrukturen. Detta görs genom att skicka ut cykliska testtelegram i systemet, så länge den kan ta emot alla telegram den skickar ut fungerar strukturen som den ska.

På så sätt kan en redundanshanterare hindra att telegrammen cirkulerar i ringen.

Redundansklienter

Redundansklienter är en switch som fungerar endast som ”passage” för telegrammen

och spelar normalt inte någon aktiv roll i systemet. Den måste ha två switchportar

för att kunna ansluta till redundanshanteraren eller andra klienter i en enkel ring,

enligt Figur 3.5.

(43)

Kapitel 3. PROFINET 3.2. PROFINET IO

Figur 3.5: Redundans i PROFINET

3.2.10 Konformitetsklasser CC

PROFINET skall kunna uppfylla alla krav inom automation. Det integrerar och utökar funktionsuppsättningen i överföringsprotokollet för att uppfylla de behov som finns ute i industrin. Alla automationssystem behöver dock inte fulla uppsättningen av funktionerna, därför kan PROFINET skalas ner vad gäller funktioner som stöds.

För detta har man klassificerat funktioner så att anläggningsbyggarna enkelt kan välja fältenheter och busskommunikation med klart definierad minimum prestanda.

Det finns tre applikationsklasser, samt ytterligare specifikationer för: Enhetstyp, typ av kommunikation, använd överföringsmedia och redundansfunktioner.

Detta gör det enkelt för operatörer att välja en komponent, denna behöver bara välja en lämplig konformitetsklass för anläggningen, och behöver därmed inte tänka på andra detaljer. Detta garanterar att alla fältenheter inom vald konformitetsklass uppfyller samma minimikrav.

Konformitetsklasser och typiska användningsområden:

CC-A Fastighetsautomation och processautomatik

CC-B Automationssystem med hög nivå av maskinstyrning men med låga krav på deterministiska datacykler

CC-C Motion control

(44)

3.3. Integration av fältbussystem Kapitel 3. PROFINET

3.2.11 Drifttagning av PROFINET IO-system

Följande händer när ett PROFINET IO-system tas i drift.

• Systemkonfigurering – för att utföra systemkonfigureringen behövs GSD- filerna för de fältenheter som skall konfigureras. Ansvaret för att filerna till- handahålls ligger hos tillverkaren av enheten. Under konfigureringen kopplas moduler samman till det verkliga systemet.

• Identifikation genom namntilldelning – varje fältenhet får ett logiskt namn. Namnet skall referera till den funktion eller installationsplats som enheten har i anläggningen och i förlängningen leda till att enheten får sin IP-adress under adresseringsförloppet.

• Nedladdning av anläggningsinformation – efter att konfigureringen är slutförd laddas anläggningsdata ner till IO-styrenheten, som också innehåller den anläggningsspecifika applikationen. Detta gör att IO-styrenheten nu har all den information som behövs för att adressera IO-enheterna och för att utföra datautbytet.

• Adresstilldelning – innan IO-styrenheten kan starta sitt datautbyte med IO- enheter måste den ge IO-enheten en IP-adress med hjälp av dess enhetsnamn.

Detta måste ske under systemuppstart, som systemuppstart avses start/reset av ett automationssystem efter spänningstillslag eller reset.

När systemuppstart är avslutat utan fel utbyter IO-styrenhet och IO-enhet process- data, larm och acykliska data.

3.3 Integration av fältbussystem

PROFINET tillåter integrering av befintligt PROFIBUS och andra fältbussar. Det

gör att man kan skapa en godtycklig blandning av fältbuss- och Ethernet-baserade

segment [3], se Figur 3.6. Detta gör att man får en kontinuerlig övergång från andra

fältbussanläggningar till PROFINET. De redan befintliga fältbussanläggningarna

gör det nödvändigt att stödja en enkel integration i PROFINET, detta för att

skydda investeringarna. Övergången gör det också möjligt för anläggningsbyggare

och maskinbyggare att fortsätta använda de produkter de är vana vid även med

PROFINET utan att det behövs några ändringar.

References

Related documents

Här härskar ännu barocken, m en det är ändå påfallande, a tt ett helt häfte av detta verk upptas av mindre dikter till och om Karl X I I utan att för den

Vi är två personalvetarstudenter vid Göteborgs Universitet som studerar förekomsten av sexuella trakasserier i arbetslivet. Vi söker efter personer att intervjua

Om remissen är begränsad till en viss del av promemorian, anges detta inom parentes efter remissinstansens namn i remisslistan. En sådan begränsning hindrar givetvis inte

Därtill vill vi instämma i vissa av de synpunkter som framförs i Innovationsföretagens remissvar (2019-11-02), i synnerhet behovet av att i kommande översyner tillse att anställda

I den slutliga handläggningen har stabschef Kajsa Möller, avdelningscheferna Lena Aronsson, Henrik Engström, Marie Evander, Erik Fransson, Carl-Magnus Löfström, Ole Settergren,

Följande Saco förbund har valt att svara och deras svar biläggs härmed;.. DIK, Naturvetarna, Sveriges Ingenjörer och

Bark et al (2002 .s 35) menar att samtlig information kring ett ämne bör samlas på ett ställe inom ett intranät. Författarna lyfter ett exempel med möten och hur dessa

I Nacka kommun (personlig kommunikation, 4 maj, 2021) ligger de platser som kommunen har att nyttja som pendlarparkeringar framför allt i de mest perifera delarna av kommunen, där