Fråga om PLC och Profibus.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Fråga om PLC och Profibus.

Inlägg av lillahuset »

Vi vill ansluta ett mätsystem med Ethernet som slav i ett Profibus-nät som kontrolleras av en Siemens PLC.
Vi tänkte använda en Anybus X-gateway som brygga.
http://anybus.com/products/products.asp ... 0X-gateway

Eftersom ett Profibus-meddelande bara kan rymma 244 byte data och vår apparat kan generera många gånger fler variabler än som ryms i ett meddelande kommer vi att behöva multiplexa data. Jag har tittat en del i diverse Profibus-dokument men blir inte klok på hur man brukar (skall) göra. Med Modbus är det ju väldigt enkelt, där är det bara fråga/svara till 65536 olika 16 bits register.

Vi har kört "snillen spekulerar" ett tag nu så jag tänkte det är dags att fråga här på forumet. Det märkliga är att inte ens PLC-människorna kan ge ett riktigt svar. :roll:
Användarvisningsbild
Jan Almqvist
Inlägg: 1654
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Fråga om PLC och Profibus.

Inlägg av Jan Almqvist »

Jag tror tyvärr att 244 bytes är max per nod. När man kör Profibus-DP som en centraliserat IO-system så kommer man normalt aldrig i närheten av den gränsen. I ett projekt jag gjorde för 15+ år sedan hade vi c:a 20 noder med 16+16 IO per nod.

Du kan ju alltid använda några lediga bits eller bytes åt varje håll för att bygga upp en egen muliplexning men det blir inte så snyggt. Inte blir det snabbt heller...

Edit: Stora datamängder via vanliga IO blir ju f.ö. inget kul alls i PLC:n. Där kan man nog snart gå i taket.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om PLC och Profibus.

Inlägg av lillahuset »

Det behöver inte alls gå särskilt snabbt, 10 sekunders cykel på uppdateringarna räcker mer än väl.

Jag har letat på nätet och hittat en del info som tyder på att en Profibus DP slav kan ha flera "slot" men inte sett något om hur man hanterar det i meddelandena. I ProfiDRIVE profilen har jag sett i en manual till en motordrivare att de har något de kallar för PNU (eller PMU) som var någon typ av adress för olika parametrar.

Vi hade helst sett att de inte krävde Profibus DP men det är ju det de kör hela fabriken på. Enligt uppgift. :vissla:
Användarvisningsbild
Jan Almqvist
Inlägg: 1654
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Fråga om PLC och Profibus.

Inlägg av Jan Almqvist »

"Slot" skulle jag säga är kortplats i en nod (rack eller liknande) med IO-moduler. Första platsen är slot 4, andra slot 5 etc. Varje plats upptar ett antal byte in och/eller ut. Du kan (teoretiskt) lägga alla 244 bytes på en "slot" eller sprida ut dem efter behag.

Edit: Det kan tydligen börja på slot 1 också i vissa fall.
Senast redigerad av Jan Almqvist 7 februari 2016, 15:58:17, redigerad totalt 1 gång.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om PLC och Profibus.

Inlägg av lillahuset »

Ahaa... Glädjedödare! :( Tack för upplysningen iallafall. En villfarelse fattigare. Och det kan ju inte vara dåligt. :)
Joe
Inlägg: 1807
Blev medlem: 3 mars 2006, 17:00:50
Ort: Södermanland

Re: Fråga om PLC och Profibus.

Inlägg av Joe »

Jag vet inte riktigt vad problemet är, MTU för "normalt" ethernet är 1500 bytes.
Industrial Ethernet 1460 bytes dvs open TCP/IP, modbus TCP/IP etc.
All data kan inte skickas på en gång, visst finns jumbogram med 4GB gräns på IPv6 men det antar jag inte är aktuellt i detta fall.
Det som är intressant är hur mycket data som kan processas med nuvarande hastighet på profibus och PLC cykeltid med 244 bytes åt gången.

Burken du länkade till är för Ethernet/IP, är det kommunikationsprotokoll mätutrustningen använder?

Du ska inte prata med gatewayen, utan med mätutrustningen direkt med TPDU eller motsvarande på 244bytes. Hur kommunikationen fysiskt sker är av underordnad betydelse.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om PLC och Profibus.

Inlägg av lillahuset »

Självklart är det inget problem med ethernetsidan. Problemet är att gatewayen i princip är ett dubbelportat minne som vi skriver till från Ethernet och som Profibus läser från. Max 244 byte åt gången. Och på samma sätt i andra riktningen.

Min slutsats är att vi alltså måste multiplexa våra data. Jag har svårt att tro att vi är först i världen, eller ens i Sverige, med det här problemet. Då inställer sig med automatik frågan: Hur brukar man göra i PLC/Profibus-världen? Vi kan naturligtvis skapa ett helt eget "hittepå" men då är risken stor att vi antingen blir betraktade som idioter eller att resultatet blir dåligt. Eller både och.
Användarvisningsbild
Jan Almqvist
Inlägg: 1654
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Fråga om PLC och Profibus.

Inlägg av Jan Almqvist »

Min uppfattning är det brukar vara svårt att övertyga övriga inblandade om nödvändigheten av handskakning mellan olika system. Eller att t.ex. 2^5 inte är 25....
jako
Inlägg: 336
Blev medlem: 26 oktober 2006, 18:32:35
Ort: Sandviken

Re: Fråga om PLC och Profibus.

Inlägg av jako »

Prova att ställa frågan till Siemens support, jag har använt dem vid några tillfällen och de har varit mycket hjälpsamma (var i.o.f.s. I US of A)
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om PLC och Profibus.

Inlägg av lillahuset »

Bra tips. Kom just på att jag möjligen har en kontakt som har en kontakt på Siemens. Iofs inte "PLC-avdelningen" men det skadar ju inte att fråga.

Du då jako, har du någon åsikt i fallet? Undrar en som har sommarjobbat på Sandvik. :)
DeeJayPA2
Inlägg: 371
Blev medlem: 19 mars 2008, 19:20:25
Ort: Luleå

Re: Fråga om PLC och Profibus.

Inlägg av DeeJayPA2 »

Hur mycket data rör det sig om?
Antingen får du skapa fler noder eller multiplexa. Om du gör en snurra i PLCn som frågar din nod om register1, när datan är inläst till ett datablock så skickar PLCn fråga på register 2, flyttar det till datablock osv. Finns standard funktioner i S7 för detta.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om PLC och Profibus.

Inlägg av lillahuset »

Potentiellt kan det handla om mer än 1Mbyte/s men det vill vi naturligtvis inte skicka. Gissningsvis handlar det om 400 mätvärden (400*16) var tionde sekund.

Som jag har fattat det så kan min gateway bara uppträda som en adress (eller nod?).

Så i princip stödjer S7 inläsning av ett antal register med uppräkning av "index" vid varje läsning? Kan S7 "sortera bort" duplicerade data baserat på en variabel som indikerar vilken "sida" meddelandet innehåller?
DeeJayPA2
Inlägg: 371
Blev medlem: 19 mars 2008, 19:20:25
Ort: Luleå

Re: Fråga om PLC och Profibus.

Inlägg av DeeJayPA2 »

Du behöver använda fler gateways för att få
fler noder.

Ja du kan indexera inläsningen. Jag är inte riktigt med på vad du menar i andra frågan men S7 är ganska fritt programmerbart så det är mer upp till den som gör programmet.

Jag antar att eran kund har koll på tillgänglig kapcitet i PLCerna, men eftersom dom har krav på profibus för detta så blir jag fundersam. Men jag har ingen aning om applikationen så vi får anta att det är befogat.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om PLC och Profibus.

Inlägg av lillahuset »

Helst vill vi bara ha en gateway men om det blir för otympligt får det bli flera.

Fråga två handlar som jag tänker om det hela (korkat eller inte) att PLCn kan läsa ett "ord" (index) och utifrån det avgöra var den ska placera indata i "processbilden" eller vad man nu kallar det i PLC-världen.

Sorgligt nog är det nog du som har bäst koll. :shock:
Användarvisningsbild
Jan Almqvist
Inlägg: 1654
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Fråga om PLC och Profibus.

Inlägg av Jan Almqvist »

Att överföra mer information mellan olika system än man har bitar är ganska vanligt i PLC-världen. Ponera att du har 16 databitar tillgängligt. Då kan man t.ex. använda 8 bitar för data, 7 bitar för adress och 1 bit för klocka och överföra 128 byte istället för 16.
Skriv svar