µMSR 5.0 – Soft-SPS (Embedded-PLC) für µController und PC

Das µMSR 5.0 – System befindet sich derzeit noch in der Entwicklung, Stand 15.10.2021

Die neuste Version der µMSR-Entwicklung trennt die SPS-Software von einer festen Hardware. Ein HAL (Hardware Abstraction Layer) kann angepasst werden, um die Software auf verschiedenen Architekturen laufen zu lassen. Welche IO-Funktion mit welchem Pin verbunden ist, welche Schnittstellen zur Verfügung stehen, wieviel Blöcke maximal verwendet werden und welche Funktionen bereitstehen, wird in einem Admin-Tool festgelegt und kann jederzeit angepasst werden.

Das µMSR System besteht aus einer in C geschriebenen Firmware, anpassbar an unterschiedlichste Hardwareplattformen und einer auf Windows basierenden grafischen Programmiersoftware. Primäres Ziel dieser Programmierumgebung ist, durch Vereinheitlichung und viele Bedienkomfort, Aufgaben aus dem Bereich der Mess-, Steuer- und Regelungstechnik, in Kombination mit IoT-, Industrie 4.0 – und Cloudsystemen auf einfachste Weise umzusetzen.  

Bei der Neuentwicklung des µMSR-Systems liegt der Fokus auf Einfachheit.
Der Anspruch ist, dass technisch vorgebildete Benutzer sich sofort zurechtfinden und fachfremde Benutzer in kürzester Zeit eigene MSR-Projekte umsetzen können. Einfach bedeutet mit minimalsten Einarbeitungsaufwand, zu nachvollziehbaren, fehlerarmen und günstigen Lösungen zu kommen. Und dieses ohne Einschränkungen im Funktionsumfang.

Am Ende der Seite steht eine Testversion für Windows zum Download.

Soft-SPS für ARM-Cortex-M µContoller und PC

  • Einfache Bedienung über die grafische Oberfläche – FBS (Funktionsbaustein-Sprache / Softwireing)
  • Einheitliches Modell für alle Funktionen
    • Setzen der Funktionsparameter über Eigenschaften oder Blockanschlüsse
    • Alle IOs eines Blocks mit live-Werten im Diagramm, sowie an den Anschlüssen bzw. den Verbindungen
    • Designerfunktionsblöcke zur übersichtlicheren Bedienung und Konfiguration der Blockdiagramme
    • Strukturieren der Aufgaben / Verteilung auf verschiedene Arbeitsblätter
grafische Programmierumgebung
  • Die Dokumentation aller Blöcke, deren Funktion und dessen Anschlüsse steht in Form von ToolTips direkt im Programm zur Verfügung.
  • Umfangreiches Angebot an Funktionen, Intelligente Funktionsblöcke reduzieren die Komplexität der grafischen Programmierung.
  • Komplett als C-Code, als Middleware in eigene Entwicklungen einbinden, alle Hardwarezugriffe liegen in einem portierbaren HAL.
  • Aktuell existiert ein HAL für STM32F7 µC und für Windows (einfach auch für andere Plattform umsetzbar).
  • Die Windowsportierung wird für die Simulation verwendet und kann unter Verwendung von Messkarten auch als PC-basierte Steuerung genutzt werden.
  • Alle Einstellungen / Programme werden „konfiguriert“ und die Firmware arbeitet diese Konfiguration ab. D.h. es wird bei Änderungen kein neuer Code erstellt und das Zielgerät muss NICHT neu programmiert werden.
  • Den Zustand der Automatisierung immer Live im Blick. Zustände und Werte werden mehrfach im Diagramm übersichtlich dargestellt und können von hieraus bedient werden.

Funktionsumfang

  • Automatisierungen, Klassisch mit „UND / ODER / Ein-Ausschaltverzögerungen / Flipflops / ….“
    • Anwenden allgemeiner SPS-Programmierungskenntnisse / Funktionsbaustein-Sprache
  • Automatisierungen über das Modell eines Zustandsautomaten
    • Spezielle Blockfunktionen bieten Unterstützung um Zustandsautomaten einfach und übersichtlich zu designen
  • Zeitschaltuhren, Zeitmessungen, Listen von Zeitschalten
  • Signalwandler / Signalverarbeitung / Arithmetik
  • Regelungen / Programmregler / Regler-Simulation
  • Datenerfassung / Gateways / Edge Computing / Edge Controller
  • Alle Funktionen lassen sich, übersichtlich auf mehrere Arbeitsblätter verteilt, beliebig kombinieren.

Nutzen der Flexibilität des µMSR-Systems mit eigenen Funktionen als Blöcke. Damit verbunden, stehen alle Konfigurations-, Kombinations- und Kommunikationsoptionen der µMSR-Software auch für eigene Entwicklungen zur Verfügung. Zur Verkürzung der Entwicklungszeit und Standardisierung verschiedenster Produkte.

  • Variante 1: Implementioerung des eigenen Codes in universellen Blöcken. Mehrere Konfigurationen stehen zur Auswahl.
  • Variante 2: Bereitstellung eines eigenen speziellen Blocks. Dazu müssen nur einige Infos übermittelt werden (Beschreibung, Symbol, Anzahl und Typ des gewünschten Blocks sowie die Ein- und Ausgänge und deren Beschreibung). Über ein Tool wird dann eine Code-Rahmen für die Firmware erstellt, der nur noch um die eigene Logik ergänzt werden muss. Die Kombinationsmöglichkeiten mit anderen Blöcken bzw. die vollständige Integration in die µMSR-Software sind damit schon garantiert.

Hardwareanpassung

  • Der Funktionsumfang lässt sich konfigurieren – in der Konfigurationsdatei der µMSR Programmiersoftware – oder schon in der Firmware
  • Auch die verfügbaren Hardwareoptionen, sowie die maximale Anzahl an Funktionen können eingestellt werden, um sich an verfügbare Ressourcen anzupassen
    • Pro Block ca. 200 Byte Ram / 200 Byte ROM.
    • Task-Zeit, bei z.B. STM32F7 / 200 MHz: ca. 1µs pro Block und zusätzlich ca. 1µs pro Verbindung

Simulator

  • Die Windowsversion der Firmware ist als Simulator in die Programmierumgebung integriert. Zusätzlich gibt es ein separates Simulationsprogramm welches über eine TCP Schnittstelle kommuniziert.
  • Die Windowsportierung der Firmware in Kombination von Messkarten kann als PC-basierte Steuerung eingesetzt werden.

Aktuell in Planung

Industrie 4.0 machts möglich …. Auch Kleinserien der Elektronikentwicklung sind mittlerweile schnell und preiswert umsetzbar.

  • Eine nano-SPS mit nur wenigen IOs und USB-Schnittstelle, als LowCost-Steuerung in kleinstmöglicher Größe. Versorgungsspannung und IOs im Spannungsbereich 12 .. 24 VDC.
    • Für einfachste Automatisierungen oder erweitern vorhandener Automatisierungen, als Ersatz für sonst übliche Relais- oder Zeitschaltungen …. Entweder weil auf die vorhandene Steuerung kein Zugriff, technisch oder rechtlich, besteht oder die Ressourcen der vorhandenen Steuerung erschöpft sind. Oder einfach nur weil es der einfachste, sicherste und kostensparendste Weg ist.
  • Eine nano-mikro-Edge ausreichend analoge und digitale IOs, mit Ethernet und USB-Schnittstelle in kleinstmöglicher Größe und Spannungsversorgung über Power-Over-Ethernet (evtl. auch als WAN-Version mit Versorgung über „Energy Harvesting“ und Akku).
    • Flexible Lösungen für Edge-Computing, Datenerfassung, Vorverarbeitung und Cloudspeicherung bzw. Fernsteuerung bestimmter Prozesse.
  • Eine Kleinsteuerung mit ausreichend analogen und digitalen IOs. Zusätzlich mit Ethernet-Anschluss und evtl. weiteren Busanschlüssen, ausreichend Speicher, optionaler USV on Board, usw.
    • Für Automatisierungen von Anlagen und Maschinen mit überschaubarerer Komplexität.
  • Zeitschaltuhr mit wenigen Eingängen und bis zu 12 digitalen Ausgängen, als 12 .. 24 VDC und 230 VAC Version im wasserdichten Gehäuse.
    • Primäre Aufgabe dieser Plattform ist das Anwenden der vielen Zeitfunktion des µMSR Systems zur Steuerung von zeitabhängigen Aufgaben wie Bewässerung oder Licht ….  
  • Erweiterter Programmregler mit optional mehreren analogen IOs.
    • Wie vergleichbare Programmregler, jedoch mit der Flexibilität des µMSR-Systems, mehrere parallele Regler mit hunderten Soll-, Rampen- und Haltezeitwerten
  • Messwandler mit zwei galvanisch getrennten AD- und DA-Wandlern.
    • Anwendung als frei konfigurierbarer Messverstärker. Erfassen analoger Messwerte, vorverarbeiten, linearisieren und umrechnen in ein Normsignal, mit optionalen Funktionen wie Datenloggen im Ringspeicher, Grenzwertprüfung für Alarmsysteme, Fernzugriff usw.  
  • PC-basierte Steuerung.
    • Die Portierung der Firmware für Windows soll als einfaches grafisches Programmiersystem für PC-basierte Automatisierungen ausgebaut werden. Im ersten Schritt sollen dafür einige Standard-Messkarten unterstützt werden. In Kombination mit µMSR-Funktionen zur DB, Cloud und Webserviceanbindung bleiben so kaum Anwendungsfälle unberührt.

Alle geplanten Entwicklungen in unterschiedlichen mechanischen Dimensionen. Ausführung als Open-Frame, im HUT-Schienengehäuse und in einem wasserdichten Spritzgussgehäuse mit entsprechenden Kabeldurchführungen.

Alle Anwendungen werden mit der gleichen µMSR-Software konfiguriert und dargestellt. Die Software sucht beim Start nach angeschlossenen Geräten (USB, Ethernet, lokal) und listet diese auf. Durch Doppelklick auf ein Gerät startet die Software mit dem Funktionsumfang, welcher in dem jeweiligen Gerät zur Verfügung steht.

Kurzanleitung und Testversion zum Download

Aktuell steht eine Testversion mit eingeschränkten Funktionsumfang bereit. Ich bedanke mich für Ihr Interesse und freue mich über jede Kritik und Anregung.

Die Testversion hat einen Hardwaresimulator, welcher beim Programmstart automatisch mitgestartet wird. So können Programmfunktionen getestet werden, ohne dass dafür eine Elektronikplattform erworben werden muss.

Einfach die folgende ZIP-Datei herunterladen, ENTPACKEN und die enthaltene umsr50_Config.exe starten.

Download “µMSR-Testversion vom 20.6.2021” uMSR50_20062021.zip – 52-mal heruntergeladen – 6 MB

Für einen schnellen Einstieg gibt es hier eine kleine Schritt-für-Schrittanleitung. Es empfiehlt sich diese Schritte einmal selbst nachzuvollziehen. Ca. 15. Minuten und alle relevanten Infos wurden besprochen. Ab da heißt es ein wenig spielen und sich ausprobieren.

Download “µMSR 5.0 – Kurzanleitung 22.6.2021” Kurzanleitung_umsr50_22062021.pdf – 58-mal heruntergeladen – 2 MB

Eine Besonderheit des µMSR-Systems sind Funktionen um das Modell eines Zustandsautomaten direkt und einfach umzusetzen. Der folgende Download zeigt hierfür ein einfaches Beispiel.

Download “Demo-Zustandsautomat im µMSR 5.0 System” Demo-Zustandsautomat.pdf – 28-mal heruntergeladen – 772 KB