01 Erste Schritte mit Compact Logic

Das CL-System ist so konzipiert, dass es weitgehend selbsterklärend ist. Die Bedienung folgt einem einfachen, wiederkehrenden Muster, das sich durch das gesamte System zieht. Mit dem CL-System arbeiten Embedded-Entwickler, Automatisierer und echte Macher. Je nach Herkunft mag das eine oder andere bekannt vorkommen – wir nehmen es trotzdem kurz mit, damit wirklich alle entspannt folgen können.

Dieses Muster stellen wir im Folgenden bewusst an einem sehr einfachen Beispiel vor. In seiner Grundform fragt es einen Taster ab und schaltet eine LED. Genau das gleiche Prinzip lässt sich später direkt auf komplexe Automatisierungsaufgaben übertragen.

Aber starten wir ganz entspannt: Schalten wir eine LED ein.

Schritt 1 – Software & Basis vorbereiten

Bevor wir starten, brauchen wir zwei Dinge: die CL-Software und entweder einen µC mit Firmware oder den Simulator.

  • Für dieses Tutorial nutzen wir beide Wege parallel: echte Hardware und den Simulator. So kann man alles direkt nachvollziehen – auch ohne verfügbaren Controller.
  • Die Software ist schnell installiert – Setup ausführen, fertig. Auch die Firmware auf dem Controller ist kein Hexenwerk. Dazu gibt es eine kurze separate Anleitung, hier setzen wir sie einfach voraus.

Schritt 2 – Ein Blick in die Programmierumgebung

Nach der Installation findet sich im Startmenü ein neuer Ordner „CompactLogic“ mit mehreren Programmen. Für den Einstieg ist davon nur eines relevant: der CL Program Designer.

Der µController wird nun, zum Beispiel über USB, mit dem PC verbunden und der CL Program Designer gestartet. Daraufhin erscheint der Geräteauswahldialog..

  • Im ersten Tab „Verfügbare Geräte“ werden alle aktuell erreichbaren Geräte angezeigt (USB, Bluetooth, Netzwerk)
  • Im zweiten Tab befinden sich die verfügbaren Simulationen

Mit einem Doppelklick auf ein Gerät oder eine Simulation wird der Designer gestartet – damit ist die Programmierumgebung bereit.

Im CL-System dreht sich alles um Funktionsbausteine (FBs). Sie werden verbunden, kombiniert und ergeben am Ende die gewünschte Funktion. Ein Funktionsbaustein hat einen Namen und einige Eigenschaften – mehr braucht es für den Einstieg erst einmal nicht. Auf die Details wird später eingegangen.

  • Links → Einstellungen / Werkzeuge & Funktionen
    • Einstellungen des aktuell ausgewählten FBs(abhängig vom Datentyp)
    • Zugriff auf Werkzeuge und verfügbare Funktionen
    • Weitere Details folgen im nächsten Schritt
  • Mitte → Arbeitsfläche
    • Platz für die eigentliche Logik, aufgeteilt in mehrere Arbeitsblätter
    • Im Beispiel ist ein einzelner FB (ein einfacher Merker) zu sehen
  • Oben → Status & Steuerung
    • Auswahl der Arbeitsblätter
    • Anzeige von Status und Systemname
    • Zugriff auf den zentralen Systemeinstellungsdialog
    • Menü mit weiteren hilfreichen Funktionen
  • Unten → Signale & Verlauf
    • Echtzeit-Anzeige aller Werte des ausgewählten FBs im zeitlichen Verlauf

Schritt 3 – die eine Tool- / Werkzeugleiste

Alles Wesentliche, was für die Umsetzung von Logik benötigt wird, befindet sich in einer einzigen Toolleiste auf der linken Seite. Sie ist in vier überschaubare Abschnitte unterteilt. Die einzelnen Funktionen werden per Drag & Drop in den Arbeitsbereich gezogen und dort miteinander verbunden. Gruppierung und Symbole geben bereits eine grobe Orientierung, welche Aufgabe eine Funktion erfüllt. Die detaillierte Beschreibung ist jederzeit direkt über die Tool-Tips verfügbar.

FB Einstellungen

Meta-Informationen: Jede Funktion bzw. jeder Funktionsbaustein (FB) ist einer Gruppe zugeordnet und besitzt eine eindeutige ID. Optional kann ein Name vergeben werden. Bei numerischen Ausgängen lassen sich zusätzlich Format und Einheit festlegen.

FB-IOs: Jeder Funktionsbaustein verfügt über eine eigene Anzahl an Ein- und Ausgängen. Diese können entweder mit anderen Funktionsbausteinen verbunden sein oder feste Vorgaben erhalten. Die entsprechenden Einstellungen werden hier vorgenommen.

Hinweis: Der gleiche Einstellungsbereich ist auch über das Kontextmenü erreichbar. Ein Rechtsklick auf den Funktionsbaustein im Diagramm genügt.

Parameter: Einige Funktionsbausteine besitzen zusätzliche Parameter, die ihr Verhalten beeinflussen. Darauf wird jeweils dann eingegangen, wenn die entsprechenden Bausteine in den Beispielen eingesetzt werden.

verfügbare Hardware

In diesem Bereich werden alle vorhandenen und eingerichteten, real existierenden Hardwareressourcen aufgeführt.

Einmalige Verwendung
Im Gegensatz zu Funktionsbausteinen, die beliebig oft verwendet werden können, steht jede reale Hardwareressource nur einmal zur Verfügung. Ein Relais wird beispielsweise genau durch eine Bedingung geschaltet und kann daher nicht mehrfach im Diagramm verwendet werden.

Sichtbarkeit in der Toolleiste
Aus diesem Grund verschwindet das Symbol einer Hardwareressource aus der Toolleiste, sobald sie in das Diagramm gezogen wird. Wird die Ressource dort wieder gelöscht, erscheint das Symbol erneut in der Toolleiste.

Herkunft der Ressourcen
Die Hardwareressourcen entsprechen realen Komponenten und werden einmalig für ein bestimmtes Board definiert. Die Einrichtung erfolgt vor der Verwendung über das separate CL-Plattform-Setup-Programm. Dazu steht eine eigene kurze Anleitung zur Verfügung.

Diagramm-Tools

Eingaben & Ausgaben im Diagramm
Ein- und Ausgänge von Funktionsbausteinen können mit Diagrammfunktionen direkt im Diagramm gesetzt oder angezeigt werden. Werte lassen sich so verständlich vorgeben und Zustände unmittelbar sichtbar machen, ohne in die Einstellungen wechseln zu müssen.

Hinweis: Für jede Art von Ein- oder Ausgang existiert eine sinnvolle Standard-Diagrammfunktion. Mit einem Doppelklick auf einen Anschluss wird diese automatisch eingefügt. Darüber hinaus bilden diese Diagrammfunktionen später die Grundlage für die Bedienoberfläche im Panel sowie für die Smartphone-App.

Funktionen

Mehr als 200 Funktionen stehen hier, übersichtlich in Kategorien unterteilt, zur Auswahl. Klassische SPS-Funktionsbausteine machen dabei nur einen Teil aus. Hinzu kommen viele zusätzliche Funktionen, die speziell durch die Möglichkeiten moderner Embedded-Hardware sinnvoll werden, sowie komplexere Bausteine aus der Praxis.

Verwendung: Diese Funktionen können beliebig oft verwendet werden. Sie werden wie gewohnt per Drag & Drop in den Arbeitsbereich gezogen und miteinander verbunden. Die detaillierte Beschreibung der einzelnen Funktionen erfolgt schrittweise in den späteren Anwendungsbeispielen.

Schritt 4 – Schalten wir eine LED … und zählen gleich mit

Dieses Beispiel lässt sich sowohl auf der realen Hardware als auch im Simulator umsetzen. Beide Wege verhalten sich identisch.

Reale Hardware

Das verwendete Board besitzt einen integrierten Taster (Boot-Taster) sowie eine kleine RGB-LED.
Diese Hardwarekomponenten wurden bereits vorbereitet und stehen hier direkt zur Verwendung zur Verfügung.

Simulator

In der mitgelieferten leeren Simulatordatei sind zwei digitale Eingänge sowie ein digitaler Ausgang vorbereitet.
Diese können nun genauso wie bei der realen Hardware in die Arbeitsfläche gezogen werden.

In beiden Fällen wird die digitale Grundfunktion „Toggeln“ verwendet.
Dieser Funktionsbaustein schaltet seinen Ausgang jedes Mal um, wenn am Eingang ein Signal erkannt wird.

Zusätzlich kommt die digitale Grundfunktion „Zähler“ zum Einsatz.
Bei jedem Signal am Eingang erhöht sie einen internen Zählwert und gibt diesen aus.

Alle benötigten Bausteine werden nun in die Arbeitsfläche gezogen und wie gezeigt miteinander verbunden.
Dazu wird mit gedrückter Maustaste eine Linie zwischen den jeweiligen Ein- und Ausgängen gezogen.

Das Ganze noch einmal in Bewegung

In diesem ersten Beispiel wurde gezeigt, wie mit wenigen Funktionsbausteinen eine einfache, aber vollständige Automatisierung entsteht.
Ein digitaler Eingang schaltet eine LED, ein Zähler erfasst die Schaltvorgänge.

Dabei wurde deutlich, dass:

  • Logik aus überschaubaren Funktionsbausteinen aufgebaut wird
  • reale Hardware und Simulator identisch verwendet werden können
  • Eingaben, Ausgaben und Visualisierung direkt im Diagramm stattfinden

Mehr ist für den Einstieg nicht erforderlich.
Die gleichen Prinzipien lassen sich direkt auf komplexere Aufgaben übertragen.

Dieses Beispiel entspricht dem „Hallo Welt“ des Compact-Logic-Systems.
Es zeigt nur einen winzig kleinen Teil der Möglichkeiten, die in den folgenden Tutorials nach und nach anhand konkreter Beispiele erläutert werden.