ok sorry, kheb inderdaad wat weinig informatie gegeven
Wat er dus moet gebeuren
Ik weet niet of er iemand op de hoogte is van de ISO11783, of ook wel de ISOBUS genaamd. Wel deze zorgt ervoor dat toestellen aan elkaar verbonden worden via een ISO protocol, toegepast bij landbouwmachines. Nu heb ik hier zo'n scherm staan, ook wel virtual terminal genaamd, die werkt volgens de ISO. Maar deze heeft als OEM software ingeladen door de fabrikant ( in mijn geval is dat Case New Holland software ), en deze wordt niet vrijgegeven. Nu wil ik m'n eigen software schrijven en op dit scherm weergeven. Ik moet dus can-berichten kunnen sturen naar het scherm, maar het scherm wil daar maar niet op reageren. Ik moet dus zogezegd kunnen 'inbreken'. Maar daar zit nu m'n probleem, ik weet niet hoe ik dit moet doen. Ik geeft een voorbeeld:
Ik heb hier een parameter uit de ISO 11783 die het volume van het scherm kan regelen:
Wijzigen van het volume:
--------------------------------------
Data length : 8 bytes
Parameter group number : ECU to VT, Destination Specific
Allowed in a macro: YES
Byte 1 = VT Function 164
Byte 2 = % (0-100%) of maximum volume
Byte 3-8 = Reserved, transmit as FF
-----------------------------------
Deze parameter geeft aan dat het een parametergroep betreft van de ECU naar de Virtual Terminal, wat dus moet lukken denk ik..
Nu maak ik met CANKing ( een programma die can-berichten leest, en kan versturen ) een bericht aan met volgende paramters:
CAN-ENVELOPPE: $1CE6FF26 ( het adres van het scherm )
DLC: 8
Line 0: 164 ( die functie van het volume )
Line 1: 20 ( bv op 20 procent plaatsen )
Line 2 tot Line 7 : leeglaten
Nu als ik dit verstuur zie ik op m'n binnenkomende berichten in het programma CANKING dit als resultaat:
484900646 8 164 20 0 0 0 0 0 0 19996.285 T
wat dus betekend dat ik een transmit gemaakt heb ( zonder FLAG ). Maar een seconde later krijg ik terug het originele op m'n scherm .. dit dus:
484900646 X 8 254 38 0 0 0 0 0 0 19997.385 R
en op m'n terminal is er niets gewijzigd of gebeurd. Doe ik iets verkeerd, of ben op de verkeerde weg aan het redeneren? En ook, die FLAG, wat doet dit juist?
Hopelijk begrijpt iemand m'n probleem?
Alvast zeer erg bedankt
grtz
Alexander aka Q.