Ik ben bezig een machine aan te sturen via de COM-poort in VB6. Nu heb ik alles gereed, maar de uiteindelijke aansturing krijg ik niet aan de praat.
Ik heb een uitgebreide handleiding er bij gekregen, maar 1 ding vat ik er niet uit.
Om een opdracht te geven moet ik de volgende regel in de output zetten:
waarbij,
STX het startsein is;
a het Taaknummer van het apparaat is;
HT een separator is;
b het Taaknummer van de software is;
HT nogmaals een separator is;
opdracht de opdracht aan de machine is;
CR LF een verplichte carriage return linefeed is;
checksum de checksum is;
ETX is er om het einde van de opdracht aan te duiden.
Checksum wordt op de volgende manier gebruikt (ik citeer uit de handleiding):
e en o snap ik even niet, dit moeten decimale getallen zijn, als ik dit van HEX naar DEC omreken kom ik uit dat e 14 is en o -1. Als ik dan de mogelijkheden zie, kan e alleen een waarde van 1 tot 4 zijn en 0 van 10 tot 18.
Waar ik het meeste mee zit, waar haalt hij de checksum vandaan? 0CC4 is omgerekend 3268 in DEC. Dus waar komt dat vandaan die 3268? Dat komt niet overeen met zijn idee van een checksum, zoals eerder stond uitgelegd, volgens mij.
Ik denk dat ik op de checksum dus vast loopt (want uiteraard krijg ik die machine niet aan de praat). Of misschien e en o, of in het vorige voorbeeld, a en b.
Kan iemand die checksum verklaren eventueel?
Voor diegene die het interesseren, het apparaat is een Berthold Centro LB 960, maar weet bijna zeker dat je daar niks aan hebt.
Ik heb een uitgebreide handleiding er bij gekregen, maar 1 ding vat ik er niet uit.
Om een opdracht te geven moet ik de volgende regel in de output zetten:
code:
1
| STX a HT b HT opdracht CR LF checksum ETX |
waarbij,
STX het startsein is;
a het Taaknummer van het apparaat is;
HT een separator is;
b het Taaknummer van de software is;
HT nogmaals een separator is;
opdracht de opdracht aan de machine is;
CR LF een verplichte carriage return linefeed is;
checksum de checksum is;
ETX is er om het einde van de opdracht aan te duiden.
Checksum wordt op de volgende manier gebruikt (ik citeer uit de handleiding):
Checksum is uiteindelijk HEX dus, ze geven voor de aardigheid ook een voorbeeldje:Checksum: Checksum with four digits (calculated with all characters excluding ETX)
code:
1
| STX e HT o HT RESULTBOX CR LF 0CC4 ETX |
e en o snap ik even niet, dit moeten decimale getallen zijn, als ik dit van HEX naar DEC omreken kom ik uit dat e 14 is en o -1. Als ik dan de mogelijkheden zie, kan e alleen een waarde van 1 tot 4 zijn en 0 van 10 tot 18.
Waar ik het meeste mee zit, waar haalt hij de checksum vandaan? 0CC4 is omgerekend 3268 in DEC. Dus waar komt dat vandaan die 3268? Dat komt niet overeen met zijn idee van een checksum, zoals eerder stond uitgelegd, volgens mij.
Ik denk dat ik op de checksum dus vast loopt (want uiteraard krijg ik die machine niet aan de praat). Of misschien e en o, of in het vorige voorbeeld, a en b.
Kan iemand die checksum verklaren eventueel?
Voor diegene die het interesseren, het apparaat is een Berthold Centro LB 960, maar weet bijna zeker dat je daar niks aan hebt.