- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 36 von 98 ErsteErste ... 2634353637384686 ... LetzteLetzte
Ergebnis 351 bis 360 von 975

Thema: Rnbfra Multi-Thread und Netzwerkfähig mit GUI im www, jetzt

  1. #351
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    Anzeige

    Praxistest und DIY Projekte
    Auf welcher seite habe gestern die mir bekannten druch gesehen weil ich halt vorher gucken wollte.

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  2. #352
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    @PicNick

    würdest du mir den source zu Init der serial schnistelle schicken (PC) ?
    ich Suche da zur zeit nach eine Phänomen und ich finde es nicht.

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  3. #353
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Code:
    //  Konstanden für Parity
    #define 	P_NONE		0	//	0 = kein Parity Bit
    #define 	P_EVEN		1	//	1 = gerade
    #define 	P_ODD		2	//	2 = ungerade
    #define 	P_SPACE		3	//	3 = immer 0
    #define 	P_MARK		4	//	4 = immer 1
    
    #define 	D_7BIT		0	// 	7-Databits
    #define 	D_8BIT		1	// 	8-Databits
    
    #define 	S_1BIT		0	// 	1   Stopbit
    #define 	S_1_5BIT	1		// 	1.5 Stopbits
    #define 	S_2BIT		2	// 	2   Stopbits
    
    
    int ComOpen (unsigned Nr,int Baud=9600,int Parity=P_NONE,int Stopbits=S_1BIT,int Databits=D_8BIT);


    Code:
    //*****************************************************************************
    //	Öffnet eine serielle Verbindung
    //	Nr			: Ist die Nummer des Com-Ports (0=COM1 1=COM2 ...)
    //	Baud		: Ist die Bautrate
    //	Parity		: 0 = kein Parity Bit
    //				  1 = gerade
    //				  2 = ungerade
    //				  3	= immer 0
    //				  4 = immer 1
    //	Stopbits	: 0 = Ein Stopbit
    //				  1 = Ein/einhalb Stopbits	
    //				  2 = Zwei Stopbits
    //	Bits		: 0 = 7 Datenbits
    //				  1 = 8 Datenbits
    //				  7 = 7 Datenbits
    //				  8 = 8 Datenbits			
    //	Ergibt 1 wenn eine Schnittstelle geöffnet wurde 
    int ComOpen(unsigned Nr,int Baud,int Parity,int Stopbits,int Databits)
    {
    static const int	iPMode[]={NOPARITY,EVENPARITY,ODDPARITY,SPACEPARITY,MARKPARITY};
    static const int	iSMode[]={ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS};
    char				cName[]="\\\\.\\COM1";
    HANDLE				hFile;
    COMMTIMEOUTS		sTo;
    DCB					sDcb;
    
    
    	
    	if(Nr>=MAX_COM_PORTS)return 0;
    	if(bIsOpen[Nr])return 0;
    
    	
    	cName[7]='1'+Nr;
    
    	   hFile= CreateFile(cName,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    	if(hFile==INVALID_HANDLE_VALUE)
    		{
    		hFile=0;
    		return 0;
    		}
    	if(Databits==7)Databits=0;
    	memset(&sDcb,0,sizeof(sDcb));
    	sDcb.DCBlength=sizeof(sDcb);
    	sDcb.BaudRate     	= Baud;
    	sDcb.fParity      	= (Parity!=0)? TRUE:FALSE;
    	sDcb.fBinary      	= TRUE;
    	sDcb.Parity       	= iPMode[Parity];
    	sDcb.StopBits     	= ONESTOPBIT;
    	sDcb.fOutxCtsFlow 	= FALSE;
    	sDcb.fOutxDsrFlow 	= FALSE; 
    	sDcb.fDtrControl	= DTR_CONTROL_ENABLE;
    	sDcb.fRtsControl	= RTS_CONTROL_ENABLE;
    	sDcb.fDsrSensitivity= FALSE;
    	sDcb.fAbortOnError	= FALSE;
    	sDcb.ByteSize     	= (Databits)? 8:7;
    	if(!SetCommState(hFile,&sDcb))
    		{
    		CloseHandle(hFile);
    		return 0;
    		}
    	sTo.ReadIntervalTimeout		   = MAXDWORD; 		// 0 ms Read-Tomeout
    	sTo.ReadTotalTimeoutMultiplier = 0; 
    	sTo.ReadTotalTimeoutConstant   = 0; 
    	sTo.WriteTotalTimeoutMultiplier= 1;				// 1*2 ms Write Timeout
    	sTo.WriteTotalTimeoutConstant  = 2;
    	if(!SetCommTimeouts((HANDLE)hFile,&sTo))
    		{
    		CloseHandle(hFile);
    		return 0;
    		}
    
    
    	hComFile[Nr]=hFile;
    	bIsOpen [Nr]=TRUE;
    
    
    return 1;
    }
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #354
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    Erst mal danke PicNick.

    So ganz habe ich das Problem nicht gefunden aber hatte noch nicht wirklich die Zeit zu suchen.

    @all
    wie machen wir jetzt weiter ?
    geht es über haupt weiter ?

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  5. #355
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Hallo, No-5 !
    Natürlich geht's weiter.
    Level-0 hat sich soweit bewährt, da sind bei mir keine Probleme aufgetaucht.
    Eine Ebene weiter oben würd ich ebenfalls prinzipiell alles lassen wie's ist.
    d.h. die Nutzdaten bestehen aus
    <16-Bit Zieladdr><16-Bit Sourceaddr> message-abhängige daten
    Für IP ist vorne noch 16-Bit Länge

    Alles, was von COM kommt, wird an alle IP -Clients geschickt
    Alles, was über IP kommt, wird zu COM geschickt.

    Allein damit läßt sich eigentlich alles machen.

    Die sache mit dynamischen Routing tables hab ich derweil auf die Seite gelegt.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #356
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    76
    Beiträge
    703
    Frage:
    @all:
    Wollen wir als erstes Broadcasten oder porten, oder beides?
    Mir als ahnungsloser würde Port etwas besser gefallen, warum auch immer.
    Wir haben zZ. Einen seriellen Server für Broadcast und einen für Ports.
    Wer macht jetzt was und welche Server nehmen wir erstmal?
    Wo genau dockt UlrichC nachher an?

    @NumberFive
    Ich bin irgendwie noch nicht ganz im Bilde wie wir bis zu einem gedachten Visual Basic 2005 TCP/IP Port-Client Schulterschluss bekommen.
    Welche Funktionen die Library die Du geschrieben hast anbietet.
    Kann sein das ich das schon wissen müsste, aber sei so nett und helfe mir mal da kurz auf die Sprünge.
    Was das serielle angeht, ich habe im Anfang dieses Threads einen schönen seriellen Porthandler vorgestellt, vielleicht hilf der Dir weiter. Der lief bei mir tadellos. Ich kann dir den auch mailen falls du brauchst.

    @PicNick:
    Neugier:
    Hast Du schon Vorstellungen
    a. welche Sensoren und Aktoren Du erstmal unterstützen willst?
    b. In welschem Format ihre Werte im Einzelnen sein werden?
    c. Welche Adressen Sie haben werden?
    d. Haste mal was mit zwei Getriebemotoren ?

    @Johannes:
    Gibt es an diesem Projekt etwas, was Dir gefällt oder nützt? Ich frag das einfach mal, weil die Entwicklung etwas andere Wege genommen hat als am Anfang gedacht war. Aber Teile eurer Grundidee meiner Meinung nach immer noch zu erkennen sind.

    Netter Gruß
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  7. #357
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.04.2005
    Ort
    Weilburg
    Beiträge
    676
    Ich habe auch noch Fragen:
    @PicNick: Mich juckt es doch in den Fingern, denn ich möcht den ASURO mal dranhängen. Zum einen kann ich aber nicht auf die 1200 Baud umstellen, zum anderen vermisse ich eine Aufstellung der bisher festgelegten Spezifikationen.

    Aus dem was ich jetzt sehe und gefunden habe:
    Zitat Zitat von PicNick
    Message f. Servo
    byte..byte..byte.byte..byte..WORD..byte..byte
    STX 0x53 0x01 0x00 0x00 0x0nnn BCC ETX

    Message f. LED
    byte..byte..byte.byte..byte. byte..byte..byte
    STX 0x42 0x01 0x00 0x00 0xnn BCC ETX
    Sehen die Daten auf der Leitung jetzt so aus:
    Code:
       Message Start
       |          Message 
       |          |           Message Checksum      
       |          |           |     Message End 
       |          |           |     |   
    .-----.-----. - .-----.-----.-----.
    | STX |      MSG      | BCC | ETX |
    '-----'-----' - '-----'-----'-----'
    Wenn ich dass aus einander nehme erhalt ich das:
    Code:
        Message source Class
       |     Message source Ident
       |     |     Message destination Class
       |     |     |     Message destination Ident
       |     |     |     |     |     
       |     |     |     |     |  Message
    .-----.-----.-----.-----.-----. - .-----.
    | SCL | SID | DCL | DID |      MSG      |
    '-----'-----'-----'-----'-----' - '-----'
    Eine Aufstellung/festlegung der "Class" :
    0x53 := Servos ?
    0x42 := Analog ?
    Prostetnic Vogon Jeltz

    2B | ~2B, That is the Question?
    The Answer is FF!

  8. #358
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    @Vogon Meinen Serial Server kannst du auf 1200 Baud um stellen.

    @all

    Ich nehme jetzt PicNick's definition als gegeben an. Ich werde weiter hin das Multicast machen da ich so eine Gemeinsame Componete für die Rechner Komunikation habe. Und nicht so viele Ports offen lassen muß.

    Es wird noch ein TCP Port das zu kommen der das Protokoll von Piknick untertützt damit man auch so was Connecten kann.

    Damit VB ran kommt werde ich beispiele machen wenn es euch recht ist.

    Wenn wir den ASURO ran bekommen das würde mir echt helfen weil:
    https://www.roboternetz.de/phpBB2/vi...=172339#172339

    Wie machen wir das mit den Classes Ok 0x53 und 0x42 sin weg ich bräuchte aber auch eine Oder zwei wie wollen wir so was regeln ?

    Soweit

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  9. #359
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    geht wunderbar mit purebasic.
    habe eine grafische oberfläche mit videocapture,gameboycambild und steuerbuttons sowie messdatenanzeige vom robby über funk auf der grafischen oberfläche.
    ist alles sehr einfach zu realisieren. bei mir geht alles über funk vom robby zum pc und zurück. ist eigentlich keine herausforderung. nur ein bisschen rumproggen und schon läuft das ganze.

  10. #360
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    76
    Beiträge
    703
    Ja, Purebasic ist auch eine schöne Alternative.
    Ich würde mich über eine weitere Variante zu unseren PC-Clients freuen.
    Wie Du gesehen hast ist das hier ein open Source Projekt mit einer offenen Architektur und zum Teil festgelegten Übertragungsprotokollen..
    Wenn Du deinen Client an das im Wissensbereich vorgestellte Protokoll anpasst und den Quellcode freigibst würdest Du allen Purebasic -Liebhabern sicher eine große Freude machen.
    Wir sind gerade dabei einige standard Classes und Indents festzulegen unter denen Hardware-Peripherie angesprochen werden kann. Das wäre dann sicher auch für Dich wichtig.
    Würde mich freuen wenn da was wäre was denen die es nicht so gut drauf haben weiterhilft.

    Netter Gruß
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

Seite 36 von 98 ErsteErste ... 2634353637384686 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen