Heb het nu in grote lijnen werken, de opdracht is namelijk gewijzigd...
De MIAC wordt nu eigenlijk een soort SensorBox:
- 4 analoge ingangen (windrichting, windsnelheid, zonwaarde, zonrichting)
- 4 digitale ingangen (regensensor, 3x glazenwasser schakelaar)
Deze data moet via de CAN-bus overgestuurd worden, gewoon simpelweg met een vast ID de data sturen, voorbeeld van de data wordt dan:
8 * 10 08 F2 F3 00 00 00 00
8 - identifier
10 - windrichting (hex)
08 - windsnelheid (hex)
F2 - zonwaarde (hex)
F3 - zonrichting (hex)
00 - regensensor (digitaal)
00 - glazenwasser (digitaal)
00 - glazenwasser (digitaal)
00 - glazenwasser (digitaal)Het enige probleem waar ik nu mee zit is dat mijn programma nu continue data stuurt over de CAN-bus. Wat ik wil bereiken is dat enkel wanneer de data die van de sensors afkomt veranderd hij die data overstuurd. Dus wanneer bijvoorbeeld de zonwaarde daalt moet de software de data op de CAN-bus zetten, nu mag hij ook meteen alle andere data meezenden; dit is geen probleem. Wanneer het weer dan "stabiel" is zend hij niets, dat is het idee...
Alleen nu kom ik er niet meer uit hoe ik die voorwaarde moet maken, de programmering in Flowcode 4.
Stappen
- data komt binnen (AI1)
- data wordt vergeleken met een variabele/buffer (AI1a),
- is de data (AI1) gelijk aan de data die in de variabele/buffer staat (AI1a) dan wordt de volgende ingang bekeken (AI2),
- is de data (AI1) niet gelijk aan de data die in de variabele/buffer (AI1a) dan wordt de data verzonden maar ook opgeslagen in die variabele/buffer,
- Dit wordt ook gedaan met de data die binnen komt op AI2, AI3, AI4, DI5, DI6, DI7, DI8.Ik weet dat ik met logische blokken een vergelijking moet maken maar kom er gewoon niet meer uit :$
Zou iemand mij in de juiste richting kunnen sturen?