Es ist wieder Montag und eine arbeitsreiche Woche liegt vor uns. Außer natürlich vor denen von euch, die Urlaub haben und die Frühlingssonne genießen oder denen, die letzte Woche Urlaub hatten und noch irgendwo festsitzen. Ich hoffe es gibt dort wo ihr seid einen Strand oder Pool und ein kühles Bier.
Neuerungen auf der Seite
Habe in der letzten Woche eine kleine Demo für das 4" Thinget TouchWin TH Widescreen HMI zum Download bereitgestellt, mit sehr vereinfachter Maske für eine Ventilsteuerung, die über indirekte Adressierung befüllt wird. Könnt ihr euch gern herunterladen und im TouchWin Simulator ausprobieren. Das passende HMI ist das Thinget TouchWin TH 4". Habe auch ein paar Bugs im Shop beseitigt, die XC5 untersützt derzeit noch kein CANopen nur CAN für schnelle Peer2Peer-Kommunikation mit anderen XC5 und freie Kommunikation auf dem CAN-Layer. Da war ganz klar der Wunsch der Vater des Gedanken. Auch die Fotos für die 32 E/A Digitalerweiterungen für Thinget haben wir aktualisiert. Die Kinco HMI unterstützen zum Teil übrigens CANopen, dort steht es richtig.
Produktneuheiten🆕
Gibt Interessantes zu berichten. Thinget bringt einen Bluetooth-Adapter für die XC-Serie heraus, Reichweite bis zu 10m. Ein Foto habe ich euch mitgebracht:
Find ich sehr gut, weil mein neues Netbook keine serielle Schnittstelle hat. Dafür Bluetooth. Da man den Adapter leicht abnehmen und deshalb wie ein Programmierkabel nutzen kann, ist das glaub ich sehr praktisch. Werde den Adapter ausführlich testen und euch darüber berichten. Zusätzlich bringt Thinget ein Ethernet-Erweiterungsboard und ein CPU-Erweiterungsboard mit SD-Karten-Slot für die XC heraus. Bin gespannt drauf.
Review der XCPPro Programmiersoftware
Zuerst ein Geständnis, ich bin ein echter Fan der XCPPro Programmiersoftware für die Thinget XC. Ihr fehlt zwar einiges an Komfort, den man vielleicht aus anderen Umgebungen kennt, dafür gibt es aber mindestens genauso viel, was ich wirklich ausgezeichnet finde. Hier zwei Komfortfunktionen, die fehlen: grafische Funktionsbausteinprogrammierung und symbolische Adressierung. Wenn euch das wichtig ist, ist die XCPPro in der derzeitigen Version nicht das richtige für euch. Funktionen, die man von einem Programmiertool erwartet und die sie unterstützt sind z.B.: indirekte Adressierung, einen umfangreichen IEC-Befehlsumfang, Interrupt-Verarbeitung und einen animierten, bedienbaren Kontaktplan im Onlinemodus. Jetzt die Punkte, die mich richtig begeistern: Erstens, die XPPro Kontaktpläne lassen sich komplett per Tastatur erstellen. Und zwar nicht nur was die Navigation und das Löschen und Hinzufügen von Objekten im Kontaktplan angeht, sondern jeder Befehl mit Paramtern(!) lässt sich direkt eingeben. Das finde ich genial, denn ehrlich, es gibt ja tolle Mäuse, aber so ein Programm per Tastatur einzutippen halbiert die Programmierzeit ... mindestens. Dabei zeigt der Editor per Tooltip Infos zum Befehl und die erwarteten möglichen Parameter an. Das erinnert mich sehr an Intellisense in Visual Studio, find ich sehr gut. Man kann es, genau wie Intellisense, auch abstellen, wenn es stört.
Wenn wir schon von Visual Studio reden, das ist gleich die zweite geniale Sache. Neben Kommunikationsblöcken und Sequenzblöcken (die übrigens auch sehr gut sind), kann man sehr einfach C-Blöcke erstellen(!). Ihr solltet wirklich keine Scheu davor haben, es ist nämlich widererwarten extrem einfach. Die XCPPro hat dafür sogar einen eigenen intelligenten C-Editor, der mir sehr gut gefällt. C-Blöcke lassen sich auch exportieren und wieder importieren, und zwar entweder im Klartext oder kompiliert, um Einsicht und Manipulation durch Dritte zu verhindern. Die C-Blöcke in XCPPro funktionieren sehr einfach und immer gleich. Ihr übergebt im Kontaktplan ein Startregister (Dn) und einen Startmerker (Mn) im Funktionsaufruf. Im C-Programm adressiert ihr dann über W[0] das erste Register an dieser Startadresse, mit W[1] das zweite und so weiter. Mit B[0] den ersten Merker, B[1] den folgenden usw. Was ihr damit macht und wie viele ihr nutzt, ist vollkommen euch überlassen. Habe euch dafür mal ein einfaches Beispiel-Projekt gebaut, den legendären Bubble-Sort Algorithmus zur Demonstration der Sortierung eines Speicherbereichs. Ihr übergebt auch hier ein Startregister Dn und einen Merker Mn an meine Funktion SORT. In Dn steht die Länge des zu sortierenden Bereichs, ab Dn+1 beginnen die zu sortierenden Register. Mn gibt an, ob vorwärts (0) oder rückwärts (1) sortiert werden soll. Mn+1 wird übrigens auf eins gesetzt, wenn die Sortierung beendet ist. Damit habe ich eine einfache Zählung der Ausführungen des SORT-Blocks realisiert. Probiert's einfach aus, das Beispielprojekt liegt hier. Den SORT-Block gibt es auch einzeln zum Importieren. Könnt ihr gern nutzen und ändern. Funktioniert sehr gut, aber immer ohne Gewähr ist nur ein Proof-of-concept. Übrigens hat mich die ganze Übung dank Tastatureingabe keine 30 Minuten gekostet. Auch interessant, es werden nicht mal 2% des Programmspeichers der kleinen XC3-14 genutzt und die Zykluszeit liegt bei Ausführung der Sortierung zwischen 1 und 3 ms, Respekt Kleine. (Die XC3-32 hat zum Vergleich etwa dreimal so viel Programmspeicher und ist gleich schnell.)
Testversion der deutschen XCPPro Version
In der letzten Woche habe ich übrigens eine Testversion der deutschen XCPPro Programmiersoftware für die Thinget XC bekommen. Die Übersetung ist wirklich sehr gut gelungen und hat nur noch wenige Bugs. Die finale Version wird also ab Ende Mai verfügbar sein. Ihr könnt allerdings jetzt schon problemlos die englische Version nutzen, die Projekte könnt ihr später übernehmen.
Aktuelle Webtechnologien auf dieser Seite
Ich bin ja ein großer Fan von neuen Technologien (manchmal auch nur für mich neu :-)) und experimentiere gern. Das seht ihr auch an dieser Seite. Gibt da links unten einen Feedback-Button, über den ihr zu einer beliebigen Seite aus spstiger Feedback, wie z.B. Lob, Kritik oder Fehler, loswerden könnt. Auch würde ich mich über eure Teilnahme an meiner kurzen Umfrage (neudeutsch Poll) sehr freuen: online surveys.
Wenn übrigens in seltenen Fällen ein Tiger auf dem Bildschirm erscheint, der nach eurer Meinung zu unserer Seite fragt, so antwortet ihm gern, ich habe ihn geschickt.
So das war's für diese Woche, hab noch so einige andere Infos in petto, z.B. was der nächste Preistiger des Monats wird, die Infos heb ich mir aber für nächste Woche auf ...
Freu mich auf euch, bis dann
Euer spstiger