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:

  • No labels