Laden...

Evaluierung Gui Frameworks (WPF?) für Prozesssteuerung

Erstellt von seebee vor 4 Jahren Letzter Beitrag vor 4 Jahren 2.835 Views
Thema geschlossen
S
seebee Themenstarter:in
6 Beiträge seit 2019
vor 4 Jahren
Evaluierung Gui Frameworks (WPF?) für Prozesssteuerung

Hallo miteinander,

da ich neu hier in dem Forum bin möchte ich auf diesem Wege kurz Hallo sagen.

Ich hoffe ihr seid für so eine abstrakte Frage eingestellt; Auf Stackoverflow hätte man im Handumdrehen 20 downrates dafür 😉

Meine erste Frage wäre folgende:

Mein Unternehmen plant jetzt auch im Bereich der Prozesssteuerung und in Produktionsstrassen aktiv zu werden. Meine Frage wäre, ob jemand WPF in dem Bereich einsetzt und wie die Erfahrungen sind. Gerne auch ganz Praktische Erfahrungen oder probleme die sich ergeben haben, z.b. mit Treibern von gerne verwendeten Hardware Zulieferern usw..

Zur Zeit ich der einzige mit WPF Erfahrung hier; die ist aber reichlich da, da es schon einige Tools gibt, die mit WPF erstellt worden sind, deshalb wäre WPF mein Favorit - auch weil ich immer noch den Eindruck habe, es wäre relativ mächtig und nützlich.

Ein interesanntes Thema wäre natürlich auch Echtzeit und Architekturen z.b. mit SPS elementen um zeitkritische Prozesse auszulagern (ein kollege hatte mal eine Prozessteuerung im 10-100 us jitterproblem bereich für testzwecke innerhalb einer WPF-Anwendung erstellt. Wirklich spass machen tut das nicht, vor allem wenn man eine Komplexe gui dranbinden will, die nicht auf GarbageCollector verzichten kann)

Ich bin für jeglichen Input dankbar und bin gespannt, ob sich ein kleiner Austausch zu dem Thema entwickeln kann!

16.807 Beiträge seit 2008
vor 4 Jahren

Meine Frage wäre, ob jemand WPF in dem Bereich einsetzt und wie die Erfahrungen sind. Gerne auch ganz Praktische Erfahrungen oder probleme die sich ergeben haben, z.b. mit Treibern von gerne verwendeten Hardware Zulieferern usw..

Meine Hauptbranche ist der Maschinenbau, und die meisten verwenden immer noch WinForms.
Gibt einige große Hersteller, die bei neuen Maschinen auf WPF setzen - manche gehen aber auch den Weg zu HTML-Oberflächen.

Ich werde immer wieder gefragt, wenn ich bei Kunden bin: WPF oder HTML.
Meine Antwort ist immer: kommt auf die Gesamtstrategie an.

WPF macht halt wenig Sinn, wenn die Gesamtstrategie Richtung vernetzte Maschinen mit Weboberflächen geht.
Dann macht man viel doppelt.
Gibt aber genauso Gegenargumente zu HTML.

Echtzeit spielt bei UI quasi keine wirkliche Rolle, weil eine UI auf keinem System in Echtzeit aktualisiert werden kann - geschweige denn, dass der Mensch das erkennen kann.
Vermutlich hat Deinem Kollegen diese Erkenntnis auch gefehlt und sich daher über die "Jitterprobleme" gewundert 😃
Wenn Du die SPS direkt an die UI bindest, dann würde ich fragen: wo ist der Sinn?

Letzten Endes kommt es einfach auf die Firma, die Entwickler, die Strategie und die Maschinen an.

PS: ich selbst hab seit 5 Jahren kein WPF mehr gemacht; aber sehr viele Kundenanfragen zum Thema Blazor - fast alles Maschinenbauer.

4
12 Beiträge seit 2018
vor 4 Jahren

Mein Hauptbereich ist auch Maschinenbau. Sehe das auch wie Abt,
kommt drauf an wofür genau.
Bei mir sind es hauptsächlich unvernetzte Steuerungen. Alle mit WinForms.
Anbei, wenn einige Tools in WPF laufen, aber es doch WinForms sein soll, kannst du die Inhalte auch mit ElementHost darstellen... Und umgekehrt genauso.

Wenn ich daran denke wieviele Winform-Charts es bei mir gibt, und wieviele im Designer abgeleitete/UserControls davon, und ich alles auf WPF umstellen müsste, krieg ich Magenschmerzen X(
Und find erstmal nen performantes WPF Chart, wie das aus Forms...

Hauptsteuerung bei uns ist Beckhoff, die haben inzwischen auch HTML5 interne HMI.
Halt ich aber persönlich nix von. (Die CNC HMI ist aber WPF)

Steuerungen bei uns, sind auch nicht direkt ansprechbar, Layer dazwischen ist immer ne DB.

Und was die Geschwindigkeit von WPF zu Forms angeht, WPF ist in der Darstellung deutlich schneller. Ansonsten sollte die Geschwindigkeit bei beiden ja gleich sein.
Und in Echtzeit (bzw SPS Cycle) darstellen 😁 😄, das wäre mal was.

Die letzte SPS Die ich programmiert habe, lief mit 250µs Zyklus, der Thread zur Kommunikation in der GUI kam so auf 2-3 ms und die Winforms-GUI dann auf 300ms(jaaa viele werte aufm monitor 8)).

16.807 Beiträge seit 2008
vor 4 Jahren

Und was die Geschwindigkeit von WPF zu Forms angeht, WPF ist in der Darstellung deutlich schneller.

In dieser Pauschalität falsch.
Je nach UI kann WinForms oder WPF schneller sein.

Der große Grund für WPF ist vor allem der Programmierparadigma mit MVVM.

Und in Echtzeit (bzw SPS Cycle) darstellen 😄 😄, das wäre mal was.

Macht kein Sinn und ist auch unter Windows (und auch Linux) nicht (so einfach) möglich.

Die letzte SPS Die ich programmiert habe, lief mit 250µs Zyklus, der Thread zur Kommunikation in der GUI kam so auf 2-3 ms und die Winforms-GUI dann auf 300ms(jaaa viele werte aufm monitor 8)).

SPS Abarbeitungszyklen zu vergleichen macht ja wenig Sinn - genauso wenig wie UIs im Microsekunden-Takt zu aktualisieren.
300ms ist nicht auch nicht langsam; es macht auch keinen Sinn eine UI schneller zu aktualisieren als der Mensch verarbeiten kann.

S
seebee Themenstarter:in
6 Beiträge seit 2019
vor 4 Jahren

@Abt

danke schonmal für deine Antwort. Gut dass es schonmal einen gibt der ne ahnung hat und im handumdrehen geantwortet hat.

Ich muss hier etwas kürzen und stell deshalb die dringlichste frage und halte den rest erstmal zurück.

Wenn man nicht von einer einzelnen Maschine sondern von einer Produktionsstrasse ausgeht, ich denke immer modular: Man hätte dann schon einen übergeordneten steuerprozess, der das zusammenspiel der komponenten regelt, oder nicht? Oder weiss jede machine, wer vor und wer nach ihr kommt? und in welcher geschwindkeit/pause z.b. die teile rauskommen können Das wäre ja dann eher weniger modular..

Mir fiel gerade ein: Wir hab in meiner Ausbildung mal einen interpreter für so einen paralellisierbaren ausführungsgraphen programmiert. Die notation war damals schon (wenn auch löchrig) spezifiziert. Das wäre ein Element für einen Editor, mit dem man solche Prozessketten editieren/customizen kann. Was geht da diesbzgl heute so?

Kleine Frage noch:
Was würde dann zwischen Gui und SPS hängen.

Mein Fehler war vl. das Beispiel. Da hatte man eine GUI mit der man die wellenform der oszillatoren editieren konnte. Für Testzwecke. Ich denke für sowas würde WPF<>SPS=>Steuerspannung schon sinn machen oder?

Wenn du von HTML redest dann hast du eine Maschine mit einem Webserver im kopf die man darüber konfigurieren kann?


@4dk: Ja das mit dem ElementHost kenne ich. Kann ich mir vorstellen, dass du da magenschmerzeen bekommst. wäre auch nur im rahmen einer neuentwicklung interesannt komplett auf wpf zu gehen. ansonsten wird man wohl als wpf-mann vor der truppe dastehen wie ein außerirdischer :p ich kenn sowas haha.

Steuerungen bei uns, sind auch nicht direkt ansprechbar, Layer dazwischen ist immer ne DB.
> Interesannt! Das war mir nicht klar, dass das so gemach twird.

> Bei der Gui gings nicht um echtzeit darstellung, sondern um generierung einer steuerspannung in echtzeit, über die gui konnte man die osczillatoren editieren. das hat natürlich immer zu dropouts geführt erstmal, bis er alles auf "as static as possible" umgestellt hat.

Die letzte SPS Die ich programmiert habe, lief mit 250µs Zyklus, der Thread zur Kommunikation in der GUI kam so auf 2-3 ms und die Winforms-GUI dann auf 300ms(jaaa viele werte aufm monitor cool ).
> Danke! Das ist auch mal ein sinnvoller input.

Ich hab zuletzt einen Echtzeitprozess gemacht, der glaub ab 4-6 us anfällig war. (AC-Schalter) auf demselben prozessor lief ein lcd display und eine HMI . ohne vram. Ziemlich abenteuerlich und es brauchte etwas, das zu laufen zu bekommen, weil der display zugriff auf das sdram unheimlich geflackert hat. Lösung war denkbar einfach: Die Strukturen für den Interrupt im VRAm halten statt im sram und schwups lief es 1 a sauber. Sicherlich keine Schulbuch architektur aber das Vram wollte man sich sparen. - Die Gier halt 😉

16.807 Beiträge seit 2008
vor 4 Jahren

Man hätte dann schon einen übergeordneten steuerprozess, der das zusammenspiel der komponenten regelt, oder nicht? Oder weiss jede machine, wer vor und wer nach ihr kommt? und in welcher geschwindkeit/pause z.b. die teile rauskommen können Das wäre ja dann eher weniger modular..

Kommt auf den Prozess an.

Für die meisten Maschinen spielt das keine Rolle; daher ist hier die Verwendung einer Event-basierten Kommunikationsplattform oft sehr beliebt - und setze ich zB auch oft beim Kunden ein bzw um.
Siehe dazu: Event Sourcing
Die Maschine wirft nur Events in einen Kommunikationskanal, und jede Software, Maschine... kann auf ein oder mehrere Events hören und darauf agieren.

Für Industrieanlagen oder durchaus auch für gewisse Maschinen ist aber der Vor- und Nachprozess wichtig.

Was würde dann zwischen Gui und SPS hängen.

SPS-Nachrichten sind typisch für eine Event-Sourcing-Plattform.

  • Events werden in ein Kanal geschmissen
  • Ein oder mehrere Consumer verarbeiten diese Informationen, starten andere Events oder speichern die Messages ab

Eine UI ist nichts anderes als ein Medium, um historische Daten anzuzeigen.
Historische Daten heisst: alles, was bereits passiert ist.

Die Datenquelle ist aber normalerweise niemals die Roh-Quelle, sondern ein Aggregationsmedium; ein Cache, eine Datenbank etc.
Eine UI verarbeitet schließlich niemals solche Nachrichten direkt.
(Basics: [Artikel] Drei-Schichten-Architektur - gilt für Software wie auch für Infrastruktur).

Im Endeffekt kannst Du Dich an den Referenzarchitekturen (Microsoft, OMP..) jeder industriellen IoT Plattform (IIoT) anschauen und Dir die Bausteine, die Du brauchst, rausnehmen.

Wenn du von HTML redest dann hast du eine Maschine mit einem Webserver im kopf die man darüber konfigurieren kann?

Nein. Ich rede entweder zB. von Electron oder von WebAssembly (in .NET via Blazor).

4
12 Beiträge seit 2018
vor 4 Jahren

Und was die Geschwindigkeit von WPF zu Forms angeht, WPF ist in der Darstellung deutlich schneller.
In dieser Pauschalität falsch.
Je nach UI kann WinForms oder WPF schneller sein.
Der große Grund für WPF ist vor allem der Programmierparadigma mit MVVM.

Das stimmt. aber bei den Tests die ich wegen performance gründen gemacht habe, ist WPF einfach schneller beim aktualisieren von Controls. MVVM hin oder her. Die Aktualisierung die per MVVM angestoßen, landet auch erstmal aufm GUI-Stack.
Also wenn du für beide nen Tests machst, die über nen Thread aktuallisiert werden, Gleiche anzahl controls usw. Ist Winforms meine ich 60% langsamer. ich such mal mein Testprojekt dazu...

Und in Echtzeit (bzw SPS Cycle) darstellen 😁 😄, das wäre mal was.

Macht kein Sinn und ist auch unter Windows (und auch Linux) nicht (so einfach) möglich.[/color]

Jo macht keinen Sinn! Ist wie nen Porsche, sieht nice aus, fährt aber in der Stadt auch nur 50 😁

Die letzte SPS Die ich programmiert habe, lief mit 250µs Zyklus, der Thread zur Kommunikation in der GUI kam so auf 2-3 ms und die Winforms-GUI dann auf 300ms(jaaa viele werte aufm monitor 8)).

SPS Abarbeitungszyklen zu vergleichen macht ja wenig Sinn - genauso wenig wie UIs im Microsekunden-Takt zu aktualisieren.
300ms ist nicht auch nicht langsam; es macht auch keinen Sinn eine UI schneller zu aktualisieren als der Mensch verarbeiten kann.

Das sollte nur nen Vergleich sein, das die GUI immer das Lahme Pferd ist.

16.807 Beiträge seit 2008
vor 4 Jahren

Die Aktualisierung die per MVVM angestoßen, landet auch erstmal aufm GUI-Stack.

Einen "GUI Stack" gibts nicht.

Also wenn du für beide nen Tests machst, die über nen Thread aktuallisiert werden, Gleiche anzahl controls usw. Ist Winforms meine ich 60% langsamer.

... kann auch einfach scheisse programmiert sein. Das ist also ein ziemlicher Stammtisch-Vergleich.
Und weil es evtl. in Deinem Falle so ist, ist es halt pauschal nicht immer so. 😃

4
12 Beiträge seit 2018
vor 4 Jahren

Einen "GUI Stack" gibts nicht.
Ja ich habs nicht gefunden wies bei WPF genau heist, aber im Endeffekt, ganz unten in der WPF-Architektur, ist der "GUI Stack" 😄, der die Änderungen nacheinander/Parallel verarbeitet, und dann den "Repaint" abschließt.
Gleiches bei Winforms. Nur halt langsamer 8)

... kann auch einfach scheisse programmiert sein. Das ist also ein ziemlicher Stammtisch-Vergleich.
Und weil es evtl. in Deinem Falle so ist, ist es halt pauschal nicht immer so. 🙂[/color]

OK, machen wirn neuen thread auf? 😄, ich such den Source 8)

16.807 Beiträge seit 2008
vor 4 Jahren

Gleiches bei Winforms. Nur halt langsamer 8)

Das ist nicht korrekt - vor allem in dieser Pauschalität nicht.

Es gibt nicht "den GUI Stack". Übrigens auch einer der Gründe, wieso Mono WinForms immer gut unterstützt hat und WPF nicht so sehr...
Bitte schau es Dir an, bevor Du so nen Halbwissen postest 😃

Vereinfacht:

  • WinForms: Win32 >> GDI >> Driver
  • WPF: Media Layer >> Direct 3D >> Driver
P
441 Beiträge seit 2014
vor 4 Jahren

Sorry, wenn ich mich hier von der Seite so einmische, ich mag das aber nicht so stehen lassen.

Ihr sprecht von echtzeit und schnell - das sehe ich immer und an jeder Stelle, es ist aber schlicht falsch.
Die Definition von Echtzeit ist nicht schnell, sondern deterministisch mit einem bestimmten, zum Ende hin beschränkten Zeitfenster für eine/jede Operation (weiche Echtzeit; maximale Zeit für eine bestimmte Operation oder Zyklus) oder einem auf beiden Seiten beschränkten Zeitfenster für eine Operation oder Zyklus (harte Echtzeit).

Ich sehe das auch bei unseren Kunden immer wieder, dass schnell mit Echtzeit gleichgesetzt wird und muss dann immer die Schleife über die Anforderungen an das Zeitverhalten drehen 😃

Eine GUI kann durchaus Echtzeitanforderungen haben, vor allem dann, wenn man GUI als Abstraktes Gebilde (als HMI) sieht und z.B. einen Leuchtmelder auch dazu zählt, der z.B. einen Fehler signalisiert.

S
seebee Themenstarter:in
6 Beiträge seit 2019
vor 4 Jahren

Sorry ich bin grad faul find die kommentarfunktion nicht :p

> Nein. Ich rede entweder zB. von Electron oder von WebAssembly (in .NET via Blazor).

Ah stimmt Webassenblies . da war was. ^^

Ich habe jetzt gerade nochmal ne Info bekommen. Es geht nicht Richtung Prozesssteuerung für Produktionsanlagen. Es war nur ein Aufhänger, weil jemand mit einer Anlage daher kam, wo eine Lasersteuerung, Bilderkennung und CNC Achsensteuerung (!) auf einem Windows Tablet liefen. (sic)

Natürlich hat der Laser nochmal einen uc aber der rest lief alle sauf dem tablet.Der Gedanke war, "Wenn die das in der Produktionssteuerung machnen dann können wir das auch in unseren Geräten machen) und um die Frage welche GUIS Libs da verwendet werden. Es ging also nur um einen Vergleich der Architektur.

Wir wollens also gleich machen: Einen sehr schnellen dsp der die Stromformung macht (Prozessteuerung, das mit den 4 us u.a.) und ein WindowsTablet, fürs "Grobe": Kennlinien, Programme und Parameter verwaltet usw, anbindung ans erm system und was da noch kommen kann, wenn man das fass erstmal aufmacht.

Es ist übrigens nicht so, dass die Gui bei uns die Vergangenheit anzeigt, sondern die Zukunft. Und eine Datenbank zwischen Gui und prozessteuerung wäre definitiv zu träge. Ethernet wirds wohl werden.

Bzgl der Diskussion um die Gui-Umlauf-Zeit: Wenn er von 2-3 ms Umlaufzeit redet meinte er wohl die main loop zeit in einem bare metal design (Also eine uC-app ohne betriebssystem, die meist auf basis von Statemachines, erstmal nicht ereignisorientiert arbeitet. Das läuft bei mir ähnlich. Da ist dann ein timer drin, der dafür sorgt, dass das display nicht öfter als 10x / sek aktualisiert wird. Sonst fängt das arme ding schonmal an zu fiepen ^^

Aber eben diese Architektur, wo für jeden furz ein uC aufgemacht wird soll jetzt abgelöst werden durch einen gscheiten dsp und ein Windows Tablet....

Das war der Hintergrund.

Danke jedenfalls für den kleinen Exkurs. War sehr interesannt. Ich denke WPF ist dafür schon die richtige Wahl. Schöne feiertage euch, ich schau nächstes jahr hier nochmal rein.

ich komme übrigens auch aus dem raum Stuttgart...

Hinweis von Abt vor 4 Jahren

Bitte die richtigen Tags verwenden.
[Hinweis] Wie poste ich richtig?

16.807 Beiträge seit 2008
vor 4 Jahren

Ihr sprecht von echtzeit und schnell - das sehe ich immer und an jeder Stelle, es ist aber schlicht falsch.

Das eine ist die Definition, das andere die Anforderung.
Wir sprechen ja hier über die Anforderung.

Es war nur ein Aufhänger, weil jemand mit einer Anlage daher kam, wo eine Lasersteuerung, Bilderkennung und CNC Achsensteuerung (!) auf einem Windows Tablet liefen. (sic)

Quasi ein Digitalisierungs-Alltagseinstiegsprojekt im Maschinenbau 🙂
Die ersten Demos von sowas haben Laser-Hersteller 2007 vor Kunden gezeigt - ich war mal kurz (10 Jahre) bei so einem Lasermaschinen-Hersteller 🙂

Natürlich hat der Laser nochmal einen uc aber der rest lief alle sauf dem tablet.

Höchstens als Demo, denn bidirektionales WiFi direkt von der Maschine ist i.D.r. in größeren, produktiven Shopfloors nicht erlaubt.
In echten, produktiven Umgebungen ist ein Tablet nichts anderes als ein stink normales Device in einer Gesamtarchitektur.

Es ist übrigens nicht so, dass die Gui bei uns die Vergangenheit anzeigt, sondern die Zukunft.

Also hellsehen? 🤔

Und eine Datenbank zwischen Gui und prozessteuerung wäre definitiv zu träge. Ethernet wirds wohl werden.

Ob eine Datenbank relational ist oder eine Timeseries: der Begriff Datenbank bleibt.
Eine Datenbank (egal welche Art und Weise) wird schneller sein als eure UI.

Werf bitte einfach mal ein Blick in solche Referenzarchitekturen, zB (https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/iot/).
Die gelten genauso für On-Prem Dinge (da eben nicht Azure als Plattform, sondern zB Rancher oder OpenShift etc) - geht ja ums Prinzip.

ich komme übrigens auch aus dem raum Stuttgart...

.. so viele Lasermaschinen-Hersteller haben wir ja hier nicht 😉

S
seebee Themenstarter:in
6 Beiträge seit 2019
vor 4 Jahren

@abt:

hehe jetzt gehts mit der üblichen begriffsverwirrung los XD

> Quasi ein Alltagseinstiegsprojekt im Maschinenbau 😃

Verwundert es dich gar nicht, dass jemand Achsensteuerung auf einem (Windows?) Tablet macht, wo auch ne gui drauf läuft? Wie gesagt, ich hätte vermutet dasss da immer ein sps oder sowas im spiel ist...

>Höchstens als Demo, denn WiFi ist i.D.r. in produktiven Shopfloors nicht erlaubt.
>In echten, produktiven Umgebungen ist ein Tablet nichts anderes als ein stink normales Device in einer Gesamtarchitektur.

Wieso wifi? (Uc= Mikrocontroller?)
Wir meinten jedenfalls ein Windows-Tablet mit WPF GUI und windows. Im gegensatz zu einem mikrocontroller ohne betriebssystem..

>Also hellsehen?

Guten morgen. 😉 Gui = Bidrectional. Du drückst auf einen Button und kurz darauf passiert etwas. Aber ja. Hellsehen müssen wir bei der härte der Echtzeit fast :p Konkret geben wir über die gui z.b. eine Leistungs in ampere vor, mit welchem strom geschweisst werden soll. Du drehts an einem encoder und kurz zeit später hast du ein loch im werkstück. so quasi 😄

> Ob eine Datenbank relational ist oder eine Timeseries: der Begriff Datenbank bleibt.

Hm. Also für mich war eine Datenbank immer ein persistenter Speicher mit Abfragesprache wie Oracle. MySql o.ä.
Was definierst du als Datenbank, einfach einen flüchtigen oder persistenten Speicher???

> Eine Datenbank (egal welche Art und Weise) wird schneller sein als eure UI.

Es geht ja nicht nur um die Gui.
Die Prozesssteuerungsdaten müssen - je nach prozess - mit einer Akkuratheit von bis zu 5 mikrosekunden (mikro nicht milli) genau berechnet und ausgegben werden. Dazu werden direkt die Leiterbahnen auf den Chips verdrahtet. Das ist hardware layer. eine Datenbank (=MSSQL) wäre da leicht oversized 😉

Aber ich habe auch prozesserfassungsdaten, wo man dann z.b. 20 sek daten in einem datensatz ablegt. Auf eine SQLServer, das ist schon so angedacht; erm anbindung und was da sonst noch so denkbar ist.

> Werf bitte einfach mal ein Blick in solche Referenzarchitekturen.

Was für referenzarchitekturen zb.? (Name, stichwort?)

Schöne Feiertage auch, ich muss jetzt mal meinen Schreibtisch aufräumen... sieht aus wie die sau hier XD

Vl schau ich nachher nochmal rein.

16.807 Beiträge seit 2008
vor 4 Jahren

Bitte quote doch ordentlich. Das ist gar nicht so schwer.
Wir haben wirklich auch besseres zutun als Deine Beitrage dauernd zu editieren.
[Hinweis] Wie poste ich richtig? Danke 😉

Verwundert es dich gar, dass jemand Achsensteuerung auf einem (Windows?) Tablet macht, wo auch ne gui drauf läuft?

Nein; hab ich oft genug auch schon in Projekten gemacht.
Wie ich die Achsensteuerung anstoße - ob mit einem IPC oder einem Tablet - spielt ja keine große Rolle.
Letzten Endes sind das (vereinfacht) "nur NC-Befehle" (oder ähnliches).

Sowas ist sehr einfach mit Event-Sourcing-Architekturen möglich.

Wieso wifi? (Uc= Mikrocontroller?)

Weil das Tablet irgendwie mit der Maschine kommunizieren muss, und das ist meistens WiFi oder eine andere unterstützte Technologie.
Schwarze Magie wirds eher nicht sein - genauso wenig wie die Hardware Prozessoptimierung auf dem Tablet laufen wird; ausser sie haben die Physik neu erfunden. =)

Was definierst du als Datenbank, einfach einen flüchtigen oder persistenten Speicher???

Eine Datenbank (management System) ist nichts anderes als ein Datentopf.
Und es gibt viele verschiedene Datenbanken für verschiedene Zwecke.

Was für referenzarchitekturen zb.? (Name, stichwort?)

Klick auf den Link oder google nach der Bezeichnung "IoT Referenzarchitektur", wie ich es bereits gesagt habe.

Du vermischt da prinzipiell sehr, sehr viel.
Wirfst mit irgendwelchen Leiterbahnen, Datenbanken und Co durch die Gegend.
Das entspricht überhaupt nicht meiner Aussage - und ich weiß wie Prozesssteuerung sowohl in Sachen Software auch in Sachen Hardware bei Lasern funktioniert 🙂
Und diese Welten kannst und willst Du nicht direkt mischen.

Schau Dir mal die Referenzarchitekturen an, die behandeln auch solche Szenarien. Du wirst nicht die gesamten Architekturen kopieren können, aber dir was abschauen können.
Daher heissen sie "Referenzarchitekturen".
Da wird Dir evtl. das ein oder anderer klarer. Dein Vorhaben ist "nichts anderes als industrielles IoT" bzw. "Digitalisierung des Shopfloors".
Ich mach das bald 15 Jahre 😉

Ansonsten drehen wir uns im Kreis und keinen bringt das weiter 😉

S
seebee Themenstarter:in
6 Beiträge seit 2019
vor 4 Jahren

Ich vermisch da gar nichts. Und...

Ich weiss zwar nicht, warum du jetzt so abgehst aber nun gut. Danke für editieren der Beiträge und die Tips.

Ich werds dir mal ein bisschen gleich tun und sag nur "Hellsehen können". 😉

Gab noch ein paar andere "Highlights" Eigentlich find ich sowas ja nicht schlimm, wenn man aneinander vorbeiredet.

Nein, so kommen wir nicht weiter.

Tschüss und schöne Weihnachten, danke fürs Editieren, für die Tips, Entschuldigung dass ich dumm bin und ein schönes leben noch.

PS: Also der Typ mit dem Performance Test hat ja echt mal voll üblen Code verzapft. Huch. Du kannst ja auch hellsehen 😉

Hinweis von Abt vor 4 Jahren

Keine Fullquotes
[Hinweis] Wie poste ich richtig?

4
12 Beiträge seit 2018
vor 4 Jahren

Das "Standart" IoT Prinzip kann man sicher auf vieles anwenden, aber das klingt für mich stark nach nem Sonderfall wo Datenbanken sicher zu Träge, und wahrscheinlich sogar OPC UA zu langsam sein wird.
Aber so ganz hab ich den Ablauf glaublich auch noch nicht gecheckt.
Also per Netzwerk sind bei uns die schnellsten Reaktionszeiten (wenn wir mal kabel und co rauslassen...) so um die 2-4 ms. (per LAN->EtherCAT / ADS)
Das ist bei Beckhoff, das schnellste was geht.(LWL soll da noch schneller sein)
OPC-UA ist nen tick langsamer, wegen dem Framework Overhead.
Aber OPC-UA wird ja von fast allen Steuerungen unterstützt und lässt dann wieder IoT oder z.b. bald auch UMATI (fast alle SPS/Maschinen-Hersteller werden das unterstützten) zu.

Wenn das zu Langsam ist, bleibt wohl für die Steuerung nur eine andere Steuerung.
Bei Beckhoff kannst das im EtherCAT mit maximal 50µs realisieren. Aber langsamer ist wahrscheinlicher.
"Und da spield die latentzeit keine Rolle?"
Jo spielt keine Rolle, weil es über nen Ditributed Clock realisiert wird. SPS A schickt die Daten sozusagen so früh los, dass die Latenzzeit mit einberechnet ist.
Und das auf nem Windows basierten PC, eieiei. 😉
Also 150µs hab ich mit unsern Mid-Range SPS mal geschafft. Das war aber CPU technisch schon sehr grenzwertig.

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo 4dk2,

nem Sonderfall wo Datenbanken sicher zu Träge

Wenn ich diesen Thread richtig im Kopf habe wurde ja bereits mehrmals erwähnt dass der Begriff "Datenbank" sehr weit gefasst werden kann und sich nicht nur auf "klassische Datenbanken" wie SQL Server, etc. stützt. Beispielsweise gibt es auch In-Memory-Datenbanken (z.B. Redis) und die sind höchstwahrscheinlich nicht zu träge.

Bitte lass diese Pauschalierungen, v.a. wenn sie nicht allgemein stimmen. Das führt zu nichts.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

S
seebee Themenstarter:in
6 Beiträge seit 2019
vor 4 Jahren

Ohne jetzt das leidige Thema neu aufrollen zu wollen:

  • Ich übernehme mal die im Enterprise Bereich geläufigen Begriff der "Datenbank"
  • Irgendwer in diesem Thread meinte, dass Architekturtechnisch zwischen der GUI und den Devices /der "Steuerung" IMMER eine Datenbank sitzt
  • Ich kann nachvollziehen wann das sinnvoll ist
  • In meinem Fall ist es sicherlich nicht sinnvoll, da es viel zu träge wäre.
  • Das muss man mir halt einfach mal ungesehen glauben, ich habe ja versucht das zu skizzieren, was da passiert.

4dk2 hat sich abgemeldet, hat er mir geschrieben. Warum kann man sich vielleicht denken.

Hinweis von Abt vor 4 Jahren

Das Forum ist kein Kindergarten; entsprechend erwartet man hier von jemanden, der 1977 in sein öffentliches Profil einträgt, auch ein erwachsenes Verhalten.
Zum Stänkern bitte anderen Spielplatz suchen. Danke.

Thema geschlossen