# Studienarbeit Siemens vs. Codesys



## S7_Student (5 Mai 2009)

Hallo zusammen,

im Rahmen einer Studienarbeit soll ich für ein Unternehmen eine Ausarbeitung erstellen.
Es geht darum die beiden Systeme Siemens S7 / Step7 und Codesys oder anderen offenen Plattformen wie Beckhoff TwinCat gegenüber zu stellen.
Einsatzgebiet ist der Maschinen und Anlagenbau für  Automatisierungslösungen.
Wichtig ist der Bezug zur Praxis und die gesamtheitliche Kostenbetrachtung.

Folgende Punkte habe ich mir als Vergleich überlegt:

Vergleich Programmierumgebung:
1) Programmierung in ST (SCL) wo sind die Unterschiede der Editoren
2) Hardwarekonfigurator
3) Diagnose und Variablentabellen
4) Bibliotheksverwaltung
5) Projektverwaltung

 Vergleich Hardware
1) Vergleich Siemens, Beckhoff oder CoDeSys
2) Konfiguration und Einbindung aller Komponenten in das Projekt

Vergleich Kommunikation über Ethernet 
1) Unterschied Protokolle 
2) Einbindung von Komponenten 

Vergleich Einbindung von "Fremdsoftware" wie z.B.: Bildverarbeitung über AGLink (nur Siemens) oder ähnlichem bei Codeys.

Vergleich "Marktstellung"
1) Vorderungen / Vorgaben von Kunden


Echtzeitkommunikation mit z.B.: Bildverarbeitung:

Sonstige Vorteil von Siemens:

Sonstige Nachteile von Siemens:

Sonstige Vorteile von Beckhoff:

Sonstoge Nachteile von Beckhoff:

Sonstige Vorteile von Codesys mit z.B.: Beckhoff Hardware:

Sonstige Vorteile von Codesys mit z.B.: Beckhoff Hardware:

Vergleich Service:


Dies sind die Punkte welche mir bisher mal so eingefallen sind.

Hat von euch jemand vielleicht noch weitere Punkte die bei der Unterscheidung bzw. Betrachtung mit einbezogen werden müssen?

Über weitere Punkte oder die eine oder andere Antwort auf die Fragen wäre ich sehr dankbar!

Vielen Dank schon mal im Vorraus.

Mit freundlichen Grüßen
S7_Student


Weitere Punkte könnten sein :
Wieviele Leute können an der Steuerung gleichzeitig arbeiten...(macht Siemens gut, zumindest bei der 400er)
 Werden Lüfter zum Kühlen gebraucht...
 Welcher Temperaturbereich...
 Safety fähige Steuerungen (bzw. Support dafür)
 Diagnosefähigkeit bei Ausfall von Komponenten im Betrieb...
 Hot Swap...
 Programmierbarkeit in C (da wäre auch B&R interessant)
 Deterministik...
 Anfälligkeit für Attacken aus dem Netz (Beckhoff hat teilweise Windows XP im Einsatz mit deaktiviertem Windows Update, kann von Vorteil sein...)
 Verfügbarkeit von schnellen I/O Modulen (Beckhoff hat da ein paar schöne Sachen...)
 Remanenz...


----------



## com (15 Mai 2009)

Hi,

1. ich würde noch die Kompatibilität zu den anderen Systemen einpflegen (irgendwo als Unterpunkt), sprich: Benutzung von Komponenten anderer Hersteller auf der Steuerung (Siemens/beckhoff/bla bla bla).
Z.B.: kannst du bei der Siemens Steuerung nicht nur die Siemens I/O Module benutzen, sondern auch von der VIPA (günstiger) und auch Programme (Programmcode), die auf Siemens Steuerungen laufen, laufen auch auf VIPA Steuerungen und umgekehrt. (gibts natürlich einige Punkte zu beachten, aber nur wenig  )

2. Zu Service würde ich Kundenbetreuung für die Programmentwickler nehmen und auch die Verfügbarkeit der Komponenten für den Endkunden. Z.b., eine Siemens Steuerung kannst du auch in Peru (south america) kaufen. Hat der Kunde Probleme, kann er direkt die Steuerung gleich im Laden um die Ecke kaufen  (natürlich etwas übertrieben, aber etwa in dem sinne).

  die beiden Punkte stehen natürlich nur zum Vorteil der Siemens Steuerungen 

3. Preisvergleich (ups...  )


Gruß
com


----------



## DJchris81 (19 Mai 2009)

Was mir noch einfallen würde, was bei immer mehr Scada Systemen wichtiger wird.

Welche Möglichkeiten bieten die Systeme softwareseitig zu kommunizieren?
Sprich wie einfach können Dritt-Hersteller mit der SPS kommunizieren?

Ein weiterer großer Punkt der in der Industrie immer mehr auf Grund von modularen und flexiblen Produktionslinien gefordert wird, ist die "Hot Plug" Thematik. Kann man während der Laufzeit IOs aus dem System bzw. ins System nehmen.

Grüße,
DJ


----------



## Fanta-Er (6 Juli 2009)

meine meinung!!!! (keine st-programmierung)

siemens vorteile:
schnelle programmierung durch komfor. (vor allem bei addres.rogrammierung)
programmsprachen in einem fc/fb-netzwerk umschaltbar.
zwischenabgriffe bei vergleichern oder setzbefehle in kop oder fup.
genaure, schneller fehleranalyse.
besseres datenhändling durch udt´s möglich.
mehr ordnung bei den globalvariablen.
direkter addressenzugriff auf ALLE variablen ohne aufwand.
mehr retain bzw remante speicherbereiche.
größerer befehlsvorrat.
hardware konfig einfacher.
bei der industrie beliebter.
einfacher bei verschiedenen bussystemen (konfig/ib & überwachung).
viele funktionen automatisch, die bei codesys nachgearbeitet werden müssen.
akku zugriffe möglich. (codesys hat im eigentlichen sinne keinen).
support.
sfc´s (bei codesys in 1000 bibis verteilt)
gehe zu (überlappender zugriff)

codesys:
jährliche updateverträge entfallen (ca. 3000€ für alle packete)
anschaffung der software (>3000€)
hardware um den factor zehn billiger (nicht ganz aber fast)
geschriebene programme können in sehr viele steuerungen übertragen werden. (siemens nur für siemens und da mus mann auf die familien achten).
transparenter.
für codesys gibt es mehr freie bausteine mit programmlösungen. man muss sie nur finden.
bei mathematischen funktionen einfacher, da die befehle typunabhängig sind.

meine meinung...werde den rest (der mir im moment nicht einfällt) noch nachreichen. ich denke nur, dass man hier seiten füllen könnte. es ist auch nicht fair die vorhandenen visu´s miteinander zu vergleichen. sie sind aber ein verkaufsargument. eine genaue ausarbeitung kannst selber machen. ist ja deine arbeit. stichworte hast ja jetzt genug.

ja, bin siemens vorbelastet. schreibe aber programme in beiden sprachen incl. visu.

die zukunft wird aber über lang oder kurz codesys gehören. :-(
(flexibler in der entwicklung und preisgünstiger)



p.s. wer rechtschreibfehler findet, darf sie behalten.


----------



## DJchris81 (6 Juli 2009)

Fanta-Er schrieb:


> die zukunft wird aber über lang oder kurz codesys gehören. :-(
> (flexibler in der entwicklung und preisgünstiger)
> 
> 
> ...


----------



## bike (6 Juli 2009)

Fanta-Er schrieb:


> geschriebene programme können in sehr viele steuerungen übertragen werden. (siemens nur für siemens und da mus mann auf die familien achten).


Bisher ist mir dieser Vorteil noch nie untergekommen.
Liegt vielleicht an mir, dass ich die Steuerungen nicht gefunden habe bzw diese nicht dem Kunden verkaufen konnte. 


Fanta-Er schrieb:


> für codesys gibt es mehr freie bausteine mit programmlösungen. man muss sie nur finden.


Also ich habe die Erfahrung gemacht, dass es meist besser und preiswerter ist die notwendigen Funktionen selber zu schreiben. 
Bis die vielelicht passende Funktion irgendwo gefunden und verstanden wurde. ist die Funktion meist schon selber geschrieben.



Fanta-Er schrieb:


> bei mathematischen funktionen einfacher, da die befehle typunabhängig sind.


Stimmt, doch wo ist das Problem zunächst die Werte auf die richtige  Type zu skalieren bzw wandeln?
Muss in nahzu jeder höheren Programmiersprache doch gemacht werden.

Also den echten Vorteil habe ich bis heute noch nicht gefunden.


bike


----------



## zotos (6 Juli 2009)

Da muss ich gleich nach treten ;o) 



Fanta-Er schrieb:


> siemens vorteile:





Fanta-Er schrieb:


> schnelle programmierung durch komfor. (vor allem bei addres.rogrammierung)


 Ich finde, dass Absolute Adressierung und Komfort so gar nicht zusammen passen. Ich mag symbolische Adressierung.



Fanta-Er schrieb:


> programmsprachen in einem fc/fb-netzwerk umschaltbar.


Eine gute (bessere) Alternative bietet CoDeSys mit den Aktionen die man an einen Baustein anhängen kann dann kann man alle Sprachen (KOP/FUP/AWL/ST/AS/CFC) in einem Baustein verwenden.



Fanta-Er schrieb:


> zwischenabgriffe bei vergleichern oder setzbefehle in kop oder fup.


 Das geht doch. Einfach dazwischen klicken und noch eine Zuweisung verwenden.



Fanta-Er schrieb:


> genaure, schneller fehleranalyse.


 



Fanta-Er schrieb:


> besseres datenhändling durch udt´s möglich.


 Ähm... Datentypen ist ein eigener Reiter gewidmet eigentlich nicht zu übersehen. 



Fanta-Er schrieb:


> mehr ordnung bei den globalvariablen.


 Wie meinst Du das? Die Ordnung bestimmt doch der Programmierer und nicht das System. 



Fanta-Er schrieb:


> direkter addressenzugriff auf ALLE variablen ohne aufwand.


 Einglück ist die Seuche an CoDeSys vorübergegangen. Dafür sind die Pointer (indirekte Adressierung) und die Array Adressierung (index Adressierung) in CoDeSys deutlich komfortabler und in allen Programmiersprachen (KOP/FUP/AWL/ST/CFC) verfügbar



Fanta-Er schrieb:


> mehr retain bzw remante speicherbereiche.


Das hängt doch von der verwendeten Hardware ab. Die Wago 750-841 hat z.B. 24 kByte Retain Data. Diese kann man sehr genau granulieren und nicht wie bei Siemens nur für ganze Merkerbereiche und DBs.



Fanta-Er schrieb:


> größerer befehlsvorrat.


 Welche Befehle vermisst Du auf der CoDeSys-Seite? Vielleicht hast Du sie nur noch nicht entdeckt.



Fanta-Er schrieb:


> hardware konfig einfacher.


 Nur solange man nur mit Siemens Komponenten arbeitet. Hast Du mal einen Phoenix Interbusanschluss in der S7 Hardwarekonfig unterbringen müssen? 



Fanta-Er schrieb:


> bei der industrie beliebter.


Stimmt. VHS war auch beliebter als Video2000 und Betamax. Windows ist beliebter als Linux und Mac OS X. Beliebtheit ist ein wichtiger Indikator 



Fanta-Er schrieb:


> einfacher bei verschiedenen bussystemen (konfig/ib & überwachung).


Verschiedene Bussysteme und Siemens? CoDeSys lässt im Gegensatz zu Siemens so gut wie kein Feldbus außen vor. 



Fanta-Er schrieb:


> viele funktionen automatisch, die bei codesys nachgearbeitet werden müssen.


 Welche Funktionen vermisst Du auf der CoDeSys-Seite? Vielleicht hast Du sie nur noch nicht entdeckt.



Fanta-Er schrieb:


> akku zugriffe möglich. (codesys hat im eigentlichen sinne keinen).


Stimmt. Vermissen tue ich die allerdings nicht.



Fanta-Er schrieb:


> support.


Kann ich nicht beurteilen habe ich noch nicht gebraucht. Aber den Punkt kann man schwer an CoDeSys fest machen da der Support ja vom Hardwarehersteller geleistet wird Beckhoff/WAGO/Moeller/Bosch/usw. usw.



Fanta-Er schrieb:


> sfc´s (bei codesys in 1000 bibis verteilt)


Dafür sind auch nur die in der Steuerung die man braucht.



Fanta-Er schrieb:


> gehe zu (überlappender zugriff)


Ja fehlt.


----------



## DJchris81 (6 Juli 2009)

so hart wollte ich es vorhin nicht schreiben.
aber wo er recht hat, hat er recht.
ohne partei zu ergreifen. jedes system hat seine vor und nachteile.
im endeffekt entscheidet der kunde, wenn er die möglichkeit hat und wenn er nicht ganz "dumm" ist, wird er sich wohl für die günstigere flexiblere lösung entscheiden.


----------



## trinitaucher (6 Juli 2009)

Fanta-Er schrieb:


> schnelle programmierung durch komfor. (vor allem bei addres.rogrammierung)


Nur, wenn man zuvor ausgiebigst Siemens gemacht hat und nun umsteigt. Meine Meinung wäre genau umgekehrt, da ich zuerst CoDeSys gelernt habe.


Fanta-Er schrieb:


> mehr retain bzw remante speicherbereiche.


Nicht wirlich, oder 
Beispiel PC-Steuerungen von Beckhoff: Speicherplatz quasi unbegrenzt.
Hängt immer von der Hardware ab.


Fanta-Er schrieb:


> hardware konfig einfacher.


wie zuvor: Wenn du die Hardwarekonfig von Beckhoff's TwinCAT erst einmal gesehen hast, wirst du deine Meinung ändern.


Fanta-Er schrieb:


> einfacher bei verschiedenen bussystemen (konfig/ib & überwachung).


*ROFL*... das kann nicht ernst gemeint sein... Aus meiner Erfahrung ist Siemens eines der "unoffensten" Systeme überhaupt. Was nicht von Siemens kommt, ist unnötig kompliziert.
... wieder mein Tipp: Schau dir mal den "TwinCAT System Manager" von Beckhoff an.


----------



## Fanta-Er (6 Juli 2009)

ich finde es schön, dass das thema so schnell aufgenommen wird. 
hoffe es bleibt eine offene, sachliche, diskusion.

wie ich schon erwähnt habe, bin ich siemens versaut....wird sich vieleicht noch ändern..... 

ein paar sachen habe ich vieleicht ein wenig kurz beschrieben.

hardwarekonfig: klar, was nicht von siemens kommt, macht mukken. hier gibt es noch mehr beispiele. nimm aleine mal die servos. bis die manchmal richtig laufen, hast eine kanne kaffee getrunken.
es gibt nicht umsonst den spruch: "möchten sie was gescheites oder darf es auch siemens sein".
das man pcsystem nicht mit einer 312 vergleicht, sollte jedem klar sein. es gibt eine menge stat variablen in codesys. aber wenn es um retain oder remanente bereiche geht, ist bei siemens jeder db und wenn ich will auch merker remanent. da geht den kleinen steuerungen, die mit codesys programmiert werden, schneller die puste aus.

das keiner mehr absolut programmiert, dürfte mitlerweile in jedem dorf angekommen sein. wenn ich mit siemens ein variable holen/haben will, drücke ich strg+j und bin mit den pfeil tasten GENAU und schnell da, wo ich hin will. auch in structs, arrays oder sonst wo. bei codesys f2 anklicken, anklicken und dann kann ich in einem array mit struct nicht einfach das anklicken was ich will, sondern muss erstmal das ziel in klammern setzen und dann erscheint mein letztes feld erst. ich kann mir auch die kommentare direkt anzeigen lassen(siemens) bei codesys nicht gefunden bzw laut ausbilder nicht möglich.


zitat:
"Eine gute (bessere) Alternative bietet CoDeSys mit den Aktionen die man an einen Baustein anhängen kann dann kann man alle Sprachen (KOP/FUP/AWL/ST/AS/CFC) in einem Baustein verwenden."
wie soll das gehn???? ich kann nicht einfach umschalten (mir nicht bekannt) nur wandeln. und fc/fb aufrufen, kann ich mit beiden systemen.
mach die mal den spasssssss und wandel mal einen baustein von kop in awl, awl in fup, fup in awl, awl in kop. schau dir das ergebniss mal an. lachst dich schief wieviele netzwerke du auf einmal hast. schon life erlebt.
(die "älteren" mögen kop). siemens bleibt gleich (so fern er es wandel kann)

thema kop/fup und dazwischen klicken. janee is klar. ich liebe awl. muss aber schritkettenteile in kop/fup machen. wegen der lesbarkeit von anderen.  es geht nicht (habs jedenfalls nicht geschaft)nach einem und, einen merker zu setzen und nach einem weiteren und einen weiteren merker zu setzen. nö.... setzen oder move immer am ende......  wenn es einen trick gibt, bin für alles offen.  

zitat:
"Einglück ist die Seuche an CoDeSys vorübergegangen. Dafür sind die Pointer (indirekte Adressierung) und die Array Adressierung (index Adressierung) in CoDeSys deutlich komfortabler und in allen Programmiersprachen (KOP/FUP/AWL/ST/CFC) verfügbar"
seh ich anders....
wenn ich jedesmal für strings oder wenn ich nur ein byte/halbbyte die ganze geschichte umladen muss, ändern und dann wieder zurück, ist nicht ein wahrer vorteil oder?? machbar ist es überall. das es in codesy in allen sprachen "relativ" einfach zu handhaben ist, ist ein vorteil von codesys. (+punkt notiert ) die zugriffe kannst in siemens auch indirekt OHNE pointer machen. ABER du hast auch die möglichkeit es mit pointer und addressen zu machen.

zitat:
"Wie meinst Du das? Die Ordnung bestimmt doch der Programmierer und nicht das System."
jaein....... bei der fehlersuche oder ib kann ich mir eine variablen tabelle selbst zusammenstellen. egal ob merker, db/global oder inst GEMISCHT. ich vermisse diese funktion ein wenig bei codesys. oder habe sie noch nicht gefunden. hier schalte ich immer zwischen verschieden fenstern rum. auch kann ich auf inst. direkt symbolisch oder addressialisch zugreifen bzw ansehen. ich sehe mehr. kann aber auch gewohnheit sein. aufpassen muss ich bei codesys darauf, das eine globalvariable nicht gleich einer stat oder temp variable heist. bekommst keine fehlermeldung und kann dich ganz schön aus der bahn werfen. geht bei siemens nicht da der zielort in die symbolik mit einfliesst.

zitat:
"Ähm... Datentypen ist ein eigener Reiter gewidmet eigentlich nicht zu übersehen."
ja. ich kann aber bei siemens mit udts in structs oder arrays zusammen arbeiten und erhalte mir ein wenig mehr übersicht. dann spielen die pfeile wieder ein rolle. ist wahrscheinlich auch ein grossteil gewohnheit.

bei dem thema befehle werde ich demnächst eine tabele mal posten. darf gerne berichtigt werden. stelle gerade siemens gegen codesys. noch nicht ganz verdisch...


----------



## MSB (7 Juli 2009)

Ich hab jetzt keinen Bock auf Einzelzitate aber:

Hardwarekonfig: Hier kann ich bei Siemens oberflächlicht keinen definitiven Vorteil, aber auch keinen Nachteil feststellen.

Symbolik: Das mit den Kommentaren ist (leider) richtig, bei Arrays muss man das Feld selbst hintippen ARRAYBLA[0].(ab hier werden dann die ARRAY-Elemente so es denn ein STRUCT ist angezeit)
Vorteil Codesys, das funktioniert so in ALLEN Sprachen
Vorteil Siemens, direkte "geführte" Auswahl
Nachteil Siemens, leider geht das ganze in keinster Weise bei SCL, wo es extremst sinnvoll wäre

Bausteinsprachen:
Ein Baustein hat bei mir irgendeine Sprache (Standard ST) ...
Die grafischen Editoren sind sowohl bei Siemens als auch Codesys Murks,
wer mal was vernünftiges will, der schaue mal zu Allen Bradley oder Panasonic

Pointer:
Warum auch immer, irgendwie blicke ich da bei Codesys nicht so wirklich durch,
liegt imho aber auch an der in dem Punkt absolut mangelhaften Doku von Codesys (man eigne sich bitte mal den Stil von Mitsubishi-Handbüchern an)

Variablentabelle, OK def. +Punkt für Siemens ...

Datentypen:
Hier sehe ich nicht wo der "große" Unterschied sein soll (gibts einen?) von den Möglichkeiten her betrachtet?

Befehle:
Hier mag Codesys zwar subjektiv hintenliegen, liegt aber auch daran das die meisten "komplexen" Libs vom jeweiligen Hersteller kommen.
Wobei Siemens ja nicht wirklich viele Befehle hat, sondern eher viel über FC/FB/SFC/SFB macht ...
Berauschend ist aber sowohl Codesys als auch Siemens nicht, hier sei ebenfalls jeden mal Panasonic empfohlen ...

Mfg
Manuel


----------



## trinitaucher (7 Juli 2009)

Fanta-Er schrieb:


> jaein....... bei der fehlersuche oder ib kann ich mir eine variablen tabelle selbst zusammenstellen. egal ob merker, db/global oder inst GEMISCHT. ich vermisse diese funktion ein wenig bei codesys. oder habe sie noch nicht gefunden. hier schalte ich immer zwischen verschieden fenstern rum. auch kann ich auf inst. direkt symbolisch oder addressialisch zugreifen bzw ansehen. ich sehe mehr. kann aber auch gewohnheit sein.


Schau mal unter dem Karteireiter "Ressourcen" => "Watch- und Rezepturverwalter". 
Mit F2 kannste dir jede Variable des Projekts, sogar hindurch durch alle Bausteine bis auf die unterste Ebene, einfügen und für IBN online anzeigen lassen.


----------



## zotos (7 Juli 2009)

Fanta-Er schrieb:
			
		

> das man pcsystem nicht mit einer 312 vergleicht, sollte jedem klar sein.


*ACK* 



			
				Fanta-Er schrieb:
			
		

> es gibt eine menge stat variablen in codesys. aber wenn es um retain oder remanente bereiche geht, ist bei siemens jeder db und wenn ich will auch merker remanent. da geht den kleinen steuerungen, die mit codesys programmiert werden, schneller die puste aus.


Der von mir erwähnte Retain Speicher einer WAGO 750-841 mit 24kB ist IMHO angemessen. Bei dieser kleinen Steuerung habe ich aber auch direkt ein Dateisystem mit dabei. Damit können Daten die nicht so häufig geändert werden auch auslagert werden. Dazu sind Funktionen wie schreiben auf einen FTP-Server oder das Versenden von E-Mails mit Codesys Steuerungen oft inklusive. 




			
				Fanta-Er schrieb:
			
		

> das keiner mehr absolut programmiert, dürfte mitlerweile in jedem dorf angekommen sein.


*ACK* 

Leider beißt sich Deine Aussage mit einer Aussage weiter unten 1)*




			
				Fanta-Er schrieb:
			
		

> zitat:
> "Eine gute (bessere) Alternative bietet CoDeSys mit den Aktionen die man an einen Baustein anhängen kann dann kann man alle Sprachen (KOP/FUP/AWL/ST/AS/CFC) in einem Baustein verwenden."
> 
> wie soll das gehn????


Einfach mal auf einen Baustein einen Rechtsklick machen und Aktion hinzufügen.





			
				Fanta-Er schrieb:
			
		

> ich liebe awl. muss aber schritkettenteile in kop/fup machen. wegen der lesbarkeit von anderen.


Das IEC61131-3 AWL (CoDeSys AWL) ist IMHO Schrott. Da finde ich STEP7 AWL deutlich besser. 
Ich persönlich würde mir das auch nicht antun und gleich zu ST greifen.

Schrittketten in KOP/FUP? Mir wird schlecht! (sorry da kann ich nicht sachlich bleiben)



			
				Fanta-Er schrieb:
			
		

> wenn ich jedesmal für strings oder wenn ich nur ein byte/halbbyte die ganze geschichte umladen muss, ändern und dann wieder zurück, ist nicht ein wahrer vorteil oder?? machbar ist es überall. das es in codesy in allen sprachen "relativ" einfach zu handhaben ist, ist ein vorteil von codesys. (+punkt notiert :grin die zugriffe kannst in siemens auch indirekt OHNE pointer machen. ABER du hast auch die möglichkeit es mit pointer und addressen zu machen.


1)* Zugriffe über Adressen? Das beißt sich doch mit der Aussage das man nicht mehr absolut Programmiert.
Gerade bei Stringoperationen würde ich sowohl auf der Siemens als auch auf der CoDeSys Seite zu den IEC-Funktionen raten. Wie in dem meisten PC-Programmiersprachen gibt es hier die Möglichkeiten auf einzelne Zeichen oder bereiche zuzugreifen. FIND/LEFT/RIGHT/MID/CONCAT sollte man den selbst gestrickten Lösungen vorziehen.



			
				Fanta-Er schrieb:
			
		

> jaein....... bei der fehlersuche oder ib kann ich mir eine variablen tabelle selbst zusammenstellen. egal ob merker, db/global oder inst GEMISCHT. ich vermisse diese funktion ein wenig bei codesys. oder habe sie noch nicht gefunden.


Die Watchliste hat der Kollege trinitaucher ja bereits erwähnt. Wo wie ja gerade noch bei Strings waren die sind in Step7 echt miserabel zu beobachten ( wahrscheinlich stehen die Step7-Entwickler nicht auf Strings ;o) ) 



			
				Fanta-Er schrieb:
			
		

> ich kann aber bei siemens mit udts in structs oder arrays zusammen arbeiten und erhalte mir ein wenig mehr übersicht.


In CoDeSys kann man z.B. ein Array mit Arrays von "UDTs" (Datentypen)  mit FBs als Inhalt machen die FBs haben natürlich auch wieder eigene Variablen.


----------



## bike (7 Juli 2009)

trinitaucher schrieb:


> Nicht wirlich, oder
> Beispiel PC-Steuerungen von Beckhoff: Speicherplatz quasi unbegrenzt.



Stimmt, doch bei dem schwarzen Kasten von Siemens braucht es keinen Rebot, wie bei den PC Systemen.



trinitaucher schrieb:


> wie zuvor: Wenn du die Hardwarekonfig von Beckhoff's TwinCAT erst einmal gesehen hast, wirst du deine Meinung ändern.
> 
> *ROFL*... das kann nicht ernst gemeint sein... Aus meiner Erfahrung ist Siemens eines der "unoffensten" Systeme überhaupt. Was nicht von Siemens kommt, ist unnötig kompliziert.
> ... wieder mein Tipp: Schau dir mal den "TwinCAT System Manager" von Beckhoff an.




Wenn bei twincad etwas nicht funktioniert, dann ist die Diagnose nicht leicht.
Der Hardwaremanager von Siemens zeigt, wenn es hakt wo es hakt.

Also Beckhoff ist nach meiner Meinung nicht der Weisheit letzter Schluss.



bike


----------



## zotos (7 Juli 2009)

bike schrieb:


> ...
> Wenn bei twincad etwas nicht funktioniert, dann ist die Diagnose nicht leicht.
> Der Hardwaremanager von Siemens zeigt, wenn es hakt wo es hakt.
> ...



Ich hatte ja noch nicht viele Beckhoff Projekte (bin auch nicht sooo Glücklich das die ihren eigenen (nicht CAA weg) gehen) aber der Systemmanager ist nicht schlecht. Diagnose und Konfiguration ist IMHO gelungen. Alleine die Feldbusinbetriebnahme ist beeindruckend -> Scanne nach Boxen und man bekommt eine Übersicht der vorhandenen Geräte am Feldbus (auch drittanbieter werden direkt und richtig angezeigt wenn man die Konfigurationsdatei (im Falle Profibus GSD) hat.


----------



## trinitaucher (7 Juli 2009)

bike schrieb:


> Stimmt, doch bei dem schwarzen Kasten von Siemens braucht es keinen Rebot, wie bei den PC Systemen.


Worauf beziehst du das?



bike schrieb:


> Wenn bei twincad etwas nicht funktioniert, dann ist die Diagnose nicht leicht.


Nur wenn man sich nicht auskennt. 

TwinCAT unterstützt zig Feldbussysteme, aber jedes kann mit den gleichen Mitteln und an den gleichen Stellen diagnostiziert werden. Zwar immer feldbusspezifisch, aber stets ähnlich.
Dann hast du noch das "Scope", mit dem du *alle* Variablen des gesamten Steuerungssystems (E/A, NC, SPS) zusammen aufzeichnen kannst. In Summe habe ich bisher noch keine umfassendere Diagnose gesehen, die so offen gegenüber Fremdgeräten ist.

TwinCAT nimmt allerdings eine Sonderstellung ein. CoDeSys ist es ja nur bei der SPS-Programmierumgebung.
Aber der System Manager ist allein schon durch die Integration von NC und E/As ne Klasse für sich.
... und das ganze bei strikter Trennung zwischen Hard- und Software.


----------



## bike (7 Juli 2009)

trinitaucher schrieb:


> Worauf beziehst du das?



Darauf, dass bei unseren Kunden wenn die Anlagen 24/7 laufen der Punkt erreicht wird, wo das System nicht mehr funktioniert und ein Neustart notwendig ist.



trinitaucher schrieb:


> Nur wenn man sich nicht auskennt.


Stimmt vielelicht



trinitaucher schrieb:


> TwinCAT unterstützt zig Feldbussysteme, aber jedes kann mit den gleichen Mitteln und an den gleichen Stellen diagnostiziert werden. Zwar immer feldbusspezifisch, aber stets ähnlich.
> Dann hast du noch das "Scope", mit dem du *alle* Variablen des gesamten Steuerungssystems (E/A, NC, SPS) zusammen aufzeichnen kannst. In Summe habe ich bisher noch keine umfassendere Diagnose gesehen, die so offen gegenüber Fremdgeräten ist.
> 
> TwinCAT nimmt allerdings eine Sonderstellung ein. CoDeSys ist es ja nur bei der SPS-Programmierumgebung.
> ...


Also wenn die Hardware Ärger macht haben wir immer wieder Probleme diese zverlässig zu erklennen. Daher nehmen wir zur Diagnose eine S7 mit den Bus und programmieren darauf die Diagnose. Und bei Hardwarefehlern ist TwinCAT nach meiner Meinung nicht der Hit.

Zu dem Thema Fremdgeräte an S7: wir verwenden so viel verschiedene Komponenten und haben eigentlich wenig bis keine Probleme.


Es ist wie meist eine Glaubensfrage welche Steuerung besser ist.


bike


----------



## skorpion37 (12 November 2009)

Was noch nicht erwähnt wurde:

1. Online-Change

Siemens: Eher rudimentär. Änderungen an Datenstrukturen gehen fast automatisch mit dem Verlust von aktualwerten einher.

Codesys: Vorbildlich. Auch bei größeren Änderungen in den Datenstrukturen ist ein Online-Change möglich ohne Stop und ohne Datenverlust.

2. Aufwand um Programm "konsistent" zu halten

Siemens: Riesig. Bei Änderung von Adressen oder Daten ist sehr viel Sachverstand und Anpacken diverser Programmbausteine notwendig um Programm wieder lauffähig auf Steuerung zu bekommen.

Codesys: Minimal. Mit zwei Mausklicks sind auch die größten Programmänderungen wieder online

3. Online-Diagnose/Steuerung in Programmeditoren

Siemens: Eingeschränkt. Keine Anzeige von Zuständen in Symboltabelle. Variablen nicht ausgeführter Programmteile werden nicht angezeigt. Deswegen sind bei S7-Projekten stets viele Variablentabellen notwendig. 

Codesys: Sehr gut. Sobald Steuerung online verbunden ist können in allen Editoren, Variablendeklarationen die aktuellen Werte angezeigt/geändert werden.

4. Beobachtung von Instanzdaten

Siemens: Aufwendig. FB muss erst geöffnet werden, über Menü Instanz DB zugeordnet werden, dann kann online geschaltet werden.

Codesys: Vorbildlich. Bei Onlineverbindung werden beim Anklicken eines Bausteins alle verfügbaren Instanzen zu Auswahl angezeigt.

5. Hardwaremanager/Diagnose

Siemens: Sehr gut. Konfiguration grafisch sehr gut augearbeitet. Lage und Verknüpfung der Komponenten direkt sichtbar. In Online-Ansicht direkte Fehlerdiagnose der einzelnen Komponenten möglich.

Codesys: Rudimentär. Konfiguration über einfache Liste. Keine Online-Fehler-Diagnose vorhanden. (Standard Codesys)

6. ST

Siemens: Rudimentär. Keine Editierhilfen. Übersetzten und Onlinediagnose aufwendig. 

Codesys: Vorbildlich. Guter Editor, gute Onlineansicht. ST steht im ganzen System für alle programmierungen zur Verfügung.

7. SCL

Siemens: Grafisch gut dargestellt. Einfache IEC Schritte sehr übersichtlich und sehr gute online-Diagnose möglich.

Codesys: Übersichtlichkeit schlechter. Schritte und Transitionen können jedoch sehr leistungsfähig in ST ausprogrammiert werden.

8. "Zeitstempelkonflikt" 

Siemens: Der Albtraum schlechthin.

Codesys: Was ist das?

9. Rückübersetzung aus Steuerung

Siemens: Bedingt. Bausteine können nur ohne Symbolik zurückgeladen werden. große Änderungen dadurch nicht möglich.

Codesys: Wenn gewünscht wird der Quellcode automatisch mit auf Steuerung abelegt. Dadurch perfektes Rückübersetzten möglich. Ansonsten allerdings keine Möglichkeit.


Habe ich noch was vergessen?

Gruß Georg


----------



## DJchris81 (12 November 2009)

Hallo Georg.

Nur eins fällt mir noch ein.

Die unter 5 geübte Kritik an CoDeSys wird bei Beckhoff durch den TwinCAT SystemManager vorzüglich abgefangen.
Dort kann man in einem Fenster alle adressierten Softwarevariablen und die komplette Hardware des Systems inkl. Netzwerk beobachten und forcen.

Echt klasse. Wer einmal damit gearbeitet hat, der möcht es nicht mehr missen.

Gruß


----------



## Fanta-Er (23 Dezember 2009)

hallo skorpion37.

aus deiner aufzählung sieht man, dass du als erstes mit codesys angefangen hast. ich habe mit siemens angefangen und sehe es teilweise etwas anders.

 Was noch nicht erwähnt wurde:

1. Online-Change
Siemens: Eher rudimentär. Änderungen an Datenstrukturen gehen fast automatisch mit dem Verlust von aktualwerten einher.
 Jain...wenn ich die struktur nicht ändere und hinten dranhänge kann ich teilweise ohne verlust übertragen. ist allerdings an ein paar gegebenheiten geknüpft. habe dafür die möglichkeit einzelne datenbausteine im laufenden betrieb komplett auf anfang zurück zusetzen (datenbaustein initialisieren)
Codesys: Vorbildlich. Auch bei größeren Änderungen in den Datenstrukturen ist ein Online-Change möglich ohne Stop und ohne Datenverlust.
 wenn ich das komplette projekt neu generiere und die daten wieder auf die steurung schiebe, sind sie futsch. der ablauf wird in den meisen anleitungen so beschrieben.

 2. Aufwand um Programm "konsistent" zu halten
Siemens: Riesig. Bei Änderung von Adressen oder Daten ist sehr viel Sachverstand und Anpacken diverser Programmbausteine notwendig um Programm wieder lauffähig auf Steuerung zu bekommen.
nö... bausteinkonsistenz prüfen und gut. vielmehr habe ich bei siemens damit die möglichkeit komplette programme mit umschalten von symbolisch/direkt mit neuer symbolik zu versehen. wäre aber jetzt zu aufwendig dieses zu beschreiben.
Codesys: Minimal. Mit zwei Mausklicks sind auch die größten Programmänderungen wieder online
Stimmt

 3. Online-Diagnose/Steuerung in Programmeditoren
Siemens: Eingeschränkt. Keine Anzeige von Zuständen in Symboltabelle. Variablen nicht ausgeführter Programmteile werden nicht angezeigt. Deswegen sind bei S7-Projekten stets viele Variablentabellen notwendig. 
versteh ich nicht. wieso will ich variablen beobachten die nicht genutzt werden.
alle anderen werden angezeigt. sollte ein variable nur einmal genutzt werden, steht der wert bis zum wegscrollen auch in der tabelle. werte können nicht direkt in den bausteinen geändert werden (ausnahme graph7). auf 1 bzw 0 steuern geht mit rechtsklick. willst die werte verändern hast du die möglichkeit direkt im fb dir unten eine tabelle einblenden zu lassen und kannst dort die werte eintragen. 
Codesys: Sehr gut. Sobald Steuerung online verbunden ist können in allen Editoren, Variablendeklarationen die aktuellen Werte angezeigt/geändert werden.
stimmt
fazit: bei codesys einfacher als bei siemens. funktion bei beiden gegeben.
 
 4. Beobachtung von Instanzdaten
Siemens: Aufwendig. FB muss erst geöffnet werden, über Menü Instanz DB zugeordnet werden, dann kann online geschaltet werden.
instanz db öffnen. brille an und gut(automatischer wechsel in die datenansicht). verstehe nicht was du meinst.
Codesys: Vorbildlich. Bei Onlineverbindung werden beim Anklicken eines Bausteins alle verfügbaren Instanzen zu Auswahl angezeigt.
klare vorteil ist, dass ich mir alle variablen direkt im kopf des fb anschauen kann ohne einen zweiten baustein zu öffnen.

 8. "Zeitstempelkonflikt" 
Siemens: Der Albtraum schlechthin.
beim baustein vergleichen einfach den haken setzen. ansonsten schreibt siemens dabei das der stempel unterschiedlich ist aber die werte stimmen. das aktualisieren von inst bausteinen ist bei siemens immer nötig, wenn du in die stat was schreibst. egal ob du es sofort wieder löscht oder nicht.
Codesys: Was ist das?
an einer stelle im programm was geändert und ich kann das ganze programm nicht mehr nach dem übersetzen beobachten. neues übertragen ist notwendig.
ist das besser?

 9. Rückübersetzung aus Steuerung
Siemens: Bedingt. Bausteine können nur ohne Symbolik zurückgeladen werden. große Änderungen dadurch nicht möglich.
wenn deine eingesetzte speicherkarte nicht zu klein ist, kannst du das ganze programm (incl visu) dort ablegen. -punkt: große karten sind bei siemens richtig teuer. auf der karte können auch daten ausgelagert werden und  automatisch zurück geladen werden.
Codesys: Wenn gewünscht wird der Quellcode automatisch mit auf Steuerung abelegt. Dadurch perfektes Rückübersetzten möglich. Ansonsten allerdings keine Möglichkeit.

was ich gemerkt habe ist, dass es immer einfacher ist mit dem system zu arbeiten welches man als erstes richtig gelernt hat. vieles wird als minuspunkt gewertet was für andere (die mit gelernt habe zu leben) es zu ihrem vorteil nutzen. 
des weiteren hat mann einfach mehr wissen über das eine als über das andere system und wird immer voreingenommen sein.
ich bin zu beispiel siemens versaut. auch wenn ich zb. über winccflexible immer schimpfe kann das werkzeug eine menge. und ich habe eine menge mit der zeit gelernt. jemand der damit anfängt wird mich nie verstehen und nur mit dem kopf schütteln.
siemens und codesys sind zwei vollwertige systeme die beide nach rom gehen. der eine rechts rum der ander links rum. aber in rom kommen sie beide an. ich glaube auch nicht, dass wenn ein guter siemens programmierer und ein guter codesys programmierer die gleiche aufgabe haben, sie unterschiedlich lang für die lösung brauchen. sie gehen nur nicht die wirklich gleichen wege.

es gibt zwei wirklich gravierende unterschiede.
1) die verfügbare hardware 
2) der preis 

meine meinung.......


  

  



 
[FONT=&quot]
 
 [/FONT]


----------



## MSB (24 Dezember 2009)

> 4. Beobachtung von Instanzdaten
> Siemens: Aufwendig. FB muss erst geöffnet werden, über Menü Instanz DB zugeordnet werden, dann kann online geschaltet werden.
> instanz db öffnen. brille an und gut(automatischer wechsel in die datenansicht). verstehe nicht was du meinst.
> Codesys: Vorbildlich. Bei Onlineverbindung werden beim Anklicken eines Bausteins alle verfügbaren Instanzen zu Auswahl angezeigt.
> klare vorteil ist, dass ich mir alle variablen direkt im kopf des fb anschauen kann ohne einen zweiten baustein zu öffnen.




Auch wenn das Thema, und insbesondere die Rückmeldung von s7_student zu alt ist um noch ernsthaft zu diskutieren,
diesen Punkt hast du pauschal und insgesamt falsch verstanden.

Gemeint sind hier nicht die Instanz-Werte ansich, wenn du dir den IDB anschaust erkennst du daraus ja in keinster Weise die Logik im FB,
gemeint ist der "echte" Programmstatus, also geöffneter FB, als Status die Werte irgend einer vorher ausgewählten Instanz.
Das ist bei Codesys absolut simpel, bei Siemens ein Riesen Trara.

Mfg
Manuel


----------



## Matze001 (15 Mai 2011)

skorpion37 schrieb:


> ...
> 
> 7. SCL
> 
> ...




Sprichst du hier nicht eher von Graph/Schrittkette?

Ich finde die Übersichtlichtkeit ist bei Siemens der letzte Dreck,
da nie mehr als ein Schritt nebeneinander Dargestellt wird.
Eine Parallelabzweigung z.B. wird da sehr schnell sehr lang.

Das man bei Codesys die einzelnen Schritte auch in KOP/FUP/ST
ausprogrammieren kann finde ich auch super!

Grüße

Marcel

P.S: Oh, jetzt habe ich auch mal nen alten Schinken hochgeholt... hehe


----------



## Fanta-Er (16 Mai 2011)

*ist wirklich "uralt"*

Ich habe damals den Thread beteiligt, als ich noch keinen "wirklichen" Einblick hatte.

Zusammengefasst:
Beide haben Ihre Vor- und Nachteile IN MANCHEN BEREICHEN.

Siemens und Graph ist auch so eine Sache. Habe ich genug Dampf auf der CPU bzw. eine schnelle Schnittstelle (z.b. einen Panel-PC477c) kann ich auch mehr als einen Schritt (Parallel) anschauen. FB-Aufrufe sind in Graph auch kein Problem. Graph frisst aber Ressourcen. Bei einer 312er CPU würde ich es nicht wirklich einsetzen. Dazu das Ganze noch über MPI beobachtet macht nicht wirklich Spaß.

Codesys ist da etwas flexibler.
Wobei die KOP/FUP Anwendungen durch die Zuweisung der Spulen bei weiten nicht so viele Verzweigungen zulassen wie bei Siemens.

Was eigentlich gemeint ist, ist die Analyse mit SCL geschriebenen FC´s/FB´s. Hier hat Siemens ein paar Stopp und Hilfefunktionen.
Bei Codesys ist die meist genutzte Programmiersprache ST. Wird aber wie ein AWL Programm online dargestellt. Dafür kann man mit ST einige Funktionen/Aufgaben sehr einfach lösen. Bei Siemens wird alles was in SCL geschrieben wird, in AWL übersetzt. Hast du SCL nicht gekauft bzw. die Pro. Version von Step7 drauf, sind für dich die Funktionen nur als AWL Funktion zu sehen und das Netzwerk ist zum Bearbeiten zu groß.

MfG Fanta


----------

