Hvordan utnytte feltbusser - Del 2

Hvordan sette opp innvevd industriell kommunikasjon for dummies

En enkel, steg-for-steg guide for nedlasting og kjøring av en Profinet programvarestakk i løpet av én time.

Publisert
Ola Björsne, RT Labs AB.

Profinet har vokst frem som et av de mest populære og mest brukte Fieldbus-systemene for datakommunikasjon over industrielt Ethernet – og med god grunn. Den tilbyr fleksibel og effektiv ytelse, med høye sanntids datahastigheter, for å drive digitaliseringsprosessen.

Samme språk?

Men for at en industriell enhet eller kontroller skal fungere på Profinet, må de kunne "snakke samme språk" i nettverket, noe som ofte krever valg av en dedikert kundespesifisert integrert krets (ASIC) eller maskinvaremodul. Disse tilnærmingene har flere ulemper knyttet til interoperabilitet og kostnader, der noen ASIC- og modulprodusenter insisterer på en royaltybetaling for hver enhet som selges, noe som resulterer i overhead gjennom produktets levetid.

Den elegante løsning

Heldigvis finnes det en mer elegant løsning ved å anskaffe en Profinet-programvarestakk som i stedet kjører på systemmikrokontrolleren i en innvevd enhet. Denne metoden for industriell kommunikasjon gir flere fordeler - den støtter et fullt kundetilpasset produkttilbud og gjør det mulig for utstyrsprodusenter å ta fullstendig eierskap og kontroll over forsyningskjeden. Videre, ved å fjerne behovet for en maskinvaremodul oppnår man kostnadsbesparelser, og reduserer samtidig kompleksiteten i forsyningskjeden ved å redusere materiallisten.

Mer gjenbruk

En annen fordel med den programvarekonfigurerte tilnærmingen er at den kan gjenbruke samme design i ulike produkter. En rask og enkel modifikasjon av koden i programvarestakken gjør at mikrokontrolleren kan kommunisere med en annen feltbuss – noe som gjør det mulig å bringe et nytt produkt til markedet innenfor en kortere tidsramme enn der et redesign av maskinvare er nødvendig. En programvarebasert tilnærming gjør det også enkelt å tilføre kundetilpassede funksjoner i avanserte produkttilbud ved å justere stakkens kode. Så når du bruker RT-Labs' Profinet-enhetsstakk for Profinet-implementeringer, gjør dens lille kodeavtrykk den mindre kompleks enn andre Profinet-stakker, noe som gjør den godt egnet for innvevde systemer.

Lære å konfigurere en Profinet programvarestakk

Men hvor enkelt er det å konfigurere en Profinet-programvarestabel? Kunne en programvareutvikler som er mer kjent med å implementere ASICer eller maskinvaremoduler for industriell kommunikasjon være i stand til å laste ned koden og kjøre en prøveapplikasjon på kort tid? Svaret på dette spørsmålet er et rungende ja. Vanligvis er det mulig å bygge en programvarestakk innen en time, ved å bruke de følgende seks nøkkeltrinnene som en guide som kan hjelpe deg med å nå dine mål.

Steg 1: Identifisere den relevante maskinvaren

Som et utgangspunkt trenger du noe maskinvare, inkludert en bærbar datamaskin. For denne trinnvise veiledningen foreslår vi å kjøre p-net Profinet enhetsstakk og tilhørende eksempelapplikasjon på en Raspberry Pi (figur 1), et innvevd Linux-kort. En annen Raspberry Pi brukes som en PLC (Programmable Logic Controller = IO-kontroller) som kjører Codesys soft PLC

Figur 1 Raspberry Pi tilkoblet en bærbar PC.

Annen nødvendig maskinvare for å gjennomføre aktiviteten omfatter:

1 Raspberry Pi som IO-enhet

1 Raspberry Pi som IO-kontroller, eller en PLC

1 Ethernet svitsj (Figur 2)

3 Ethernet-kabler

Figur 2 4-port Ethernet svitsj

Steg 2: Oppsett av Raspberry Pi som IO-enhet for å kjøre p-net

Siden PLC-en vanligvis vil endre IP-adressen til IO-enheten, anbefales det å koble et tastatur, en mus og en skjerm til Raspberry Pi som kjører p-net-applikasjonen. Alternativt kan en USB-til-serie kabel brukes til å kommunisere med Raspberry Pi fra den bærbare datamaskinen.

Steg 3: Installering av nettverksavhengighetene

Raspberry Pi må være koblet til Internett via LAN eller WiFi for å kunne laste ned programvare. For å kompilere p-net på Raspberry Pi trenger du en nyere versjon av Cmake, en åpen kildekodebasert, plattformuavhengig familie av verktøy designet for å bygge, teste og pakke programvare, og som kan brukes til å styre programvarekompileringsprosessen. Når Cmake er installert og verifisert, kan den så sammenlignes med minimumsversjonen som kreves for p-net.

Steg 4: Nedlasting og kompilering av p-net

RT Labs sin p-net enhetsstakk er åpen kildekode, og er fritt tilgjengelig på Github under en GPLv3-lisens 1. Den støttes av omfattende dokumentasjon og støttemateriell, inkludert generisk Profinet-informasjon og veiledninger 2. Deretter er det bare å klone og bygge kilden

Opprett og skriv inn en arbeidskatalog:

mkdir profinet

cd profinet

# Download P-Net using git clone

git clone --recurse-submodules https://github.com/rtlabs-com/p-net.git

Opprett og konfigurer oppbyggingen før du bygger koden:

cmake -B build -S p-net

cd build

make all

Kildekoden inneholder en GSD fil (skrevet i GSDML), som forteller IO-kontrolleren hvordan den skal kommunisere med IO-enheten.

Steg 5: Kjøre eksempelapplikasjonen

Det er da mulig å kjøre eksempelapplikasjonen i byggekatalogen, aktivere Ethernet-grensesnittet og angi IP-adressen.

./pn_dev -vvv

Så snart du har installert eksempelapplikasjonen på Raspberry Pi, må den kobles til en PLC for å kunne se den i aksjon. For å sette opp PLC, foreslår vi å bruke Codesys soft PLC. Installer Raspberry Pi OS på den andre Raspberry Pi - ingen seriekabel eller lysdioder kreves. Koble sammen de to Raspberry Pi-kortene og den bærbare datamaskinen via en Ethernet-svitsj.

Steg 6: Konfigurere og studere kommunikasjonen

Når prøveapplikasjonen kjører, er det mulig å bygge nye funksjoner, som å aktivere automatisk start av prøveapplikasjonen når strømmen blir slått på. Den resulterende kommunikasjonen kan manipuleres – for eksempel ved å utløse alarmer eller legge til diagnostikk. For Profinet-medlemmer er testverktøyet ART tilgjengelig for samsvarstesting, med tester som kjøres mot eksempelapplikasjonen for å verifisere samsvar med stakken.

Nå kan du eksperimentere

Dette var en rask gjennomgang av hvordan du konfigurerer og kjører en Profinet-programvarestakk - og det er mulig å oppnå disse aktivitetene på kort tid. Etter å ha gått gjennom disse seks trinnene, kan du begynne å utvikle applikasjonene dine ved å bruke eksempelapplikasjonen som en startmal. Eksperimentér ved å endre de tilgjengelige modulene, og datatypene de sender og mottar. Og du kan endre GSDML-filen tilsvarende for å gjøre rede for IO-enhetens oppførsel overfor PLC-konfigurasjonsverktøyet. Det er tilgjengelig mange nettressurser med ideer om hvordan du skriver applikasjonen din.

Innvevd industriell kommunikasjon trenger ikke være vanskelig

Avslutningsvis er fordelene med Profinet som et Fieldbus-system for datakommunikasjon over Ethernet blitt etablert i industrielle markeder over lang tid. Men det fins nye måter å koble til en enhet eller kontroller, for å operere på Profinet og få dem til å snakke samme språk. Å bruke en RT Labs-programvarestakk er en alternativ tilnærming som gir større fleksibilitet, mer innovasjon, lavere kostnader og redusert sårbarhet for forstyrrelser i forsyningskjeden. Og det er mulig å begynne å eksperimentere med denne spennende teknologien i løpet av en time.

1. https://github.com/rtlabs-com/p-net

2. https://rt-labs.com/docs/p-net/

Powered by Labrador CMS