AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein VBasic > Delphi ich verstehe das was nicht
Thema durchsuchen
Ansicht
Themen-Optionen

VBasic > Delphi ich verstehe das was nicht

Ein Thema von robinWie · begonnen am 13. Jul 2006 · letzter Beitrag vom 13. Jul 2006
Antwort Antwort
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#1

VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 14:59
Hallo,
ich habe mir die Relaiskarte K8056 von Velleman gekauft und möchte eine eigene Anwendung dafür in Delphi entwickeln. In der Anleistung steht, dass die Befehlsfolge so ausehen muss:
Zitat:
1. CHR$(13)
2. Karntenaddresse(1...255)
3. Befehl
4. Addresse(1 ... 255) oder Relaisnummer ('1'..'9' ASCII)
5. 'checksum' Summe prüfen (2-Komplement der Summer der 4 vorigen Bytes +1);
Hier mal die Wichtigsten Befehle

Zitat:
[...]
'S': Relias einstellen. 'S'-Befehl soll durch Relais # '1' bis '8' gefolgt werden. [...]
'C': Relias löshcen. 'C'-Befehl soll durch Relais # '1' bis '8' gefolt werden. [...]
Das mit der Checksumme verstehe ich nicht. In Visual Basic sieht das so aus:
Code:
checksum = (255 - ((((13 + address + Asc("S") + Asc("4")) / 256) - Int((13 + address + Asc("S") + Asc("4")) / 256)) * 256)) + 1
Niergendwo ist definiert was checksum eigentlich für ein Typ sein soll, das macht es für mich ja noch schwerer. Ihr könnt euch das Programm hier runterladen, wenn euch das hilft. der Code ist in der Datei "K8056.frm".
Der Com-Port muss so konfiguriert werden:
Baud: 2400
Paritätt: Keine
Databits: 8
Stopbits: 1

Weiss jemand wie man das in Delphi umsetzt?

Danke im Voraus
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#2

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:03
ja

Delphi-Quellcode:
var
  checksum: byte; // vieleicht integer

begin
  checksum := (255 - ((((13 + address + ORD("S") + ORD("4")) / 256) - ((13 + address + ORD("S") + ORD("4")) DIV 256)) * 256)) + 1
ich habs zwar nicht im compiler ausprobiert - sollte ab so laufen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#3

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:15
ich habe es ausprobiert aber bekomme immer die Meldung:
[Fehler] Unit2.pas(41): E2010 Inkompatible Typen: 'Byte' und 'Extended'
bzw.
[Fehler] Unit2.pas(41): E2010 Inkompatible Typen: 'Integer' und 'Extended'
Dann habe ich checksum als Extended definiert aber dann bekomme ich den nicht mehr in den String reinkopiert
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:17
Ersetz das "/" durch ein div.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:18
Damit dir die Mathematik dahinter etwas deutlicher wird:
Delphi-Quellcode:
// Das hier ist die Summe der Ascii-Zeichen des Befehls
sum := 13 + address + Ord('S') + Ord('1');
// Wähle die Prüfsumme so, dass alle 5 Zeichen addiert im low byte 0 ergeben
crc := (256 - sum) mod 256;
Den VB Code hat offensichtlich jemand verfasst, der nicht wusste, dass es dort auch einen Mod-Operator gibt. Ist sogar noch ein Fehler drin: es kann nämlich (theoretisch) 256 herauskommen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#6

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:33
ist dieses "CHR$" eingentlich eine Routine? Ich habe ehrlich gesagt keinen Plan von VB
Ach ja und wenn ich über mein Prog ein Befehl sende, blitzt die Lampe für den Port auf der Karte nicht einmal auf Dabei habe das richtig konfiguriert
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:37
schau mal bitte in diesen Thread -> http://www.delphipraxis.net/internal...light=velleman
dann sollten sich Deine Fragen von alleine beantworten.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#8

Re: VBasic > Delphi ich verstehe das was nicht

  Alt 13. Jul 2006, 15:42
Danke für den Link Klaus
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz