Mappning

BECKHOFF AUTOMATION Knowledge Base

Mappning och registerhantering av Busskopplare och Bussterminaler

Version: 1.00
Datum: 2003-08-13


Mappning

Plintarna kan i de flesta fältbussystem konfigureras i två huvudgrupper, kompakt och komplex mappning.

Kompakt mappning

När kompakt mappning används överförs endast processdata mellan mastern och bussterminalen. Om det t.ex. är en tvåkanalig analog ingångsmodul (KL3xx2) så överförs två ord (2x16 bitar). Vardera ord innehåller endast värdet av en analog ingång.

Komplex mappning

När komplex mappning används tillkommer en Statusbyte (8 bitar In), En Kontrollbyte (8 bitar ut) samt för vissa terminaler ett 16 bitars in- eller ut-register. När komplex mappning används går det använda sig av registerhantering för skriva till register i bussterminalen via fältbussen eller från PLC-programmet (BC).

Standardinställningar samt möjliga registervärden för respektive plint finns att hämta under rubriken downloads på vår hemsida http://www.beckhoff.se


Kompakt Mappning

När kompakt mappning används överförs endast processdata mellan mastern och bussterminalen. Om det t.ex. är en tvåkanalig analog ingångsmodul (KL3xx2) så överförs två ord (2x16 bitar). Vardera ord innehåller endast värdet av de analoga ingångarna.

Exempel

Vi har en busskopplare med bussterminaler enligt nedanstående bild.

Modul | Funktion | Datastorlek
KL1104 | 4 digitala ingångar | 4 Bitar In
KL2134 | 4 digitala utgångar | 4 Bitar Ut
KL3xx2 | 2 kanaler analoga ingångar | 2x16 Bitar In (Integer)
KL4xx2 | 2 kanaler analoga utgångar | 2x16 Bitar Ut (Integer)
KL9010 | Ändterminering | 0

Tabell 1

Mappning

Viktigt att notera är att alla analoga och andra specialmoduler alltid lägger sig först i mappningen oavsett hur de fysiskt är placerade samt att de digitala in-/ut-gångarna alltid mappas i hela byte d.v.s skall 4 digitala användas så läggs 8 bitar in i konfigurationen, skall 10 användas så konfigureras systemet för 16 bitar.

Mappning i Twincat (PC-Baserade styrsystem)

I TwinCat skall plintarna konfigureras som de sitter på BK:n, mjukvaran System Manager mappar automatiskt om så att byte- och bitorienterade bussterminaler adresseras rätt.

Mappning/adressering i Twincat (BC/BX styrsystem)

Används en Beckhoff PLC av typen BC/BX skall adresstilldelningen i programmet göras enligt nedanstående tabell. Det går också att skapa konfigureringen i mjukvaran System Manager och exportera till PLC-programmet.

Funktion | Adress | Ingångar | Funktion | Adress | Utgångar
KL3xx2 -1 | %IB0 | Analog in 1 (16 Bitar) | KL4xx2 -1 | %QB0 | Analog ut 1
KL3xx2 -2 | %IB2 | Analog in 2 (16 Bitar) | KL4xx2 -2 | %QB2 | Analog ut 2
KL1104 -1 | %IX4.0 | Digital in 1 | KL2134 -1 | %QX4.0 | Digital ut 1
KL1104 -2 | %IX4.1 | Digital in 2 | KL2134 -2 | %QX4.1 | Digital ut 2
KL1104 -3 | %IX4.2 | Digital in 3 | KL2134 -3 | %QX4.2 | Digital ut 3
KL1104 -4 | %IX4.4 | Digital in 4 | KL2134 -4 | %QX4.3 | Digital ut 4

Ej Twincat

Mappning

Internt i busskopplaren mappas ”byteorienterade” (analoga,räknare m.m) plintar alltid före ”bitorienterade” (digitala I/O) även om de fysiskt är placerade efter.

De moduler som skall väljas in i profibuskonfigureringen om det är en annan master än Twincat är enligt bild nedan (exempel för Profibus). Hur detta konfigureras är specifikt för varje PLC-tillverkare, kontakta PLC-leverantören för att få information och dokumentation om hur det görs.

Adressering

Adresseringen internt i busskopplaren är enligt nedanstående tabell och det mappas på samma sätt i de flesta IEC1131-6 PLC-system. Dock så kan det variera mellan olika tillverkare

Exempel på mappning om 2 BK-noder med konfiguration enligt tabell1 används:

Nod 1

Funktion | Adress | Ingångar | Funktion | Adress | Utgångar
KL3xx2 -1 | %IB0 | Analog in 1 (16 Bitar) | KL4xx2 -1 | %QB0 | Analog ut 1
KL3xx2 -2 | %IB2 | Analog in 2 (16 Bitar) | KL4xx2 -2 | %QB2 | Analog ut 2
KL1104 -1 | %IX4.0 | Digital in 1 | KL2134 -1 | %QX4.0 | Digital ut 1
KL1104 -2 | %IX4.1 | Digital in 2 | KL2134 -2 | %QX4.1 | Digital ut 2
KL1104 -3 | %IX4.2 | Digital in 3 | KL2134 -3 | %QX4.2 | Digital ut 3
KL1104 -4 | %IX4.4 | Digital in 4 | KL2134 -4 | %QX4.3 | Digital ut 4

Nod 2

Det blir en offset på 5 byte. I de flesta PLC-system kan man ange vilken adress varje nod skall börja på och det kan vara lämpligt att ha en liten ”lucka” mellan noderna så att det finns plats för utbyggnad.

Funktion | Adress | Ingångar | Funktion | Adress | Utgångar
KL3xx2 -1 | %IB5 | Analog in 1 (16 Bitar) | KL4xx2 -1 | %QB5 | Analog ut 1
KL3xx2 -2 | %IB7 | Analog in 2 (16 Bitar) | KL4xx2 -2 | %QB7 | Analog ut 2
KL1104 -1 | %IX9.0 | Digital in 1 | KL2134 -1 | %QX9.0 | Digital ut 1
KL1104 -2 | %IX9.1 | Digital in 2 | KL2134 -2 | %QX9.1 | Digital ut 2
KL1104 -3 | %IX9.2 | Digital in 3 | KL2134 -3 | %QX9.2 | Digital ut 3
KL1104 -4 | %IX9.4 | Digital in 4 | KL2134 -4 | %QX9.3 | Digital ut 4


Komplex Mappning

Komplex mappning måste användas om man skall kunna använda sig av registerhantering från PLC. Det innehåller också status- och kontrollbyte så att man i processdataorden kan få med diagnostik från bussterminalen.

Exempel

Vi har en busskopplare med bussterminaler enligt nedanstående bild.

Modul | Funktion | Datastorlek
KL1104 | 4 digitala ingångar | 4 Bitar In
KL2134 | 4 digitala utgångar | 4 Bitar Ut
KL3xx2 | 2 kanaler analoga ingångar | 2x16 Bitar In (Integer)
KL4xx2 | 2 kanaler analoga utgångar | 2x16 Bitar Ut (Integer)
KL9010 | Ändterminering | 0

Tabell 1

Mappning

Viktigt att notera är att alla analoga och andra specialmoduler alltid lägger sig först i mappningen oavsett hur de fysiskt är placerade samt att de digitala in-/utgångarna alltid mappas i hela byte d.v.s. skall 4 digitala användas så läggs 8 bitar in i konfigurationen, skall 10 användas så konfigureras systemet för 16 bitar.

Mappning i Twincat (PC-Baserade styrsystem)

I TwinCat skall plintarna konfigureras som de sitter på BK:n, mjukvaran System Manager mappar automatiskt om så att byte- och bitorienterade bussterminaler adresseras rätt.

Mappning/adressering i Twincat (BC/BX styrsystem)

Används en Beckhoff PLC av typen BC/BX skall adresstilldelningen i programmet göras enligt nedanstående tabell.

Funktion | Adress | Ingångar | Funktion | Adress | Utgångar
KL3xx2 -1 | %IB0 | Statusbyte analog 1 | KL3xx2 -1 | %QB0 | Kontrollbyte Analog in1
KL3xx2 -1 | %IB1 | Analog in/Registeredata | KL3xx2 -1 | %QB1 | Registerdata analog in 1
KL3xx2 -2 | %IB3 | Statusbyte analog 2 | KL3xx2 -2 | %QB3 | Kontrollbyte Analog in 2
KL3xx2 -2 | %IB4 | Analog in/Registeredata | KL3xx2 -2 | %QB4 | Registerdata analog in 2
KL4xx2 -1 | %IB6 | Statusbyte analog ut 1 | KL4xx2 -1 | %QB6 | Kontrollbyte Analog ut 1
KL4xx2 -1 | %IB7 | Registerdata analog ut 1 | KL4xx2 -1 | %QB7 | Registerdata analog ut 1
KL4xx2 -2 | %IB9 | Statusbyte analog ut 2 | KL4xx2 -2 | %QB9 | Kontrollbyte Analog ut 2
KL4xx2 -2 | %IB11 | Registerdata analog ut 2 | KL4xx2 -2 | %QB11 | Registerdata analog ut 2
KL1104 -1 | %IX12.0 | Digital in 1 | KL2134 -1 | %QX12.0 | Digital ut 1
KL1104 -2 | %IX12.1 | Digital in 2 | KL2134 -2 | %QX12.1 | Digital ut 2
KL1104 -3 | %IX12.2 | Digital in 3 | KL2134 -3 | %QX12.2 | Digital ut 3
KL1104 -4 | %IX12.3 | Digital in 4 | KL2134 -4 | %QX12.3 | Digital ut 4

Ej Twincat

Mappning

Internt i busskopplaren mappas alltid byteorienterade (analoga,räknare m.m) bussterminaler före bitorienterade (digitala I/O) även om de fysiskt är placerade efter.

De moduler som skall väljas in i profibuskonfigurationen om det är en annan master än Twincat blir enligt bild nedan (exempel i Profibus). Hur detta konfigureras är specifikt för varje PLC-tillverkare, kontakta PLC-leverantören för att få information och dokumentation om hur det görs.

Adressering

Adresseringen internt i busskopplaren är enligt nedanstående tabell och det mappas på samma sätt i de flesta IEC1131-6 PLC-system. Dock så kan det variera mellan olika tillverkare

Exempel på mappning om 2 BK-noder med konfiguration enligt tabell 1 används:

Nod 1

Funktion | Adress | Ingångar | Funktion | Adress | Utgångar
KL3xx2 -1 | %IB0 | Statusbyte analog 1 | KL3xx2 -1 | %QB0 | Kontrollbyte Analog in1
KL3xx2 -1 | %IB1 | Analog in/Registeredata | KL3xx2 -1 | %QB1 | Registerdata analog in 1
KL3xx2 -2 | %IB3 | Statusbyte analog 2 | KL3xx2 -2 | %QB3 | Kontrollbyte Analog in 2
KL3xx2 -2 | %IB4 | Analog in/Registeredata | KL3xx2 -2 | %QB4 | Registerdata analog in 2
KL4xx2 -1 | %IB6 | Statusbyte analog ut 1 | KL4xx2 -1 | %QB6 | Kontrollbyte Analog ut 1
KL4xx2 -1 | %IB7 | Registerdata analog ut 1 | KL4xx2 -1 | %QB7 | Registerdata analog ut 1
KL4xx2 -2 | %IB9 | Statusbyte analog ut 2 | KL4xx2 -2 | %QB9 | Kontrollbyte Analog ut 2
KL4xx2 -2 | %IB11 | Registerdata analog ut 2 | KL4xx2 -2 | %QB11 | Registerdata analog ut 2
KL1104 -1 | %IX12.0 | Digital in 1 | KL2134 -1 | %QX12.0 | Digital ut 1
KL1104 -2 | %IX12.1 | Digital in 2 | KL2134 -2 | %QX12.1 | Digital ut 2
KL1104 -3 | %IX12.2 | Digital in 3 | KL2134 -3 | %QX12.2 | Digital ut 3
KL1104 -4 | %IX12.3 | Digital in 4 | KL2134 -4 | %QX12.3 | Digital ut 4

Nod 2

Det blir en offset på 13 byte. I de flesta PLC-system kan man ange vilken adress varje nod skall börja på och det kan vara lämpligt att ha en liten ”lucka” mellan noderna så att det finns plats för utbyggnad.

Funktion | Adress | Ingångar | Funktion | Adress | Utgångar
KL3xx2 -1 | %IB13 | Statusbyte analog 1 | KL3xx2 -1 | %QB13 | Kontrollbyte Analog in1
KL3xx2 -1 | %IB14 | Analog in/Registeredata | KL3xx2 -1 | %QB14 | Registerdata analog in 1
KL3xx2 -2 | %IB16 | Statusbyte analog 2 | KL3xx2 -2 | %QB16 | Kontrollbyte Analog in 2
KL3xx2 -2 | %IB17 | Analog in/Registeredata | KL3xx2 -2 | %QB17 | Registerdata analog in 2
KL4xx2 -1 | %IB19 | Statusbyte analog ut 1 | KL4xx2 -1 | %QB19 | Kontrollbyte Analog ut 1
KL4xx2 -1 | %IB20 | Registerdata analog ut 1 | KL4xx2 -1 | %QB20 | Registerdata analog ut 1
KL4xx2 -2 | %IB22 | Statusbyte analog ut 2 | KL4xx2 -2 | %QB22 | Kontrollbyte Analog ut 2
KL4xx2 -2 | %IB23 | Registerdata analog ut 2 | KL4xx2 -2 | %QB23 | Registerdata analog ut 2
KL1104 -1 | %IX24.0 | Digital in 1 | KL2134 -1 | %QX24.0 | Digital ut 1
KL1104 -2 | %IX24.1 | Digital in 2 | KL2134 -2 | %QX24.1 | Digital ut 2
KL1104 -3 | %IX24.2 | Digital in 3 | KL2134 -3 | %QX24.2 | Digital ut 3
KL1104 -4 | %IX24.3 | Digital in 4 | KL2134 -4 | %QX24.3 | Digital ut 4


Register hantering med Beckhoff Plintbus

I många av Beckhoffs I/O plintar finns intressanta möjligheter att ställa in diverse optioner. Det kan t.ex vara att ändra baudrate i förhållande till standard i en serieplint (KL6xxx), ställa gränsvärden i en Analog plint (KL3-4xxx) eller ändra funktion på en räknarplint (KL5xxx).

Bussterminalen kan förstöras om man skriver till ett register som inte är dokumenterat i den officiella manualen (finns på vår hemsida).

Det finns tre metoder att ändra dessa värden:

Via KS2000

Funktionsblock I Twincat

Direkt via processdataregister

Via mjukvaran KS2000

KS2000 är en mjukvara med ett grafiskt gränsnitt för att konfigurera busskopplare och register. Man kan ansluta till busskopplaren antingen via fältbussen eller via ett seriellt gränssnitt.

Fördelar

Det är enkelt att använda och har ett grafiskt gränssnitt där man enkelt kan ändra och ser vad det är för konfiguration.

Nackdelar

Om terminalen av någon anledningen byts ut så måste man komma ihåg att konfigurera om terminalen, Den kommer annars inte ha rätt funktion.

Funktionsblock i Twincat

Fördelar

Man kan i programmet automatiskt läsa av och kontrollera att värdena i terminalen är rätt och om de inte är det automatiskt skriva ner nya värden (bra vid byte av terminal). Det finns också färdiga funktionsblock för Twincat’s alla PLC-modeller, det enda man behöver veta är vilket register man vill ändra i.

Nackdelar

Inte samma grafiska gränsnitt som med KS2000.

Skriva direkt via process-register som är mappade till terminalen

Denna metod används endast när en annan master än Beckhoff-PLC används.

Fördelar

Inga

Nackdelar

Ett krångligt gränssnitt, Är lätt att skriva till fel register


Under bearbetning


Läsa/Ändra registervärden i bussterminalen m.h.a. processdata-register.

För att register i bussterminalen skall kunna ändras med processdata-registren måste komplex mappning användas. Det som beskrivs i detta dokumentet gäller för KL3xx1 eller KL4xx1, Andra terminaler fungerar på liknande sätt men har lite annan mappning.

Registren är specifika för varje terminal och mer detaljerad dokumentation för varje terminal kan laddas ner från vår hemsida http://www.beckhoff.se

Processregister

De processregister som används för registerhantering uppdelas på

1 Kontrollbyte (8 bitar ut)

1 Statusbyte (8 bitar in)

1 Dataord ut (16 Bitar), Innehåller analogvärdet om det är en KL4xx1 och terminalen inte är i registerläge.

1 Dataord in (16 bitar) , Innehåller analogvärdet om det är en KL3xx1 och terminalen inte är i registerläge.

Funktion på Status-/Kontroll-byte när terminalen inte är i registerläge

Kontrollbyte

REG=0

Terminalspecifikt

Statusbyte

Terminalspecifikt

Kontroll och statusbyte när terminalen är i registerläge

Kontrollbyte

REG=1

W/R=1

A5

A4

A3

A2

A1

A0

Statusbyte

REG

W/R

A5

A4

A3

A2

A1

A0

A0-A5 är adressen på det register som skall läsas/skrivas och är en binärkodad adress mellan 0-63.

W/R (bit 6) skall vara aktiv om vi vill skriva ett värde, Är biten inte satt läses värdet från bussterminalen.

REG (bit 7) skall aktiveras för att terminalen skall gå över till registerläge.

Ingen processdata

När terminalen är i registerläge överförs inte längre någon processdata, d.v.s på en analogmodul kommer det inte längre in något värde från analogomvandlaren.

Mer Info:

Läsning av terminalregister

Skrivning av terminalregister


Läsning av register

Beskrivning av hur läsning av ett register i terminalen kan göras, De olika registren finns dokumenterade i manualen för respektive bussterminal.

Exempel

Vi vill läsa in register 8 från en terminal som är en KL3002 (Analog in), Register 8 är lämplig att prova med då det innehåller numret (3002) på den aktuella terminalen.

1. Aktivera registerläge

Vi skall läsa in värdet av register 8, För att göra det sätter vi terminalen i registerläge genom att aktivera Bit 27 och skriva värdet 8 på bitarna 20-5.

Kontrollbyte | REG=1 | W/R=0 | A5=0 | A4=0 | A3=1 | A2=0 | A1=0 | A0=0
DataUt | Ej relevant

2. Kontrollera status

Värdet på statusbyten och Datain-regstret skall om allt är ok svara med:

Statusbyte | REG=1 | W/R=0 | A5=0 | A4=0 | A3=1 | A2=0 | A1=0 | A0=0
DataIn | 3002 (dec)

Återställ bussterminal till processläge

Nollställ alltid alla bitar i kontrollbyten efter läsning/skrivning till register.
Bit 7 sättter plinten i registerhantering, nollställs den används kontrollbyten som processdata. I t.ex. en räknarplint (KL5111) används bit 3 för att nollställa räknaren

För att ställa om terminalen till normalt läge igen skall bit 27 i kontrollregistret återställas, Det är viktigt att alla andra bitar i kontrollordet också nollställs.

Kontroll | REG=0 | W/R=0 | A5=0 | A4=0 | A3=0 | A2=0 | A1=0 | A0=0
DataUt | 0xXXXX (Hex)

Kontrollera att bit 27 har återställts, De andra bitarna kan ha annat värde än noll eftersom vi nu är i processläge

Status | REG=0 | W/R=0 | A5=0 | A4=0 | A3=0 | A2=0 | A1=0 | A0=0
DataIn | 0xXXXX (Hex)


Skrivning till register

En beskrivning av hur en skrivning till ett register i en bussterminal görs, Dokumentation över de registren finns i dokumentation för respektive bussterminal

Terminalen har ett skrivskydd och detta måste inaktiveras för att det skall gå att skriva till något register. Värdet 0x1235 (hex) skall skrivas till register 31 för att inaktivera skrivskyddet

Register-värdena sparas i ett EEPROM som klarar begränsat antal skrivcykler, Det är därför mycket viktigt att man inte skriver värdet varje cykelvarv! Det kan vara lämpligt att innan man skriver till ett register kontrollerar så att registret inte redan har rätt värde.

Exempel på skrivning

Vi vill ändra baudrate på en serieterminal (KL60x1) från standard 9600 -> 19200 baud.

Vi får då följande sekvens:

En steg för steg-sekvens över vilka värden som skall skrivas till bussterminalen

1. Inaktivera skrivskydd

Skriv värdet 0x1235 (hex) till register 31

Kontroll

REG=1

W/R=1

A5=0

A4=1

A3=1

A2=1

A1=1

A0=1

DataUt

0x1235 (Hex)

Kontrollera att skrivningen har gjorts i terminalen och att status ordet svarar med rätt adress

Status | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataIn | 0xXXXX (Hex)

Nollställ bit 26 för att starta en läsning av register 31

Kontroll | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataUt | 0x0000 (Hex)

Kontrollera att läsningen har gjorts och att rätt värde finns i terminalen.

Status | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataIn | 0x1235 (Hex)

2. Ändra baudrate

Enligt manualen för KL6001 så ändras baudraten i register 32 enligt följande tabell:

Registervärde | Baudrate
xxxx x011 | 1200
xxxx x100 | 2400
xxxx x101 | 4800
xxxx x110 | 9600
xxxx x111 | 19200

Skriv värdet 0x0007 (hex) till register 32

Kontroll

REG=1

W/R=1

A5=1

A4=0

A3=0

A2=0

A1=0

A0=0

DataUt

0x0007 (Hex)

Kontrollera att skrivningen har gjorts i terminalen och att status ordet svarar med rätt adress

Status | REG=1 | W/R=0 | A5=1 | A4=0 | A3=0 | A2=0 | A1=0 | A0=0
DataIn | 0xXXXX (Hex)

Nollställ bit 26 för att starta en läsning av register 32

Kontroll | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataUt | 0x0000 (Hex)

Kontrollera att läsningen har gjorts och att rätt värde finns i terminalen.

Status | REG=1 | W/R=0 | A5=1 | A4=0 | A3=0 | A2=0 | A1=0 | A0=0
DataIn | 0x0007x)

3. Inaktivera skrivskydd

Skriv värdet 0x0000x) till register 31

Kontroll

REG=1

W/R=1

A5=0

A4=1

A3=1

A2=1

A1=1

A0=1

DataUt

0x0000 (Hex)

Kontrollera att skrivningen har gjorts i terminalen och att status ordet svarar med rätt adress

Status | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataIn | 0xXXXX (Hex)

Nollställ bit 26 för att starta en läsning av register 31

Kontroll | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataUt | 0x0000 (Hex)

Kontrollera att läsningen har gjorts och att rätt värde finns i terminalen.

Status | REG=1 | W/R=0 | A5=0 | A4=1 | A3=1 | A2=1 | A1=1 | A0=1
DataIn | 0x0000 (Hex)

4. Återställ bussterminal till processläge

Nollställ alltid alla bitar i kontrollbyten efter läsning/skrivning till register.
Bit 7 sättter plinten i registerhantering, nollställs den används kontrollbyten som processdata. I t.ex. en räknarplint (KL5111) används bit 3 för att nollställa räknaren

För att ställa om terminalen till normalt läge igen skall bit 27 i kontrollregistret återställas, Det är viktigt att alla andra bitar i kontrollordet också nollställs.

Kontroll | REG=0 | W/R=0 | A5=0 | A4=0 | A3=0 | A2=0 | A1=0 | A0=0
DataUt | 0xXXXX (Hex)

Kontrollera att bit 27 har återställts, De andra bitarna kan ha annat värde än noll eftersom vi nu är i processläge

Status | REG=0 | W/R=0 | A5=0 | A4=0 | A3=0 | A2=0 | A1=0 | A0=0
DataIn | 0xXXXX (Hex)


Register hantering med Beckhoff Plintbus

Beckhoff Support i Sverige

Har ni frågor eller behöver mer information kontakta oss gärna.

Stockholm (Huvudkontor)

Beckhoff Automation AB

Box 3032

Djursholmsvägen 50A

183 02 Täby

Telefon: 08-446 3000

Fax: 08-630 0520

Göteborg

Beckhoff Automation AB c/o Delfoi

Sofierogatan 3D

412 51 Göteborg

Telefon: 031-733 43 39

Fax: 031-40 19 09

Malmö

Beckhoff Automation AB

Telefon: 040-48 32 04

Mail: support@beckhoff.se