Hallo allemaal,

op het moment zit ik een half jaar op stage bij een bedrijf dat zonwering automatisering doet. Dit doen ze op het moment met Moeller PLC's. Nu willen ze graag overstappen naar een anders soort "PLC"; de MIAC (http://www.matrixmultimedia.com/product.php?Prod=MIAC%20controller).

Opzich nog niet moeilijk, de software ontwikkel omgeving (Flowcode 4 PIC) is redelijk gebruiksvriendelijk en met wat eenvoudige handelingen heb je al snel een schakelingetje gemaakt.

Nu komt het uitdagende; het bedrijf werkt veel met het CAN-bus systeem om zonwering in grotere gebouwen centraal te kunnen sturen. Wanneer de zonnecel een bepaalde waarde bereikt moet bijvoorbeeld de gehele noord gevel aangestuurd worden. De huidige PLC (Moeller) ontvangt die data, zet het om naar een CAN bericht en stuurt die over de bus lijn. Nu is de bedoeling dat de nieuwe PLC (MIAC) ook met het CAN-bus systeem gaat werken. De module is er voor geschikt, de aansluitingen zijn er ook en ik krijg het op het moment ook voor elkaar om een CAN bericht over de bus lijn te verzenden.

Waar ik nu blijf steken is dat ik de andere MIAC (heb er 2 gekregen) niet kan laten reageren op een bepaald bericht. Ik wil met de ene module (master node) een bepaald bericht verzenden, bijvoorbeeld "20010001" en zodra de andere module (slave node) dat specifieke bericht voorbij ziet komen hij een uitgang hoog maakt of iets dergelijks, in ieder geval dat hij het bericht herkent en er op reageert.

Dit lukt mij helaas tot op heden nog niet. Dus bij deze de vraag of iemand ervaring heeft met deze MIAC modules en of die mij eventueel verder op weg kan helpen.

Alvast bedankt voor de moeite!

P.s.
wanneer nodig kan ik eventueel een voorbeeld van de code plaatsen.

P.p.s.
uiteindelijk moet er een touchscreen aankomen en moet bij via internet te benaderen zijn maar eerst maar eens kijken dat ik een CAN bericht kan verzenden en ontvangen ;)

Dus als ik het goed begrijp gaat dat bedrijf overstappen van een fabricaat dat zich bewezen heeft en dat goed functioneert op een absoluut onbekende speler in de markt.

Het is een leuk ding hoor, daar niet van, en een heel stuk flexibeler dan die Moeller.

@GJ_: Het bedrijf wil iets nieuws proberen om te kijken óf de overstap de moeite waard is. Tevens is deze keuze ook gemaakt om voor mij een stageopdracht te maken die voldoet aan de eisen van school.

Ah, op die fiets. Zoals ik al zei: het is wel een stuk flexibeler. Met je vraag kan ik je helaas niet helpen.

Het werkt inderdaad best mooi, het programmeren ervan is niet echt mijn ding. Ben gewoon simpelweg codes typen gewend in plaats van grafisch werken... Maar ja het went ;)

Net precies een leuke testopstelling gemaakt, 5 ingangen als digitaal ingesteld met gewoon een wisselschakelaartje erop en 3 ingangen als analoog ingesteld met een potmeter erop. Dit omdat ik straks waarden wil kunnen simuleren en over de CAN-bus wil sturen. (analoog: zonnewaarde, windsnelheid, luchtvochtigheid - digitaal: hand/auto, hand hoog, hand stop, hand laag, glazenwasser stand)

Edit:
Foto!
http://i55.tinypic.com/2cpojed.png
Helaas maar een kleine foto...

[Bericht gewijzigd door Jacks0nxD op (34%)]

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?