Hallo,
unsere HW-Entwicklung macht (leider) keine SW. Darum liefern
SW-Entwickler laufend mundgerechte SW-Schnippsel.
Ich möchte nun einen "PC-HW-Browser" definieren, der (per Ethernet oder
Seriell) die HW nach festgelegten "Objekten" fragt.
Typen von Objekten wären z.B.
- Schalter (z.B. ein µC-steuerbarer Transistor innerhalb der HW)
- binäre Eingänge
- int-Eingänge (z.B. ein AD-Kanal)
- int-Ausgänge (z.B. eine Frequenz oder ein Duty-Cycle)
- Funktionen (z.B. RAM-Selbsttest)
Objekte haben einen Typ und Klartextnamen (und weitere Atribute, z.B.
Wertegrenzen etc) mit dem sie (aufgelistet) dargestellt werden. Abhängig
vom Typ sind dann verschiedene Aktionen möglich. Schalter können per
Checkbox Ein- oder Ausgeschaltet werden, int-Eingänge können als
Histogramm, Bargraph oder Oszillogramm im neuen Fenster angezeigt
werden. .
Ein paar Telegramme erlauben dem PC-Programm, die Objekteliste der HW zu
erfragen und Objekte zu setzen, lesen oder starten.
Es soll bewusst keine "Formatierung" erfolgen oder notwendig sein. Im µC
gibt es einfach eine Liste der Objekte + einen kleinen Server-Code.
Ja, das ist unhandlich
- ggf. riesiges Fenster bei 1000 Schalter.
- ggf. müssen 7 obskure Schalter richtig stehen nur um eine LED
anzusteuern
auf der andere Seite sind die "Anwender" mit Oszilloskop und Schaltplan
"bewaffnet" und freuen sich, wenn sie überhaupt die Möglichkeit haben
(ohne Debugger, der könnte das nämlich viel schneller und besser).
----------------------------------------------
Jetzt meine Frage: Hatte schon mal jemand so eine Idee und kennt so was
mit "leichtgewichtiger" Schnittstelle. Also ohne CIP oder SCADA oder so
und ohne gerätespezifischer Konfiguration der Visualisierung, ...
"Windows 95 hat zwei Mäuse gefunden"
das war mein erster Erfolg mit automatischer Hardwareerkennung Plug&Play
nach mindestens einer halben Stunde Suche.
Ich kam mir vor wie ein Katzenhalter, dem das Tier stolz seinen Fang vor
die Füße legt.
Das ist ziemlich genau CANopen, wie schon erwähnt Feldbusse sind was du
suchst. Und du kannst dir den Physical Layer ziemlich frei aussuchen,
auch wenn CAN im Namen steht.
Mit Ethernet als Physical Layer gäbe es Ethercat fertig, basierend auf
CANopen. Ansonsten ist Profinet Ethernet mit Objectverzeichnissen.
Vielen Dank für Eure Zeit und Hilfe
Dr. Sommer schrieb:> CANopen und Konsorten machen genau so etwas.Dergute W. schrieb:> Wie waers mit SNMP?Stefanus F. schrieb:> das nach MQTT Protokollmukel schrieb:> Das ist ziemlich genau CANopen, wie schon erwähnt Feldbusse sind was du> suchst.
Ein Feldbus ist OK, auch wenn er ggf. zu "schwergewichtig" ist (deshalb
kein CIP / SCADA).
Vielen Dank für Eure Zeit und Hilfe
Dr. Sommer schrieb:> CANopen und Konsorten machen genau so etwas.Dergute W. schrieb:> Wie waers mit SNMP?Stefanus F. schrieb:> das nach MQTT Protokollmukel schrieb:> Das ist ziemlich genau CANopen, wie schon erwähnt Feldbusse sind was du> suchst.
Ein Feldbus als Protokoll ist OK, wenn nicht zu "schwergewichtig"
(deshalb wollte ich kein CIP / SCADA).
Ich möchte die interne HW testen und manipulieren. Dazu ist es wichtig,
Objekte relativ einfach zu erzeugen {"T5_on", TYP_SCHALTER, 0, 100ms,
SwitchT5, ...}. Die Routinen dazu (Transistor-EIN/AUS = SwitchTt(int
par), ADC-auslesen, ...) wären trivial, das Protokoll relativ egal,
(solange per Protokollstack zubindbar). Wichtiger ist mir die
PC-Applikation, die Objekte stumpf automatisch angeordnet visualisiert,
ohne Konfiguration etc.
Axel S. schrieb:> "Welches Schweinderl hätten's denn gern?"
Natürlich ergibt sich aus dem Kontext der Frage (nämlich sowohl der
Tatsache, dass wir uns hier in einem µC- bzw. Elektronikforum befinden,
als auch dem Text der Fragestellung des TO (denn überraschenderweise hat
er noch mehr geschrieben als nur die reine Überschrift; unglaublich,
aber wahr!)), dass die einzig richtige "Lösung" diese hier sein kann:
> * Bahnhof Wilhelmshaven (DS100-Code)
Preisfrage: Für was steht das "SW" in seinem Text?
Mannomann; man kann sich aber auch anstellen und extra Mäuse erfinden,
die man zu Elefanten machen kann, wenn man sonst schon nix zum Thema
beitragen kann...
Die Übersicht bekommt man dadurch dass man der Software
Beschreibungsdateien beilegt, die eine sinnvolle Ordnung der Elemente
anbietet. Das Geht entweder über "type hints" für einzelne Komponenten,
damit das sinnvoll dargestellt werden kann oder über Gerätekennung plus
Elementkennung. Im Endeffekt macht man da mehr das Äquivalent von
Boundary Scan als von Feldbus, wobei dort ja exakte Bauteildefinitionen
vorliegen.
Was du beschreibst geht stark in eine Richtung wie SNMP, selbst wenn man
das nicht implementieren mag, als "so haben es andere
gemacht"-Spickzettel nicht unbedingt verkehrt.
Wenn man ein solches System mit einer Integration in zB Python vereint
erlaubt es auch sehr schnell komplexere Testcases abzubilden.
Naja, falls also jemand dazu ein Projekt kennt, wo eine (Windows-)-PC
Software als Viewer existiert, die nicht konfiguriert werden muss
(sondern Objekte selbstständig irgendwie anordnet), freue ich mich
jederzeit (auch in Monaten) über eine Rückmeldung. SCADA, CIP, etc.
haben wir im Haus.
Schau dir mal firmata oder netpp an. Das sind recht brauchbare
Abstraktionsschichten für diverse registerprotokolle. Wir haben damit
über LabVIEW einige Testsysteme angesteuert. Man kann damit auch
CAN-Motoren ansteuern, muss das aber natürlich selber codieren.