Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Zuordnung einer Busadresse Kategorie: 2W-Bus (von TN - 20.10.2003 18:43)


Hallo,

verzweifele an der Ã?bergabe der Busadresse an mein PIO-4.
Benutze folgendes Prog.:

thread main

{
 // lokale Zeichenkette fuer LCD-Ausgabe
 string disp;

 // lokale Zeichenkette fuer TWB-Ein/Ausgabe
 string s;

 // lokale Variable vom Typ Long
 long l;


 // loeschen des LC-Display
 lcd.clear();

 // Initialisierung des TWB
 twb.init();



 // Zusammenstellen des Stringes fuer Commando "SET SENSOR ADDRESS" (Kommando 3)
 str.clear(s);
 str.putchar(s,0x03);  // ! Kommando 3
 str.putchar(s,0x85);  // ! Sensoradresse bei gestecktem Jumper (85 dezimal)
 str.putchar(s,0x16);  // ! frei vorgegebene Modemadresse
 str.putchar(s,0x00);  // nicht relevant -> definiert auf 0 gesetzt
 str.putchar(s,0x00);  // nicht relevant -> definiert auf 0 gesetzt
 str.putchar(s,0x00);  // nicht relevant -> definiert auf 0 gesetzt
 str.putchar(s,0x01);  // ! gewuenschte Sensoradresse
 str.putchar(s,0x00);  // nicht relevant -> definiert auf 0 gesetzt


 // Ausgabe des Strings s auf den Zweidrahtbus
 twb.io(s);


   // Abfrage ob die Ausgabe ohne Fehler beendet und die Antwort empfangen wurde

   if (! twb.rxd())
   // wenn keine Antwort dann LCD-Ausgabe "TIMEOUT" und Beenden des Programmes
   {
wait lcd.ready();
  lcd.clear();
disp="TIMEOUT";
lcd.print(disp);
   }


   // Test ob ein korrekter Antwortstring empfangen wurde

   else
   {

// Auslesen der ersten 4 Bytes des Antwortstringes
        l=mem.getlong(s,0);


  // korrekter Antwortstring mit Bytes 0-3 = 0x03,0x10,0x01,0x00

    if (l != 0x03100100)
  // bei fehlerhaftem Antwortstring LCD-Ausgabe "ERROR"
    {
      wait lcd.ready();
      lcd.clear();
        disp="ERROR";
        lcd.print(disp);
           }


           else
  // Antwortstring korrekt, Sensormodul auf neue Adresse gesetzt
  // LCD-Ausgabe "ADR=1 OK"
           {
      wait lcd.ready();
        lcd.clear();
        disp="ADR=1 OK";
        lcd.print(disp);
           }
    }

 // Programmende
 halt;

}

Das Modem blinkt und dann steht in der LCD "Timeout".

Was mache ich falsch?

GruÃ?
TN


    Antwort schreiben


Antworten:

Modul R2UM (von TN - 20.10.2003 21:27)
Re: Zuordnung einer Busadresse (von TN - 20.10.2003 20:35)