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

Compare with Current View Page History

« Previous Version 3 Next »

 Funksjoner og funksjonsblokk - movement programmet

Funksjonsblokk - visualisering

moveFromCoord funksjonen tar de to første tallene/bokstavene fra sjakkbevegelsesnotasjonen i formatet "h8h4", og gir ut et korresponderende koordinat for roboten som er lagret i en array.









moveToCoord var satt opp på akkurat samme måte som funksjonen over, men at den tar de to siste verdiene fra formatet "h8h4". På denne måten kan den ene kalles i en sekvensblokk for robotbevegelsen fra der brikken skal beveges og den andre til koordinatene den skal beveges til.

Inputs og output til moveFromCoord og moveToCoord har disse input-/output- og funksjonsvariabler:


Den siste funksjonen i hovedkoden var pieceHeight som brukes for å finne riktige z-koordinater for roboten, ut ifra hvilke brikker som skal flyttes. En brikke type blir satt som input, og den får en output av korresponderende høyde fra en array med brikkehøyder. En array med brikkenavn har samme indeks som hver brikkes høyde.

capturePlace var funksjonsblokken som lagret hvilke brikker som har blitt tatt. Denne ble implementert etter at hovedprogrammet viste at det kunne bevege delene. Ettersom det ikke var noen plass å legge brikkene fra capture sekvensen, måtte roboten ha en plass å lagre verdiene.

Funksjonsblokken over ble initalisert i ST men vises her med inputs og outputs. Denne returnerer posisjonen til brikketypen ut ifra en fast designert plass til hver type på siden av brettet, se brettet. Den lagrer hvilke plasser som er fylt opp og sender ut lokasjonen på brikkene ut ifra typen, dersom plassen skal bli tømt eller fylt men en brikke. Place og take inputs blir brukt til å gi angi om piecePos skal gi ut en fylt  posisjon eller en tom en.

Måten den blir satt opp, var ved hjelp av to-dimensjonale arrays, som er beskrevet i CODESYS dokumentasjon. De blir brukt til å skape to matriser på . En for BOOL verdier, for å lagre om plassen er opptatt, og en for strings, som lagrer hvilken type brikke plassen er designert til.


  • No labels