# Effizientes Programmieren



## Swissfighter88 (2 März 2016)

Guten Abend allerseits

Heute machte ich mir einmal Gedanken wie ich schneller an mein Ziel, eine laufende Anlage, komme. 
Ich selbst arbeite gerne mit Schrittketten und dokumentiere diese als solches auch für den Unterhalt. Zudem kommt
das ich einige Standartbausteine für die Ansteuerung von Ventilen, Motoren etc. einsetze. 
Da ich aber nur bedingt Serienmaschinen programmiere, verschlingt es jedes mal unzählige Tage solch ein Programm auf die Beine
zu stellen. 

Der Kunde hat häufig viele Ideen und Wünsche zu beginn eines Projekts, sobald er die Anlage jedoch betreibt, merkt er wo man es überall besser hätte machen sollen. 
Klar gibt's für sowas Pflichten- bzw. Lastenhefte, aber das macht mich ja nicht schneller.

In erster Linie dachte ich an eine art Auswahlkatalog. In diesem Katalog kann der Kunde mit Hilfe von mir seine Anlage zusammenstellen, indem er vorgefertigte Anlagenteil auswählt und mit Daten füttert. 
Z.B. Objekt Förderband: 1 Motor, 2 Sensoren, links/rechts-Lauf, etc. Nun möchte ich nicht von 0 (abgesehen von den Standartbausteinen) anfangen zu programmieren. 
Die Idee wäre eine Software zu haben, die mir die Auswahl meines Kunden direkt in ein Programm compiliert! Ob jetzt der Programmcode lesbar ist, sei mal dahingestellt. Aber es wäre effizient. 

Wie seht ihr das so? Setzt jemand solch eine Software ein? Wie geht ihr ein Projekt an? 
Ich bin hoffentlich nicht der einzige, der immer unter Zeitdruck steht 

Gruss


----------



## rostiger Nagel (2 März 2016)

Ich habe so etwas mal gemacht, mit einen großen Maschinenbauer, der seine SPS 
selber baute. Das ging sogar einen Schritt weiter, das aus den Auftragswesen heraus,
die Programme erstellt wurden.
Da gab es für jedes Aggregat Quellen, als Beispiel.

- Aggregat Einschaltung
- Aggregat Achs-Verstellung X 
- Aggregat Achs-Verstellung Y
- Aggregat Achs-Verstellung Y
- Aggregat einsetzen

Von solchen Aggregsten könnten dann schon 20 - 60
und noch mehr, auf den Maschinenständer sein. 
Dann bekam jedes Aggregat eine Nummer, so das diese
dann in einer Art Liste standen. Wenn jetzt für jedes Aggregat,
die selben Quellen waren, wurde aus der Liste das Programm 
Compeliert. 

Natürlich stehen Aggrgate untereinander irgendwie in Verbindung,
dh der Vorschub darf nur eingeschaltet werden, wenn alle Aggregate
Eingeschaltet bzw in Position waren. 
Dafür wurden Querverweise genutzt, die dann zB im Vorschub waren,
ist das Aggregat nicht in der Liste, wurde der Querverweis des Aggregates
aus den Vorschub gelöscht.

So etwas ähnliches könnte man mit Excel oder VB selber basteln und draus
Quellen erzeugen lassen die zB in Step 7 eingelesen werden.


----------



## Swissfighter88 (3 März 2016)

Hallo 

Klingt interessant. Ich frage mich sowieso wo der Trend in der Industrieautomation hingeht. 
Ich suche einfach einen vernüftigen Weg von Planung über Programmierung/Visu bis hin zur Doku zu finden. 
Im Idealfall "zeichne" ich eine Schrittkette auf und eine Software generiert mir den Code...


----------



## borromeus (3 März 2016)

Kennst Du CFC/SFC von Siemens?
Das ist eine grafische Oberfläche, die man sehr schön programmieren kann.
Eine Software, die eine "verbal ausgesprochene" Funktion in Code umsetzt kenne ich nicht. Du wirst weiterhin programmieren müssen.


----------



## ducati (3 März 2016)

ja... Ein Standard ist schon was feines... da kann man sich dann auch Tools zur automatischen Codegenerierung schreiben...

nur erstens muss man die Tools auch erstmal (aufwändig) programmieren 

und zweites wird so ein Standard oft schnell ausgehöhlt, weil ein anderer Kunde oder ein anderes Projekt Sonderlösungen erfordern...

Gruß.

PS: CFC/SFC/PCS7 ist schon was feines


----------



## IBFS (3 März 2016)

borromeus schrieb:


> Kennst Du CFC/SFC von Siemens?
> Das ist eine grafische Oberfläche, die man sehr schön programmieren kann.



mit CFC "programmiert" man gar nichts. Davor muss man noch die nötigen FBs und FCs in SCL schreiben, aber bitte 
schön und ordentlich mit Attributen, sonst macht das mit dem CFC nur halb so viel Spaß.

P.S.

Ich frage mich gerade, wann CFC in TIA Einzug halten wird. Da viele Baustein im CFC Umfeld erzeugt werden (vor allem DBs)
und diese dann aber ohne Symbole bleiben, ist das Verfahren nur schwer auf TIA direkt umsetzbar. Daher wird das wohl nix
vor dem Jahre 2025  *hust*


----------



## SPS-Henry (3 März 2016)

...genau.

Und dann Flashen wir im Anschluß noch die FW der SPSen, damit wir dann das ganze noch auf dem Handy mit Android programmieren können 

Seit nicht sauer aber davon halte ich nichts. Was für mich noch tragbar ist, bei großen Anlagen mit Datenbanken zu arbeiten. 
Aber Programmierungen über Step7 mit anderen Hochsprachen finde ich nicht gut. 
Ich Arbeite mit einem Prozessleitsystem, wo es schon vorgefertigte Klassen für Eingänge, Ausgänge, Ventile und Motoren gibt. 
Da braucht man in Step7 nicht mehr soo viel Programmierarbeit.
Vieles kann der Kunde selbst am PC Konfigurieren auch eigene Schrittketten zusammenstellen. Das geht dann alles über SQL Datenbank.
Aber ich denke das ist nur bei großen Anlagen sinnvoll.


mfg

SPS-Henry
SPS-Henry


----------



## ducati (3 März 2016)

IBFS schrieb:


> mit CFC "programmiert" man gar nichts.



Wenn Dus so auslegst, dann ist FUP und KOP auch kein Programmieren...

Tja, PCS7 und TIA-Portal... nichts genaues weiss man nicht... lassen wir uns überraschen... Vielleicht bin ich bis dahin in Rente.


----------



## borromeus (3 März 2016)

IBFS schrieb:


> mit CFC "programmiert" man gar nichts. Davor muss man noch die nötigen FBs und FCs in SCL schreiben, aber bitte
> schön und ordentlich mit Attributen, sonst macht das mit dem CFC nur halb so viel Spaß.



Also ich kann die FB's auch in CFC programmieren wenn mir das beliebt oder auch in AWL.
Und selbst wenn ich nichts programmiere und keine Bibliothek verwende ist es auch nicht weniger als FUP, ausser dass ich mehr Übersicht habe.


----------



## RONIN (3 März 2016)

Wer von euch tut denn heutzutage noch programmieren???
Heutzutage sitzt man doch nur mehr mit Manager-Hemd und Krawatte am leeren Schreibtisch im Designer-Büro und macht  "Automatisieren in 10 Minuten".


Der musste jetzt einfach sein... 

EDIT: Und gerade hat mir TIA nen Crashreport ausgespuckt.... :-|


----------



## PN/DP (3 März 2016)

RONIN schrieb:


> Wer von euch tut denn heutzutage noch programmieren???


... oder man hängt den ganzen Tag mit Handy am Ohr zu dem einen Kollege in der Firma, der behauptet, daß er programmieren könne, und fragt "Wie bekomme ich in unserem Firmen-Standard ein zusätzliches Ventil ins Projekt?" oder "Der Kunde spinnt wohl, der will bei einem Analogwert 3 Nachkommastellen angezeigt haben - wie geht das bei uns?"



Harald


----------



## zako (3 März 2016)

Swissfighter88 schrieb:


> Heute machte ich mir einmal Gedanken wie ich schneller an mein Ziel, eine laufende Anlage, komme.
> Ich selbst arbeite gerne mit Schrittketten und dokumentiere diese als solches auch für den Unterhalt. Zudem kommt
> das ich einige Standartbausteine für die Ansteuerung von Ventilen, Motoren etc. einsetze.





siehe Projektgenerator

http://w3.siemens.com/mcms/mc-syste...asy-project/seiten/simotion-easy-project.aspx


----------



## marlob (4 März 2016)

Hier ein paar Beispiele


Eplan Engineering Center EEC One
Typical Manager Da arbeiten wir momentan mit


Oder selber was machen. Z.b. mit einem UML-CASE Tool.
Wir haben gerade eine Studienarbeit am Laufen um mit Enterprise Architect unsere Software (PLC, SCADA, WinMOD usw.), Dokumenation, Testlisten usw. zu erstellen​
Mit Enterprise Architect kannst du auch deine Schrittketten modellieren und daraus Code erzeugen.​


----------

