# S7? B&R? Beckhoff



## martinho71 (19 März 2010)

Hallo zusammen,

wir haben bei uns in der Firma ausschließlich Siemens S5 und S7 Steuerungen in unseren Anlagen im Einsatz.
Da Siemens nicht unbedingt der günstigste Anbieter ist,möchten wir gerne 
eine Alternative dazu,bei uns einführen.
Zur Auswahl stehen die Anbieter B & R und Bechhoff,leider liegt bei uns keinerlei Erfahrung mit diesen Herstellern vor,vielleicht kann mir jemand etwas dazu sagen,der schon mit diesen Systemen gearbeitet hat?


----------



## Sinix (19 März 2010)

Zu diesem Thema gab es schon einige Diskussionen im Forum (Sufu benutzen). 

Allgemein sollte man nicht nur den Preis sehen (leider nicht den Kaufleuten beizubringen), sondern auch Inbetriebnahme, Ersatzteile und Support. 

Vergleich doch mal zum Beispiel wieviel €uros für Instandhalter/Elektriker/Techniker-Schulung musst du bei Einsatz einer neuen Steuerung kalkulieren und stell das allein gegenüber der Ersparnis beim Einkauf der Hardware. 

Persönlich mag ich den technischen Support von Beckhoff nicht, ist teilweise nicht erreichbar und auf Emailantworten wartet man Tage. Da spielt Siemens in einer ganz anderen Liga. Zu B&R kann ich leider nichts sagen, aber wenn es um den reinen Preis für Steuerungen geht kannste ja auch mal noch "VIPA" ins Auge fassen.


----------



## IBFS (19 März 2010)

Am technischen Support trennt sich die Spreu vom Weizen.
Eine ordentliche Homepage mit SUPPORT und einen garantierten
Rückruf bei SIEMENS innerhalb eines Arbeitstages ist m.E. das
Maß der Dinge. Auch die Lieferfahigkeit, Liefertreue und eine
Weltweite Verfügbarkeit von sog. "Kerntypen" innerhalb kürzester
Zeit ist in der heutigen Zeit extrem wichtig. Was nutzt dir es,
wenn du einen Antrieb für 200 € billiger bekommst aber im 
Defektfalle eine Woche auf Ersatz wartest. 

Auf das Gesamtpaket kommt es an.

Gruß


----------



## zotos (19 März 2010)

IBFS schrieb:


> Am technischen Support trennt sich die Spreu vom Weizen.
> ...



Wenn z.B. FIAT die besten Werkstätten hätte weil man da sofort geholfen bekommt, ist das nach Deiner Definition die beste Automarke. Wenn man nun bei z.B. bei Audi erst einen Termin machen muss ist das die schlechtere alternative. Jedoch braucht man vielleicht bei der einen Marke nicht so oft den Support weil die Kiste einfach läuft. 

Technologisch steckt Siemens immer noch in den Neuzeigern wenn nicht sogar in den Achtziger Jahren fest. IMHO sind die schlicht und einfach Innovationsbremsen.

PS: Ich würde zu Beckhoff tendieren.


----------



## Jens_Ohm (19 März 2010)

Wir setzen Steuerungen von B&R seit 1996 ein.
 Ich bin sehr zufrieden damit.  
 Die Qualität ist gut. Selten musste mal etwas ausgetauscht werden.
 Die Betreuung durch das zuständige Technische Büro ist auch gut.
 In der Anfangszeit wurden wir mehrere Tage kostenlos im TB mit der Programmierung und der Entwicklungsumgebung vertraut gemacht.
 Bei Problemen kam auch schon mal ein Ing. vom TB zu uns ins Haus.
 Anfang des Jahres habe ich mich mit der Anbindung der Steuerungen über .NET beschäftigt.
 Innerhalb einer Woche nach Anfrage hatte ich einen Termin im TB, wo mir ein Ing. den ganzen Tag zur Seite stand.  
 Durch die lange Zeit, seit der wir B&R einsetzen, kenne ich die meisten Supporter vom TB persönlich.
 Das macht die Zusammenarbeit viel einfacher.


 Was die Programmierung angeht, kann ich mangels Erfahrung mit anderen Steuerungen keine Vergleiche ziehen. Angeboten werden KOP, FUB, AWL, Automation Basic, C und ST.
 Ich persönlich komme mit Automation Basic und ST gut zurecht.


 Einen Blick ist B&R allemal wert.


 Grüße vom Jens


----------



## rostiger Nagel (19 März 2010)

ich würde auch eher zu Beckhoff als zu Siemens tendieren, was mich an
Beckhoff noch sehr stört ist das die keine vernünftige Visiu haben, wobei 
WinCCflex ist auch keine vernünftige. Aber trotzdem, wenn ich eine 
Steuerung einsetze möchte ich lieber alles aus einen haus haben.
Ich habe keine lust vom Steuerungshersteller zu hören es liegt an der Visiu
und der Visiu Hersteller sagt es liegt an der Steuerung. Eine Visiu selber
basteln mit einer Hochsprache kommt für mich nicht in frage, da will ich
schon etwas fertiges.

Die modulare Software von Beckhoff finde ich schon klasse einfache SPS,
NC, CNC, Sicherheit alles läuft auf einer Plattform. Nicht wie bei Siemens
für jede Anwendung eine eigene Hardware, das kann es doch nicht sein.


----------



## zotos (20 März 2010)

martinho71 schrieb:


> ...
> wir haben bei uns in der Firma ausschließlich Siemens S5 und S7 Steuerungen in unseren Anlagen im Einsatz.
> Da Siemens nicht unbedingt der günstigste Anbieter ist,möchten wir gerne
> eine Alternative dazu,bei uns einführen.
> ...



Siemens und auch Beckhoff arbeiten zurzeit an den Nachfolgeprodukten. Siemens will die derzeitige S7 Generation einmotten und durch eine Neue zu ersetzen. Beckhoff will TwinCAT 2 durch 3 ablösen. 
Vielleicht lohnt es sich noch etwas zu warten und die Nachfolgeprodukte zu vergleichen.

Bei B&R kenne ich mich nicht aus, höre und lese von den Anwendern aber fast nur gutes. Ähnliches trifft auf Sigmatek und viele andere Hersteller zu.


----------



## trinitaucher (20 März 2010)

Was mir insb. bei Beckhoff sehr positiv auffällt ist, dass die Softwarearchitektur des Steuerungssystems sehr gut skalierbar und sehr offen zu anderen Systemen ist. Das TwinCAT bietet enorm viel Funktionalität von der Kleinsteuerung bis zur High-End-System. Alles mit einer Software und einer Architektur. Und gleichgültig welcher Feldbus eingebunden werden soll und zu welchem übergeordneten System kommuniziert werden soll, mit Beckhoff geht's.
Mich fasziniert vor allem die einfache NC-Steuerung, die nahtlos in die Soft-SPS-Umgebung eingebunden ist. Keine extra Hard- und Software erforderlich und mit dem schnellen Feldbus "EtherCAT" auch noch sehr leistungsfähig, bis zur E/A-Ebene.
... Dafür ist das System auch sehr mächtig und erfordert anfangs viel Eingewöhnung. Ein einfacher Umsteig von Siemens auf Beckhoff dürfte einige an Zeit und Nerven kosten.
übrigens: Updates kosten bei Beckhoff nichts!

Also was Innovation und Performance angeht, ist Beckhofff für mich das Maß der Dinge.
B&R kenne ich allerdings überhaupt nicht.


----------



## martinho71 (22 März 2010)

Vielen Dank,

für die vielen Antworten,diese haben mir sehr weiter geholfen.
Wirklich klasse wieviele Leute sich hier immer aneinem Thema beteiligen und einem so wertvolle Auskünfte geben,nochmals vielen Dank euch allen.


----------



## Larry Laffer (22 März 2010)

Hallo,
vielleicht noch so als Nachsatz, weiol es hier nicht genannt wurde - du hattest diese Alternative allerdings auch nicht vorgegeben ...

Wie wäre es mit VIPA ?
Das wäre absolut eine preisliche Alternative zu Siemens und vor Allem : du kannst weiter mit Step7 (das du ja kennst) arbeiten. Von dem Leistungszuwachs gegenüber den Siemens-CPU's will ich mal gar nicht sprechen ...

Gruß
LL


----------



## Sinix (22 März 2010)

Larry Laffer schrieb:


> Hallo,
> vielleicht noch so als Nachsatz, weiol es hier nicht genannt wurde



wurde doch ...



Mäuseklavier schrieb:


> aber wenn es um den reinen Preis für Steuerungen geht kannste ja auch mal noch "VIPA" ins Auge fassen.


----------



## Graph&SCL_Freak (13 April 2010)

Programmiere gerade einen Prüfstand in ST mit Beckhoff, nachdem ich mich lange mit S7 rumschlagen musste und jeden Tag frage ich mich aufs neue: Warum ist das bei Siemens alles so kompliziert? Bei Beckhoff keine DB's, VATs, Merkerbereiche und diese ganze andere Mist. 
Wenn ich mir dann die Software der 1200 von Siemens ansehe, ist mir schon klar wie lange sie brauchen werden, um das auf eine künftige 1300 (oder wie auch immer die heißen mag) umzusetzen. An WinCC Flex hat man's ja gesehen. Und dann gibt's immer noch den ganzen Siemens-Mist (siehe oben), da man sich ja nicht strikter an die IEC 61131 halten will oder kann (Abwärtskompatibilität zur S5 oder was auch immer).

Zu TwinCat: Genial und TwinCat 3 wird noch besser. Wer eh hauptsächlich in SCL/ST programmiert sollte in jedem Fall zu Beckhoff greifen. Anbindung an Visual Studio über ADS funktioniert prima (Doku könnte aber noch besser sein).

Zu Ethercat: Einfach bei der Inbetriebnahme, 100MBit bis in die Klemme (hat Siemens bis dato nicht geschafft). Profibus, RS-232 und diverse andere Geräte kann man direkt im Feld einbinden, die Daten werden praktisch über Ethercat 'getunnelt'.

Zu den Controllern: Ab 150€ (64k) bis TwinCat-Runtime auf Mehrkernprozessor-PC beliebig skalierbar, immer die gleiche Programmierung. Bei TwinCat3 können die Tasks dann beliebig auf die Prozessorkerne verteilt werden.

Zu den Klemmen: Meines Wissens bietet momentan kann SPS-Anbieter analoge EA's mit Oversampling, 24Bit oder als Osziloskop-Klemme an. Also praktisch messtechnische Aufgaben mit der SPS lösbar.

Support und weltweite Verfügbarkeit ist ganz klar bei Siemens besser, aber da kann (sollte) Beckhoff noch dran arbeiten.


----------



## IBFS (14 April 2010)

So....

dann habe ich mal eine Frage:

Wenn eine größere Anlage z.B. mit S7-400 aus mehreren Anlagenteilen besteht,
die - u.a. aus technologischen und kapazitätmäßigen Gründen von mehreren
Programmierern parallel programmiert werden sollen. Das ist nicht etwa
selten anzutreffen. Wie macht man sowas mit Beckhoff. Da kann der 
Programmierer 1 nicht mal schnell was runterspielen. 

Nicht in der Codeerzeugung sondern in solch praktischen Fragestellungen
unterscheiden sich die Systeme.

Wir haben bald ein Projekt welches aus 3 Teilanlagen besteht. 
Es soll aber nur eine Beckhoffgesamtsteuerung vorhanden sein.
Diese 3 Teilanlagen würde man mittels S7 ohne Probleme völlig
unabhängig voneinander programmieren können und jederzeit
die veränderten FC/FB/DBs runterladen. Wie ich das gleiche
Vorgehen mit Beckhoff machen soll, das hätte ich sehr gerne gewußt.

Danke und Gruß

Frank


----------



## PN/DP (14 April 2010)

Mal weitere Pluspunkte der Siemens SIMATIC-SPSen (S7-300 und S7-400) erwähnen:

Ich habe schon ...zig verschiedene SPS der verschiedensten Hersteller programmiert 
(zugegeben: nicht immer mit dem neuesten Programmpaket), doch was die Diagnose-
Möglichkeiten mit Step7 betrifft, habe ich nichts annähernd vergleichbares bei den 
anderen Herstellern erlebt. Ich finde, da ist Step7 einfach ein paar Generationen weiter.

Gerade wenn es darauf ankommt, ein Hardware-, Software- oder Sensor-Problem *schnell* 
zu finden, da wird man mit Step7 sehr gut unterstützt. Einen großen CPU-Diagnosepuffer
mit Klartext-Anzeige und umfangreichen Hilfetexten, ausführliche Baugruppen-Diagnose 
und Programm-*Ausführungs*-Status kann man woanders mit der Lupe suchen.
z.B. sowas simples wie: Wie groß war die Zykluszeit (min/max/letzte)? Da muß man bei 
vielen Herstellern erst ein Handbuch lesen: welche Systemregister muß ich auslesen?

Oder jederzeit im laufenden Betrieb einzelne Programmbausteine ändern und einspielen 
ohne die CPU stoppen zu müssen. Oder CIR (configuration in run). Oder die detaillierte
Baustein-Vergleichsfunktion Online/Offline und zwischen Projekten. Oder die von IBFS
erwähnte mögliche Teamarbeit, sogar auf der selben CPU. Oder die Projekt-Kompatibilität
zwischen den verschiedenen Step7-Versionen seit Jahren ...
Das sind Punkte, die mir wichtig sind, die ich nicht missen möchte.

SIMATIC hat auch Macken und unnötig komplizierte Sachen, doch als SPS-Programmierer 
sollte man sein Handwerkzeug beherrschen und wie überall auch ständig was dazulernen.

Mit der Menge der SIMATIC-Support-Beiträge im Internet kann sich wahrscheinlich auch 
keiner messen.

PS:
Mit Beckhoff habe ich noch nicht gearbeitet. Vielleicht ist die Engineering-Software
tatsächlich besser als von vielen anderen Herstellern. Muß ich mir mal ansehen.

Gruß
Harald


----------



## trinitaucher (14 April 2010)

PN/DP schrieb:


> Ich habe schon ...zig verschiedene SPS der verschiedensten Hersteller programmiert ..., doch was die Diagnose-
> Möglichkeiten mit Step7 betrifft, habe ich nichts annähernd vergleichbares bei den
> anderen Herstellern erlebt. Ich finde, _da ist Step7 einfach ein paar Generationen weiter._
> ...
> ...


Schau dir mal die Beckhoff-Steuerungen an ... DIE sind eine Generation weiter 

Bei Beckhoff macht man sich eigentlich keine Gedanken mehr über Zykluszeiten.
(Kannste aber trotzdem sogar im Verlauf ansehen: http://infosys.beckhoff.com/index.p...er/basics/tcsysmgr_onlineviewtask.htm&id=9956)

Feldbusdiagnose finde ich auch sehr gut. Hier mal Bilder der Profibus-Diag:
http://infosys.beckhoff.com/index.p...c310x/html/fc310x_kr_generaldiag.htm&id=10045
http://infosys.beckhoff.com/index.p.../fc310x/html/fc310x_kr_boxstates.htm&id=10046
(Beim Ethernet-bus "EtherCAT" ist es noch umfangreicher ... da hab ich noch nichts besseres gesehen)

Einziger Nachteil bei Beckhoff aus meiner Sicht: Man muss bei bestimmten Änderungen an Hard- und Software die SPS stoppen. Ansonsten beherrscht auch Beckhoff das Online-Change vom Programmcode. Ablaufkontrolle und umfangreiches Debugging ist ebenso möglich.
Was aber Kommunikationsmöglichkeiten zu anderen Systemen (Hard- und Software), Offenheit und Performance angeht, ist Beckhoff den anderen weit voraus, wie ich finde.


----------



## IBFS (14 April 2010)

@PN/DP 
Alles korrekt, was du schreibst *ACK*



PN/DP schrieb:


> PS:
> Mit Beckhoff habe ich noch nicht gearbeitet. Vielleicht ist die Engineering-Software
> tatsächlich besser als von vielen anderen Herstellern. Muß ich mir mal ansehen.


 
Und suche mal bei Codesys (Beckhoff ist nur eine firmenspezifischer Aufsatz) Verwendungsstellen von Variablen - viel Spass. 

Gruß


----------



## IBFS (14 April 2010)

trinitaucher schrieb:


> Feldbusdiagnose finde ich auch sehr gut. Hier mal Bilder der Profibus-Diag:
> http://infosys.beckhoff.com/index.p...c310x/html/fc310x_kr_generaldiag.htm&id=10045
> http://infosys.beckhoff.com/index.p.../fc310x/html/fc310x_kr_boxstates.htm&id=10046


 
soll das ein Witz sein  so eine kleine Liste soll ne tolle Diag sein - naja.

Speziell bei Profinet (STEP7) steckst du alles zusammen - drückst auf "Erkennen" und schon
hast du die komplette Vernetzung grafisch auf dem Bildschirm.
Fällt irgendwo der Stecker ab bekommst du bei Profinet fast auf den 
Zentimeter genau berechnet, wo die Trennungstelle ist.
Ich habe die Erfahrung gemacht, das diese Sachen die wenigsten
Leute kennen - schade eigentlich - und ich meckere auch gern mal über Siemens.

Gruß


----------



## Larry Laffer (14 April 2010)

Holla - holla ... immer den Ball schön flach halten.

Ich würde sagen, dass sicherlich jedes System so seine Vor- und Nachteile hat. Allerdings bekenne ich mich bei der SPS nach wie vor zur Step7-Welt.

@Graph&SCL_Freak:
Ich wußte gar nicht, dass die S7-200 und S7-1200 eine SPS ist ...


----------



## trinitaucher (14 April 2010)

IBFS schrieb:


> soll das ein Witz sein  so eine kleine Liste soll ne tolle Diag sein - naja.


Da geht's um Profi*BUS*.


IBFS schrieb:


> Speziell bei Profinet (STEP7) steckst du alles zusammen - drückst auf "Erkennen" und schon
> hast du die komplette Vernetzung grafisch auf dem Bildschirm.
> Fällt irgendwo der Stecker ab bekommst du bei Profinet fast auf den
> Zentimeter genau berechnet, wo die Trennungstelle ist.
> ...


buaaahhhh ... alter Hut.
Bei EtherCAT geht das genauso:
http://infosys.beckhoff.com/index.p...hercat/html/ethercat_topologydlg.htm&id=10100
Trennstellen, Kommunikationsfehler, Stati der Slaves ... alles in diesem Dialog erkennbar und steuerbar. Dazu Vergleich zwischen konfigurierter und erkannter Topology möglich.
... tja, schade, dass das die wenigsten Leute kennen


----------



## libra1780 (14 April 2010)

IBFS schrieb:


> @PN/DP
> Alles korrekt, was du schreibst *ACK*
> 
> 
> ...


--> Projekt, Querverweisliste ausgeben
oder gaaanz einfach
--> Projekt, Global suchen..



> Ich habe die Erfahrung gemacht, das diese Sachen die wenigsten
> Leute kennen - schade eigentlich - und ich meckere auch gern mal über  Siemens.


... gilt auch für andere hersteller


----------



## IBFS (14 April 2010)

trinitaucher schrieb:


> Da geht's um Profi*BUS*.
> buaaahhhh ... alter Hut.
> Bei EtherCAT geht das genauso:
> http://infosys.beckhoff.com/index.p...hercat/html/ethercat_topologydlg.htm&id=10100
> Tennstellen, Kommunikationsfehler, Stati der Slaves ... alles in diesem Dialog erkennbar und steuerbar.


 
Mir ging es bei Profinet um die Automatische Knotentaufe und
Leitungsdiagnose nicht um sowas banales wie eine grafische 
Darstellung. Da haben wir uns an der Stelle missverstanden.


----------



## Graph&SCL_Freak (14 April 2010)

Larry Laffer schrieb:


> @Graph&SCL_Freak:
> Ich wußte gar nicht, dass die S7-200 und S7-1200 eine SPS ist ...



Muss wohl so sein, sie machen momentan jedenfalls viel Werbung dafür, wahrscheinlich weil es für die 300/400 keinen echten Neuheiten gibt. Verdächtig ist ja schonmal, dass die Software 'Basic' im Titel hat. Sieht für mich schwer dananch aus, dass es später auch höhere Versionen für 300, 400 und Nachfolgegenerationen gibt (siehe WinCC Flex). Ne Innovation wär es für mich schon, wenn man die 1200 endlich mal mit allen Sprachen programieren könnte.


----------



## IBFS (14 April 2010)

Nur damit hier nicht ein falscher Eindruck entsteht.

ICH FINDE MOMENTAN DAS 1200-ZEUG AUCH GRÄSSLICH!

Gruß


----------



## trinitaucher (14 April 2010)

IBFS schrieb:


> Mir ging es bei Profinet um die Automatische Knotentaufe und
> Leitungsdiagnose nicht um sowas banales wie eine grafische
> Darstellung. Da haben wir uns an der Stelle missverstanden.


Was für ne "Taufe"?
Geht es um Addressierung? Die ist bei EtherCAT nicht nötig.

Was das verlinkte Bild nicht zeigt ist der Online-Modus:
Die Geräte ändern Ihre Farbe je nach Statuts, Leitungsbrüche werden an exakter Stelle angezeigt, CRC-Fehler und Tx/Rx-Errors angemarkert und wenn man auf eines der Geräte klickt, erscheint ein erweiterter Dialog.

schaust du hier:
http://infosys.beckhoff.com/index.p.../ethercat/html/ectopology_online.htm&id=11436


----------



## Graph&SCL_Freak (14 April 2010)

IBFS schrieb:


> Und suche mal bei Codesys (Beckhoff ist nur eine firmenspezifischer Aufsatz) Verwendungsstellen von Variablen - viel Spass.



Querverweisliste.


----------



## JesperMP (14 April 2010)

libra1780 schrieb:


> [Beckhoff ist vermutlich gemeint]
> --> Projekt, Querverweisliste ausgeben
> oder gaaanz einfach
> --> Projekt, Global suchen..


Frage: Im TwinCat, wenn "Global Suchen" verwendet wird, wird dann eine Suche tatsäglich durchgeführt (also langsam), oder werden die angaben von den Querverweisdatenbank geholt (also schnell).

Wenn ich B&R Automation Studio v 2.57 ausprobiert habe, hat genau das mir zum wahnsinn aufgeregt. Es gab nur die Such-Funktion, und sehr langsam dazu. Es gab keine Querverweiss überhaupt (!). Ob es heute besser ist weiss ich nicht.

In STEP7 sind die Funtione zum Querverweisslisten und "Gehe zu Verwendungsstelle" eigentlich sehr gelungen finde ich.


----------



## trinitaucher (14 April 2010)

JesperMP schrieb:


> Frage: Im TwinCat, wenn "Global Suchen" verwendet wird, wird dann eine Suche tatsäglich durchgeführt (also langsam), oder werden die angaben von den Querverweisdatenbank geholt (also schnell).


Der Quellcode wird nach dem eingegebenen Textelement durchsucht.
Ich kenne das aber nur von ST. Wie's in FUP oder sonstigen Sprache aussieht, weiß ich nicht.


----------



## IBFS (14 April 2010)

JesperMP schrieb:


> In STEP7 sind die Funtione zum Querverweisslisten und "Gehe zu Verwendungsstelle" eigentlich sehr gelungen finde ich.


 
Ich will sowas DIREKT wenn ich den Mauszeiger über einer Variablen
habe mit der rechten Maustaste "Gehe zu Verwendungsstelle" erreichen.
Und genau das vermisse ich und dadurch bin ich eben in Projekten die
ich nicht selbst geschrieben habe - bei Fehlersuchen - viel langsamer als 
mit SIEMENS S7 V5.4.

Gruß


----------



## IBFS (14 April 2010)

trinitaucher schrieb:


> Der Quellcode wird nach dem eingegebenen Textelement durchsucht. Ich kenne das aber nur von ST.


 
Ist also nur eine Textsuche und keine TAG-Suche. Das ist ja gerade das,
was es u.U. so langsam werden lässt. Denn jedesmal startet die Textsuche
von neuem oder habe ich da etwas übersehen.

Gruß


----------



## trinitaucher (14 April 2010)

@IBFS:
Was willst du denn wann suchen?

Wenn ich die Verwendungsstelle einer Variable oder eines FBs in TwinCAT suche, markiere ich dieses Element, dücke strg+Alt+S, klicke Enter und bekomme die Auflistung der Verwendungsstellen. Wenn ich eines der aufgelisteten Elemente anklicke, zoomt mir das Programm dorthin.
Die Querverweise werden mit Strg+Alt+C nach ähnlichem Schema aufgerufen.
Wenn ich eine FB-Instanz markiere und Alt+Enter drücke, wird in den Baustein gezoomt.

Geht auch alles Online.


----------



## JesperMP (14 April 2010)

Wenn ich es richtig verstanden habe, dann sind STEP7 und TwinCat fast gleich in disen Respekt. Nur _glaube_ ich das "gehe zu Verwendungsstelle" ist wesentlich schneller in STEP7, als die gleiche Funktion in TwinCat. In STEP7 werden die Daten von den vorhandene Querverweissliste geholt. In TwinCat werden die Daten durch ein erneute Suche generiert.


----------



## Longbow (14 April 2010)

*Frage wegen Diagnose*

Ich hätte eine Frage an die Beckhoff Spezialisten:

Wenn in einem Ethercat System eine Scheibe ausfällt,
Wie muss ich die SPS programmieren, da mit das System weiterläuft
(Entweder alle Scheiben an allen  Stationen, oder alle anderen Stationen außer
der Station, an der die eine Scheibe ausgefallen ist)

Und wie bekomme ich als Programmierer im Programm die Information was ausgefallen ist.

Bei Step7:

ET200S: Alles läuft weiter außer der fehlende Scheibe! (OB83 Startet)

ET200M: Eine Station Stoppt (wenn nicht der aktive Rückwandbus dran ist)
OB86 Startet

Bei Zugriffen wird ein OB122 gestartet.


Wie macht ein Anwender das bei Beckhoff mit Ethercat?


----------



## Graph&SCL_Freak (14 April 2010)

JesperMP schrieb:


> Wenn ich es richtig verstanden habe, dann sind STEP7 und TwinCat fast gleich in disen Respekt. Nur _glaube_ ich das "gehe zu Verwendungsstelle" ist wesentlich schneller in STEP7, als die gleiche Funktion in TwinCat. In STEP7 werden die Daten von den vorhandene Querverweissliste geholt. In TwinCat werden die Daten durch ein erneute Suche generiert.



Ist aber bei TwinCat egal, da die Oberfläche eh viel schneller ist. Bevor ich S7 gestartet habe, habe ich bei TwinCat schon meine Änderungen gemacht und den Kunden wieder verlassen.
Ich möchte mir gar nicht ausmahlen, wie das aussieht, wenn Siemens wirklich die 1200er Software für die 300/400-Welt ausbaut (siehe Übergang Protool -> WinCC flex).


----------



## trinitaucher (14 April 2010)

Longbow schrieb:


> Ich hätte eine Frage an die Beckhoff Spezialisten:
> 
> Wenn in einem Ethercat System eine Scheibe ausfällt,
> Wie muss ich die SPS programmieren, da mit das System weiterläuft
> ...


Prinzipiell ist jeder EtherCAT-Slave (also auch jede Klemme, oder "Scheibe") eigenständig lauffähig. Die "Koppler" sind quasi nur Physikumsetzer ohne Intelligenz.

Dann kommt es auf den Fehler an.
Nimmt die Klemme nicht mehr am Datenaustausch teil, hat aber noch Energieversorgung, kann über die SPS weiteres veranlasst werden, z.B. Reboot der Klemme. Alle anderen Slaves laufen unabhängig weiter.
Ist die Energieversorgung zu einer Klemme unterbrochen, sind i.d.R. alle nachfolgenden Klemmen bis zur nächsten Einspeisung oder bis zum nächsten Koppler, ebenfalls "tot". 

Alle diese Diagnosen und Befehle sind über SPS-Funktionsbausteine realisierbar, indem man die Stati der Slaves oder die Gültigkeit der Prozessdaten überwacht. Für letzteres gibt es ein simples Bit ("WcState" => Working Counter), welches signalisiert, wenn ein einzelner Slave oder eine Gruppe von Slaves ungültige Prozessdaten hat.
Dann kann man noch die Slaves entsprechend sinnvoll gruppieren, um nicht jeden einzelnen Salve überwachen zu müssen.

Die FBs sind in der EtherCAT-Bibliothek zusammengefasst:
http://infosys.beckhoff.com/index.p...cethercat_fb_ecgetallslavestates.htm&id=12336


----------



## JesperMP (14 April 2010)

Graph&SCL_Freak schrieb:


> Ist aber bei TwinCat egal, da die Oberfläche eh viel schneller ist. Bevor ich S7 gestartet habe, habe ich bei TwinCat schon meine Änderungen gemacht und den Kunden wieder verlassen.


Wenn ich zu Hause den Schweranteil von meine Programme schreibe, dann ist "Gehe zu verwendungsstelle" einer von die meist verwendete Funktione bei mir. Sehr schnell hin-und-her zu springen zu können bedeutet das mein _workflow_ recht gut ist. Andere Sachen sind nicht gut bei STEP7, aber "Gehe zu Verwendungstelle" ist gelungen.


----------



## Hoyt (14 April 2010)

PN/DP schrieb:


> ......
> 
> Oder jederzeit im laufenden Betrieb einzelne Programmbausteine ändern und einspielen
> ohne die CPU stoppen zu müssen. Oder CIR (configuration in run). Oder die detaillierte
> ...




*ACK*

Wir arbeiten mit S7, würden aber nicht auf ein anderes System wechseln, welche nicht die von PN/DP erwähnten Punkte erfüllt.
Änderungen  im laufenden Betrieb sind ein absolutes muss für Anlagen im 24/7 Betrieb.

Gruss Hoyt


----------



## trinitaucher (14 April 2010)

Hoyt schrieb:


> würden aber nicht auf ein anderes System wechseln, welche nicht die von PN/DP erwähnten Punkte erfüllt.
> Änderungen  im laufenden Betrieb sind ein absolutes muss für Anlagen im 24/7 Betrieb.


Das ist aber nicht unbedingt für jede Art von Anlagen von oberster Priorität. In der Prozessindustrie mag das zutreffen. Da geb ich dir Recht.

Dafür verzichtet man aber auch auf die vielen Vorteile (technische und evtl. auch preisliche), die man bei den PC-basierten Beckhoff-Steuerungen bekommt.

Im Maschinenbau ist ununterbrochener Betrieb zwar nice to have, aber oft nicht zwingende Voraussetzung. Wenn Hardware nachgerüstet werden muss, oder grundlegendes an Zuordnungen zwischen Hard- und Software verändert wird (die Fälle, wo bei Beckhoff nen Neustart notwendig ist), steht die Anlage meist eh still.
Änderungen werden offline vorbereitet, dann wird's neue Programm eingespielt und weiter geht's. Da meist eh noch ein Testlauf gemacht wird, ist ne halbe Stunden Stillstand hier kein Problem.
Bis jetzt hat sich noch kein Kunde bei uns drüber beschwert.

... kommt halt auf die Applikation an.


----------



## JesperMP (14 April 2010)

Ich erinnere das Zotos erklärt hat, das bei Beckhoff funktioniert "online change", und zwar so das selbst bei änderungen in Deklarationen werden nur die geänderte teile übertragen. Die ungeänderte Teile werden behalten. Zitat: "Maximalen Datenerhalt".
Wenn das wirklich so ist, ist Beckhoff bei diesen Punkt etwas besser als Siemens.

Online Program change ist ein absoluter "muss haben" bei mir.
Online Hardware Change ist nur "schön zu haben" bei mir. Das geht bei Siemens ja auch nur bei S7-400.


----------



## Longbow (14 April 2010)

trinitaucher schrieb:


> Prinzipiell ist jeder EtherCAT-Slave (also auch jede Klemme, oder "Scheibe") eigenständig lauffähig. Die "Koppler" sind quasi nur Physikumsetzer ohne Intelligenz.
> 
> Dann kommt es auf den Fehler an.
> Nimmt die Klemme nicht mehr am Datenaustausch teil, hat aber noch Energieversorgung, kann über die SPS weiteres veranlasst werden, z.B. Reboot der Klemme. Alle anderen Slaves laufen unabhängig weiter.
> ...



Danke!

Wenn ich das jetzt richtig verstehe, muss bei Beckhoff der Anwender aber aktiv alle Scheiben (oder Gruppen) abfragen?

Bei SIEMENS sind diese Überprüfungen Systembestandteil ohne Anwendereingriff. Nur im Fehlerfall muss der Anwender agieren.


----------



## trinitaucher (14 April 2010)

Bei Beckhoff gibt's keine FBs die von selbst starten.
Es wird eine strikte Trennung von Hard- und Software praktiziert.

Ich überwache bei EtherCAT zwei Dinge:
1. Ist die Anzahl der konfigurierten Slaves gleich der Anzahl der aktuell aktiven Slaves? Wenn nein => Diagnose-FB anstoßen (z.B. Klemmenstatus auf ungleich "OP" abfragen und weiteres veranlassen)
2. Sind die Prozessdaten (einer Slave-Gruppe) gültig. Falls nicht (der "WcState" ist =1) => Diagnose-FB anstoßen.
Der Master gibt zudem noch codierte Meldungen aus, die man zusätzlich auswerten kann.

Solche Diagnosefuktionalitäten sind in meinen Programmen in extra FBs eingebunden. Je nach verwendetem Feldbussystem werden andere FBs benutzt.
Damit bleibt die Software für verschiedenste Hardwareplattformen und feldbusunabhängig portierbar.


----------



## IBFS (14 April 2010)

IBFS schrieb:


> Wenn eine größere Anlage z.B. mit S7-400 aus mehreren Anlagenteilen besteht, die - u.a. aus technologischen und kapazitätmäßigen Gründen von mehreren
> Programmierern parallel programmiert werden sollen. Das ist nicht etwa selten anzutreffen. Wie macht man sowas mit Beckhoff. Da kann der
> Programmierer 1 nicht mal schnell was runterspielen.
> 
> ...


 
Das Problem habe ich bald real. Vielleicht hat ja doch noch jemand einen
Tip aus der Beckhoff-Praxis. Da wir 3 Programmierer sind will ich nicht
unbedingt im 3 Schichtsystem proggen.

Gruß


----------



## Longbow (15 April 2010)

trinitaucher schrieb:


> Bei Beckhoff gibt's keine FBs die von selbst starten.
> Es wird eine strikte Trennung von Hard- und Software praktiziert.
> 
> Ich überwache bei EtherCAT zwei Dinge:
> ...



Danke!

Damit liegt die Diagnose beim Anwender.

Wenn das System diese Aufgabe schon erledigt, braucht in der Anwendersoftware nichts mehr angepasst werden.


----------



## trinitaucher (15 April 2010)

Longbow schrieb:


> Damit liegt die Diagnose beim Anwender.
> 
> Wenn das System diese Aufgabe schon erledigt, braucht in der Anwendersoftware nichts mehr angepasst werden.


Klar liegt die Diagnose beim Anwender. Wo ist das denn nicht so?
Schließlich muss man in der Steuerung auf eine Störung reagieren. Kann mir schlecht vorstellen, dass man die gesamte Fehlerreaktion dem System überlassen kann.

Im TwinCAT System Manager sieht man auch die Diagnosemeldungen und Fehlerbilder, teils grafisch aufbereitet (siehe meine Links in vorigen beiträgen). Reagieren muss man aber selbst.


----------



## Longbow (15 April 2010)

trinitaucher schrieb:


> Klar liegt die Diagnose beim Anwender. Wo ist das denn nicht so?
> Schließlich muss man in der Steuerung auf eine Störung reagieren. Kann mir schlecht vorstellen, dass man die gesamte Fehlerreaktion dem System überlassen kann.
> 
> Im TwinCAT System Manager sieht man auch die Diagnosemeldungen und Fehlerbilder, teils grafisch aufbereitet (siehe meine Links in vorigen beiträgen). Reagieren muss man aber selbst.



Bei der S7 werden solche Ausfälle immer erkannt, ohne dass der Anwender etwas dafür machen muss. Wenn er nicht darauf reagiert, geht das System
in den sicheren Zustand (Stop).

Wenn der Anwender Maßnahmen zur Fehlerbeherschung (Fehler-OBs) vorgesehen hat werden diese ausgeführt.

Aus meiner Sicht:
Bei Beckhoff wird mehr zum Anwender verlagert. Wenn sich der Anwender solcher Probleme nicht bewusst ist, dann hat er eine Lücke.


----------



## trinitaucher (15 April 2010)

Longbow schrieb:


> Bei der S7 werden solche Ausfälle immer erkannt, ohne dass der Anwender etwas dafür machen muss. Wenn er nicht darauf reagiert, geht das System
> in den sicheren Zustand (Stop).
> 
> Wenn der Anwender Maßnahmen zur Fehlerbeherschung (Fehler-OBs) vorgesehen hat werden diese ausgeführt.


Erkannt werden die Störungen bei Beckhoff genauso. Diagnose-Bits und -meldungen (codiert) werden automatisch ausgeworfen.
Es steht dann natürlich nicht im Klartext da "Slave 1 ausgefallen". Schließlich kann ein Operation-Mode ungleich "OP" eines EtherCAT-Slave auch gewollt sein, oder Slaves können abgekoppelt werden.
Wie soll das ein automatisch startender Diagnose-Baustein unterscheiden?
Ein automatisches Stoppen des Busses ist nicht immer sinnvoll.
TwinCAT startet aber den EtherCAT-Master neu, wenn es zu viele Kommunikationsfehler nacheinander gibt. Das ist soweit ich weiß die einzige automatische Reaktion auf Busfehler im EtherCAT.

Was passiert denn bei Siemens, wenn z. B. ein Profinet-Salve seinen "normalen" Status verlässt? Es startet ein Diagnose-OB (also adaptiert auf CoDeSys/Beckhoff eine Art Event-Task). Was macht der, was muss der Anwender machen?
Der Anwender muss dann doch auch Auf das Event reagieren und ggf. die Slaves auf Kommando neu starten oder so?
... ich sehe hier keinen großen Unterschied.



Longbow schrieb:


> Aus meiner Sicht:
> Bei Beckhoff wird mehr zum Anwender verlagert. Wenn sich der Anwender solcher Probleme nicht bewusst ist, dann hat er eine Lücke.


Die Systeme Beckhoff und Siemens sind nicht einmal direkt vergleichbar. BEckhoff bietet die strikte Trennung von Hard- und Software. Sowas wie automatisch startende OBs gibts da nicht.
Der Anwender kann selbst entscheiden, was er tun will. Das sollte der Anwender natürlich wissen. Und im allgemeinen ist das auch so.


----------



## JesperMP (15 April 2010)

trinitaucher schrieb:


> Klar liegt die Diagnose beim Anwender. Wo ist das denn nicht so?


Wenn ich es richtig verstanden haben:

Beckhoff:
Diagnose nur wenn es programmiert ist im Anwenderprogramm.
Ausnahme: Ethercat-Fehler werden genau erkannt und mit Diagnosetool angezeigt.

Siemens:
Diagnose mit STEP7, ohne das etwas im Anwenderprogramm vorbereitet werden muss.
Dazu den mögligheit das im Anwenderprogram das Hardware-Fehler ausgewertet werden und eventuell angezeigt (Fehler-OBs und/oder FC135).
Dazu den mögligheit das alle Diagnoseinformationen automatisch auf den HMI angezeigt werden (Report System Error).

Oder ist das Falsch ?


----------



## trinitaucher (15 April 2010)

JesperMP schrieb:


> Wenn ich es richtig verstanden haben:
> 
> Beckhoff:
> Diagnose nur wenn es programmiert ist im Anwenderprogramm.
> Ausnahme: Ethercat-Fehler werden genau erkannt und mit Diagnosetool angezeigt.


Nein, die Diagnosemeldungen werden vom EtherCAT-Master schon automatisch bereitgestellt (Logger, Online-Anzeigen, Diag-Bits und coderierte Diag-Meldungen) und werden im "System Manager" angezeigt. Die Diagnose an sich muss nicht extra im Anwenderprogramm programmiert werden.

Zur Fehlerbehandlung kann entweder im System Manager per Button rumgeklickt werden oder im SPS-Programm werden die Prozessdaten vom Master (so ähnlich wie Status-Wörter) eingebunden und ausgewertet. 
Mit diesen Diag-Meldungen kann der Anwender machen was er will, z.B. für jeden Slave oder eine Gruppe von Slaves und/oder für den Master eine anwenderspezifische Diagnose-Aktion programmieren. Dazu gibt es die ganzen FBs.


JesperMP schrieb:


> Siemens:
> Diagnose mit STEP7, ohne das etwas im Anwenderprogramm vorbereitet werden muss.
> Dazu den mögligheit das im Anwenderprogram das Hardware-Fehler ausgewertet werden und eventuell angezeigt (Fehler-OBs und/oder FC135).


Ist bei Siemens dann doch ähnlich wie bie Beckhoff


----------



## JesperMP (15 April 2010)

Also, bei Beckhoff System Manager werden alle die Hardware Diagnose meldungen im Klartext angezeigt. Nicht nur Ethercat Störungen, aber auch Modul-Fehler und CPU-Fehler ?


----------



## trinitaucher (15 April 2010)

JesperMP schrieb:


> Also, bei Beckhoff System Manager werden alle die Hardware Diagnose meldungen im Klartext angezeigt. Nicht nur Ethercat Störungen, aber auch Modul-Fehler und CPU-Fehler ?


Im System Manager wird alles angezeigt. Beachte: Es gibt bei Beckhoff die Trennung zwischen System/Hardware (System Manager) und Programmierung (PLC Control).

CPU-Fehler in dem Sinne wie bei Siemens gibt's nicht. Entweder das System läuft (dann ist die Auslastung zu sehen), oder die Laufzeitsysteme sind gestoppt:
http://infosys.beckhoff.com/index.p...er/basics/tcsysmgr_onlineviewtask.htm&id=9956

Für jedes Ereignis (z.B. Stopp der Laufzeitsysteme, Watchdogs der Prozessabbilder, Feldbusfehler usw.) gibt's eine Meldung im Logger im Klartext:
http://infosys.beckhoff.com/index.p...anager/basics/tcsysmgr_logviewwnd.htm&id=9930

Die Diagnose-Prozessabbilder kann man sich auch ansehen und ggf. in die Steuerung verknüpfen zur Auswertung und Reaktion:
http://infosys.beckhoff.com/index.p...manager/basics/tcsysmgr_watchlist.htm&id=9929

Speziell für EtherCAT:
http://infosys.beckhoff.com/index.p...hercat/html/ethercat_diagnostics.htm&id=10096 (diese Info-Daten in der Baumanzeige können in die SPS verknüpft werden)
http://infosys.beckhoff.com/index.p...hercat/html/ethercat_topologydlg.htm&id=10100 
http://infosys.beckhoff.com/index.p.../ethercat/html/ectopology_online.htm&id=11436
(der Topology-Dialog kann sogar als ActiveX-Element in eine Visu eingebettet werden)
Zusätzlich hat jeder Slave noch die Infodaten "WcState" (Prozessdaten gültig?) und "State" (OP-Mode, Verbindungsstatus, usw.), die auch in die SPS verknüpft werden können.

... jetzt verstanden?


----------



## JesperMP (15 April 2010)

trinitaucher schrieb:


> ... jetzt verstanden?


Ja. Danke für deine Mühe.


----------



## Werner29 (16 April 2010)

IBFS schrieb:


> Das Problem habe ich bald real. Vielleicht hat ja doch noch jemand einen
> Tip aus der Beckhoff-Praxis. Da wir 3 Programmierer sind will ich nicht
> unbedingt im 3 Schichtsystem proggen.
> 
> Gruß



Erstens: nein man kann nicht von verschiedenen Entwicklungspcs aus an der gleichen Steuerung arbeiten und der eine schiebt mal den einen Code runter, der andere einen anderen und die Steuerung läuft dabei munter weiter. Ist mir sowieso ein Rätsel, wie man dabei ablauffähigen Code erhalten will. Was macht man denn bei Siemens wenn man eine Aufrufschnittstelle ändern will, die auch von einem anderen verwendet wird?
Mit Beckhoff hat man dafür eine leistungsstarke Simulation, so dass man seine Codeänderungen nicht unbedingt auf der Steuerung testen muss. 
Man kann auch eine Quellcodeverwaltung anbinden um die Quellen der 3 Entwickler auf vernünftige Weise konsistent zueinander zu halten. Wenn dann alle einen gemeinsamen Stand gefunden haben, spielt man die Sachen zusammen und testet dann das Gesamtsystem.


----------



## JesperMP (16 April 2010)

Werner.
Es ist ein Funktionalität das es gibt bei Siemens. Warum glaubst du das es nicht Funktioniert ? Dann hatten wir ja sicher davon gehört.

Ich bin der Meinung, das Beckhoff ist super geeignet für Maschinen und bis mittelgrosse Processanlagen.
Aber Beckhoff ist nicht geeignet für grosse bis sehr grosse Processanlagen.

Es fehlt einfach Sachen wie Configuration in Run, CPU-Redundanz, Netzwerk-Redundanz, i/o-Redundanz, eine integrierte HMI/SCADA System, und das gleichzeitige abeiten auf denselbe Projekt von mehrere Programmierer.



> Mit Beckhoff hat man dafür eine leistungsstarke Simulation, so dass man seine Codeänderungen nicht unbedingt auf der Steuerung testen muss.


Hat Siemens auch. Aber es ist nicht das Thema.



> Man kann auch eine Quellcodeverwaltung anbinden um die Quellen der 3 Entwickler auf vernünftige Weise konsistent zueinander zu halten. Wenn dann alle einen gemeinsamen Stand gefunden haben, spielt man die Sachen zusammen und testet dann das Gesamtsystem.


Es lautet als ob die Programmierer ein gemeinsame Framework verwenden, und nicht auf denselbe Projekt arbeiten. Aber vielleicht kann es dafür verwendet werden ?


----------



## trinitaucher (16 April 2010)

JesperMP schrieb:


> Es lautet als ob die Programmierer ein gemeinsame Framework verwenden, und nicht auf denselbe Projekt arbeiten. Aber vielleicht kann es dafür verwendet werden ?


Werner meint die Nutzung einer Quellcodeverwaltung über das "Engineering Interface" (ENI), glaube ich. Man bindet das PLC-Projekt in eine Quellcodeverwaltung mit MS SourceSafe oder Subversion ein. Dann könne die Programmierer einzelne Teile oder das gesamte Projekt "auschecken". Andere Programmierer können den ausgecheckten Teil nicht bearbeiten. Ist der Programmierer fertig, wird der Teil wieder eingecheckt und ggf. mit bestehenden Teilen zusammengefügt.
Aber trotzdem kann nur einer auf dem Zielsystem online arbeiten und es kann nur ein Projekt aus einer Quellcodedatei auf die PLC geladen werden (es können nicht Teilnehmern A und B jeweils verschiedene Teile, z. B. FBs, separat laden)


JesperMP schrieb:


> Ich bin der Meinung, das Beckhoff ist super geeignet für Maschinen und bis mittelgrosse Processanlagen.
> Aber Beckhoff ist nicht geeignet für grosse bis sehr grosse Processanlagen.
> 
> Es fehlt einfach Sachen wie Configuration in Run, CPU-Redundanz, Netzwerk-Redundanz, i/o-Redundanz, eine integrierte HMI/SCADA System, und das gleichzeitige abeiten auf denselbe Projekt von mehrere Programmierer.


Da geb ich dir recht. Aber wenn man mal in die Produktpalette schaut, sieht man, dass Beckhoff anscheinend nicht den Anspruch verfolgt, ein durchgängiges Konzept für die Prozessindustrie anzubieten. Dazu fehlen Entscheidende Komponentenm, wie du schon richtig angemekrt hast.
Ich finde Beckhoff klasse. Jedenfalls für Maschinensteuerungen. Was die da technologisch anbieten (TwinCAT, EtherCAT, "XfC") und strategisch hinsichtlich Offenheit verfolgen (Softwareanbindung mit "ADS"), da haben die meisten Mitbewerber das nachsehen.


----------



## Werner29 (16 April 2010)

JesperMP schrieb:


> Werner.
> Es ist ein Funktionalität das es gibt bei Siemens. Warum glaubst du das es nicht Funktioniert ?


Ich kenne Siemens nicht. Ich frage mich nur wie man das vernünftig einsetzt.


JesperMP schrieb:


> und das gleichzeitige abeiten auf denselbe Projekt von mehrere Programmierer.


Kommt diese Anforderung aus der Prozessindustrie? Wie macht man das denn einigermassen sicher? Wenn Entwickler A einen Baustein X ändert und B auch, was passiert denn dann? 
Entwickler A editiert Baustein X. Entwickler B editiert Baustein Y.
X ruft Y auf. Wie soll das funktionieren, das beide unabhängig voneinander geändert werden?
Wie bekommt man denn den Aufruf in X und die Definition in Y wieder zusammen? Gibt das nicht ständig Laufzeitfehler?
Ich behaupte nicht, dass es nicht geht, ich weiss nur nicht wie.


----------



## IBFS (16 April 2010)

Werner29 schrieb:


> *Wie macht man das denn einigermassen sicher?* Wenn Entwickler A einen Baustein X ändert und B auch, was passiert denn dann?
> Entwickler A editiert Baustein X. Entwickler B editiert Baustein Y.
> X ruft Y auf. Wie soll das funktionieren, das beide unabhängig voneinander geändert werden?
> Wie bekommt man denn den Aufruf in X und die Definition in Y wieder zusammen? Gibt das nicht ständig Laufzeitfehler?
> Ich behaupte nicht, dass es nicht geht, ich weiss nur nicht wie.


 
Es gibt einige Varianten des PARALLELARBEITENS:

1. Zwei Programmierer OHNE lokales Projekt + 1 Server mit aktivem Projekt
Beide arbeiten zur selben Zeit mit dem Projekt sind aber jeder für sich an der 
SPS angebunden. Der erste der einen Baustein oder die Hardwarekonfig öffnet kann 
editieren der zweite nur geschützt öffen. 
D.H. man kann sich nicht gegenseitig überschreiben.
[D.h. für viele unbekannt ist jede S7 Installation eine Datenserver und 
ermöglicht das Zugreifen von Ausserhalb]


2. Ein Programmierer OHNE lokales Projekt + 1 Programmierer mit STEP7 und MIT Projekt. STEP7 dient als Server
Erster Programmierer verbindet sich auf den Zweiten. Resultat wie oben


3. Zwei Programmierer MIT jeweils lokales Projekt - KEINE Server
Jeder hat am Morgen z.B. exakt den selben Programmstand auf seinem PG
über den Tag hinweig arbeitet er in seinen Bereichen. Abends werden die
Änderungen wieder (geordnet) zusammengeschmissen. Es ist bei dieser
Variante klar, dass nur einer Änderungen an der HW machen sollte.
Allerdings falls zufälligerweise wirklich beide mal den gleichen FC ONLINE
beobachten wollen wird der Zeite abgewiesen.

Das sind bei vielen Firmen die ich kenne völlig normale Vorgehensweisen
allerdings meißt die Variante 3. 

Ich möchte das eigentlich nicht mehr missen.

Gruß

Frank


----------



## JesperMP (16 April 2010)

> Kommt diese Anforderung aus der Prozessindustrie?


Es kommt wenn das Anzahl von E/A nicht in Hunderter, sondern in Tausender oder Zehntausender gezählt werden.
Dann wird ein einzelne Programmierer schnell überfördert.


----------



## Werner29 (16 April 2010)

@IBFS

danke fürs Erklären. Ich habe auch immer nur von Variante 3 gehört, und mir kommt das irgendwie abartig unsicher vor.
Variante 1 und 2 könnte ich mir vorstellen, aber alle Varianten setzen doch einen sehr begrenzte Anzahl von Entwicklern voraus. Also eine Entwicklungsabteilung mit 10 Leuten kann doch so nicht mehr arbeiten, oder täusche ich mich?

Gruss, Bernhard


----------



## IBFS (16 April 2010)

Werner29 schrieb:


> @IBFS
> 
> danke fürs Erklären. Ich habe auch immer nur von Variante 3 gehört, und mir kommt das irgendwie abartig unsicher vor.
> Variante 1 und 2 könnte ich mir vorstellen, aber alle Varianten setzen doch einen sehr begrenzte Anzahl von Entwicklern voraus. Also eine Entwicklungsabteilung mit 10 Leuten kann doch so nicht mehr arbeiten, oder täusche ich mich?
> Gruss, Bernhard


 
Planloses Losprogrammieren geht natürlich nicht, aber das sollte man
ja auch nicht an einer Einzelmaschine machen. Also Disziplin ist
Voraussetzung aber es geht wenigstens. Und - wie ich schon sagte - sind
manche Projekte nur mit solchen Methoden durchzuziehen. Da hat SIEMENS
als sie 199x mit S7 begonnen haben schon sehr weit gedacht. Aber
solche Wünsche waren anscheinend damals schon vorhanden sonst
würde man solche Funktionalitäten nicht in ein System integrieren.

Gruß, Frank


----------



## PN/DP (16 April 2010)

Ich habe immer gerne mit anderen Programmierern gleichzeitig am selben Projekt gearbeitet, da hat 
man wenigstens mal einen verständigen Diskussionspartner, wenn man Lösungsvarianten abwägen will. 
Auch zwingt einen eine solche Zusammenarbeit mehr zu einem Top-Down-Entwurf des Programms und 
man schreibt automatisch bessere Programm-Kommentare (kann ja gleich am nächsten Tag jemand lesen).
Wir waren immer maximal 3 Programmierer auf der selben CPU, 10 Leute waren nie nötig. Bei ganz 
großen Projekten gab es immer mehrere CPUs, auf die sich die Programmierer verteilt haben.

Natürlich ist hauptsächlich Disziplin der beteiligten Programmierer und ein Plan nötig.
(Solch große Projekte beginnt man sowieso nicht ohne Struktur und ohne Plan.)

Wenn die Programmierer sich vernünftig vorher absprechen und abgrenzen, wer welchen Anlagenteil 
programmiert und die zu verwendenden Ressourcen (Merker, Timer, DB-Nummern, FB/FC-Nummern) 
aufteilen, dann kommen die sich sehr selten in die Quere.
Die Hardware-Konfig macht am besten nur ein Programmierer (muß ohnehin selten geändert werden)
und der OB1 wird am besten nur einmal am Tag geändert (z.B. Bausteinaufrufe zufügen).

Auch als Einzel-Programmierer sollte man sich vor größeren Projekten Gedanken machen und nicht 
wahllos Merker und Bausteinnummern belegen.

Alles andere hat Frank schon in #55 und #58 erklärt.

Gruß
Harald


----------



## PN/DP (16 April 2010)

Graph&SCL_Freak schrieb:


> Warum ist das bei Siemens alles so kompliziert? Bei Beckhoff keine DB's, VATs, Merkerbereiche und diese ganze andere Mist.


Gerade bei der Teamarbeit wird deutlich, wie genial eigentlich das Konzept der Datenbausteine ist. 
Werden mehr Variablen benötigt, dann wird einfach ein DB vergrößert oder ein neuer DB angelegt und 
man hat garantiert noch nicht verwendeten Variablenspeicher zur Verfügung. Die Adressen anderer 
Variablen werden dabei nicht verändert.

Gruß
Harald


----------



## IBFS (16 April 2010)

PN/DP schrieb:


> Gerade bei der Teamarbeit wird deutlich, wie genial eigentlich das Konzept der Datenbausteine ist.



*ACK*

Letztendlich wird bei sog. echten IEC Systemen (mit Instanziierung bis zum Abwinken) 
auch mit Globalen Austauschtabellen gearbeitet und auf diese Greifen dann
die externen OPC-Clients zu. Das ist wenn man es zuende denkt auch nichts anderes 
als ein grosser Datenbaustein. Oder man muß Austauschtabellen anlegen, damit 
die einzelnen Tasks einen Dualport-RAM haben. 
Nur hat man dadurch eben noch lange nicht dieses "SIDE by SIDE" Arbeiten 
mit dem unabhängigen Runterladen. 

Mich wundert immer wieder, dass diese Vorteile so selten gewürdigt werden.

Gruß


----------



## Longbow (21 April 2010)

Da es hier generell um den Vergleich geht hätte ich noch eine Frage:


Der Temperatureinsatzbereich der SIEMENS-S7 Steuerungen (0-60°C) ist ja schon etwas höher angesiedelt als die Beckhoffvarianten (Offiziell: 0-50°C) (Vor allem der "inoffizielle"). Es sind auch kein Lüfter notwendig.



Wie ist da so der allgemeine Bedarf?


----------



## Graph&SCL_Freak (21 April 2010)

PN/DP schrieb:


> Gerade bei der Teamarbeit wird deutlich, wie genial eigentlich das Konzept der Datenbausteine ist.
> Werden mehr Variablen benötigt, dann wird einfach ein DB vergrößert oder ein neuer DB angelegt und
> man hat garantiert noch nicht verwendeten Variablenspeicher zur Verfügung. Die Adressen anderer
> Variablen werden dabei nicht verändert.



Sorry aber daran kann ich nichts geniales finden. Ausserdem werden die Programme sehr unübersichtlich gerade bei mehreren  Instanzen.  Bei TwinCat muss ich mir um Variablenspeicher keine Gedanken machen. Wer parallel mit modernen Umgebungen wie Visual Studio arbeitet, für den ist das tiefste Steinzeit. Nicht umsonst wird TwinCat3 ja auch in Visual Studio integriert. Die NET Sprachen sind zwar noch nicht nutzbar, aber das kommt sicher auch noch.


----------



## JesperMP (21 April 2010)

Graph&SCL_Freak schrieb:


> Sorry aber daran kann ich nichts geniales finden.


Wie gross war das grösste Projekt das du bis Heute selber programmiert hast ? Wie viele E/A ?


----------



## Graph&SCL_Freak (21 April 2010)

JesperMP schrieb:


> Wie gross war das grösste Projekt das du bis Heute selber programmiert hast ? Wie viele E/A ?



Mir reichen bei Siemens schon mittelgrosse Anlagen.:-| Bei Visual Studio z.B. arbeitet man ja mit SourceSafe o.ä. Tools. Sowas würde ich mir auch bei Siemens oder TwinCat wünschen. Allein schon diese strikte Nummerierung der FC/FB/DB bei Siemens ist gruselig und der Teamprogrammierung nicht gerade förderlich.

Aber diese Diskussion S7 Vs. Codesys ist ja schon öfter geführt worden und bringt IMHO nichts. Jeder soll damit arbeiten womit er am besten klarkommt (oder muss).


----------



## trinitaucher (21 April 2010)

Graph&SCL_Freak schrieb:


> Bei Visual Studio z.B. arbeitet man ja mit SourceSafe o.ä. Tools. Sowas würde ich mir auch bei Siemens oder TwinCat wünschen.


Für TwiNCAT gibt's den ENI-Server zur Quellcodeverwaltung, der SourceSafe im Hintergrund nutzt.



PN/DP schrieb:


> Gerade bei der Teamarbeit wird deutlich, wie genial eigentlich das Konzept der Datenbausteine ist.
> Werden mehr Variablen benötigt, dann wird einfach ein DB vergrößert oder ein neuer DB angelegt und
> man hat garantiert noch nicht verwendeten Variablenspeicher zur Verfügung. Die Adressen anderer
> Variablen werden dabei nicht verändert.


Bei CoDeSys/TwinCAT heißen die "Strukturen". Auch die können nach belieben erweitert werden.


----------



## bike (21 April 2010)

Graph&SCL_Freak schrieb:


> Mir reichen bei Siemens schon mittelgrosse Anlagen.:-| Bei Visual Studio z.B. arbeitet man ja mit SourceSafe o.ä. Tools. Sowas würde ich mir auch bei Siemens oder TwinCat wünschen. soll damit arbeiten womit er am besten klarkommt (oder muss).



Nimm Quellen und SVN, dann hast du alles was du brauchst.



Graph&SCL_Freak schrieb:


> Allein schon diese strikte Nummerierung der FC/FB/DB bei Siemens ist gruselig und der Teamprogrammierung nicht gerade förderlich.



Mit Sybolik wäre das dir nicht passiert.  
Doch du hast recht, jeder so wie will und kann.

bike

P.S: oder einfach einmal über den Tellerrand blicken


----------



## rostiger Nagel (21 April 2010)

Ich find das mit den Nr Band doch nicht als Hindernis oder
ein Grund zu Beckhoff zu wechseln. Wenn ich symbolisch
programmiere, was ich und die meisten wahrscheinlich tun,
gar keinen Unterschied. Die wenigsten werden, außer für ganz
spezielle Sachen "U DB11.DBX 10.0" schreiben sondern das
Symbolisch schreiben "X_Achse.Regler.Freigabe". 
Mann hat dann einfach noch zusätzlich die Möglichkeit in die
Absolute Adresse zu schauen. Jeder kann es dann nach seinen
Geschmack nutzen.


----------



## Graph&SCL_Freak (21 April 2010)

bike schrieb:


> Mit Sybolik wäre das dir nicht passiert.



Leider gibt's da noch die eindeutigen Objektnamen. Es soll Sprachen geben, die ohne sowas auskommen.


----------



## JesperMP (21 April 2010)

SCL Freak.

Du ignorierst einfach das es gibt Projekte die so gross sind, das es ist zu viel selbst für Wunderprogrammierer.
Es ist nicht ein Frage von ob es "unübersichtlich" wird mit mehrere Programmierer, aber ob man den Aufgabe lösen kann innerhalb von den gegebene Zeit.


----------



## IBFS (21 April 2010)

JesperMP schrieb:


> SCL Freak.
> 
> Du ignorierst einfach das es gibt Projekte die so gross sind, das es ist zu viel selbst für Wunderprogrammierer.
> Es ist nicht ein Frage von ob es "unübersichtlich" wird mit mehrere Programmierer, aber ob man den Aufgabe lösen kann innerhalb von den gegebene Zeit.


 
Große Projekte - eigentlich alle Projekte  - sollten schon mit einem Mindestmaß an Disziplin programmiert werden.

Selbst Windows 7 ist ja auch nicht "geschlossen" programmiert. Alle Programmierer arbeiten unabh. in Teams und müssen sehr klar strukturiert
die Schnittstellen dokumentieren und einhalten.

Mit solcher Methodik könntest du selbst 20 Programmierer auf eine SPS loslassen.

Gruß

Frank


----------



## bike (21 April 2010)

Graph&SCL_Freak schrieb:


> Leider gibt's da noch die eindeutigen  Objektnamen. Es soll Sprachen geben, die ohne sowas auskommen.


Stimmt, doch es soll und muss auch Konventionen geben für die  verwendeten Objekte, daher die Bezeichnung und die Funktionen von  Siemens und anderen. 
Ich finde nicht gut, dass jeder Programmierer schreit, Objekt ist alles  und darf durch nichts beschränkt werden, denn ohne einheitliche  Definitionen wie die Objekte nach aussen sich darstellen, geht es nicht.

Nach meiner Meinung muss es eigentlich viel mehr definierte  Grundstrukturen geben, so dass jeder andere Programmierer(wenn er oder  sie die Programmiersprache beherrsscht) ein Programm änderen, anpassen  oder modifizieren kann.

Etwas weniger Freiheit ist oft etwas mehr Transparenz




IBFS schrieb:


> Mit solcher Methodik könntest du selbst 20 Programmierer auf eine SPS loslassen.
> 
> Gruß
> 
> Frank


Bei uns arbeiten zwar nicht zwanzig, aber doch (oft) genug an einem Programm


bike


----------



## Graph&SCL_Freak (21 April 2010)

IBFS schrieb:


> Große Projekte - eigentlich alle Projekte  - sollten schon mit einem Mindestmaß an Disziplin programmiert werden.
> 
> Selbst Windows 7 ist ja auch nicht "geschlossen" programmiert. Alle Programmierer arbeiten unabh. in Teams und müssen sehr klar strukturiert
> die Schnittstellen dokumentieren und einhalten.
> ...



Seh ich genauso. Open-Source-Projekte z.B. im Linux-Bereich (XBMC etc.) sind ein gutes Beispiel dafür.

Aber langsam werden wir hier etwas Off-Topic.


----------

