# PLCopen



## rwbm (14 Mai 2020)

Hey,

es gibt ja im Bereich der industriellen Steuerungstechnik immer wieder Versuche herstellerneutrale Datenformate zu entwickeln. IEC 61131-3, welche die "PLC-Sprachen" normiert, hat es geschafft sich zu etablieren. PLCopen [1] erstellt Normen, die "gute Programmieretikette", Safety und NC betreffen. Hat jemand schonmal mit diesen Standards gearbeitet und kann einschätzen, wie viel Verbreitung/Beachtung sie in der Branche finden?

LG
rwbm

[1] https://plcopen.org/


----------



## testor (14 Mai 2020)

PLCOpen ist ja sehr vielschichtig. Und in jedem Fall weit verbreitet. Wenn man mit den SPS-Plattformen arbeitet, insbesondere Codesys Plattformen wird man sicher schonmal PlCOpen benutzt haben, man muss sich dem ja gar nicht  bewusst sein (XML, OPC UA, MC etc.). Es ist aber gut zu wissen, wenn PLCOpen dahinter steht, weil man dann auch immer mal in die Doku der PLCOpen schauen kann, wenn die Herstellerdoku nicht ganz schlüssig erscheint.
An den Motion Control Bausteinen kommt man aus meiner Sicht nicht vorbei, wenn man eine NC mit der SPS steuern möchte. Auch in der Robotic wird das immer relevanter und einfache Applikationen lassen sich damit auch gut steuern. 
PLCOpen XML ist aus meiner Sicht auch großartig, insbesondere für die Code Generierung.
Die Programmierguidlines kann man auch nutzen. Mit der Spezifikation für Bibliotheken hat man zu tun wenn man mit den Codesys Standard Bibliotheken arbeitet.  Codesys hat das ganze auch in eine OOP Bibliothek gepackt. Finde ich generell ok. Um einen FB der damit programmiert wird zu verstehen, muss man das Konzept halt kennen. Ich bin mir auch nicht sicher ob alle Codesys-basierten Hersteller diese Spezifikation nutzen. Zumindest ist mir das bei Bausteinen von Beckhoff noch nicht so aufgefallen.


----------



## zako (14 Mai 2020)

rwbm schrieb:


> ...es gibt ja im Bereich der industriellen Steuerungstechnik immer wieder Versuche herstellerneutrale Datenformate zu entwickeln. IEC 61131-3, welche die "PLC-Sprachen" normiert, hat es geschafft sich zu etablieren. PLCopen [1] erstellt Normen, die "gute Programmieretikette", Safety und NC betreffen... /



Da die S7-1200/1500 standardmäßig Motioncontrol- Funktionalität mitbringt, welche nach PLCOpen programmiert wird ("MC_Power" usw.), ist das bereits im System integriert.

Aber auch im Programmierstyleguide für S7-1200/1500 wird an mehreren Stellen auf PLC Open verwiesen:
https://support.industry.siemens.com/cs/ww/de/view/109478084


Auszug:
*DA010 Regel: Asynchrone Bausteine nach PLCopen entwickeln *[FONT=Arial,Arial][FONT=Arial,Arial]Die PLCopen Organisation hat einen Standard für Motion Control-Bausteine definiert. Dieser Standard kann soweit verallgemeinert werden, dass er auf alle asynchronen Funktionsbausteine angewendet werden kann. Asynchron heißt in diesem Zusammenhang: Alle Bausteine, die über mehrere Zyklen bearbeitet werden, folgen diesem Standard, z. B. für Kommunikation, Regler, Motion Control. 
[/FONT][/FONT]*Begründung: 
*[FONT=Arial,Arial][FONT=Arial,Arial]Durch diese Standardisierung kann eine Vereinfachung der Programmierung und Anwendung von Funktionsbausteinen erreicht werden. 

[/FONT][/FONT]
[FONT=Arial,Arial][FONT=Arial,Arial][/FONT][/FONT]


----------



## Draco Malfoy (17 Mai 2020)

rwbm schrieb:


> Hey,
> 
> es gibt ja im Bereich der industriellen Steuerungstechnik immer wieder Versuche herstellerneutrale Datenformate zu entwickeln. IEC 61131-3, welche die "PLC-Sprachen" normiert, hat es geschafft sich zu etablieren. PLCopen [1] erstellt Normen, die "gute Programmieretikette", Safety und NC betreffen. Hat jemand schonmal mit diesen Standards gearbeitet und kann einschätzen, wie viel Verbreitung/Beachtung sie in der Branche finden?



Ich habe Bausteine nach diesem Standard entwickelt. Die Firma setzt diese Bausteine jetzt ein bzw. bietet ihren Kunden zum Download an. Ob wir die vollkommene Kompatibilität mit dem Standard erreicht haben, ist fraglich. Die Anforderungen spezifischer Gerätefamilien, Kommunikation und Anbindung setzen da ensprechend enge Grenzen.



> Aber auch im Programmierstyleguide für S7-1200/1500 wird an mehreren Stellen auf PLC Open verwiesen:
> https://support.industry.siemens.com...view/109478084



Diese Programmierrichtlinien sind zum Teil ein ziemlicher Müll und widersprechen in Teilen auch dem Entwicklungsgedanken der Steuerungen, der von der Firma Siemens dort umgesetzt ist.


----------



## zako (17 Mai 2020)

Draco Malfoy schrieb:


> Diese Programmierrichtlinien sind zum Teil ein ziemlicher Müll und widersprechen in Teilen auch dem Entwicklungsgedanken der Steuerungen, der von der Firma Siemens dort umgesetzt ist.



Wenn Du so eine Aussage triffst, dann solltest Du das auch mit einem / mehreren konkreten Beispiel(en) belegen.


----------



## Draco Malfoy (17 Mai 2020)

zako schrieb:


> Wenn Du so eine Aussage triffst, dann solltest Du das auch mit einem / mehreren konkreten Beispiel(en) belegen.



Kann ich auch. Habe allerdings kein Bock, jetzt eine kilometerlange Diskussion über mehrere Seiten verbunden mit einer schriftlichen Sachanalyse mittleren Dissertationsgrades zu beginnen.

Ich nenne mal ein Beispiel: In den Guidelines wird davon abgeraten, Quellen zu benutzen. Allerdings lassen sich der Header- und Deklarationsteil eines SCL-Bausteins denkbar beschissen aus dem Baustein selber bearbeiten, da man das dort jetzt wie bei KOP/FUP Zeugs händisch mit klick da klick hier klick anderswo klick klick klick klick Tipp Tipp Tipp beinahe maximalmöglichst debil zu Fuß machen muss. 

Hingegen lässt sich mit einer Bausteinquelle im externen Editor sowohl um Längen schneller und zielgerichteter arbeiten, als auch z.B. eine vernünftige Versionsverwaltung abbilden, was bei TIA intern nicht möglich ist. Wofür also dieser Mist, daß ich bei SCL-Bausteinen keine Quellen benutzen soll ?


----------

