HA7E Adapter und DS2450 Probleme

Hallo Gemeinde,

ich habe Probleme die Config-Register eines DS2450 zu setzen. Auslesen klappt! Zum Verständnis meines Problems erkläre ich kurz was machen möchte und wie mein derzeitiger Aufbau ist.

Ich habe einen HA7E Adapter an einer Simatic S7 SPS (an einem CP340) hängen und kann mit diesem Konstrukt ohne Probleme DS18B20 Sensoren auslesen. Leider bekomme ich es nicht hin die Config-Register eines DS2450 zu schreiben. Laut Antwort des HA7E wurden die Werte geschrieben wenn ich dann aber die Register lese stehen die alten Werte drinn! Am HA7E kann es meiner Meinung nicht liegen da alle anderen Funktionen ohne Probleme funktionieren. Deshalb vermute ich das es am DS2450 liegt. Da manchmal das eine oder andere Byte doch geschrieben wird vermute ich das der DS2450 defekt ist. Da ich mir aber nicht sicher bin ob das verhalten normal ist wollte ich noch mal die 1-W Profis im Forum fragen.

Ist es normal das nach einem Power Up die Register des DS2450 wieder mit Standard Werten initialisiert werden?
Muß ich bei jeder Wandlung die Register neu initialisieren oder nur einmalig nach Power Up? Woran kann es liegen das meine Werte nicht gespeichert werden?

Noch kurz zu dem Adapter (HA7E). Das ist ein Interface für 1-W Devices welches sich mit normalen ASCII Commands steuern lässt und ist somit Ideal für das Interfacing von 1-W Devices zu Geräten mit normalen seriellen Schnittstellen ohne das man sich über das Timing des 1-W Buses Gedanken machen muß!

Hintergrund der Geschichte: Ich möchte die Grundsteuerung meiner Heizung/Luftung in der SPS machen und nur die Komfortfunktionen in IPS verlagern (Aufallsicherheit)!

Vielen Dank schon mal für die Ideen und Tipps
Gruß Tommy

PS.: Falls hier falsch bitte verschieben! Hat jemand schon so einen Adapter im Einsatz? Zwecks Erfahrungsaustausch!

okay habe den Fehler selbst gefunden!
Wie fast immer war der Fehler nur 60cm vom Monitor entfernt :wink:

Ist es normal das nach einem Power Up die Register des DS2450 wieder mit Standard Werten initialisiert werden?

Ja, das ist normal!

Muß ich bei jeder Wandlung die Register neu initialisieren oder nur einmalig nach Power Up?

Nein, nur nach Power Up!

Woran kann es liegen das meine Werte nicht gespeichert werden?

Lag am Protokollaufbau in der SPS! Ich habe mich mit einen Portsniffer schlau gemacht und dann auch den Protokollaufbau im Datenblatt verstanden. Dann genau so programmiert und siehe da alles geht so wie es sein soll.

Falls jemand Interesse hat dann kann ich das bei Gelegenheit noch mal näher ausführen.

Gruß und Danke fürs eventuelle mitgrübeln:)
Tommy

Hallo Tommy
also mich würde dein Script schon sehr interessieren. Der Aufbau via ha7e ist auch sehr spannend.
Gruß Achim

gesendet vom Handy

Hallo Achim,

Skripte in IP-Symcon gibt es dazu noch gar nicht (wenn dann nur Visualisierung und Komfortfunktionen)! Der Adapter hängt an einer SIMATIC S7 SPS an einem CP340 der die ganzen 1-Wire Devices Zyklisch abfragt und konfiguriert. Zur Zeit hängen „nur“ 1 DS18B20 ein DS2438 (Wohnraumsensor) und ein DS2450 (1-Wire Hub mit Strom und Spannungsmessung) am Adapter. Die Ganze Programmierarbeit steckt zur Zeit in der SPS. Ich bin jetzt so weit das ein Grundgerüst steht. Den DS2438 muß ich noch einlesen und dann habe ich erst mal eine Grundfunktionalität die ich dann bei Bedarf und bei Fehler Ausbauen werde. Da ich über die SPS zukünftig meine Heizung steuern möchte wollte ich die 1-Wire Geschichte nicht in IPS machen, was natürlich einfacher gewesen wäre! Ich denke das die S7 einfach zuverlässiger ist als IPS (IPS hängt sich schon mal auf und dann wäre die ganze Bude im Extremfall kalt)! Ne S7 war bei mir noch nie defekt und ich habe doch beruflich sehr viel damit zu tun! Durch die SPS habe ich auch eine gute Überwachung des Buses (Watchdog für jedes Device)! Also ich hoffe das ich dadurch auch defekte Bausteine mitbekomme!:wink:

Gruß Tommy

Hallo Tommy
Vielen Dank für die Antwort. Eine Frage noch, kannst du den schaltbefehle aus ips an die 1wire Bausteine senden? … und natürlich auch abfragen und in ips darstellen oder läuft es bei dir völlig parallel?
Gruß Achim

gesendet vom Handy

Hallo Achim,

wie geschrieben zur Zeit läuft die 1-Wire Geschichte nur auf der SPS! Ich werde die Werte und Befehle zwischen IPS und der SPS bei Bedarf übertragen. Also zur Visualisierung hole ich mir die Werte aus der SPS und zeige sie halt an. Schalten über den Bus habe ich im Moment nicht geplant, da alles was geschalten wird über digitalstrom oder direkt von der SPS aus geht! Der Bus soll eigentlich nur ein preiswerte Lösung sein um diverse Umweltwerte wie Temperatur, Feuchte, Helligkeit, Wetter, Luftgüte etc. in die SPS und dann nach IPS zu bringen.

Gruß Tommy

Hallo Tommy
Verstehe. Schönes Wochenende :slight_smile:

gesendet vom Handy

Hallo an alle die es interessiert,

habe jetzt DS1820, DS24050 und DS2438 mit einem HA7E Adapter an der Simatic S7 SPS laufen. Bis jetzt ohne Probleme.

Gruß Tommy

[I:rolleyes:

gesendet vom Handy

Hallo,

ich hätte da eine Frage zum Anschluss des HA7E. Der HA7E hat ja von Haus keine Klemme um die Sensoren mit separater Spannungsversorgung anzuschließen. Betriebst Du die Sensoren parasitär?

Ich habe den HA7E auch an einer SPS (S7-1200) und habe die Sensoren nach dem HA7E mit separaten 5V versorgt. Die Masse habe ich entsprechend verbunden. Anfänglich lief auch alles, aber jetzt scheint mein HA7E defekt zu sein.

Gibt der CP340 die benötigte Spannungsversorgung auf der RS232 Schnittstelle aus? An der CM1241 (RS232 für S7-1200) hatte ich da meine Probleme.

Grüße,

Christoph

Hallo Christoph,

ich habe einen 1-Wire Hub von Eservice zwischen Adapter und meinem Bausteinen! Der CP versorgt den Adapter direkt kein Problem!

Gruss Tommy

Danke,

Die Idee ist nicht schlecht. (Schade, habe schon ein 5V und 12V Netzteil eingebaut. Ist es dem Hub egal, wenn er als Eingang nur Ground und Data vom HA7E bekommt?

Christoph

Hallo,

der Hub hat nur den Data-Eingang! 5V und 12V habe ich auch extra! Werden aber nur benutzt falls der Hub irgendwann nicht mehr reicht!

Gruss Tommy

Hallo,

um die Sache abzuschließen.

  • Der HA7E hatte keine Probleme. Ich hatte an die DS18B20 12V statt 5V angeschlossen.
  • Der aktuelle Hub von eservice online hat neben GND und Data auch +5VDC als Eingangsklemme. Er funktioniert aber wie schon von Dir beschrieben nur mit GND und Data angeschlossen.

Jetzt läuft alles. Alle 8 Sensoren werden seit ca. 1 Woche einwandfrei eingelesen.

Grüße,

Christoph

Hi Tommy,

ich hänge auch an der Umsetzung mit S7 (1516) mit CM + HA7E.
Mein CM initialisiert nicht. kannst Du vielleicht deine vollständige CP konfig posten?

Danke

Reicht das? Oder wo gibt es Probleme?

Gruß Tommy

Hallo Tommy,

danke für deine Bilder.

Ich nute eine S7-1511 mit CM - TIA V14 (Testumgebung).
Ich habe das Problem, dass ich beim Senden einen Fehler erhalte.
Fehlercode:16#81D2

Aus Siemens-Hilfe:
Fehlertext: „Hardware RTS immer ON“: Sendeauftrag abgebrochen da Wechsel von DSR = ON nach OFF
Lösungsvorschlag: Überprüfen Sie den Kommunikationspartner. Stellen Sie sicher, dass DSR während der gesamten Übertragung ON ist.

In der 1500er muss vor dem Nutzen des CMs dieser erst per Baustein parametriert werden.
Ich habe den CM wie folgt parametriert:


CALL  Port_Config , "Port_Config_DB"
         REQ      :=#Config_Req
         PORT     :=258
         PROTOCOL :=0 (= Freeport - Entspricht ASCII)
         BAUD     :=6 (= 9600)
         PARITY   :=1 (= Keine Parität)
         DATABITS :=1 (= 8 Datenbits)
         STOPBITS :=1 (= 1 Stoppbit)
         FLOWCTRL :=4 (4 = Hardware-RTS geschaltet; 5 = Hardware-RTS immer EIN, DTR/DSR ignorieren)
         XONCHAR  :=
         XOFFCHAR :=
         WAITTIME :=2000 (Gibt an, wie lange nach dem Empfang eines XOFF-Zeichens auf ein XON-Zeichen gewartet werden soll bzw. wie lange nach CTS = OFF auf CTS = ON gewartet werden soll (0 bis 65535 ms). Dieser Parameter wird nur ausgewertet, wenn die Flusskontrolle aktiviert ist.)
         MODE     :=0 (= Vollduplex (RS232) )
         LINE_PRE :=0 (0 = "Keine" Vorbelegung)
         BRK_DET  :=1 (= Break-Erkennung aktiviert)
         DONE     :=
         ERROR    :=
         STATUS   :=

Nach der Durchführung der Config (REQ := true) erhalte ich das DONE Signal; Er initialisiert also korrekt.

Hier noch der Vollständigkeit halber der Sende Baustein:

      CALL  Send_P2P , "Send_P2P_DB"
         REQ    :=#Send_Req
         PORT   :=258
         BUFFER :="RS232_Daten".Senden
         LENGTH :=
         DONE   :=
         ERROR  :=
         STATUS :=

Sobald ich REQ auf true setze kommt nach der eingestelleten 2 sekündigen Wartezeit der genannte Fehler.

Als Leitung habe ich sowohl ein Serielles als auch ein Nullmodemkabel versucht. Der Fehler ist identisch.

Welche Leitung hast Du verwendet?
Hast Du noch eine Idee?

Ich denke Flowcontrol stimmt nicht. Der Adapter braucht nur TXD und RXD, über das die Kommunikation läuft! RTS und DTR werden zur Stromversorgung des Adapters benutzt. Kannst du den Flowcontrolmode so konfigurieren das RTS und DTR ständig gesetzt sind? DSR mit RTS oder DTR verbinden! Meine Beschaltung kann ich erst morgen nachsehen! Gruß Tommy

Hi Tommy,

danke für die Hilfe. Ich habe RTS auf DSR und RTS auf CTS gebrückt. Nun Funktioniert das Senden und Empfangen.

Jetzt muss ich nur noch sehen, was ich genau zu welchem Zweck senden muss.

Danke & Gruß

Hast Du vielleichte einen nutzbaren Baustein für den Abruf der 1-Wire-Devices?