- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 55

Thema: RS 485 Master - Slave in Bascom???

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    336

    RS 485 Master - Slave in Bascom???

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    wie kann ich einen Master und einen Slave mit RS485 programmieren?
    mit Print kann ich vom Master aus senden denke ich. Doch wie kann der Slave dies empfangen. Gibt es da irgendwo etwas nachzulesen? oder kann mir dies einer von euch erklären?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,
    Du kanst Dir mal die Befehle Inkey, Input, Inputbin usw. anschauen,
    damit kann man die Zeichen die über UART reinkommen abfragen.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    Zum RS485 Protokoll allgemein hatte ich ja auch schon einige Fragen.

    Mittlerweile habe ich wohl hingenommen dass RS485 kein definiertes Protokoll hat, sondern "nur" die Hardware bescheiben soll.

    Wo kann man Beispielprotokolle für einen Multislave Bus (Master Adr. 1 bis ca 31 Geräte also 30 Slaves) bekommen?

    Am liebsten wären mir Praxisbeisiele und deren Umsetzung mit Bascom.
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2005
    Beiträge
    17
    Hallo darwin.nuernberg,

    schau mal nach SNAP-Protokoll. Damit kann man sehr zuverlässig eine
    Master- Slave-Anwendung schreiben. Das Protokoll ist einfach zu imple-
    mentieren und ziemlich stabil.

    mfg

    AVRWalli

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    16.06.2004
    Alter
    36
    Beiträge
    77
    hallo,
    ich sitze auch shcon seit langer Zeit an diesen Problemen. Ich bin jetzt soweit, dass ich ein einwandfrei funktionierendes Multi-Slave System aufgebaut habe.

    Ich habe vor mein Projekt noch zu dokumentieren, aber im Moment bin ich leider etwas im Abistress und deswegen hab ich keine Zeit. Sobald ich hier fertig bin (3-4 wochen) werd ich mich mal dransetzen.

    Ein Protokoll, welches den Datenverkehr steuert hab ich auch schon entwickelt.

    Falls es euch interessiert, meldet euch mal und ich werde euch dann infos zukommen lassen. Ich habe übrigens bisher auch alles in Bascom geschrieben. Wollte schon immer mal eine Lib für RS485 entwerfen, habe leider nur zu wenig ERfahrung in ASM.

    Also seit unbesorgt, wer Geduld hat kann Infos bekommen.

    Gruß
    Baui

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    scha doch mal nach Profibus,
    der verwendet den RS485 hardwaremäßig.
    wenn du das dann in Bascom implementierst haste auch gleich profibus kompatibles system
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    @Baui
    Geduld habe ich Viiiiieeeel.
    Interresse noch Meeeeehr!

    Speziell da Du scheinbar mit Protokoll und Hardware zusammen eine Komplettlösung liefern könntest?

    Nicht nur die Einen, die von der Software nur die theoretische Ahnung haben, aber praktisch noch nie damit gearbeitet haben.
    Oder die anderen Die nur die Hardware zusammenschrauben sich aber um die Software nicht kümmern.

    @AVRWalli

    Das SNAP scheint mehr an IP angebunden zu sein.
    Irgendwas ohne das OSI-7 Schichten Modell (welches ich sowiso nie so richtig gerafft habe).
    Alles was ich darüber (zunächst) gefunden habe scheint eine Anbindung in bestehende Netzwerke zu priorisieren.

    http://www.kreatives-chaos.com/index.php?seite=snap
    http://www.itwissen.info/?id=31&ano=01-003412

    Sicherlich gibt es da eine entsprechende Adaption.


    Eín bisschen Theorie und die dazugehörige Praxis,
    verbunden mit der Hardware-Realisation wäre mir sehr lieb.
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    336
    Hallo ich habs mit einem Beispielprogramm hinbekommen ein String zu übertragen. Doch wenn ich nun ein Byte senden will funktioniert das nicht. was hab ich da falsch gemacht?
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 19200
    
    Config Portb = Input
    Config Portd = Output
    Rs485 Alias Portd.2
    Rs485 = 1
    
    Dim A As Byte
    A = 123
    
    Cls                                                         ' Clear the LCD display
    Cursor Off
    
    Do
    
      Print A
       Wait 1
    
    Loop
    End
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 19200
    
    Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.2 , Db6 = Portc.4 , Db7 = Portc.3 , E = Portc.7 , Rs = Portc.6
    Config Lcd = 20 * 4
    
    Config Portb = Input
    Config Portd = Output
    Rs485 Alias Portd.2
    Rs485 = 0
    
    Dim Test As Byte
    
    Cls                                                         ' Clear the LCD display
    Cursor Off
    
    Do
    
    
       Inputbin Test
    
    
       Locate 1 , 1
       Lcd Test
    
    Loop
    
    
    
    End
    wie macht man das dann überhaupt mit den Adressen wenn man mehrere Slaves hat?

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    inputbin?

    ich habs mit waitkey gemacht, ansonsten identischer Programmablauf.

    Mit den Adressen für diverse Slaves ists etwas kniffelig.
    Du brauchst ein Übertragungsprotokoll.
    Eine Startbedingung, dann Absender, dann Empfänger, dann Datenbytes
    und die Endbedingung.
    Jeder Busteilnehmer muß dann bei Datenempfang nachsehen
    ob er mit der Zieladresse gemeint ist und wenn ja, die
    in den Nutzdaten enthaltenen Anweisungen / Daten etc. ausführen,
    dann schickt er das Ergebniss an den Absender zurück.
    Da brauchts Struktur dafür.
    Entweder du tüftelst Dir n eigenes Protokoll aus oder du
    nimmst n gängiges Industrieprotokoll und adaptierst das.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    37
    Beiträge
    336
    das mit dem byte funktioniert noch nicht so richtig.
    wie ist das denn mit dem Interrupt? Wann weis ein Slave dass der Master was will? muss ich da die INT auch noch miteinander verbinden? Der Profibus funktioniert ja auch ohne Interruptleitung. wie macht der das denn?


    für was benötige ich denn eine Start und Stop Bedingung?
    reicht das nicht, wenn ich ein byte sende mit der adresse und dann eins mit den Daten? eventuell noch ein
    Kontrollbyte zurück.

    Wo bekomme ich denn so ein Profibusprotokoll her. Ich habe bis jetzt noch keine Ahnung wie der Profibus arbeitet.

Seite 1 von 6 123 ... LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad