http://www.i-do-more.de/mine-robo/do...-Protokoll.zip
hier gibts die Binarys wollte den Link zwar nicht so officell machen Frank scheint im Moment auch keine Zeit zu haben da im Downloadbereich mein Posting noch nicht auftaucht.
Ich finde schon das die Adresse ein Fixe Länge haben sollten sonst müssen wir wieder ein trennzeichen aus machen. Für VB und auch java würde jeweils ein DLL an bieten damit ersten schneller geht bei anbinden und wir normalfall im unter grund was ändern können ohne das gleich die Applikationen geändert werden müssen.
So wir müssen und glaube ich mal einig werden wo welche Schichten an fangen bzw aufhören und wo wir dan fangen zu zählen Level0 oder Level1.
Ein Level2 habe ich (noch nicht) in mein Programm integiert weil ich alles im nach hinein nicht wieder ändern wohlte. Bis auf die Defintion das Byte 1 und Byte 2 Netz und Adresse sind ist alles so wie es bis jetzt hier definiert worden ist.
Wie Funktioniert es:
SerialServer: Hört Ständig auf dem Eingestellten Comport und prüft die daten auf dem Level0 mit Prüsumme wurde ein Telegram als richtig erkannt wird es an die Netzschicht (RNComNetworkLayer.exe) weiter geben.
RNComNetworkLayer: macht nichts Anderes als Auf der ein stellten Multicast Adresse / Port zu hören und zu senden.
RNProtClient.dll: Verbindet sich mit dem
RNComNetworkLayer auf der Einen Seite und mit dem Client Programm auf der anderen Seite. Hier ist wie im Serial server das Protokoll dir wie es hier bis jetzt definiert wurde.
Ablauf :
Com X >> SerialServer >> Protokoll Prüfung auf anfang Ende Prüsumme >> NetzwerkLayer >> Clientdll >> Protokoll prüfung >>Suchen ist der Empfänger bei mir ? ja Melden und speicher des Telegrams >> Client kann sich die Daten holen.
Für die Prüfung ob der Client bei mir ist habe ich das mit der adresse und dem Netz Implemiert. damit nicht der Client entscheiden muß wann er was an nimmt und wann nicht.
Alles was für ein Bestimmtes Netzankommt (Inifile SerialServer) wird auf der Com Ausgeben. Ok bei mein Impelmetierung gibt es immer mindestens zwei Netze sonst besteht die Gefahr wenn PC Programm sehr viele telegramme Austauschnen das der AVR der per RS 232 an gebunden ist zu kochen beginnt. Es währe hier sich auch kein Thema entweder zu enstellen oder Dynamisch adresse auf der Com Seite auf zu bauen (Router) damit nicht alles rüber geht das ist dann sache der weiteren Definition.
wenn mal die Verbindung auf die RS232 nicht braucht funktioniert das ganze natürlich auch ohne der Serial server.
Man kann also mit der Software so wie sie jetzt ist Pratisch daten im Netz (PC Lan) wie auch an die Seriale Schicken die Seriale muß sich aber nicht auf dem rechner befinden wo man das Telegramm abschickt.
Ich habe das interface der DLL als Text oder String interface ausgelegt damit es keine Problem in der Sprachen gibt. Aber das habe ich ja weiter oben schon beschrieben.
Ich bin beim Programmieren darauf gekommen das wir das TCP nicht lesbar machen müssen den wenn die DLL da ist sollte es kein problem sein seine Anwendung anzu binden. Durch die verwendung von Multicast gehen ich auch einem Problem aus dem weg nämlich die Ganze Port konfigurtion und solche sachen. Da ist die Erfahrung von der MC/Simirs das mit den Ports und so ist für viele nicht so einfach zu verstehen. Ich brauche so auch keine Routing informationen zu mindestens nicht auf der PC Seite.
Ich weiß in der Linux welt gibt es kein dll aber hier gibt es so files die in meinen Augen genauso Funktionieren.
OK die Netzlast ist etwas höher da alle das Telegram bekommen auch wenn es auf dem PC keinen Abnehmer dafür gibt. Aber ich denke das wir im Nomal fall eh nicht mehr als vielleicht 3 PC's in dem Netz haben.
ich hätte gerne im Level1 oder level2 gerne ein Zahl (MSG ID) die immer erhöht wird dann könnte ich das Nack selbst bauen und die Applikation bekämme dann die Information konnte zu gestellt werden oder nicht und weiß auch noch welches Telegramm es war. Also 0 - 255 wenn wir oben sind fangen wir wieder bei 0 an. Das Sollte in meinen Augen reichen.
Oh mann jetzt habe ich aber ordenlich was getipp verteht man das Überhaupt ? Sind alle Fragen beseitigt ?
Lesezeichen