ASCII CRC-16 Modbus

MS Visual Basic, Visual Basic Application (Excel, Word...) tippek-trükkök, programozások.
Válasz küldése
Avatar
Sanci
Bitmanipulátor
Hozzászólások: 107
Csatlakozott: 2008. március 14. péntek, 6:00

ASCII CRC-16 Modbus

Hozzászólás Szerző: Sanci »

Szervusztok!

Az alábbi gondban vagyok: (ASCII CRC-16 Modbus.)
Szeretnék egy Modbus kommunikációt összehozni.
AVR modbus és a 232Analyzer program szépen megy együtt. Vagyis a CRC számítások helyesek. Viszont Vb6 alól képtelen vagyok megoldani hogy menjen a Cheksum számítás.

Az alábbi kód működik nálam, viszont közel sem azt az eredményt kapom, mint amire szükségem lenne. Google-t próbáltam, de nem igazán jutottam eredményre.

E nélkül viszont az egész VB6 program nem sokat ér sajnos.

Amit próbáltam:

Private Sub Command1_Click()
Dim x As Long
Dim mask, i, j, nC, Crc As Integer
Dim c As String
Dim txt As String * 16

txt = Text1


Crc = &HFFFF '65535 crc mit $ffff initalisieren

For nC = 1 To Len(txt) Step 2
j = Val("&H" + Mid(txt, nC, 2)) 'im HEX-Format
Crc = Crc Xor j
For j = 1 To 8
mask = 0

If Crc / 2 <> Int(Crc / 2) Then mask = &HA001
Crc = Int(Crc / 2) And &H7FFF: Crc = Crc Xor mask

Next j
Next nC

txt = Hex$(Crc) 'Checksumme
Text2 = txt

End Sub

Előre is köszönöm!
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Ha még aktuális, akkor próbáld ki ezzel az osztállyal:
avr.tavir.hu/modules.php?name=Upload&file=download&archivo=clsCRC.zip

Én ezt használom CRC-re.
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Avatar
Sanci
Bitmanipulátor
Hozzászólások: 107
Csatlakozott: 2008. március 14. péntek, 6:00

CRC-16 Modbus

Hozzászólás Szerző: Sanci »

Nagyon szépen köszönöm! Megpróbálom.
Válasz küldése