Bus Frames in C realisieren



  • Hallo zusammen,

    ich habe mal eine Frage.

    Ich stehe nun vor einem Projekt in dem ich bestimmte Bus-Frames (z.B. Profibus DP oder Interbus S) in C realisieren soll und diese dann über die Leitung eine Kommunikation ermöglichen sollen.

    Ich weiß wie die Frames an sich aussehen und arbeite mich gerade etwas in die Socket Technologie ein.

    Ist das der Richtige Weg? Ansonsten hab ich keine Ahnung wie ich an die ganze Geschichte herangehen soll. Kann mir da vielleicht jemand einen Tipp geben wie man das realisieren kann?

    Vielen Dank schon mal.... 🙂

    Als Info: Interbus arbeitet z.b. Mit drei Schichten des ISO/OSI 1,2,7.



  • Siderius schrieb:

    Kann mir da vielleicht jemand einen Tipp geben wie man das realisieren kann?

    naja, einfach 'nen frame in einem buffer zusammenbauen und senden, bzw bytes einzeln senden, wenn du wenig speicher hast. beim empfangen: entweder frames in einen buffer einlesen und danach 'parsen', oder direkt beim einlesen auseinandernehmen. das ist nicht schwierig. ach ja, verwende byte-arrays, keine structs. structs sind leider als 1:1 abbildung von frames ungeeignet, weil ein compiler füllbytes zur ausrichtung zwischen die members stecken darf.
    🙂



  • Das hört sich so leicht an. Leider weiß ich noch nicht wie ich einen Frame bastel, geschweige denn wie ich den wieder auseinander basteln kann...

    Genauso wie das Senden... muss ich denn da Sockets aufmachen?



  • Fangen wir andersrum an:
    Irgendwie muß ja eine Hardware die Übermittlung übernehmen, dazu braucht man einen Treiber, den aber der Hardware-Hersteller liefern sollte.
    Welche Schichten dann drüberliegen, ist auch meist nicht Deine Sache. Für Entwickler legen die dann meist eine DLL zur Einbindung bei (oder 'n OCX, oder, oder oder...) und die ist (meist recht ordentlich mit Beispielen) dokumentiert.
    Im Klartext: Da ist für Dich eigentlich nichts zu tun, wenn Du nicht gerade Bugs der Schichten- DLL umgehen magst.

    Da bist Du aber eher bei "Rund um die Programmierung" oder "WinAPI" aufgehoben, das ist nichts C- Spezifisches.


Anmelden zum Antworten