Ich habe immer wieder mal eine Steuerung welche sich über ein serielles Protokoll ansteuern lässt. Das Protokoll ist dabei in der Regel einfaches ASCII rein (zzgl. CRLF) und als Ergebnis kommt ein ASCII string raus. Der Inhalt der Befehle sowie der Antworten ist aber immer etwas anders. Einige Befehle bedingen eine vorherige Antwort. Um da nicht jedesmal was speziell dafür zu programmieren frage ich mich ob es da nicht bereits eine fertige OpenSource Lösung gibt, welche, an besten graphisch modelliert, solche Sequenzen über eine einfache Statemachine steuern kann? Das Programm muss sich nur auf einen COM Port verbinden.
Läuft das nicht auf die Simulation eines µP hinaus? Viel Spaß dabei!
Sowas koennen/konnten schon die Chatscriptinterpreter fuer Modems. Wahrscheinlich heute eine vergessene Kunst.
Andreas W. schrieb: > Vielleicht ScriptCommunicator: > https://sourceforge.net/projects/scriptcommunicator/ Danke, genau den hatte ich auch schonmal im Blick, neben diesem hier: https://sourceforge.net/projects/y-a-terminal/ Schaue ich mir mal näher an
Olli Z. schrieb: > Einige Befehle bedingen eine vorherige Antwort. Hä? Auf die Befehle muss geantwortet werden, bevor sie versendet wurden? Vielleicht kannst du auch mit sowas wie expect arbeiten. Nicht direkt für serielle Schnittstellen gemacht, aber worüber man die Kommunikation macht, ist ja erstmal egal. https://en.wikipedia.org/wiki/Expect
Du könntest V-Control.com ausprobieren. Es gibt zwar keine graphische Modellierung, aber die Software ist Open Source.
Olli Z. schrieb: > Um da nicht jedesmal was speziell dafür zu programmieren frage ich mich > ob es da nicht bereits eine fertige OpenSource Lösung gibt, welche, an > besten graphisch modelliert, solche Sequenzen über eine einfache > Statemachine steuern kann? Dir geht es also ums einfache Programmieren solcher Sequenzen. Das würde ich nicht graphisch machen wollen, sondern in einer Skriptsprache. Das geht normalerweise viel schneller, ist übersichtlicher und kann auch leichter in einem Versionskontrollsystem gepflegt werden. Z.B. mit Python ist es sehr einfach mit der seriellen Schnittstelle zu interagieren. Auch voll asynchrones IO, was in anderen Umgebungen gerne mal etwas aufwendiger wird, ist in Python mit asyncio einfach umsetzbar. Und eine Statemachine in Python umzusetzen ist auch schnell gemacht: https://python-3-patterns-idioms-test.readthedocs.io/en/latest/StateMachine.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.