StateMachine entwickeln mit C#, SoftSPS, B&R oder Beckhoff

Hallo, ich suche eine Software, in der ich eine StateMachine grafisch entwickeln kann.

Input Event -> Case Event AchseOnPos: Check State: Case InProgress1 Move yAchse default: nichts

Wie entwickelt Ihr das? Tools? Oder nur auf dem Papier? Excel Sheet? Gr=FC=DFe Sandra

Reply to
Sandra Bauer
Loading thread data ...

Hallo, Sandra,

Du meintest am 26.10.09:

[...]

Excel ist eine Tabellen-Kalkulation. Bei einer StateMachine ist garnichts bis fast nichts zu rechnen, zu kalkulieren.

Also ist Excel auch dafür ungeeignet.

Für den Entwurf dürften Papier und Bleistift (oder Kreide und Wandtafel) am ehesten hilfreich sein.

Und für die Entwicklung einer StateMachine dürften Programmiersprache und Zielsystem so gut wie irrelevant sein.

Viele Gruesse! Helmut

Reply to
Helmut Hullen

Wozu würde man so etwas brauchen? Antwort: Um Nicht-Programmierern die Möglichkeit zum "indirekten Programmieren" zu geben. Und das macht man normalerweise - und vernünftigerweise - nicht. Warum? Nehmen wir mal an, Deine Software generiert Dir aus der State Machine den Quellcode. Der Code wird dann sehr schwer zu lesen und zu debuggen sein, d.h. die Wartung des Projekts wird für Nicht-Programmierer unmöglich, sobald die State Machine eine gewisse Komplexität übersteigt (und das soll und wird sie irgendwann). Zudem werden die Anforderungen steigen und eine reine Generierung aus einer State Machine wird nicht mehr ausreichen. Du wirst Modifikationen machen müssen, die nur ein erfahrener Programmierer sinnvoll (wartbar) machen kann, d.h. Du solltest bei so einem Projekt von vornherein auf einen solchen zurückgreifen. Wie soetwas - spektakulär gescheitert - im Endeffekt aussieht, lässt sich an diesem Beispiel absehen:

formatting link

Na, das ist doch schon mal was.

Zum Zeichnen der State Machine nehme ich gerne Visio, obwohl es da jedes gute CAD- Programm auch tut. Das kann man dann schön präsentieren und mit Kunden diskutieren. Wenn ich für mich komplexere State Machines entwerfe oder vereinfache, reichen Papier und Bleistift. Ausprogrammieren tu ich das dann von Hand. Natürlich wäre es mit Visio möglich, die Code-Generierung zu automatisieren, mit den oben beschriebenen Folgen. Finger weg von so einer Lösung!

Falls Du es Dir dennoch antun willst, wäre "ASCET" ein geeigneter Suchbegriff. Wobei das nicht so aussieht, als ob es ohne weiteres für Nicht-Programmierer verwendbar wäre. Für eine Machbarkeitsstudie im Studium mag es vielleicht gehen.

f'up: de.sci.informatik.misc

Gruß, Leo

Reply to
Leo Meyer

Hier (USA) oft mit Software wie dieser:

formatting link
Ich weiss aber nicht ob es dafuer ein User Interface in Deutsch gibt. Das meiste laesst sich graphisch aus Bloecken am Bildschirm zusammenschustern. Fuer kompliziertere Routinen und Setup sind allerdings kurze "Sequences" noetig, die sehr aehnlich zur Programmiersprache C geschrieben werden.

Reply to
Joerg

Hallo Helmut,

ja es geht halt um Dokumentation und um Qualit=E4t.

formatting link
Ich suche einfach ein Musterprojekt mit C#(NET) --- Schnittstelle --- OPC? oder andere --- SoftSPS ..........................................................................= ....verwendet fertige Herstellertreiber, wie Achse etc.

Wo finde ich so etwas?

Viele Gruesse! Sandra

Reply to
Sandra Bauer

Oh je, hoert sich nach Schlipstraeger-ISO9000 an ... :-)

..............................................................................verwendet

Normalerweise geht man da so vor: Sehen was fuer Interfaces angesteuert werden muessen. Dann die jeweiligen Hersteller fragen ob es dafuer wenigstens zu einem entsprechende Beispielprojekte gibt. Falls Du .NET-Aufsatz meinst, koennte es in industriellen Bereichen allerdings schlecht aussehen. Aber vielleicht ist das in Europa anders.

Reply to
Joerg

Sandra Bauer schrieb:

Ich habe das immer recht schnell in Excel gemacht, Spaltebreite auf 5mm, dann über Rahmenformatierung Aktionen und Transitionen grafisch erstellt, per Text die Logik detailliert..Verknüpfungen mittels &&, ||, ^^ und () dargestellt..Visio war ungeschickt, da nicht jeder im Projektteam die SW hatte..Damit haben wir auch recht komplexe Fertigungsanlagen und Testsysteme geplant, ich habe diese Doku. während der SW-Erstellung immer aktuell gehalten, das hat mir das Leben bei späteren Erweiterungen einfacher gemacht..

Magnus

Reply to
Magnus Walter

Da sollte ich vielleicht einhaken:

Eine Statemachine könnte man in UML2 mit BOUML zeichnen, dann nach XMI exportieren, und mit YSLT einen einfachen Compiler schreiben, der daraus bestens lesbaren Quellcode macht, und zwar in der Programmiersprache der Wahl:

formatting link
Viele Grüsse, VB.

Reply to
Volker Birk

Hallo,

hast nicht mal ein Muster?

Um das geht es halt.

formatting link

Irgendwann braucht man ein fixen Job, kein Paktrikum;-) Wie machen es die Experten? Wie sieht das Zusammenspiel C# , SPS , aus. Es muss doch irgendwo Musterprojekte geben? Es muss doch irgendwo Beispiele geben.

Gerne hochladen, =FCber

formatting link

Gr=FC=DFe Sandra

Reply to
Sandra Bauer

Hi Sandra,

Sandra Bauer schrieb:

Das ist in der Tat richtig.

Das kann ich dir nicht sagen, bin kein Experte. :-)

Die Fragestellung ist eigentlich unabhängig von C#. C# suggeriert irgendwas PC oder PC ähnliches (IPC, Controller mit nem WinCE...). Die Frage ist nun, welche Schnittstellen hat die SPS und welche der PC. Hier muss eine Schnittmenge gefunden werden, die nicht null ist. Mit C# kann man eigentlich auf alles vorhandene, auf das auch Windows zugreifen kann, zugreifen. Sei es nativ über .net oder mit Treibern.

Wie ich schon in dem anderen Thread schrieb, binde ich zur Zeit eine Wago SPS mit Ethernet über Modbus/TCP an eine C# Applikation. Das dies C# ist, ist aber eher zufall, hätte auch nen C++ mit Qt für die GUI werden können.

Ich glaube dafür sind die individuellen Anforderungen der Projekte zu verschieden. Da köchelt jeder sein eigenes Süppchen, zumal die Komponenten meist auch sehr unterschiedlich sind. Ich bin ein Freund von Ethernet, aber RS485/RS232, CAN usw. habe ich auch schon alles gesehen. Aber auch dieses alles ist mit C#, C++, Java ansteuerbar.

Was die ursprüngliche Frage angeht. Wie schon meine Vorredner schrieben, ein großes Whiteboard ist Gold wert. Danach digitalisiere ich sowas gerne in MS Visio.

Gruß Sebastian

Reply to
Sebastian Löwenhag

formatting link

Na das steht doch in der Job Anzeige, was sie wollen: Siemens Simatic und C#. Der erste Schritt waere dann in Foren hinein, die das diskutieren. Zum Beispiel hier wo auch ein Link zu Muster-Code gebracht wird:

formatting link
Zugang zu Files bekommt man in solchen Foren meist nur nach Anmeldung. Eine hoefliche Anfrage bei Siemens waere ebenfalls sinnvoll.

Anfrage in c.a.embedded koennte auch helfen. Sind aber meist Amerikaner und daher geht das in Sachen SPS eher Richtung GE-Fanuc und Allen-Bradley. Fuer eine Web Suche: In englisch heisst das PLC fuer "Programmable Logic Controller".

Reply to
Joerg

"Sandra Bauer" schrieb

formatting link

die Lernen Lernen und Lernen und alles nacheinander

Wenn man Dir nun nochmal erklären muss, das es Demos bei Beckhoff gibt, solltest Du Dich besser nicht auf diesen Job bewerben, dann wirst Du ihn nicht bringen.

Reply to
Werner Auer

"Sandra Bauer" schrieb

formatting link
formatting link

Reply to
Werner Auer

"Sandra Bauer" schrieb

formatting link

Reply to
Werner Auer

"Sandra Bauer" schrieb

formatting link

Reply to
Werner Auer

Sandra Bauer schrieb:

formatting link
Na ja, das ist doch schon mal ein Abgrenzung. State machines oder Zustandsautomaten werden in Step7 u.a. grafisch mit S7-Graph projektiert und programmiert, guckst Du hier:

formatting link
Das hat natürlich den Charme, daß man sich die Struktur direkt im Engineeringsystem baut und damit schon Teile der SW erstellt. Das war für uns im Sondermaschinenbau, vielleicht resultierend aus unseren Graph5-Erfahrungen, nicht das Mittel der Wahl, da Kodegröße und Perfomance auf "schmalbrüstigen" Systemen schnell zu Problemen führten. Wir haben das Ganze unter Verwendung der o.g. Excel-PAP's mit AWL in Form vo standardisierten Schrittketten realisiert. Mit B&R-Systemen ging es uns da ähnlich, deren AS lief damals(2002) nicht wie erwartet, da sind wir auf C ausgewichen und haben unsere Ketten mit switch-case-Statements aufgebaut.

Muster kann ich Dir hochladen, nur ob's Dir was bringt...

Magnus

Reply to
Magnus Walter

Hallo,

kannst ja eins mal machen, um ein Gesp=FCr zu bekommen.

Gibt es eine Art 'Vorgehensweise' bzgl. Analyse. Wie macht Ihr das, auch =FCber StateMachine. Maschinenprogrammierung 2 Achs oder 3 Achssysteme etc.

Gr=FC=DFe Sandra

Reply to
Sandra Bauer

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.