-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Im " Rahmen senden " bei RS485

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78

    Im " Rahmen senden " bei RS485

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen,

    ich habe da einen Servomotor den man über eine 485 Schnittstelle
    Befehle schicken kann. Im Datenblatt steht auch was man dem Motor senden muss um etwas zu tun. Was mich etwas unsicher macht, dort steht der Befehl muss in einem Rahmen gesendet werden. Also der Protokollaufbau von seriellen Übertragungen ist nicht meine Stärke, geht das mit Bascom überhaupt?. Die Folgende Zeichenkette soll gesendet werden:

    "STX" - "1M" - "ETX" - "BCC"

    versuchen wollte ich das mit einem Mega8, RX und TX gehen nur mit den TTL Signalen auf einen Schnittstellenwandler, der macht dort ein 485 Signal draus, und dann auf den Motor.
    Die serielle ist folgendermaßen konfiguriert.

    Baud 9600, 8Datenbits, Parität gerade, 1 Stoppbit

    Ich hoffe es ist nicht zu allgemein beschrieben, so mann halbwegs versteht was ich meine. also mein Problem ist dieser Rahmen da kann ich nicht mit anfangen.

    Vielleicht weis jemand von euch Rat.

    Danke!


    Gruss Frank

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.11.2003
    Beiträge
    355
    probiers mit schicken eines chr zeichens (ich glaub 34 müsste es sein kann aber auch was anderes sein):

    print chr(34);"STX";chr(34);" - ";chr(34);"1M";chr(34)

    usw.

    kann natürlich aber auch sein das es einfacher auch geht!!!

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    Hallo MrNiemand
    sorry ich meinte emulein

    ich habe selbst ein Projekt mitRS485 im Auge (das brennt auch)
    Allerdings habe ich noch keinen Plan wie ich den RS485 realisiere (von der Softwarelösung (32 Devices/Slaves) habe ich auch noch absolut keinen Plan).

    Wie realisiert Du den RS485 - Wandler,
    welche CPU verwendest Du?
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2005
    Ort
    Nürnberg
    Alter
    37
    Beiträge
    118
    "STX" - "1M" - "ETX" - "BCC"
    STX und ETX sind ASCII-Steuerzeichen.
    STX = Start of Text ;ASCII-Code: 02
    ETX = End of Text ;ASCII-Code: 03

    Was "1M" und "BCC" sein soll weiß ich leider auch nicht. Evtl. sind das die zu übertragenden Daten. Kann man das Datenblatt mal sehen?

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hi,

    danke schon mal für die Hilfe, das mit dem CHR(), habe ich mal versucht
    bin mittlerweile nicht mehr so sicher, ob meine 485 Schnittstelle überhaupt richtig geht. Glaube da muss ich erst mal sicher gehen.

    Also ein Datenblatt habe ich da nicht, habe den Motor an einer kleinen Maschine abgebaut die Klebstoff aufgetragen hat. Der Besitzer hat mir das noch aufgeschrieben (hätte mir besser seine Adresse aufgeschrieben!)
    Also das mit den ASCII Steuerzeichen scheint zu stimmen, 1M ist der Befehl für den Motor um die Motorwelle zu halten. Wobei 1 die Adresse vom Motor ist. BCC soll so eine Checksume sein die das ganze nach der Übertragung noch mal prüft, so habe ihn verstanden.

    Also werde noch mal die Schnittstelle testen (muss da aber erst was bauen) dann werde ich das ganze noch mal versuchen.


    Danke!


    Gruss Frank

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hi, das Meiste ist ja schon gesagt.
    BCC: ist ein Block-Check-Character (xor aller zeichen nach STX)
    Der Bursche will halt ein komplettes Message-Frame haben, was durchaus sinnvoll ist.
    1M : zwischen STX u. ETX sind die eigentlichen Daten, die eigentlich dokumentiert sein sollten.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo,

    also wie gesagt, eine Handbuch oder ähnliches habe ich nicht, nur die
    paar Befehle die ich mir aufgeschrieben habe.
    Da sind dann noch: M für Stillstand, N für die Drehzahl, D für die Drehrichtung, I für die Stromgrenze (Drehmoment).

    Nur würde mich mal Interessieren wie man so ein "Massage-Frame" dann sendet. weist du das Robert?

    Gruss Frank

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Eigentlich einfach und herzergreifend.
    Du mußt die Zahl (1 , Drehzahl, etc) in einen String verwandeln und brauchst die länge. das ist sprachspezifisch (welche Sprache sprichst du ?)
    als Beispiel nur das "1M" in basic
    Code:
    dim bcc as byte
    
        print chr (2)               ' STX
        bcc = 0
    
        bcc = bcc XOR chr("1")
        print "1";
        bcc = bcc XOR chr("M")
        print "M";
    
        bcc = bcc XOR chr(3) ' ETX
        print chr (3);
        if bcc < 32  then bcc = bcc + 32    ' das ist so definiert bei BCC
        print chr (bcc);
    Der Datenteil sollt natürlich eine Schleife sein, aber zum probieren, ob's paßt, reicht das mal so
    Ich vermute auch, du kannst mehrere Commandos in einem Frame senden
    STX 1M1D40I300N ETX BCC ' richtung, strom und drehzahl

    fertig (glaub ich)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  9. #9
    Gast
    Hallo,

    danke für das Beispiel, hat leider nicht funktioniert, aber wie gesagt morgen erst mal die Schnittstelle testen. Bevor ich hier noch unnötige Arbeit mache. Danke!!

    Gruss Frank

  10. #10
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Gut. Achte darauf, daß alle "print" mit semikolon abgeschlossen sind, sonst fügt der print ein "CRLF" ein, und das wär schlecht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •