Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Planlegging

Visualisering

I starten ble det viktig å legge inn de forskjellige variablene som skulle kommuniseres over de forskjellige feltbussene, slik at det ble enklere for gruppemedlemmene å jobbe hver for seg.

Vi startet med en rask skisse av hvordan selve kommunikasjonen skulle funke mellom enhetene:

DEN MÅ LEGGES INN HER



Videre ble de forskjellige variablene som trengte for kommunikasjonen laget:



Deretter var det en del funksjoner som trengter


.


.


.



Til slutt ble sekvensen laget for robotbevegelsen. Det ble igjen brukt mye tid for å få kommunikasjonen som planlagt, men etter mye prøving og feiling ble det satt opp riktig i både TM Flow og CODESYS, ref MODBUS side.


Sekvensen for selve spillingen endte opp med å se slik ut:


Det generelle oppsettet til hver kodeblokk i robotspillingen var veldig likt, bortsett fra forandinger i hvordan koordinatene ble satt. For å kunne ta motspilleren sine brikker måtte en gameState for "capture" bli lagt til, som hopper tilbake til vanlig bevegelse når motstanderen kommer i kontakt med flere.




Image Added


Function Block

En funksjonsblok med 16 input og 4 output for å kunne flytte brikkene.

inputene:

  • WSelectedX, WSelectedY: Velger brikke som står på X- og Y-koordinaten for hvit brikke.
  • WTargetX, WTargetY: Velger sluttposisjon til hvit brikke.
  • BSelectedX, BSelectedY: Velger brikke som står på X- og Y-koordinaten for svart brikke.
  • BTargetX, BTargetY: Velger sluttposisjon til svart brikke.

Tidligere posisjoner:

  • PrevWSelectedX, PrevWSelectedY: Er de tidligere posisjonene til den hvite brikken (WTargetX, WTargetY).
  • PrevBSelectedX, PrevBSelectedY: Er de tidligere posisjonene til den svarte brikken (BTargetX, BTargetY).

Nye posisjon:

  • PrevWTargetX, PrevWTargetY: Er de nye posisjon til den hvite brikken.
  • PrevBTargetX, PrevBTargetY: Er de nye posisjon til den svarte brikken.

Outputene:

  • WhitePiecePos: Er startposisjonen fra WSelectedX, WSelectedY til slutt posisjon fra  WTargetX, WTargetY for hvit brikke.
  • BlackPiecePos: Er startposisjonen fra BSelectedX, BSelectedY til BTargetX, BTargetY for svart brikke.
  • PrevWhitePiecePos: Er den nye posisjonen fra PrevWSelectedX, PrevWSelectedY til den nye slutt posisjon for hvit brikke.
  •  PrevBlackPiecePos: Er den nye posisjonen fra PrevBSelectedX, PrevBSelectedY til den nye slutt posisjon for svart brikke.

Image Added