# Normen, Vorschriften oder Regeln wie ein SPS Programm aussehen muss



## patz006 (16 Februar 2016)

Hallo Liebe Community 
Ich hätte an euch eine brennende Frage, gibt es eine Vorschrift, Norm oder Regelhandwerk wie ein SPS Programm programmiert/aufgebaut sein muss?

z.B 
Eingänge, Merker, Ausgänge, Symbole, Bausteine usw. müssen Kommentiert werden.
Programmabläufe müssen erklärt sein
z.B "Hab hier beginnt der Ablauf für die Hydrauliküberwachung"

Der Begriff strukturiertes Programm oder Wiedererkennungswert ist sehr dehnbar!

Vielleicht könnt ihr mir hier weiter helfen.

Vielen Dank für eure Unterstützung
Patz


----------



## MSB (16 Februar 2016)

Kurz und Knackig: Nein

Das sind alles, wenn überhaupt mehr oder weniger Firmenspezifische Definitionen,
zwischen "Maschine muss Brumm Brumm machen, wie egal" und "Wir geben alles sehr detailiert vor, und stellen eine zu verwendene Bausteinbibliothek zur Verfügung"
wirst du in der täglichen Praxis alles finden.


----------



## patz006 (16 Februar 2016)

Hallo MSB

Also kann dem Kunden ein SPS Programm zur Verfügung gestellt werden wo er sich anschließend Wochenlang einlesen darf, was für was ist und falls er eine Störung hat ein Suchspiel beginnen darf.

Danke für die Antwort
Patz


----------



## MSB (16 Februar 2016)

patz006 schrieb:


> Also kann dem Kunden ein SPS Programm zur Verfügung gestellt werden wo er sich anschließend Wochenlang einlesen darf, was für was ist und falls er eine Störung hat ein Suchspiel beginnen darf.


Wenn der Kunde nicht vorher irgendwelche (meistens seine) Richtlinien als Vertragsbestandteil erklärt hat, dann ja.
Im übrigen erhält der Kunde für gewöhnlich, wenn nicht vertraglich vereinbart, überhaupt kein SPS-Programm.


----------



## Verpolt (16 Februar 2016)

patz006 schrieb:


> Hallo MSB
> 
> Also kann dem Kunden ein SPS Programm zur Verfügung gestellt werden wo er sich anschließend Wochenlang einlesen darf, was für was ist und falls er eine Störung hat ein Suchspiel beginnen darf.
> 
> ...



Idealerweise werden Störungen am Display im Klartext angezeigt.
Sollte der Ersteller des Programms jetzt noch die Hilfefunktion im Meldefenster mit sinnvollen Informationen zur Lösung füttern, dann ist ein Suchen im Programm nicht erforderlich.


----------



## Larry Laffer (16 Februar 2016)

@Patz:
Wer bist du denn in diesem Spiel ? Der Kunde (also der, der das Ergebnis der Bemühungen erhält) ... oder der Lieferant (der, der das Ergebnis zu erstellen hat) ...?


----------



## Larry Laffer (16 Februar 2016)

... ein gut erstelltest Grundgerüst für ein Programm macht die Arbeit in der Regel übrigens nicht schwerer sondern normalerweise leichter weil ja schon viele Überlegungen drin stecken. Man muss diese Überlegungen natürlich auch erstmal verstehen können (und ich weiß auch, was sich manche Leute da so ausklinken ...)

...


----------



## schaible.r (16 Februar 2016)

Naja. Da wäre doch die IEC 61131-3.
Diese gibt schon mal einiges vor.

Gesendet von meinem SM-A300FU mit Tapatalk


----------



## borromeus (16 Februar 2016)

Larry Laffer schrieb:


> @Patz:
> Wer bist du denn in diesem Spiel ? Der Kunde (also der, der das Ergebnis der Bemühungen erhält) ... oder der Lieferant (der, der das Ergebnis zu erstellen hat) ...?



Ich vermute halt, dass er ein (frustrierter) Kunde ist.

Es ist nicht ganz leicht einem Lieferanten vorzugeben wie etwas zu programmieren ist, vor allem wenn es noch gar keine hausinternen Richtlinien gibt.
Am meisten "hasse" ich, wenn Maschinenlieferanten sich von einem Programmierer die größte Ausbaustufe ihrer Maschine programmieren lassen und dann ja nach Kundenbestellumfang Teile weglassen- das machen dann in der Folge "Halb"- Programmierer.
Das ist zwar schnell gemacht aber eine Katastrophe zum Fehlersuchen weil ja doch immer wieder verwaiste Programmteile enthalten sind.
Eines der übelsten Dinge ist, den EA-Bereich auf DB's zu rangieren, damit die Software immer gleich ist aber die EA- angepasst werden kann. Das klingt zwar nicht schlimm, macht es aber bei der Fehlersuche oft mühsam.

Ich denke, dass man aber zumindest verlangen kann: sinnvolle Symbolik aller Operanden, Netzwerküberschriften, Funktionsbeschreibung im Kommentar (wenn es nicht offensichtlich ist, was im Code passiert), Rangierlisten (zB Bus), eine Alarmliste (falls möglich), Datenbausteine bitgranular beschriften.
(also das gilt nun jetzt mal für ein Step7- Programm).

Unser größter Kunde verlangt zB von uns, dass wir das Programm "systemneutral" als Stromlaufplan (sic!) in der Enddoku übergeben- also auch sowas kann man verlangen, wenn man es auch bezahlt.


----------



## RobiHerb (16 Februar 2016)

*PLC Open, CAA etc*



patz006 schrieb:


> Hallo Liebe Community
> Ich hätte an euch eine brennende Frage, gibt es eine Vorschrift, Norm oder Regelhandwerk wie ein SPS Programm programmiert/aufgebaut sein muss?
> 
> ...



Natürlich gibt es solche Regeln, das Problem ist, dass kaum einer sie propagiert bzw sein eigenes Know How Süppchen kocht.

Die PLC Open hat so etwas anhand der IEC entwickelt, die CAA (CoDeSys Automation Alliance) Initiative hat weiter daran gearbeitet und spätestens wenn man eine TÜV Abnahme oder ähnliches (z.B. SAFETY, Medizinprodukt) braucht, wird man damit konfrontiert.

Ich füge hier einmal einen Ausschnitt aus den 3S Codesys (CAA Unterlagen) für Safety Programme bei. 




Das Ganze ist eine Frage, die wir uns in der Firma auch immer wieder stellen müssen.

In Zusammenarbeit mit einigen erfahrenen Kollegen bereiten wir gerade ein Kursprogramm vor, das den AWL Praktikern eine Einführung in die moderne strukturierte Software Entwicklung geben wird. Wir bauen hierbei auf Jahrzehnte Erfahrung im Software Engineering auf.

Als Basis werden wir Codesys 3.x in Verbindung mit der Raspberry Pi Hardware verwenden.

Die Programmentwicklung beschränkt sich auf die Sprache ST.

Ebenso wird auf die Entwicklung von CAA konforme Libraries eingegangen.

Ein starker Programmpunkt wird ST Programmierung in Anlehnung Safety SIL 2 beinhalten.

Wir denken daran, diesen Kurs in Form von 2 oder 3 Wochenend Workshops (Freitag bis Sonntag) im Rhein/Main Raum durchzuführen.

Kursstart geplant Juli / August. 

Als Komplett Kurs Preis ist 1000 Euro + MWST incl. Raspberry Hardware angepeilt.

Falls hier jemand Interesse hat, sollte er sich per PN bei mir melden.


----------



## HolleHonig (16 Februar 2016)

Hi,

vielleicht hilft dir ja auch folgender Link. Das ist zwar Siemenslastig, aber ich persönlich finde es gar nicht schlecht als Vorlage für eine eigene Richtlinie.


----------



## borromeus (16 Februar 2016)

Also der Link hat mit einer Richtlinie m.E. nicht viel zu tun, aber, bei dieser Gelegenheit Danke an den HolleHonig, hab ich (kenne TIA, S7-1200 und S7-1500 überhaupt nicht) mir das mal durchgeblättert.
Habe da Offtopic eine Frage dazu:

Kapitel 2.6 Optimierte Bausteine

Wie? Der schlichtet mir meinen schönen DB irgendwie selbsttätig um? Habe ich das richtig verstanden? Das gilt durch nur für InstanzDB's oder?


----------



## gerribaldi (16 Februar 2016)

MSB schrieb:


> Im übrigen erhält der Kunde für gewöhnlich, wenn nicht vertraglich vereinbart, überhaupt kein SPS-Programm.


Was ist wenn der Kunde seine Anlage wieder zum Laufen bekommen will, z.B. an einem langem WE? Und der Ersteller der Anlage ist nicht erreichbar? Dann sollte es dem Kunden doch möglich sein, seine Anlage wieder auf Vordermann zu bringen. Dies bedeutet, dass er alle Parameter, Programme etc ppp. vorliegen hat, unabhängig ob dies vertraglich geregelt ist oder nicht.
Oder wie handhabt Ihr so einen Fall?

Gruß
gerribaldi


----------



## MSB (16 Februar 2016)

gerribaldi schrieb:


> Was ist wenn der Kunde seine Anlage wieder zum Laufen bekommen will, z.B. an einem langem WE? Und der Ersteller der Anlage ist nicht erreichbar? Dann sollte es dem Kunden doch möglich sein, seine Anlage wieder auf Vordermann zu bringen. Dies bedeutet, dass er alle Parameter, Programme etc ppp. vorliegen hat, unabhängig ob dies vertraglich geregelt ist oder nicht.
> Oder wie handhabt Ihr so einen Fall?


Ich persönlich, und auch wir als Firma sind da in aller Regel schon sehr kooperativ, bei den meisten Kunden steht sowieso irgendwo in den Einkaufsbedingungen das die Software mitzuliefern ist, was dann natürlich selbstredend auch erledigt wird.
Auch falls der Kunde irgendeinen Programmierstandard bzw. Richtlinie hat, wird das selbstredend bestmöglich umgesetzt.

Jedoch, je mehr Serie, und das ist jetzt meine Erfahrung aus div. Umbauprojekten, eine Maschine wird, desto geringer die Wahrscheinlichkeit das du jemals eine dokumentierte Software zu Gesicht bekommen wirst, und desto höher wird auch die Wahrscheinlichkeit, das irgendwelche Know-How Schutz Mechanismen verwendet sind.

Hauptaussage ist aber:
Wenn nicht irgendwie vereinbart, gibt es kein Gesetz, Norm oder sonstirgendwas, das mich zwingen könnte, dem Kunden die Software zu überlassen, 
geschweige denn eine nach allen Regeln der Kunst dokumentierte Version ...
Das ist dann primär das "Pech" des Kunden ... wie strikt man das dann handhabt hängt dann aber auch ein wenig davon ab, wie "lieb" man den Kunden, im Sinne von Zahlungsmoral, Folgeaufträgen etc pp., gewonnen hat.

P.S.
In dem von dir oben konstruierten Fall ist er dann aber sowieso viele Jahre zu spät dran ... mit dieser Erkenntnis.


----------



## dentech (16 Februar 2016)

> [h=2]
> 
> 
> 
> ...




wo finde ich denn diesen Leitfaden? Finde ich sehr interessant.


----------



## ducati (19 Februar 2016)

borromeus schrieb:


> Also der Link hat mit einer Richtlinie m.E. nicht viel zu tun, aber, bei dieser Gelegenheit Danke an den HolleHonig, hab ich (kenne TIA, S7-1200 und S7-1500 überhaupt nicht) mir das mal durchgeblättert.
> Habe da Offtopic eine Frage dazu:
> 
> Kapitel 2.6 Optimierte Bausteine
> ...



HolLa borromeus, und ich dachte nur ich war im letzten Jahr auf Urlaub in Suedamerika 
Auf Optimierte DBs kann nicht mehr gepointert und nicht mehr absolut zugegriffen werden... Alles ein grosser Mist mit dem Tia... Bei selbterstellten DBs kann mans einstelllen. Bei mitgelieferten (zb CONT_C) nicht...


----------



## borromeus (19 Februar 2016)

Servus Freund Ducati,
wie kommst Du auf Südamerika? Oder steh ich auf der Leitung.

@TIA: ich hoffe, dass das irgendwie an mir vorbeigeht, ich mag meinen SimaticManager......


----------

