Discussion:
Zustandsautomat- Statemachine - SPS
(zu alt für eine Antwort)
Manuela Abele
2008-10-16 18:49:29 UTC
Permalink
http://de.wikipedia.org/wiki/Zustandsautomat
http://de.wikipedia.org/wiki/CoDeSys
http://de.wikipedia.org/wiki/Zustandsdiagramm_(UML)
Hallo,
gibt es ein Programm, das hilft eine SPS Ablaufsteuerung zu erstellen?

Wenn ja welche nimmt Ihr?
Gerne auch Freeware.


Grüße Manuela
Knut Schottstädt
2008-10-16 19:35:20 UTC
Permalink
Post by Manuela Abele
http://de.wikipedia.org/wiki/Zustandsautomat
http://de.wikipedia.org/wiki/CoDeSys
http://de.wikipedia.org/wiki/Zustandsdiagramm_(UML)
Hallo,
gibt es ein Programm, das hilft eine SPS Ablaufsteuerung zu erstellen?
Wenn ja welche nimmt Ihr?
Gerne auch Freeware.
Nehme ich zwar (noch) nicht, aber nach 3min bei Tante Goo* fand ich dies:

PLCEdit

Als Einstiegsseite ist vielleicht
http://de.wikipedia.org/wiki/EN_61131#Teil_3:_Programmiersprachen_.28EN_61131-3:2003.29

gar nicht so schlecht.
--
MfG Knut
~Subject: * [NewsGroup] *
Frank Buss
2008-10-16 19:47:22 UTC
Permalink
Post by Manuela Abele
http://de.wikipedia.org/wiki/Zustandsautomat
http://de.wikipedia.org/wiki/CoDeSys
http://de.wikipedia.org/wiki/Zustandsdiagramm_(UML)
Hallo,
gibt es ein Programm, das hilft eine SPS Ablaufsteuerung zu erstellen?
Wenn ja welche nimmt Ihr?
Gerne auch Freeware.
Du hast ja schon ein paar Links gepostet. Was hast du für Anforderungen?
Soll es auf kleinen Microcontrollern laufen? Wie leistungsfähig ist der
Microcontroller? Oder soll es nur auf dem PC laufen, oder auf fertigen
SPS-Geräten?

Ein Standard ist EN 61131-3, der verschiedene Programmiersprachen
beschreibt. Möglich ist auch, eine Ablaufsteuerung in C zu programmieren,
was den Vorteil hat, daß es C-Compiler für viele Microcontroller gibt,
teilweise sogar kostenlos.

Sieht dann im Prinzip so aus:

int status = 0;
while (1) {
switch (status) {
case 1:
if (übergangsbedingung1()) {
tuWas1();
status = 2;
} else if (übergangsbedingungX()) {
tuWasX();
status = Y;
}
break;
case 2:
if (übergangsbedingung2()) {
tuWas2();
status = 3;
}
break;
usw.

Ist beliebig erweiterbar, kann aber auch leicht unübersichtlich werden in
dieser einfachen Form.
--
Frank Buss, ***@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Manuela Abele
2008-10-17 04:36:28 UTC
Permalink
Hallo,
Post by Frank Buss
Du hast ja schon ein paar Links gepostet. Was hast du für Anforderungen?
Der Endkunde erwartet saubere, strukturierte Doku. CMMI Standard.
Post by Frank Buss
Soll es auf kleinen Microcontrollern laufen? Wie leistungsfähig ist der
Microcontroller? Oder soll es nur auf dem PC laufen, oder auf fertigen
SPS-Geräten?
PC basierte Steuerung über I/O Karte.
Post by Frank Buss
Ein Standard ist EN 61131-3, der verschiedene Programmiersprachen
beschreibt. Möglich ist auch, eine Ablaufsteuerung in C zu programmieren,
was den Vorteil hat, daß es C-Compiler für viele Microcontroller gibt,
teilweise sogar kostenlos.
int status = 0;
while (1) {
switch (status) {
if (übergangsbedingung1()) {
tuWas1();
status = 2;
} else if (übergangsbedingungX()) {
tuWasX();
status = Y;
}
break;
if (übergangsbedingung2()) {
tuWas2();
status = 3;
}
break;
usw.
Ist beliebig erweiterbar, kann aber auch leicht unübersichtlich werden in
dieser einfachen Form.
ok.
Wie würdest du das grafisch darstellen? Für nicht Programmierer.

Grüße Manuela
Thomas 'Tom' Malkus
2008-10-17 07:13:49 UTC
Permalink
Post by Manuela Abele
Wie würdest du das grafisch darstellen? Für nicht Programmierer.
Für diesen Personenkreis mit einem einfach hingepinselten Flussdiagramm
mit Visio oder ähnlicher Software.

Ich hatte früher ein Tool verwendet,dass aus dem C-Quelltext Nassi-Shneiderman
Diagramme oder Flussdiagramme erzeugt hat. Allerdings taucht dann der Originalcode
immer auf, nicht so dolle wenn man das als Doku weitergibt.

73 de Tom
--
Thomas 'Tom' Malkus, DL7BJ
Locator JO43GC * DL-QRP-AG #1186 * AGCW-DL #2737 * DARC OV I19
Henry Kiefer
2008-10-17 10:51:37 UTC
Permalink
Post by Manuela Abele
Post by Frank Buss
Du hast ja schon ein paar Links gepostet. Was hast du für Anforderungen?
Der Endkunde erwartet saubere, strukturierte Doku. CMMI Standard.
!!!
Post by Manuela Abele
Post by Frank Buss
int status = 0;
while (1) {
switch (status) {
if (übergangsbedingung1()) {
tuWas1();
status = 2;
} else if (übergangsbedingungX()) {
tuWasX();
status = Y;
}
break;
if (übergangsbedingung2()) {
tuWas2();
status = 3;
}
break;
usw.
Wie würdest du das grafisch darstellen? Für nicht Programmierer.
!!!

Danke für den Morgenwitz! <goil>


- Henry
--
www.ehydra.dyndns.info
Lutz Schulze
2008-10-17 11:10:22 UTC
Permalink
Post by Manuela Abele
Post by Frank Buss
int status = 0;
while (1) {
switch (status) {
if (übergangsbedingung1()) {
tuWas1();
status = 2;
} else if (übergangsbedingungX()) {
tuWasX();
status = Y;
}
break;
if (übergangsbedingung2()) {
tuWas2();
status = 3;
}
break;
usw.
Ist beliebig erweiterbar, kann aber auch leicht unübersichtlich werden in
dieser einfachen Form.
ok.
Wie würdest du das grafisch darstellen? Für nicht Programmierer.
LabView. Verständlicher wird es dadurch nicht.

Lutz
--
Mit unseren Sensoren ist der Administrator informiert, bevor es Probleme im
Serverraum gibt: preiswerte Monitoring Hard- und Software-kostenloses Plugin
auch für Nagios - Nachricht per e-mail,SMS und SNMP: http://www.messpc.de
Neu: Ethernetbox jetzt auch im 19 Zoll Gehäuse mit 12 Ports für Sensoren
Paul Rosen
2008-10-17 11:48:47 UTC
Permalink
Post by Manuela Abele
Wie würdest du das grafisch darstellen? Für nicht Programmierer.
Post by Frank Buss
int status = 0;
while (1) {
ist für jedes SPS Programm im Betriebssystem verankert
Post by Manuela Abele
Post by Frank Buss
switch (status) {
Switch Konstruktionen mit Multiplexer/Demultiplexer, der von der
Switch Variable gesteuert wird.
Post by Manuela Abele
Post by Frank Buss
if (übergangsbedingung1()) {
tuWas1();
status = 2;
} else if (übergangsbedingungX()) {
tuWasX();
status = Y;
}
if/else Konstuktionen mit UND/ODER Gattern oder
Multiplexer/Demultiplexer
UND Lösung:

Lade übergangsbedingung
UND KW2
Lade Nicht übergangsbedingung
UND Y
ODER
= Status

Natürlich muss das in hier nicht dargestellte Grafik ummgestzt werden.
Post by Manuela Abele
tuWasX();
Wie das eingebunden wird, kommt auf den Inhalt von euWasX()an. Wir
haben es eben nicht mit einer prozeduralen Sprache zu tun.
Paul Rosen
2008-10-17 11:57:34 UTC
Permalink
Post by Paul Rosen
Lade übergangsbedingung
UND KW2
Lade Nicht übergangsbedingung
UND Y
ODER
= Status
versehentlich zu früh abgeschickt: Ist natürlich vereinfacht und gibt
nicht das wieder, was die Aufgabenstellung war, soll aber das Prinzip
verdeutlichen. Das Problem dabei ist, dass schon vom Ansatz bei "Teile
und Herrsche" die SPS Denkweise anders vorgeht. Man muss das
Ausgangsproblem kennen, um hier adäquate Lösungen zu präsentieren.
Ingolf Pohl
2008-10-17 12:34:24 UTC
Permalink
Moin,
Post by Manuela Abele
PC basierte Steuerung über I/O Karte.
[...]
Post by Manuela Abele
Wie würdest du das grafisch darstellen? Für nicht Programmierer.
Für einfache State-Machines male ich gelegentlich Bubble-Diagramme
(Zustandsgrafen). Jedem Zustand seine Blase und jedem Übergang mit
Bedingung seinen Pfeil. Wenn man die Namen so wählt, dass sie im
Programmcode wiederzufinden sind und der Programmcode übersichtlich
dargestellt ist, wie hier im Threat schon vorgestellt wurde, dann sollte
das von der geneigten Fachfrau, dem geneigten Fachmann auf der Kundenseite
akzeptiert werden können.

Für die neuzeitlichen Programmierer (PC mit C++ usw.) ist wohl UML und das
ganze Gerödel von Rational-Rose das zur Zeit angesagte Werkzeug. Da kann
man aus einer einfachen Zustandsmaschine "Use Cases" machen und in den
verschiedensten Formen (Zustandsdiagramme, Schwimmbahnen, einer Abart von
Petri-Netzen, usw) darstellen. Man sagt, das soll dann auch von
Schlipsträgern verstanden werden können. Wenn ich mich längere Zeit (6
Monate) nicht mehr damit beschäftigt habe, dann verstehe ich mit oder ohne
Schlips nix mehr davon. Vor Allem nicht, wenn ein echter neuzeitlicher
Softwerker das ganze auf die Bahn gebracht hat...

soweit
Ing.olf
Manuela Abele
2008-10-17 18:24:27 UTC
Permalink
Hallo,
Post by Ingolf Pohl
Für die neuzeitlichen Programmierer (PC mit C++ usw.) ist wohl UML und das
ganze Gerödel von Rational-Rose das zur Zeit angesagte Werkzeug. Da kann
man aus einer einfachen Zustandsmaschine "Use Cases" machen und in den
verschiedensten Formen (Zustandsdiagramme, Schwimmbahnen, einer Abart von
Petri-Netzen, usw) darstellen. Man sagt, das soll dann auch von
Schlipsträgern verstanden werden können.
;-) ok, hast ein Beispiel dazu? Wie so etwas aussieht. Link zu Rational.
Ist wahrscheinlich nicht Freeware. ;-)
Wenn ich mich längere Zeit (6
Post by Ingolf Pohl
Monate) nicht mehr damit beschäftigt habe, dann verstehe ich mit oder ohne
Schlips nix mehr davon. Vor Allem nicht, wenn ein echter neuzeitlicher
Softwerker das ganze auf die Bahn gebracht hat...
Gruß, Manuela
Ingolf Pohl
2008-10-17 22:20:23 UTC
Permalink
Post by Manuela Abele
Hallo,
Post by Ingolf Pohl
Für die neuzeitlichen Programmierer (PC mit C++ usw.) ist wohl UML und
das ganze Gerödel von Rational-Rose das zur Zeit angesagte Werkzeug. Da
kann man aus einer einfachen Zustandsmaschine "Use Cases" machen und in
den verschiedensten Formen (Zustandsdiagramme, Schwimmbahnen, einer Abart
von Petri-Netzen, usw) darstellen. Man sagt, das soll dann auch von
Schlipsträgern verstanden werden können.
;-) ok, hast ein Beispiel dazu? Wie so etwas aussieht. Link zu Rational.
Ist wahrscheinlich nicht Freeware. ;-)
Weder Beispiel zur Hand, noch einen Link parat. Als ich mich das letzte Mal
mit UML versucht habe, gab's von Rational Rose eine Demoversion. Viele MBs
und unbedingt Windows und überhaupt zum "mal eben schnell" ansehen viel zu
aufgeblasen... Interssant wird das wohl wirklich für große SW-Projekte mit
objektorientierter Programmierung usw. Ein einfaches Buch, welches sich der
UML bedient ist "Objektorientierung in 7 Tagen", das geht wohl als
Schnelleinstieg, allerdings wirklich in den OOP-Bereich.Die
Darstellungsarten der UML kommen aber fast alle darin vor...

Der Wikipedia-Link wurde ja im Prinzip schon genannt, wobei ich finde, dass
der es wieder nur für Leute erklärt, die es schon kennen...

http://de.wikipedia.org/wiki/Unified_Modeling_Language

Wie gesagt, bei einfachen State-Machines einfach so'n Blasen-Bildchen, die
werden einem bei VHDL-Designs ja auch immer noch angeboten...

Oder vielleicht auch SDT, das haben meine Ex-Kollegen bei Hagenuk
erfolgreich eingesetzt, ist aber irgendwie nicht so allgemein verbreitet,
liegt wohl an der Distributionspolitik der Erzeugerfirma. Nur die obersten
vielleicht 100 bis 500 Firmen beliefern zu wollen...

user.informatik.uni-goettingen.de/~tele1/WS200203/Exercise/tut.pdf

Gruß
Ing.olf
Paul Rosen
2008-10-19 12:30:12 UTC
Permalink
Post by Ingolf Pohl
Der Wikipedia-Link wurde ja im Prinzip schon genannt, wobei ich finde, dass
der es wieder nur für Leute erklärt, die es schon kennen...
Ich hätte fast gesagt: Typisch Wikipedia. Aber es gibt auch rühmliche
Gegenbeispiele. Es werden wohl noch einige Jahre (Jahrzehnte?) ins
Land gehen, bis sich Spezialisten mit Feeling für Themenanfänger dem
Gros der Artikel angenommen haben.
Lutz Schulze
2008-10-18 04:15:16 UTC
Permalink
Post by Manuela Abele
PC basierte Steuerung über I/O Karte.
Da würde ich, wie oft von Joerg erwähnt, auch zu DAQ Factory raten:

http://www.azeotech.com/index.php

Lutz
--
Mit unseren Sensoren ist der Administrator informiert, bevor es Probleme im
Serverraum gibt: preiswerte Monitoring Hard- und Software-kostenloses Plugin
auch für Nagios - Nachricht per e-mail,SMS und SNMP: http://www.messpc.de
Neu: Ethernetbox jetzt auch im 19 Zoll Gehäuse mit 12 Ports für Sensoren
Joerg
2008-10-18 15:17:02 UTC
Permalink
Post by Lutz Schulze
Post by Manuela Abele
PC basierte Steuerung über I/O Karte.
http://www.azeotech.com/index.php
Wenn man LabJack (ein I/O USB-Interface fuer um die $100 kauft), liegt
eine Mini-Version von DAQ Factory dabei. Fuer einfache Sachen reicht die.
--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Christoph Matuschek
2008-10-17 08:27:11 UTC
Permalink
Hallo Frank,
Post by Frank Buss
Du hast ja schon ein paar Links gepostet. Was hast du für Anforderungen?
Soll es auf kleinen Microcontrollern laufen? Wie leistungsfähig ist der
Microcontroller? Oder soll es nur auf dem PC laufen, oder auf fertigen
SPS-Geräten?
Ein Standard ist EN 61131-3, der verschiedene Programmiersprachen
beschreibt. Möglich ist auch, eine Ablaufsteuerung in C zu programmieren,
was den Vorteil hat, daß es C-Compiler für viele Microcontroller gibt,
teilweise sogar kostenlos.
Genau so etwas suche ich als Programm für Unix/Linux:
Ich möchte die Zustände mit den Übergangsbedingungen möglichst grafisch
malen und dann das fertige C-Programm (mit den case-Anweisungen etc.)
ausgeworfen haben.

Ist da jemandem etwas Passendes bekannt?

Hintergrund: ich habe viel mit Kundenwünschen zu tun, die eine kleine
Mikrocontrollersteuerung (AVR, PIC, <joerg>8051</joerg> ;-) mit einfachen
Anforderungen wünschen (z.B. 10 Eingangsrelais, 10 Ausgangsrelais). Da wäre
es schön, wenn ich das schnell grafisch zusammenschieben könnte und dann
der Code halbwegs fertig ausgespuckt würde.
Von mir aus kann es auch ein textbasierendes Tool sein.

Es wird halt sonst schnell unübersichtlich, wenn die Zustände mehr werden.

Chris
Paul Rosen
2008-10-17 11:23:26 UTC
Permalink
Post by Christoph Matuschek
Hintergrund: ich habe viel mit Kundenwünschen zu tun, die eine kleine
Mikrocontrollersteuerung (AVR, PIC, <joerg>8051</joerg> ;-) mit einfachen
Anforderungen wünschen (z.B. 10 Eingangsrelais, 10 Ausgangsrelais). Da wäre
es schön, wenn ich das schnell grafisch zusammenschieben könnte und dann
der Code halbwegs fertig ausgespuckt würde.
Von mir aus kann es auch ein textbasierendes Tool sein.
Von Seiten der expliziten SPS-Hersteller sind solche Systeme
vorhanden. Zum Beispiel gibt es Siemens Logo, das ich jetzt aber
explizit nicht kenne, weil es mir zu klein ist. Viele möchten auch
eine SPS auf einem Microcontroller darstellen und sich das Drumherum
selbst dazubauen, um hier flexibel zu sein. Somit ist Deine Frage
nicht neu. Viele haben sich daran versucht aber ohne tatsächlich einen
größeren Erfolg verbuchen zu können. Ich erinnere da beispielsweise an
die C-Control von Conrad, die wohl noch zu den erfolgreichsten dieser
Gattung zählt. Ein anderer Vertreter ist die kürzlich verstorbene
reine Software Lösung Parsic. Beide bieten das Funktionsplan Konzept.

Der Grund dafür, dass dieser Erfolg trotz Nachfrage ausblieb, ist
IMHO, dass sich weder diejenigen, die diese Nachfrage betreiben (auch
ihr hier in diesem Thread) noch diejenigen, die sie verwirklichten,
darüber klar sind, dass allein die Implementierung der SPS Sprachen
nicht das einzige Erfolgsgeheimnis der SPS ist. Vielmehr kann eine SPS
auch in der eingebauten Anwendung getestet werden. Zum Beispiel kann
sie alle Ein und Ausgänge und auch jeden inneren Merker (Variable)
sichtbar machen (sogenanntes In-System Debugging). Zudem ist die
zugehörige PC Umgebung so einfach verstehbar, wie möglich gehalten.
Und am Mangel dieser Möglichkeiten sind bisher alle diese Projekte
gescheitert. Bis heute wartet man auf ein Projekt, das in der Lage
ist, dies zu tun.

Der Grund dafür liegt wie gesagt auch darin, dass die Nachfrager
vergessen, das In-System Debugging zu erwähnen, wenn sie wie hier
einen SPS Ersatz nachfagen. Auch habt ihr vergessen, zu erwähnen,
welche der SPS-Sprachen ihr verwirklicht haben wollt. IMHO inplizieren
nahezu alle Nachfrager dabei den Funktionsplan und die AWL. Das sieht
man daran, dass nahezu alle "professionellen" Einführungskurse (meist
wegen der erforderlichen Siemens Lizenz vierstellig kostend) als auch
die Berufsschulen nahezu ausschließlich diese beiden Sprachen lehren
und diese auch in der Praxis eingesetzt werden. Etwas Anderes scheint
einer großen Masse von Anwendern nicht vermittelbar zu sein. Da nutzt
es wenig, wenn manche Wortführer innerhalb des SPS Bereiches etwas
Anderes zu behaupten versuchen. Die Abstimmung erfolgt hier mit den
Füssen, das heißt durch den Markt.

Es nützt halt nichts, wenn ein Ingenieur ein Programm in der höheren
SPS-Programmiersprache ST schreibt, aber die SPS Techniker vor Ort
diese nicht verstehen, ja häufig noch nicht einmal wissen, dass diese
Sprache überhaupt existiert.

Daher würde ich jetzt Manuela Abele und Cristoph Matuschek fragen
wollen:
1) Welche SPS Programmiersprachen nutzt ihr und kennt ihr?
2) Seht ihr Euch bei der Inbetriebnahme auch beispielsweise die
Darstellungen der Ausgänge und Eingänge an?
Manuela Abele
2008-10-17 18:22:32 UTC
Permalink
Hallo,
Post by Paul Rosen
Es nützt halt nichts, wenn ein Ingenieur ein Programm in der höheren
SPS-Programmiersprache ST schreibt, aber die SPS Techniker vor Ort
diese nicht verstehen, ja häufig noch nicht einmal wissen, dass diese
Sprache überhaupt existiert.
Daher würde ich jetzt Manuela Abele und Cristoph Matuschek fragen
1) Welche SPS Programmiersprachen nutzt ihr und kennt ihr?
2) Seht ihr Euch bei der Inbetriebnahme auch beispielsweise die
Darstellungen der Ausgänge und Eingänge an?
also ich mache/möchte es so machen.
I_O Karte von
http://www.messcomp.com/12.htm
http://www.messcomp.com/datenbl/460600i.pdf

Danach polle ich mit VS2008, C# die Eingange ab. 10ms, brauche keine
direkte Echtzeit. Evtl. Threadprobleme....

Dann möchte ich es so mache, wie Frank es zeigte.
int status = 0;
while (1) {
switch (status) {
case 1:
if (übergangsbedingung1()) {
tuWas1();
status = 2;
} else if (übergangsbedingungX()) {
tuWasX();
status = Y;
}
break;
case 2:
if (übergangsbedingung2()) {
tuWas2();
status = 3;
}
break;
usw.

Grüße Manuela
Frank Buss
2008-10-17 23:19:35 UTC
Permalink
Post by Manuela Abele
also ich mache/möchte es so machen.
I_O Karte von
http://www.messcomp.com/12.htm
http://www.messcomp.com/datenbl/460600i.pdf
Danach polle ich mit VS2008, C# die Eingange ab. 10ms, brauche keine
direkte Echtzeit. Evtl. Threadprobleme....
Wenn du keine direkte Echtzeit brauchst, also z.B.
Heizungsanlagensteuerung, im Gegensatz zu Schweissroboter, dann kann man
wohl einen Windows-PC einsetzen, wenn man es nicht am Internet hat oder
zumindest automatische Updates ausschaltet, damit nicht eines Tages das
Haus abbrennt, weil Windows meint, gerade zu einem ungünstigen Zeitpunkt
ein Reboot auslösen zu müssen. Was anderes wäre WindowsCE, was sogar
echtzeitfähig ist, aber ich würde dem auch nicht unbedingt eine
zeitkritische Robotersteuerung anvertrauen. Obwohl ich einen
Nähmaschinenhersteller kenne, der WindowsCE auf seinen Geräten einsetzt
(große Teile, mit Display usw.) und per Treiber auch zeitkritische Dinge
dort steuert.
Post by Manuela Abele
Dann möchte ich es so mache, wie Frank es zeigte.
Würde ich nicht so machen :-) Wenn du schon C# nimmst, dann gibt es doch
wunderbare GUI-Möglichkeiten, um das direkt grafisch einzugeben und
auszuführen.

Gibt auch viel im Internet, z.B. das hier sieht zwar nicht schön, aber
funktional aus:

http://cq.cx/ladder-de.html

Habe da leider aktuell keine Zeit zu, aber sowas sollte man in einer Woche
(für einen erfahrenen Programmierer) in C# programmieren können und dann
statt der Simulation oder der Code-Generierung direkt die IO-Karte
ansteuern.

UML halte ich nicht für geeignet für SPS. Ist recht nett, wenn man
Klassendiagramme damit zeichnet, wobei man es aber meiner Meinung nach nur
zur Kommunikation mit anderen Programmierern oder Dokumentation einsetzen
sollte, nicht alles bis ins Detail aufmalen, da ist der Quelltext die
bessere Referenz. Bei SPS wirst du Schwierigkeiten haben, die für UML
definierten Elemente auf Steuerungstechnik abzubilden. Sowas wie
Funktionsplan oder Ladder Logic erscheint mir sinnvoller, zumal das nicht
nur den Ablauf dokumentiert, sondern sogar direkt ausführbar ist.
--
Frank Buss, ***@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Manuela Abele
2008-10-18 16:36:03 UTC
Permalink
Hallo Frank,
Post by Frank Buss
Post by Manuela Abele
Dann möchte ich es so mache, wie Frank es zeigte.
Würde ich nicht so machen :-) Wenn du schon C# nimmst, dann gibt es doch
wunderbare GUI-Möglichkeiten, um das direkt grafisch einzugeben und
auszuführen.
Gibt auch viel im Internet, z.B. das hier sieht zwar nicht schön, aber
http://cq.cx/ladder-de.html
naja ;-)
Post by Frank Buss
Habe da leider aktuell keine Zeit zu, aber sowas sollte man in einer Woche
(für einen erfahrenen Programmierer) in C# programmieren können und dann
statt der Simulation oder der Code-Generierung direkt die IO-Karte
ansteuern.
ok. Wann hättest denn wieder mehr Zeit?

http://www.pci-card.com/ausblicke.html
http://sine.ni.com/nips/cds/view/p/lang/en/nid/14604
http://www.google.de/search?hl=de&q=I%2FO+USB-Interface+.net+c%23&btnG=Suche&meta=

Kennt jemand kostengünstige Hardware (eine Art Experimentierkasten,
Kosmos) in dem man I O 's ansteuern kann?
Finde nichts brauchbares.

Einzubinden in C# mit Hilfe einer Assembly, keine DLL (C++)
Hier könnte man doch dann gut die Windows Workflow Fondation anwenden.

Grüße Manuela
Frank Buss
2008-10-18 17:57:05 UTC
Permalink
Post by Manuela Abele
ok. Wann hättest denn wieder mehr Zeit?
Nächstes Jahr vielleicht.
Post by Manuela Abele
http://www.pci-card.com/ausblicke.html
http://sine.ni.com/nips/cds/view/p/lang/en/nid/14604
http://www.google.de/search?hl=de&q=I%2FO+USB-Interface+.net+c%23&btnG=Suche&meta=
Kennt jemand kostengünstige Hardware (eine Art Experimentierkasten,
Kosmos) in dem man I O 's ansteuern kann?
Finde nichts brauchbares.
Du hast doch oben ein paar Links genannt und auch schon die PCI-Karte
angedacht? LabJack soll auch gut sein und vielleicht reicht dir die
mitgelieferte DAQ Factory Version ja auch schon.
Post by Manuela Abele
Einzubinden in C# mit Hilfe einer Assembly, keine DLL (C++)
Mit C# kannst du auch direkt DLLs ansprechen, aber viele Hersteller liefern
auch einfacher zu verwendende .NET-Komponenten.
Post by Manuela Abele
Hier könnte man doch dann gut die Windows Workflow Fondation anwenden.
Sieht mir eher nach einem Framework für Businessanwendungen denn für
Maschinensteuerungen aus, aber könnte man damit vielleicht auch machen.
--
Frank Buss, ***@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Joerg
2008-10-18 19:37:52 UTC
Permalink
Post by Frank Buss
Post by Manuela Abele
ok. Wann hättest denn wieder mehr Zeit?
Nächstes Jahr vielleicht.
Das sagen wir Freiberufler immer. Und dann klingelt das Telefon ...

Hatte gerade mal zwei Stunden, um den Schornstein dicht zu machen, eh
der dicke Regen kommt. War faellig. Jetzt geht's wieder los.
--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Steffen Koepf
2008-10-20 10:44:00 UTC
Permalink
Post by Joerg
Hatte gerade mal zwei Stunden, um den Schornstein dicht zu machen, eh
der dicke Regen kommt. War faellig. Jetzt geht's wieder los.
Du hast ihn dicht gemacht?
Ist das jetzt ein Null-CO2-emissions-haus?


scnr,

Steffen
Henry Kiefer
2008-10-20 11:40:08 UTC
Permalink
Post by Steffen Koepf
Post by Joerg
Hatte gerade mal zwei Stunden, um den Schornstein dicht zu machen, eh
der dicke Regen kommt. War faellig. Jetzt geht's wieder los.
Du hast ihn dicht gemacht?
Ist das jetzt ein Null-CO2-emissions-haus?
Klar. Alle Räume voller Algenbehälter um das CO2 zu binden. Wie um
U-Boot :-)


- Henry
--
www.ehydra.dyndns.info
Joerg
2008-10-20 14:35:34 UTC
Permalink
Post by Steffen Koepf
Post by Joerg
Hatte gerade mal zwei Stunden, um den Schornstein dicht zu machen, eh
der dicke Regen kommt. War faellig. Jetzt geht's wieder los.
Du hast ihn dicht gemacht?
Ist das jetzt ein Null-CO2-emissions-haus?
ROFL!
--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Joerg
2008-10-18 19:34:34 UTC
Permalink
Post by Christoph Matuschek
Hallo Frank,
Post by Frank Buss
Post by Manuela Abele
Dann möchte ich es so mache, wie Frank es zeigte.
Würde ich nicht so machen :-) Wenn du schon C# nimmst, dann gibt es doch
wunderbare GUI-Möglichkeiten, um das direkt grafisch einzugeben und
auszuführen.
Gibt auch viel im Internet, z.B. das hier sieht zwar nicht schön, aber
http://cq.cx/ladder-de.html
naja ;-)
Post by Frank Buss
Habe da leider aktuell keine Zeit zu, aber sowas sollte man in einer Woche
(für einen erfahrenen Programmierer) in C# programmieren können und dann
statt der Simulation oder der Code-Generierung direkt die IO-Karte
ansteuern.
ok. Wann hättest denn wieder mehr Zeit?
http://www.pci-card.com/ausblicke.html
http://sine.ni.com/nips/cds/view/p/lang/en/nid/14604
http://www.google.de/search?hl=de&q=I%2FO+USB-Interface+.net+c%23&btnG=Suche&meta=
Kennt jemand kostengünstige Hardware (eine Art Experimentierkasten,
Kosmos) in dem man I O 's ansteuern kann?
Finde nichts brauchbares.
http://www.labjack.com/results.php?category=2
Post by Christoph Matuschek
Einzubinden in C# mit Hilfe einer Assembly, keine DLL (C++)
Hier könnte man doch dann gut die Windows Workflow Fondation anwenden.
Da sind alle moeglichen Tools bei. Und Foren, falls man mal
haengenbleibt. Allerdings nicht in Deutsch.
--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Paul Rosen
2008-10-17 13:19:18 UTC
Permalink
Post by Manuela Abele
http://de.wikipedia.org/wiki/Zustandsautomat
http://de.wikipedia.org/wiki/CoDeSys
http://de.wikipedia.org/wiki/Zustandsdiagramm_(UML)
Hallo,
gibt es ein Programm, das hilft eine SPS Ablaufsteuerung zu erstellen?
Wenn ja welche nimmt Ihr?
Gerne auch Freeware.
Meiner Erfahrung nach setzt sich UML Sprache trotz Normierung auf dem
Markt nicht durch, weil die Masse der SPS-Coder dies nicht versteht.
Meinem Eindruck zufolge ist hier fast nur Funktionsplan und AWL
angesagt. Wenn sich ein Problem mit den Mitteln dieser Sprachen nicht
lösen lässt, kommen die SPS-Bausteine zum Einsatz. Und da sind alle
Normen, die Du auf Wikipedia findest, zwar existent und implementiert,
werden aber in der Praxis kaum eingesetzt, da die
Änderungsmöglichkeiten mit der Zugreifbarkeit des
Original-Programmierers stehen und fallen.

Daher gibt es auf Basis von AWL und Funktionsplan eine Quasi-Norm, die
Du auf Wikipedia nicht finden wirst, weil es dort als Werbung
aufgefasst würde. Diese Norm heißt "Siemens", "Step5" oder "Step7" mit
den dort verfügbaren Bausteinen, wie der Blick auf Stellenanzeigen und
Verfügbarkeit von Kursen z.B. bei den Kammern zeigt.

Auf eine weithin akzeptierte Lösung, die nicht auf "Siemens" basiert,
wirst Du daher zum derzeitigen Zeitpunkt vermutlich leider verzichten
müssen. Wirklich SPS-adäquate Freeware existiert leider derzeit auch
nicht. Insbesondere keine, die auf Basis von AWL oder Funktionsplan
Bausteine zur Verfügung stellt, welche die oben angegebenen Probleme
lösen. Mehr dazu in meiner Antwort auf das erste Posting in diesem
Thread von Christoph Matuschek.
Loading...