Seite 1 von 1

Anleitung Verwendung der sblib

Verfasst: 20. Apr 2017, 11:18
von Klamm
Morgen!

In der Anleitung http://selfbus.myxwiki.org/xwiki/bin/vi ... ng_LPC11xx

Ist an einigen Stellen von Gerätetyp 47 die rede. Dann steht da aber wiederrum "M-0083_A-007-12-AADB.xml" (das wäre dann gerätetyp 7) ist also eine Zahl beim Tippen weg gekommen. Habe mich aber leider doch länger damit aufgehalten. Könnte ja vllt schnell einer ändern.

Jetzt zum eigentlichen Grund des Threads:
Ich wollte anfangen ein bisschen zu programmieren (wollte das info display machen) und wollte nach der Anleitung vorgehen. Habe aber schon gleich zu Anfang Probleme.

Ich finde nichts zur Hardware Version in der knxprod. Und selbst wenn ich was finden würde weiß ich nicht wie ich das einfügen soll.
const unsigner char hardwareversion[]
Gibt es weder beim out8 noch beim in8 (um nicht alles von neuem programmieren zu müssen wollte ich die nehmen und einfach stück für stück ändern)
Gebe ich aber keine Hardwareversion an, dann kommt beim programmieren über ets eine fehlermeldung. Irgendwas mit Version.

Ganz unten Steht ja:
Es folgt in Zukunft noch ein Überblick, wie mit die Kommunikationsobjekte unter Verwendung der sblib behandelt werden.
Gibt es da schon was und ich habe es nicht gefunden oder hat die Zukunft noch nicht begonnen?

Vielen Dank schon mal für die Hilfe!

Re: Anleitung Verwendung der sblib

Verfasst: 21. Apr 2017, 22:36
von Florian
Vorab: Ich kenne das Gerät, was auf der Wiki-Seite beschrieben wird, nicht. Ich habe mich bisher mit einem ABB-Gerät beschäftigt.

Bei dem hardwareVersion-Konstrukt auf der Wiki-Page wird anscheinend ein fester Wert in die "Order-Code" Kennung eingefügt. Unabhängig davon, ob das Gerät bereits programmiert worden ist, oder nicht.

Das scheint etwas MDT-spezifisches zu sein, besonders an so etwas wie den LdCtrlCompareProp Eintrag in der XML kann ich mich bei ABB nicht erinnern. Es gibt da also durchaus Unterschiede bei den Herstellern.

Das in der out8 oder in8 so etwas nicht zu finden ist, ist nicht verwunderlich. Die Benutzen das alte BCU1 Programmiermodel, was noch wesentlich rudimentärer ist. Das neue ist BCU2 oder BIM112?

Re: Anleitung Verwendung der sblib

Verfasst: 23. Apr 2017, 15:55
von Klamm
Also ich hatte beim versuch die app zu programmieren die Fehlermeldung Bcu kann nicht ausgelesen werden (oder so ähnlich) bekommen.
Dann habe ich nach etwas recherche festgestellt, dass das ein bug des plugins ist. Hab es einfach noch ein paar mal versucht und dann wurde irgendwann mit der programmierung begonnen.
Die phys Adresse klappt problemlos.
Dann versucht das plugin die applikationsdaten zu übertragen. eingestellt hatte ich 5 Versuche aber aus dem log des plugins wird ersichtlich, dass es um die 100 versuche sind. Irgendwann wird der versuch abgebrochen und da steht das gerät ist nicht erreichbar.
Anschließend hat die sendestufe der arm ts keine funktion mehr. Prog led bleibt nach drücken der taste an und neu programmieren kann ich den conroler auch immer noch. Aber auch wen ich was anderes drauf flashe passiert an der sendestufe nichts mehr. Habe mit einem oszi direkt am pin 17 gemessen.
Vor dem programmierversuch konnte ich die telegramme aber deutlich sehen.
Habe auch moch den log aus dem plugin. Kann den nachher noch hier einstellen wenns helfen könnte aber einen log des gruppenmonitors habe ich leider nicht. (Wäre wahrscheinlich schlau gewesen).
Auf diese art habe ich jetzt schon mehrer schaltungen zerstört.
Gab es vielleicht ähnliche probleme schon mal (vllt in den anfängen von selfbus) kann ich die sendeschaltung sonst noch irgendwie auf funktion prüfen?

Re: Anleitung Verwendung der sblib

Verfasst: 23. Apr 2017, 22:48
von Florian
Wie, Sendestufe zerstört? :shock:

Das sollte eigentlich nicht möglich sein. Ich habe es bei meinen Debug-Orgien mehrfach geschafft, den Programmablauf so zu unterbrechen, dass der Sendetransistor dauerhaft eingeschaltet war. Der wird dann heiß, ist bei mir aber nie kaputt gegangen.

Eine andere Möglichkeit wäre, dass noch Unsinn im Flash steht, dort, wo die Konfigurationsdaten abgelegt werden. Womit hast du den Controller neu bespielt? Mit der LPCXpresso-Umgebung einfach ein neues Programm eingespielt? Dann werden nur die Bereiche gelöscht, in denen das neue Programm steht. Alles außerhalb, z.B. Gruppenandressen und Applikation, werden nicht gelöscht.

Versuch's mal mit dem Button "Program Flash" in der Symbolleiste von LPCXpresso, dort kannst du "Erase flash memory" auswählen. Ein "Mass erase" löscht alles im Controller. Wie ist das Verhalten dann?

Re: Anleitung Verwendung der sblib

Verfasst: 24. Apr 2017, 06:32
von Klamm
Ich habe beim flashen "mass erase" mit ausgewählt aber es ändert sich nichts.

Wenn ich aber den reiter wechel und nur ein mass erase mache ohne auch gleixh ein programm aufzuspielen und dann danach nochmal ein programm aufspiele dann gehts wieder. Danke für den Hinweiss.

Re: Anleitung Verwendung der sblib

Verfasst: 28. Apr 2017, 21:43
von Olli
Hallo Klamm,

bei dem Dateinamen der XML scheint mir ein kleiner Dreher passiert zu sein. Ich werde den Namen dort mal anpassen.
Ansonsten wurde ja bereits gesagt, dass in dieser Anleitung ein BIM112 Gerät behandelt wird.
Nach dieser Anleitung kann man die XML Datei lesen und ein Programm für den ARM erstellen.
Bedeutet: Nachbau eines bereits bestehenden Gerätes.
Falls man ein Gerät selber entwickeln möchte bzw. Funktionen hinzufügen oder rausschmeißen möchte, muss ein BCU1 Gerät gebaut werden.

Mit dem nicht-löschen vor einem neuen Upload zum µC habe ich mir auch bereits viel Ärger eingefangen. Daher am Besten immer vor einem neuen Upload den Speicher im ARM löschen.

Grüße,
Olli

Re: Anleitung Verwendung der sblib

Verfasst: 28. Apr 2017, 23:37
von Klamm
Hallo!

Das info display 2 (will ich kopieren) ist ein bcu 1 Gerät wird aber über ein in ETS aufgerufenes PlugIn parametriert.
Die xml habe ich mir schon angesehen und einige sachen verstanden. Aber eben noch nicht viel. Das mit den ganzen Parametern und dem Speicherbereich (Offset=...) gibt es da nicht wirklich.
Naja werde die Tage mal weiter gucken und vielleicht mal ein original Gerät kaufen um da ggf Schlüsse ziehen zu können.