You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Modbus TM-FLOW

Modbus CODESYS


Etter mange timer med prøving og feiling ble det endelig forstått hvordan oppsettet på Modbus dataen skulle legges inn.

I CODESYS blir det lagt inn

  • Holding registers for å lese data (WORD) fra OMRON PLS-en inn til WAGO-en
  • Coils for å sende BOOL Coil/booleans
  • Input registers for å sende WORD

For å sette innstillinger for variablene måtte det settes opp slik. Antallet avhenger av hvor mange variabler man vil sende over MODBUS:

Holding registers

For å lese inn holding registers data måtte variablene deklareres slik som i den øverste figuren ,og bli koblet til en variabel i et kjørende program (kan ikke bare mappes direkte til en global variabel).

For variabler som skal sendes til OMRON kan de bare mappes til variabelen.


Input register

Input registers blir brukt til å sende variabler i WORD format fra Wago PLC. Disse er relativt simple å sette opp og krever bare at man mapper variablene til det registeret det skal sendes på. Ettersom en setter det til WORD (16 bit)  må en passe på at variablene blir konvertert riktig når det skal sendes. I vårt tilfelle ble INT_TO_WORD brukt, siden robotkoordinatene var i mm, og vi ikke trengte høyere oppløsning en hele tall.

Coil/booleans

Coil/booleans

For å sende BOOL må en variabel deklareres til typen byte og bli koblet til en coil som vist under.


Deretter må en aktivere enkelte bits i byte variabelen. Det går ikke an å koble en enkelt bit til en BOOL uten å mappe til en byte.


Selve programstrukturen må se slik ut, med Ethernet porten og ei Slave lagt til i devices:

Ruter Setup

Ressurser

En egen ruter skulle kobles opp for å opprette et LAN som Wago PLS-en og roboten kunne kobles til. Da blir det også mulig å koble seg til systemet med PC-en trådløst, på det lukkede nettverket.

På dette nettverket skulle både Modbus RTU kommunikasjonen og MQTT protokollene kjøre. Utstyret som kom fra lageret på NTNU var ikke alltid like stabilt. Tre rutere ble testet før det fungerte til å sette opp nettverket.

Ettersom PLS-ene hadde en fastsatt IP-adresse, ble det bestemt at den skulle beholde samme adresse, for ikke å ødelegge dens innstillinger. Siden det ikke var en standard IP på 158.38.140.87, måtte oppsettet på ruteren endres. Gateway adressen ble endret til 158.38.140.1 for å gjøre det enkelt for Wago PLS-en å koble seg på.

Det fungerte fint på et lokalt nettverk fram til ruteren koblet ut, som skjedde med en av de første ruterne som ble prøvd. Hver gang ruteren ble resatt for å få tilbake kommunikasjonen ble den også satt til standard IP på 192.168.0.1.

For at enhetene ikke skulle miste kontakten, måtte de også bli tildelt statiske IP-adresser. I OMRON ble den nye Gateway adressen lagt inn slik at det skulle vite hvilket nettverk den skulle forvente en IP-adresse fra. Ettersom OMRON PLS og TM-5 roboten er separate systemer, hadde roboten også en helt annen IP-adresse. Dette ble heldigvis ikke noe problem for OMRON PLS-en.

Nettverksoppsettet til TM-FLOW ser slik ut:

Her går en inn på MODBUS innstillinger og trykker TCP på Enable i Modbus slave.  IP-adressen må være innenfor den satte rangen til ruteren.

  • No labels